步进电机驱动检测贴片避障AD寻光.docx
《步进电机驱动检测贴片避障AD寻光.docx》由会员分享,可在线阅读,更多相关《步进电机驱动检测贴片避障AD寻光.docx(17页珍藏版)》请在冰豆网上搜索。
![步进电机驱动检测贴片避障AD寻光.docx](https://file1.bdocx.com/fileroot1/2022-11/25/eea2bcf5-e42b-4db6-9f5e-7c2e54955e2f/eea2bcf5-e42b-4db6-9f5e-7c2e54955e2f1.gif)
步进电机驱动检测贴片避障AD寻光
基于单片机的步进电机驱动智能小车研制
摘要
我们本次设计采用STC12C5A60S2单片机为控制核心的,它是高速/低消耗/超强抗干扰的新一代8051单片机。
我们在最小系统的基础上,控制步进电机的正转、反转、加速和停止可以使智能小车可以精确的行驶直线90度弯道,碰到障碍物可以合理的避障,探测到金属可以发出报警信号,用AD数模转换寻到检测到光源可以寻光入库,从而使智能小车实现合理行进。
关键词:
STC12C5A60S2单片机、智能小车、步进电机、避障、探测金属等、AD数模转换、寻光
目录
1引言3
2系统设计4
2.1设计要求4
2.2总体设计方案4
2.2.1系统总体设计方案4
2.2.2基本模块设计方案5
3单元硬件电路设计7
3.1电源电路模块7
3.2光电寻迹模块7
3.3金属探测传感器模块8
3.4红外避障模块………………………………………………………….....................…..9
3.5AD——光敏寻光模块9
3.6液晶显示模块………………………………………………………………………..…10
3.7L298步进电机驱动模块……………………………………………………………..…11
3.8单片机STC12C5A60S2核心模块12
3.8.1单片机芯片的选择12
3.8.2时钟及复位电路13
4系统软件设计14
4.1主程序流程图14
4.2步进电机方向及速度控制程序流程图15
4.3金属探测及控制设计流程图16
4.4红外避障及控制设计流程图16
4.5AD寻光及控制设计流程图…………………………………………………………….17
5系统调试18
5.1硬件调试18
5.1.1单元模块的测试18
5.2软件调试18
6心得体会19
附录:
程序源代码
1引言
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,可见其研究意义很大。
同时,随着电力电子技术、微电子技术和计算机技术、新材料以及控制理论和电机本体技术的不断发展进步,用户对电机控制的速度、精度和实时性提出了更高的要求,因此作为微特电机重要分支的控制电机也得到了空前的发展。
控制电机已经成为现代工业自动化系统、现代科学技术和现代军事装备中不可缺少的重要组件。
它的应用范围非常广泛,例如火炮和雷达的自动定位,舰船方向舵的自动操纵,飞机的自动驾驶,遥远目标位置的显示,机床加工过程的自动控制和自动显示,阀门的遥控,以及机器人、电子计算机、自动记录仪表、医疗设备、录音录象设备等中的自动控制系统。
本次设计的智能小车可以显示计时和行程,具有自动寻迹、自动避障,金属探测等功能。
根据设计要求,确定如下方案:
在现有的(带有两个步进电机和一个万向轮)小车的基础上,加光电避障,红外线黑带检测及金属探测器,实现对小车的速度、位置、运行状况的实时测量,并将测到的数据传送至STC12C5A60S2单片机进行处理,然后由单片机根据所检测的各种数据实现对小车的智能控制。
这种方案能实现对小车的运动状态进行实时控制。
本次设计采用STC12C5A60S2单片机。
以STC12C5A60S2单片机为控制核心,控制小车转动的圈数和转弯角度准确找到铁片,发出光警报,用光电检测障碍物,让小车自动避障,寻找光源,进入车库。
2系统设计
2.1设计要求
1)智能车从入口垂直车库边缘出发,在无障碍物的情况下,可寻找铁片,在寻到铁片后有声光提示,并在光源的引导下进入车库。
(2)要求智能车在8分钟之找到铁片并返回车库,否则就地停车。
2、发挥部分
(1)距右边线1m处设有障碍线,线上任意位置放有一个障碍物,在有障碍物的情况下,完成基本要求
(1)、
(2)中的相关操作,且不得与障碍物碰撞。
(2)停车后,能准确显示智能车全程行驶的时间,显示误差的绝对值应小于10秒。
(3)其它。
2.2总体设计方案
2.2.1系统总体设计方案
要求设计并制作一个以单片机为控制核心的智能小车。
我们步进作动力,小车具有地面黑白线自动寻迹、自动避障、金属探测等功能,操作者可以通过按钮启动小车能按照预定的要求自动运行。
本系统采用STC12C5A60S2单片机为为核心控制芯片金属探测电路、红外检测电路、电机驱动电路。
通过C语言来监控装置。
总体设计框图,如图1所示。
图1步进电机驱动智能小车总体结构框图
2.2.2基本模块设计方案选择
(1)车体选择
1.四轮小车
2.三轮小车
自己制作电动车。
经过反复考虑论证,我们制定了左右两轮分别驱动,后万向轮转向的方案。
即左右轮分别用两个转速和力矩基本完全相同的步进电机进行驱动,车体后部装一个万向轮。
这样,当两个步进电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯。
在安装时我们保证两个驱动电机同轴。
当小车前进时,左右两驱动轮与后万向轮形成了三点结构。
这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。
为了防止小车重心的偏移,前万向轮起支撑作用。
所以选三轮车更好。
(2)、电机的选择
1.直流电机
2.步进电机
对于智能小车来说,其驱动轮的驱动电机的选择就显得十分重要。
由于本题目要实现对寻迹路线的准确定位和精确测量,我们综合考虑以下方案。
采用步进电机作为该系统的驱动电机。
由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。
由于题目的铁片的不确定性,为保证一次性检测到,不做无用功,我们选用步进电机让他直走50cm,再右拐,这样可以保证一次性检测到,这就是使用步进电机的好处。
经综合比较考虑,我们选用步进电机。
(3)、电机驱动模块选择
1.步进电机专用驱动芯片ULN2003
2.L298电机驱动模块
由于电动车采用了前面使用万向轮,两个后轮各一个电机驱动的驱动方式,由于我们采用的是大功率的步进电机,ULN2003驱动,速度太慢,而L298电流大,驱动电机速度快所以我们利用L298及其外部辅助电路和电机构成驱动电路。
单片机控制口接两个L298的八个输入控制端。
两个L298的八个输出端接步进电机。
这样可以让车速度加快稳定的行走。
(3)寻光模块选择
1.三组L358电路
2.三路光敏,AD采集电压值变换
由于AD采集电压很灵敏,而且精确度高,而L358稳定性不好,易受干扰。
我们所采用STC12C5A60S2单片机本身自带AD转换器,用起来不用更多的硬件设计,又由于题目要求小车寻光入库,时间有限,所以选用,光敏,AD采集电压值的变换情况来寻光。
3单元硬件电路设计
3.1电源模块
在设计中,我选用一个简单的电源电路,该电源模块提供了+7.2V、+5V,也可为其他电路系统供电,达到有效的利用。
220V的交流电压通过整流桥,经过滤波,再通过LM2940C集成稳压管得到稳定的+7.2V的直流稳压电源,通过LM2940C集成稳压管得到稳定的+5V的直流稳压电源。
电路原理图如图2所示:
图2电源电路
3.2光电避障模块
图3所示电路中,R3起限流电阻的作用,当有光反射回来时,光电对管中的三极管导通,R4的上端变为高电平,此时VT1饱和导通,三极管集电极输出低电平。
当没有光反射回来时,光电对管中的三极管不导通,VT1截至,其集电极输出高电平。
而且经试验验证给此电路供电的电池的压降较小。
因此我们选择此电路作为我们的传感器检测与调理电路。
此光电对管电路简单,工作性能稳定。
图3光电循迹电路检测
3.3金属探测传感器模块
图4所示电路中,我们选用型号:
LJK-D4N金属探测传感器,将其检测面对准运行路面,当小车距离金属块20mm~30mm时,输出一个低电平信号,然后送至单片机,查询判断后控制电动机产生相应动作,使小车车速减慢,并可进行声光提示。
本模块操作简单,准确且抗干扰性能越优。
图4金属探测电路
3.4红外避障模块
图5所示电路采用红外线壁障,利用一管发射一管接收,接受管对外界红外线的接收有无来判断障碍物,这种方式干扰小,而且易于实现。
由于红外线受到外界可见光的影响较大,因此用38KHz调制信号,红外发射二极管发射红外线,在没有遇到障碍物时会输出一个高电平信号,送至单片机,如果遇到障碍物后,光线反射回来,接收的光电二极管就会导通,这时候就会输出一个低电平,送至单片机。
图
图5
3.5光敏——AD寻光模块
接法如图6
图6
3.6液晶显示模块
采用型号为LCD1602的液晶显示器进行小车行车时间和AD值的显示,其电路如图11所示
图7
3.7L298模块
电机的驱动芯片选用L298N作为驱动芯片。
工作稳定电机驱动信号由单片机提供,信号经过光耦隔离,通过L298N的输出脚与两个电机相连。
L298N的连接方法如图8所示
图8
3.6单片机STC12C5A60S2核心模块
3.6.1单片机芯片的选择
图9单片机最小系统电路
单片机端口分配如下:
P2.0-P2.7端口分配给步进电机驱动板的控制端;
P0.0-P0.7端口分配给液晶显示器的数据端;
P3.5-P3.7端口分配给液晶显示器的控制端;
P1.5-P1.7端口分配给三路光电避障的检测信号端;
P3.2端口为金属探测器的检测信号端;
P3.4端口为LED灯与蜂鸣器;
VCC端口分配给步进电机驱动电路板中的两块驱动芯片L298N的使能端。
3.5.2时钟及复位电路
时钟电路的设计:
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如图10所示:
图10时钟电路
图中,电容器C1、C2起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF,我选用30pF。
晶振频率的典型值为12MHz(我所选用),采用6MHz的情况也比较多。
内部振荡方式所得的时钟信号比较稳定,实用电路中实用电路中使用较多。
也有外部振荡方式,我选用内部振荡方式设计。
复位电路的设计:
当MCS-51系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
如图11所示:
图11复位电路
电源接通后,单片机自动复位,并且单片机运行期间,用开关S1操作也能使单片机复位。
总结时钟及复位电路如图12所示:
图12时钟及复位电路
4系统软件设计
4.1主程序流程图
本设计的主设计流程图如图13所示,当接通电源时,必须按下启动按键小车才能运动,若P2.5为低电平,当遇到到金属,会产生生中断执行对应的报警程序;当检测到障碍物时,执行对应的避障程序。
图13系统软件主流程图
4.2步进电机方向及速度控制程序流程图
图14所示流程图中,表示如果给步进电机阀一个控制脉冲,它就转一步,再给一个脉冲,它就会再转一步,两个脉冲的间隔越短,步进电机就转的越快。
在这个程序中主要实现对一个步进电机脉冲的分配、根据键盘检测正反转方向控制、速度控制等,并且两个步进电机的方向及速度控制可根据以下子程序自行修改实现。
同时它主要完成两项工作:
一是黑白线信号检测采集,二是根据检测信号控制小车的向左转或向右转,使小车始终沿着黑线行进。
图14步进电机方向及速度控制流程图
4.3金属探测及控制设计流程图
图15所示流程图,当金属探测器通上+7.2V的电源时,碰到金属,则金属探测器的指示灯会发亮报警了,同时输送一个低电平给单片机模块。
图15金属探测控制流程图
4.4红外避障及控制设计流程图
红外避障检测机控制子程序流程图如图16所示。
可以在小车车头的左右各装一个红外检测避障电路,单片机的P1.5和P1.6在收到接收到的红外检测电路输出信号后,利用单片机控制电机在遇到障碍物时使小车转弯。
图16红外避障控制电路流程图
.4.5AD寻光及控制流程图
AD光敏寻光控制子程序流程图如图17所示
5系统调试
5.1硬件调试
5.1.1单元模块的测试
(1)电源电路测试:
设计并搭好电源电路,并用万用表进行检测电路连接情况,在确定电路没问题后,同电源端通上7.2V的电源,按下开关,观察发光二极管是否发生变化。
(2)光电寻迹模块测试:
在以连接好的光电寻迹电路中,通电后,在反射式光电传感器上面放一张白纸,用电压表测量输出端1号引脚是不是为高电平;在放一张贴有黑胶布的纸张或者是黑色的物品放在反射式光电传感器的感应部分,看电压表的的电压是否为低电平;来回移动带有黑胶布的纸张或黑色物品,看电压表的电压值是否高低电平的变化。
(3)红外避障电路测试:
首先在搭接好的电路中用万用表测量可调电阻的阻值将其调到10K欧姆;再用万用表在输出端测量未碰到障碍物时电压值是否为高电平,当碰到障碍物时,观察电压值是否为变为低电平。
(4)金属探测电路测试:
首先采用LJK-D4N金属探测传感器,给它导入7.2V的电源,并在接电源端和输出端之间接个4.7K欧姆电阻;再用万用表测量尚未碰到金属时输出端是否为高电平;当碰到金属时,指示灯是否亮,这时候再用万用表测量此时的输出端是否为低电平。
(5)AD寻光测试:
首先打开200w的灯源,单片机供电,通过左右调换光敏与光源的方向,看LCD1602上面的AD值变化情况是否正确。
当左边检测到时,左AD变小,当右边检测到时,右AD变小,当中间的AD为253时,小车停止。
5.2软件调试
当保证硬件电路正常工作的前提下,对软件开始进行调试。
通过keil3软件将主流程框图的步骤一步一步的将各个部分程序写好,通过仿真软件proteus在线下载调试,观察仿真情况是否和预计的要求一致。
慢慢的完善了整个系统程序,在确定无误时,用编程将正确的程序写入STC12C5A60S2中,然后将芯片放入电路中使用,完成了软件的调试。
6心得体会
在这里首先要感谢老师对我们毕业设计的指导和帮助。
通过本次设计,深深感到理论与实践之间的差距。
在学习专业课程的同时,很多知识点在理论完全应用到了,但到具体的电路设计与实现中,会出现很多一时无法理解的现象,都要通过不断的通过强化自身的实践动手能力的培养,才能用理论来指导实践,通过实践来进一步深入理解理论。
在连续两个月的毕业设计时间当中深刻的认识到一个科学产品的制造过程是要考虑到众多的因素;一个小小的细节都有可能导致整个设计无法达到预期效果。
在这一次的设计当中先从传感器检测其应用到最小系统芯片端口的分配,再到步进电机的驱动模块,当然还有其中的proteus的仿真设计等等,都让我深刻的明白的一个产品生产者背后的心酸。
同时加强了自己对研究项目的认识和对以后自己工作上的帮助。