一款LPC54606单片机的智能自动循线小车

2021-03-16 10:08青岛恒星科技学院魏书伟
电子世界 2021年4期
关键词:巡线舵机电感

青岛恒星科技学院 夏 杰 魏书伟

智能自动循线小车采用32位单片机LPC54606为核心控制器,通过智能车上搭载的传感器识别赛道中间的电磁线,以最快的速度完成巡线行驶,采用工字电感完成对赛道信息的采集检测,通过算法提取中线,使用PID控制算法调节舵机的打角,实现智能车运动过程中的方向闭环控制,同时,车上搭载TFT显示模块和按键,可以对车内参数实现快速调节,并通过上位机对采集信息进行分析。经多次重复实验,结果表明,智能小车可以精确并迅速完成巡线行驶。

1 系统工作原理

本系统采用32位微控制LPC54606型号芯片作为核心控制单元对整个智能小车系统进行控制。赛道信息由车体前方架设的几个工字型电感进行采集,经LPC54606的ADC口接收信号后,同时内部发出PWM波,用于智能小车的运动控制反应和驱动直流电机对智能小车进行速度控制,同时通过控制智能小车两个轮子的速度差来实现车体的转向,使智能小车在赛道上能够自主循迹行驶。此外,智能小车上增加按键和拨码开关作为输入设备,便于智能小车的速度控制和策略的选择。

通过改变电机转速来实现速度控制和方向控制,保证车模沿着竞赛道路行驶。智能小车行驶的道路中心铺设有一根金属漆包线,通有100mA的20kHz交变电流,道路中心线周围产生一个交变磁场通过传感器采集道路电磁信息数据,经过算法处理实现电机控制和方向控制,从而保证智能小车在赛道上的高效行驶。

图1 智能巡线小车系统结构框图

2 智能巡线小车系统整体结构设计

如图1所示,本设计共四大模块:LPC54606主控模块、电机驱动模块、电源模块、辅助模块。主控模块将传感器采集信号处理后,根据控制算法对应控制直流电机转速,实现对智能车的最优速度控制。传感器模块,通过25cm长的前瞻放置四个对称电感,使小车提前判断赛道信息,做出决策提供充足的反应时间。电源模块,为整个系统提供合适而又稳定的电源。电机驱动模块,驱动直流电机完成智能小车的加减速控制和舵机转向控制。辅助模块主要用于智能小车的各传感器的功能调试、赛车在赛道上的状态监测等。

2.1 LPC54606单片机

LPC54606单片机将高级计时器和模拟功能结合在一起,其中的DSP功能使单片机能够支持数据密集型应用中的复杂算法,且LPC54606单片机具有高达512KB的闪存和外部存储器接口,灵活性强,闪存选项支持大型内部和外部存储器配置,可根据需求变化进行调整。LPC54xxx系列之间的兼容性强,能够提供无缝的迁移路径,并提高处理能力。LPC54606单片机实物图如图2所示。

图2 LPC54606单片机实物图

2.2 电磁采集模块

在交变的磁场中,智能巡线小车通过电磁引导判断行驶路径,传感器模块根据RC谐振公式计算得出外部频率为20KHz,信号调理与传输采用四路10mH的电感和6.8uF的电容组成谐振电路,布局通过左右两路电感平放、中间两路电感倾斜的方式来进行电磁信号的采集。在电磁自主循迹状态下,智能小车不受光线、温度和湿度的影响,适应性强,相对光电或摄像头引导的小车有巨大优势。

2.3 电机驱动电路

驱动电路本方案采用了集成度更高的BNT7971B驱动芯片,同时使用两个驱动芯片,IN1给PWM高电平信号的同时IN2给低电平信号,左边芯片高边MOSFET会在PWM控制下快速打开,而低边MOSFET则一直处于关闭状态;右边芯片高边MOSFET一直关闭而低边MOSFET一直处于打开的状态,这样就同时实现电机的正反转控制和对输出电流的PWM控制,达到电机的正反转和调速目的。经过多次试验测试,双BTN7971搭建的H桥驱动电路PWM工作频率最佳为17kHz,此时输出的方波波纹较小,控制精度较高,BTN驱动电路如图3所示。

