您好, 访客   登录/注册

基于STM32的重力遥控智能车的控制系统设计

来源:用户上传      作者: 张鹏 丁承君 闫彬

  摘 要:文章介绍了一种利用重力感应技术来控制动作的智能遥控小车,并赋予了小车一定的对不同路况进行智能感知并采取简单应对措施的能力。本设计主要利用ADXL345传感器实现智能感知,通过脉宽调制(PWM)方式对电机转速进行调节,从而实现对小车的动作控制。我们通过改变遥控器的姿态,即可实现小车的前进、后退、左转、右转。
  关键词:重力感应;ADXL345传感器;智能感知
  引言
  重力感应技术在我们的日常生活中得到了越来越广泛的应用,例如,工业机器人、定点设备、医疗器械、智能电动车、手机和平板电脑都用到了该技术。其独有的三维姿态变化控制方式,能够带给操作者更加直观的感受。文章所介绍的智能车不仅能通过手中的遥控器控制小车,还能让小车在一定程度上对不同平整度地形进行感知,实现自身对转速的控制。
  1 总体硬件
  硬件系统确定包括:
  (1)手持遥控设备。手持遥控设备由ADXL345三轴加速度传感器、STM32单片机、无线模块、LCD屏组成。ADXL345传感器为重力感应单元,STM32作为控制单元,NRF24L01作为通信单元用于遥控器和小车之间的数据传递,TFTLCD实时显示遥控器姿态变化相对应的加速度、角度等参数。
  (2)被控对象。被控对象由小车底盘、直流电机、L298N驱动模块、STM32最小系统、NRF24L01无线模块以及ADXL345三轴加速度模块组成。小车采用8节5号可充电镍氢电池(共9.6V电源)供电,STM32最小系统板接入L298N驱动板上的5V电源和GND接口,与9.6V供电电路共地。在小车车架左侧的水平位置处固定好ADXL345三轴加速度传感器模块。
  图1 智能小车控制系统示意图
  由图1可知,手持遥控器的姿态变化可以通过固定在遥控器上面的ADXL345三轴加速度传感器检测出来。单片机通过IIC模拟接口读取姿态参数(转角),在LCD屏上实时显示出来,并把相关指令传递到NRF24L01无线模块,由该无线模块发送给小车接收端,以实现对小车的动作控制。固定在小车上的另一个ADXL345加速度传感器也可以在小车行驶过程中感知z向加速度的变化,用于对不同地形、不同路面的平整度进行感知与检测,以实现对小车行驶速度的控制。
  2 软件设计
  控制系统的软件设计主要是利用MDK5开发软件进行STM32单片机的程序编写。手持遥控器部分的相关程序包括:姿态检测子程序、姿态参数处理子程序、NRF24L01无线模块通信子程序。被控小车部分的相关程序包括:路面检测子程序、小车运动方式控制子程序。
  2.1 姿态检测子程序
  手持遥控设备的倾斜方向由ADXL345传感器来检测,手控器向不同方向的倾斜角度可通过重力加速度在检测坐标轴上的三个分量求得。
  2.2 姿态参数处理子程序
  STM32单片机对数据进行读取并解析,转换为角度变化,对各轴所对应的数据进行判断,根据不同的角度范围,通过无线模块向小车发送不同的控制指令,与此同时将角度值实时显示在LCD屏上,如表1所示。
  2.3 路面检测子程序
  小车上的ADXL345传感器能够在运动过程中灵敏检测各轴方向上的加速度变化。由于小车在不同平整度的路面上行驶z轴方向上的加速度变化最明显。通过对z轴加速度变化情况的获取,即可判断出加速度的变化。试验中,我们分别选择了平滑水泥路面、普通砖块路面、鹅卵石路面作不同平整度的比较,实时检测z轴加速度的变化情况。在实验中发现,平整路面上,z轴加速度维持在440mg左右;在砖块路面上,约在430-510mg的范围内波动;在鹅卵石路面上,加速度变化范围更大,最大已超过了600mg,最小达到320mg。
  2.4 小车动作控制子程序
  STM32单片机定时器2和定时器3的四个通道可输出8路PWM波,通过调节输出的占空比,来控制电机的正反转以及调速,进而实现遥控器对小车的运动控制:前进、后退、左转、右转、停止、加速、减速等。单片机根据小车对不同地形的智能感知,在平整路面(Az在440mg左右)上输出占空比为80%的PWM波,430-510mg的范围内输出60%的PWM波,600mg及以上输出占空比为40%的PWM波。
  3 功能实现
  我们对本次设计进行了相关试验,基本功能都能够得以实现。遥控器前倾,小车前进,而且将前倾角度分为三个区间,对应小车的三种前进速度。随角度增大,小车加速;随倾角减小,小车减速。遥控器左倾,小车左转,同样将左倾角度分为三个区间,三个区间对应小车的三种转弯半径:50cm,20cm,原地转弯,如表2所示。可根据所在环境的空间大小自行选择不同的转弯方式。并且在恶劣路况下可实现适当的减速,可提高小车环境能力。
  参考文献
  [1]唐海玲,赵春雨,宋家友.基于MMA7361加速度传感器的重力感应遥控小车的设计[J].研究动态,2013.
  [2]李晓,刘公致,张钰.基于重力感应的无线智能小车[J].技术与应用,2015.
  [3]程斌杰,魏逢原,金孟加.基于加速度传感器的智能小车路况自动测量系统[J].机电工程,2012,29(10):1163-1166.
转载注明来源:https://www.xzbu.com/1/view-7421720.htm