基于STM32的智能物流循迹往返小车设计
2017-12-12申家正
申家正
摘 要:本设计以STM32系列单片机STM32F103RC作为核心处理器,辅以循迹模块,测速模块,超声测距模块,压力传感器模块,通过PID算法构成了完整的智能物流循迹小车,可以实现自动调速循迹功能,停车避障功能,自动往返功能。经过测试,该系统运行可靠,成本低,抗干扰能力强,节省人力成本,可被用于教学,智能玩具,仓储运输等场合,具有很好的使用价值。并且本系统保留多个接口,方便后期开发,使系统更加实用。
关键词:STM32;PID;智能小车;物流;循迹
中图分类号:TP273 文献标识码:A 文章编号:1671-2064(2017)21-0027-02
小车作为现代智能小车热门发展方向之一,是许多新技术的集合,它体现了车辆工程,自动控制,计算机技术和人工智能集为一体的综合技术。本文提出了一种基于STM32F103芯片为控制核心,以循迹模块,测速模块,超声测距模块,通过PID算法構成了完整的智能物流循迹小车,可以实现自动调速循迹功能,停车避障功能,自动往返功能。通过模糊PID和芯片自带PWM脉宽调制技术的结合,大大提高了对车辆位置和速度控制的精度。
1 系统硬件电路设计
1.1 循迹模块
本系统采用YL-70型红外探测传感器模块实现循迹功能,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~60cm,工作电压为3.3V-5V。循迹模块电路图如图1。
1.2 超声测距模块
本系统采用US-100型超声波测距模块,块可实现 2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠,超声测距模块电路图如图2。
1.3 测速模块
本系统采用A3144型霍尔传感器模块实现测速功能,探测到障碍物为高电平,无障碍物或超出探测范围输出低电平,测速模块电路图如图3。
1.4 电机驱动模块
本系统采用L298N芯片驱动直流减速电机,L298N芯片具有驱动能力强;发热量低;抗干扰能力强;工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流可达2A;额定功率25W。内含双H桥的高压大电流全桥式驱动器,可以用来驱动直流电机和步进电机。其电路图如图4。
2 PID算法设计
在实际工业生产中,PID控制(比例、积分、微分控制)的使用最广泛,是工业控制的重要技术,它具有结构清晰、调整方便、稳定性高和工作可靠等优点。本系统采用闭环PID为基本控制算法,实现智能小车的底盘速度闭环。
PID控制是基于反馈原理的线性控制,它将偏差e(t)的比例控制(P)、积分控制(I)、微分控制(D)进行线性组合,形成控制量u(t),从而对被控制量进行控制,PID控制原理图如图5所示。
可知当已知PID三个系数后,根据每次采样的数据与设定的目标数据比较,得出偏差值e(n),e(n-1),e(n-2),对三个偏差进行PID增量运算,最终用得出的结果控制电机PWM脉冲占空比来控制直流减速电机转速。
3 系统程序设计
系统软件设计采用C语言编程实现,小车进入工作状态后,开始不断扫描与探测主控STM32F103单片机的I/O口,一旦检测到某个I/O口有信号变化,就执行相应判断程序,把相应发生信号传给减速电机从而控制小车的状态。
4 系统测试
根据本文设计方法制造智能物流循迹小车,实际测试结果表明,该方法设计的小车运行平稳,在长时间的工作中系统稳定,没有偏离既定轨迹,使用了增量PID算法使得小车加速和减速过程迅速且平稳,匀速过程速度稳定,上下坡速度均衡,在有负载的情况下小车运行一切稳定,小车转弯稳定,未发生漂移,小车整体性能稳定,实现了设计要求。
5 结语
本文根据设计内容和要求,制定了设计方案,并逐步完成了硬件和软件部分设计,展示部分硬件电路和系统框图。整个系统以STM32F103为主控芯片,实现对小车简单运动的控制,采用数字PID控制算法对直流减速电机转速进行控制。在项目进行中学习使用Altium Designer设计电路图,在keil软件下编写各程序模块,包括红外循迹模块、超声测距模块、霍尔测速模块,并通过主程序将各模块融合在一起。整个设计将软件硬件相结合,实现了小车的既定功能。经过模块测设和整车测试,该系统运行稳定,成本低,抗干扰性能强,可被广泛用于教学,智能玩具和搬运货物等场合,有很好的利用价值。
参考文献
[1]孙书鹰.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用,2010.3(1):59-63.endprint