图3 BTN驱动电路图

2.4 智能巡线小车机械结构设计

智能巡线小车的驱动电机为S380电机,转向舵机为S3010舵机,智能巡线小车的控制采用的是前轮转向,后轮驱动方案。智能巡线小车机械结构创新有以下几点:

(1)车模底盘降低,用来降低重心。

(2)舵机采用竖直姿态,方便控制。

(3)对前轮倾角进行调节,保证车直线行驶的稳定性。

(4)电池平放后移,使重心尽量位于车体中后方紧贴底盘,保证车在高速时入弯时的稳定性。

(5)用轻便碳素杆作为前瞻用来固定电磁干,前端的碳素杆采用“工”字形结构设计,更好的减轻了上下坡电磁干上下摆动的现象。车的机械结构实物图如图4所示。

图4 机械结构实物图

3 智能巡线小车的系统软件设计

3.1 系统主程序

本系统控制部分包括方向PID控制和差速控制赛道信息检测是由车体前方架设的四个工字型电感进行采集,经LPC54606的ADC口接收信号后,发出PWM波驱动直流电机对智能汽车进行加速和减速控制,通过控制智能小车两个轮子的速度差和舵机打角来实现车体的转向,使智能车在赛道上能够自主循迹行驶。系统主程序流程图如图5所示。

3.2 PID算法控制

本方案采用增量式PID控制:

当加入积分项后,会导致系统控制滞后,因此决定只采用PD项,使用开方差比求和法来计算当前赛道中线的偏差值Erros_S,由比例系数Kp与Error_S的乘积得到比例项。其次加入微分项,该微分控制项可以克服单纯比例控制带来的滞后作用,使其更近目标值。

图5 系统主程序流程图

当比例P系数偏大时,直道行驶时小车晃动较大,舵机反应太过灵敏,弯道转弯半径减小;比例P系数偏小时,直道行驶晃动小,舵机反应太过迟钝;微分D系数偏大时舵机反应灵敏,易高频抖动,抗干扰能力差;微分D系数偏小时,抗干扰能力好,多级反应慢。所以只有采用适当的PD调节相结合,才可以使智能小车达到快速稳定的效果。

PID算法示意图如图6所示。

图6 PID算法示意图

3.3 数据采集与处理

主要算法思想:将采集的值进行排序,然后再用一变量来存储每一路的平均值,对于滑动求和就是每次采样一个新数据便存入暂存区,同时去掉一个老数据,始终保持最新数据。将滤波完后的值赋值给当前值。由于不同运放芯片的放大倍率可能不同,为了方便之后的PID算法处理,应对采集数据进行归一化处理,归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。

电感采集如表1所示。

表1 电感采集

结束语:本文以LPC54606单片机为控制核心,设计智能自动循线小车,经多次重复实验,结果表明,智能小车可以精确并迅速完成巡线行驶,且具有以下几个创新点:

(1)控制过程:电磁采集模块利用工字电感和矫正电容组成的谐振电路来进行电磁信号采集然后经过运算放大模块进行信号的放大和提取传输给单片机,经过运算以后输出合适的舵机PWM值来进行舵机的打角控制;调速方面为给定速度和差速来进行电机的两轮转速控制实现小车的动力控制。

(2)软件算法:首先采取电感信号,但电感归一化也影响小车在中线的位置,归一化之后偏差在中线为0,所以调好之后需进行PD调节,先P后D进行调节,提升速度,达到最大速度后,再进行差速调节。

猜你喜欢
巡线舵机电感
春光美巡线忙
出没风波里,踏浪去巡线
含齿隙弹载舵机的全局反步模糊自适应控制
基于NCP1608B的PFC电感设计
无人机在电力巡线中的应用模式研究
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
隔离型开关电感准Z源逆变器
飞滑式巡线机器人自平衡控制方案设计与实现
基于云模型的舵机同步控制