本设计制作的智能小车由MSP430F169单片机、直流电机驱动电路、倾角传感器、反射式红外传感器、键盘电路、LCD液晶、LED、蜂鸣器等电路构成。小车采用前后两对反射式红外传感器,能沿着黑线在跷跷板上往返行驶,并始终保持在跷跷板上;同时,利用倾角传感器对小车当前所在位置的倾斜角进行测量。小车控制程序主要采用增量式PID、模糊控制两种运动控制策略,结合PWM调速控制电机转速和转向,从而使小车快速在跷跷板上取得平衡;小车通过LED和蜂鸣器来实现平衡指示;在整个行驶过程中,小车上的液晶屏能分阶段实时显示小车行驶所用的时间,并且所用时间都能符合题目要求。
关键词:倾角传感器、增量式PID算法、模糊控制、PWM调速
一、方案的选择与论证
1、小车平衡模块
方案一:采用芬兰VTI公司生产的SCL1700-D31倾角传感器。该传感器能同时测量X轴和Y轴方向的倾角变化量,并向外输出对应角度的模拟信号,且呈线性变化。对其单电源供电,测量范围为±15°,精度可达±0.1°。
方案二:采用5k的单圈电位器,在电位器转轴上悬挂一重物。当小车与水平方向产生一个角度时,由于物体始终是垂直向下,就会带动转轴旋转,使之电阻值改变。与水平时电阻所得到的电压形成差值,通过差值的大小和方向来控制电机的前进和倒退。
根据题目所提供的跷跷板尺寸,初始倾角为5°左右。SCL1700-D31倾角传感器体积小,精度高,测量范围大于题目要求,输出信号便于采集,安装和调试简单。由于考虑到晃动的物体的加速度对测量影响较大,故我们选用方案一。
2、电机选择
方案一:采用步进电机。步进电机步距角比较小,便于数字控制,便于微调;但其扭矩比较小,静态电流比较大,驱动电路复杂。
方案二:采用减速直流电机。
减速直流电机驱动电路简单,具有很大的扭矩。但难以进行微调。
在该题中,小车应该能具备良好的爬坡能力,直流电机通过齿轮箱减速后,具有很大的扭矩,而步进电机可能会产生扭矩不足的情况。在控制方面,虽然步进电机能很好地进行微调,但是通过软件编程也可以让直流电机产生微小的转动角。综合各方面,我们选用方案二。
3、电机驱动模块
方案一:采用由大功率达林顿管组成的H型驱动电路。该电路承载电流大,但电路复杂,体积大。
方案二:采用L298组成的驱动电路,驱动芯片L298是驱动二相或四相步进电机的专用芯片,电路实现容易,与单片机接口方便,控制比较简单。
考虑到我们选用的是直流电机,且小车不宜过重,故选择方案二。
4、路面黑线检测模块
光线照射到路面并反射,由于黑线与木板表面反射的系数不同,可根据接收到的反射光强弱判断是否到达黑线。
方案一:采用开光量信号进行检测。当红外传感器检测到黑线时,输出高电平,反之输出低电平。
方案二:采用模拟量信号进行检测。通过AD采样传感器输出信号,具有线性度较好,分辨率较高等优点,能够实现自动判别木板和地面的差别。
二、系统的具体设计与实现
本系统以MSP430F169单片机为小车的控制核心,包含了小车平衡模块,电机驱动模块,路面黑线模块,显示模块等部分。系统如图1所示。
图1
下面,分硬件和软件两个方面进行具体讨论分析。
1、系统的硬件设计
(1)平衡模块及实现
平衡模块以传感器SCL1700为核心;其平衡过程为:首先将小车放置在地面上,测得平衡时倾角传感器输出的模拟量,以此来作为一个平衡校验的基准。当小车被放置于跷跷板一端时,倾角传感器与地面产生了一个角度,且随着小车的行驶不断地变化。小车内部单片机对传感器输出的模拟量进行采样,然后与基准值进行比较。接着单片机采用预先设定好的算法对电机进行控制,使其小车在平衡点徘徊,维持平衡。由图2可知,传感器输出的信号是呈线性变化的,所以控制起来比较简单。
图2
(2)电机驱动模块
电机驱动模块采用L298,其内部集成两个桥式电路驱动器,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的启停。如图3所示,单片机P3.4,P3.5输出的信号控制右边直流电机,P3.6,P3.7输出的信号控制左边直流电机。信号包括二组PWM波,每一组PWM波用来控制一个电机的转速。因此结合PWM波就能控制电机的转速和方向了。
图3
(3)路面黑线检测模块
黑线检测模块主要由反射式红外光电开关RPR220构成。采用小车寻黑线的方法来引导小车驶入跷跷板并保证在板的宽度内行驶。随着反射光的强度不同,使接收管输出的电压呈线性变化,分压电阻R2上的电压也随之改变。同时R2上的电压不断与比较器参考电压进行比较。由于此比较器是反向比较器,当有黑线时,R2上的电压大于比较器参考值,比较器输出低电平,反之输出高电平。{zh1}将比较结果送给单片机处理,从而控制电机的转动。图4为其电路原理图。
图4
(4)显示模块
(5)总体线路图
图5
2、系统的软件设计
我们将小车的平衡控制采用了两种控制模式,误差较大时使用PID控制策略,而在误差较小时,则使用模糊控制策略,下面分别对其进行介绍。
(1)PID控制算法。
我们选用的是数字PID增量式控制算法。控制量 计算如下:
………(1)
式中: 为小车系统中当前倾角和平衡时倾角差值的数字量
为当前与前一次的倾角差值的数字量
为前一次与上上次的倾角差值的数字量
、 、 为实验整定出来的经验PID参数
、 、 为比例、微分、积分控制部分
设
…………………………(2)
式中: 为调整电机转动的转速和方向。
、 为实验调试过程中得到的{zj0}参数
一般计算机控制系统的采样周期T在选定后就不再改变,所以,一旦确定了 、 、 ,只要使用前后3次测量的偏差值即可由式(1)和(2)求出控制增量从而调整电机转动。
(2)模糊控制算法。
通过对小车和跷跷板系统的平衡控制运动规律和实验经验,总结出一组能够使小车快速平衡的控制规则。基本思路是:小车在上坡过程中不断去检测倾角的值,然后和在水平地面的值比较,若角度基本不变化则说明是在A-C区间,若倾角开始变化说明是在平衡点附近,然后小车开始慢慢的运动来试凑xx的平衡点,实验结果表明这组控制规则能够更快的实现小车的平衡控制。
3、其他功能的设计与实现
(1)小车在没有引导的情况下,能自动判断是处于地面还是跷跷板上。
(2)小车两端均可做为车头驶入跷跷板,并完成题目所要求动作。
三、实际测试
1、测试设备
自制跷跷板:长1600mm、宽300mm,游标高度尺,秒表,2米卷尺。
2、测试结果
(1)基本功能
A.电动车从起始端A出发,行驶到中心点C附近所需时间。
B.电动车在中心点C附近使跷跷板平衡所需时间及保持平衡状态时间。 表2
C.电动车从平衡点出发行驶到跷跷板末端B处所需时间及离B点的距离。表3
D.电动车在末端B处停留的时间及从B端返回到A端所需时间。
4
(2)发挥部分
A.电动车在跷跷板上取得平衡所用时间和保持时间。
5
B.加另一重物后取得平衡所用时间和保持时间。
C.完成1-3项任务所用时间。
四、结束语
本设计在硬件上,使用了反射式红外线传感器保证小车不偏离跷跷板,使用倾角传感器让小车在跷跷板上找到平衡位置,采用PWM技术解决了电动机驱动的效率问题,实先了车速控制,自动转向,智能倒车等功能。软件上,运用先进的增量式PID控制算法,使小车能尽快的找到平衡点。从测试结果来看,本电动车能很好的完成题目要求。
五、参考文献
(1)《第五届全国大学生电子设计竞赛作品选编(2001)》
北京理工大学出版社
(3)《MSP430系列16位超低功耗单片机实践与系统设计》沈建华编著 清华大学出版社
已投稿到: |
|
---|