单片机的自动往返小车.docx
- 文档编号:5932278
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:11
- 大小:579.71KB
单片机的自动往返小车.docx
《单片机的自动往返小车.docx》由会员分享,可在线阅读,更多相关《单片机的自动往返小车.docx(11页珍藏版)》请在冰豆网上搜索。
单片机的自动往返小车
单片机的自动往返小车
自动往返小汽车
队员1:
张建强,男,,信息工程学院、电气工程及其自动化、14,教学号,邮箱,电话
队员2:
吴风洋,男,1995-10,信息工程学院、电气工程及其自动化、14,0,,
队员3:
邓国忠,男,1993-8,信息工程学院、电气工程及其自动化、14,0,,
作品类别
引言
嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。
单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,ARM微处理器资源丰富,具有良好的通用性。
Cortex-M3是ARM公司最新推出的第一款基于ARMv7体系的处理器内核。
它主要针对MCU领域,在存储系统、中断系统、调试接口等方面做了较大的改进,有别于过去的ARM7处理器;Cortex-M3具有高性能、低功耗、极低成本、稳定等诸多优点,非常适合汽车电子、工业控制系统、医疗器械、玩具等领域。
基于Cortex-M3内核的STM32系列处理器于2007年由ST公司率先推出,它集先进Cortex-M3内核结构、出众创新的外设、良好的功耗和低成本于一体,极大的满足自动控制系统设计要求。
作为先进的32位通用微控制器的领跑者,STM32以其出众的性能、丰富且灵活的外设、很高的性价比以及令人意外的功耗水准,使其自面世以来得到众多设计者的青睐,众多行业领导者纷纷选用STM32作为新一代产品的平台。
因此将STM32F103应用于智能小车的控制系统是一种较好的选择。
基于此,本文提出了一个比较合理的智能小车系统设计方案。
整个小车系统以STM32F103芯片为控制核心,附以外围电路,利用红外探测器、触角传感器采集外界信息和检测障碍物;充分利用STM32F103的串口、并口资源和高速的运算、处理能力,来实现小车自动识别路线按迹行走、躲避障碍物,并且通过LCD显示器实时显示小车运动参数;配置STM32F103通用定时器为PWM输出模式产生PWM波,通过步进调节PWM波占空比参数控制电机的转速。
基于单片机的自动往返小车
一.任务
设计并制作一个能自动往返于起跑线与终点线间的小汽车。
允许用玩具汽车改装,但不能用人工遥控(包括有线和无线遥控)。
跑道宽度,表面贴有白纸,两侧有挡板,挡板与地面垂直,其高度不低于20cm。
在跑道的B、C、D、E、F、G各点处画有2cm宽的黑线,各段的长度如图1所示。
二.要求
1.基本要求
(1)车辆从起跑线出发(出发前,车体不得超出起跑线),到达终点线后停留10秒,然后自动返回起跑线(允许倒车返回)。
往返一次的时间应力求最短(从合上汽车电源开关开始计时)。
(2)到达终点线和返回起跑线时,停车位置离起跑线和终点线偏差应最小(以车辆中心点与终点线或起跑线中心线之间距离作为偏差的测量值)。
(3)D~E间为限速区,车辆往返均要求以低速通过,通过时间不得少于8秒,但不允许在限速区内停车。
2.发挥部分
(1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)。
(2)自动记录、显示行驶距离(记录显示装置要求安装在车上)。
(3)其它特色与创新。
三.方案设计
本设计以两片单片机STC89C52作为核心来控制自动往返小车,加以控制芯片L298N和单片机联合控制小车的前进与后退。
路面的黑带检测使用反射式红外传感器,通过STC89C52对输入的信号进行处理,以动态显示的形式通过一个四位的数码管显示即时里程,另外一个四位数码管动态显示小车行驶时间。
以红外传感器对路面黑线检测用,行驶距离使用霍尔元件进行检测。
【1】
图2
1.电机驱动调速模块
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻络只能实现有级调速,而数字电阻的元器件价格昂贵。
更主要的问题在于一般电动机的电阻较小,但电流很大;分压不仅会降低效率,而且很难实现。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
方案的优点是电路较为简单,缺点是继电器的响应时间慢,机械结构易损坏,寿命较短,可靠性不高。
方案三:
采用达林顿管TIP4组成的PWM电路。
用单片机控制达林顿管使之工作在占空比可调的状态,精确调整电机转速。
方案四:
采用L298N来控制电机的正转和反转来实现小车的前进和后退。
加上单片机的程序PWM,实现整车的加速与减速,精确小车的速度。
基于上述理论分析,拟选择方案四。
2.路面黑带检测
黑带检测的原理是:
红外光线照射到路面并反射,由于黑带和白纸的系数不同,可根据接的红外线的强弱判断是否到达黑带。
【2】
方案一:
可见光发光二极管与光敏二极管组成的发射—接收电路。
这种方案的缺点在于其他环境光源会对光敏二极管的工作产生很大的干扰,一旦外界光亮条件改变,很可能造成误判和漏判;虽然产生超高亮发光二极管可以降低一定的干扰,但这又将增加额外的功率损耗。
方案二:
反射式的红外发射—接收器。
由于采用红外管代替普通可见光管,可以降低环境干扰。
基于上述理论分析,拟选择方案二。
3.电源选择
方案一:
所有器件采用电源供电,这样供电电路比较简单;但是由于电动机启动瞬时电流很大,会造成电压不稳,干扰严重,缺点十分明显。
方案二:
双电源供电,将电动机驱动电源与单片机以及周边电路电源完全隔离,这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统的稳定性。
基于上述理论分析,拟选择方案二。
4.控制单元模块
方案一:
采用纯数字电路
该方案外部检测采用光电转换,系统控制部分采用数字电路译码对小车电动机两端电压调整,来控制小车的运行。
时间和行程用加法器进行计数。
此系统的设计将会使电路过于复杂,调试时需要改变硬件电路,机动性差。
方案二:
用单片机控制
用光电检测不同的信号,并经单片机对其处理,传送给L298信号,使其控制电机的正转和反转,配合PWM程序控制,来实现加速减速和刹车。
通过单片机内部定数器/计数器进行定时、计数,在用单片机串行输入/输出口进行显示控制。
此方案电路成熟、工作稳定、容易实现控制。
为能更好的实现题目的各种设计要求,所以我们选用第二种方案。
用单片机进行控制。
其工作框图如下:
二
图3
四.设计与论证
1.光电检测部分:
我们采用反射式光电检测电路对跑道上的黑线进行检测,并用两个遮光套管套住发光管和接收管以一定的角度紧贴跑道,这样可以消除外界光线的干扰。
为了加强可靠性采用槽型光耦检测轮子转动的行程。
用LM358电压比较器输出高低电平检测信号。
如图所示:
图4
2.STC89C52单片机基本系统
此系统以89C52为核心,每检测到一个黑带由光电检测部分产生一个的脉冲,使单片机产生一个外部中断1,定义检测黑带数的变量加1,同时车轮每转一圈,霍尔元件输出一个脉冲,是安单片机产生一个外部中断0,定义圈数的变量加1.通过和控制L298来控制电机的正转与反转及刹车。
当输出低电平,输出高电平时,电机正转,相反则电机反转,当和都是低电平时,使电动机被短路,提高了刹车效率,基本杜绝了由于制动惯性造成的小车的前冲现象。
通过P0口进行两个数码管的位选,P2口进行段码输出,其中一个数码管显示行驶时间,另外一个数码管显示行驶路程。
如图所示:
图5
图6图7
3.L298N电动机驱动模块部分
该电路采用电动机驱动芯片L298来控制电动机的正转与反转,加以第二路电机电
源保证了电动机启动时有足够的电流。
在试验中控制电压为单片机输出的高低电
平直接控制。
【3】
具体电路图连接如下:
图9
4.电源部分
由于电动机工作电流大,需要选用内阻小,供电电流强,质量轻,可反复使用的经济型电池,我们选用镍铬可充电电池组。
为使单片机工作稳定,避免电动机开关机和其转动时对其电源的影响,在此用两个电池组和稳压块7805分别为89C52和电动机驱动显示部分分别进行供电。
保证小车工作和显示的稳定性。
【4】
5.软件设计部分
单片机控制电路主要由一片STC89C52组成,通过P3口控制小车正转与反转,刹车,加速减速,通过两个四联数码管控制显示时间和里程以及小车行驶的时间。
其中P0口进行位选,P2口进行显示段码输出。
该系统采用上电复位加上手动复位联合复位系统进行初始化,单片机通过,输出脉冲控制电机正转反转以及刹车,当,分别输出01是电动机正转,输出10时电动机反转,输出00时电动机两边短路,小车立即刹车。
【5】
流程图如下:
(1)外部中断0
车轮美转一次,霍尔元件产生一个脉冲,通过下降沿触发外部中断0,并且在每进行一次外部中断记录圈数的变量加1.
(2)外中断1
光电检测每检测到一条黑带就产生一个脉冲输入口,通过下降沿的方式触发外中断1,每中断一次记录黑带的变量加1,当检测到第五条黑带时,=1,=1,小车的电动机由于短路刹车,当检测到第九条黑带时,小车再次刹车同时关掉所有中断。
(3)定时器中断0
使用定时器T0产生5ms定时中断,每次执行该中断前要先给定时器0赋初值,定时器中断每执行一次,变量加1。
当i=200时,即每当计时1秒时,时间变量t加1,速度等于一秒转的圈数和小车车轮的周长相乘。
图10
(4)定时器中断1
主要用来产生不同的占空比的波型进行高低速控制,每次执行时,定时器1要赋初值
(5)主程序
主程序主要用来控制两个四联数码管的显示,通过循环语句不断的调用显示程序,使两个四联数码管按位不断循环亮点,当小车行驶时动态显示时间和路程,小车停止时显示小车行驶过程中的时间和路程。
五.理论分析与计算
自动小车为玩具遥控小汽车的改装品,在改装的过程中最重要的是考虑设计光电检测管的位置,检测黑带的光电管放在车体的中央,用遮光管将其以一定反射角度压到跑道上。
路程检测用槽型光耦,放在小车的从动轮上。
轮子的周长约为厘米,在轮子上用了一个霍尔元件,每转一圈一个脉冲。
在组装前对每一个单元电路进行测试,以保证外部硬件电路的无误,有利于最后的统调。
调整是以点到线,最后到整体调试的方法。
在调整的过程中我们发现了许多问题,如响应中断的次数的调整等。
并且为了小车碰到墙壁不至于停车,我们在小车的四角上都加上了导向轮,导向轮用随身听的压带轮制作即可。
1.距离的计算:
速度的检测信号送入中断INT0,利用单片机AT89S52采集CD4069输出的脉冲个数进行计数结果设为变量,一个脉冲所对应的小车前进的距离乘以脉冲的个数便得到小车前进的距离’
即:
距离=脉冲个数*单个脉冲所对应的小车前进的距离
2.时间的计算:
定时器在工作在模式1下,16位计数器,设定计数器的计数初值为216-160000并且允许中断,中断一次表明间隔时间为60ms,对中断次数n进行累计,则时间t的计算公式为t=(60*n)/100
六.结论
本文根据设计内容和要求,制定了设计方案,并逐步完成了硬件和软件部分的设计。
整个系统以STM32为主控芯片,实现对小车简单运动的控制,其中硬件部分包括STM32F103及外围电路、电平转换电路、电机驱动电路、液晶显示电路、红外循迹检测电路、触角传感避障电路、键盘扩展电路,完成各部分电路设计并使用PROTEL画出电路设计原理图;软件部分在STM32集成开发环境IAREWARM下编写各模块程序,包括PWM波输出模块、液晶显示模块、键盘扫描模块、自由行走避障模块和红外循迹模块,并通过主控制程序将各模块融合一起。
整个设计将硬件与软件相结合,实现对小车的控制,使小车能够做出前进、后退、左转、右转等动作,并通过液晶显示器实时显示小车的运动参数,同时可通过键盘输入对小车行走模式进行切换及对小车速度进行调节,并且能够在不同模式下通过传感检测电路实现简单的避障和循迹功能。
论文基本完成了硬件和软件的设计,并使之符合设计要求。
本设计与实际应用相结合,利用高性能的STM32F103芯片,辅以各种传感器来检测路面、障碍物等周围环境,通过高可靠性的软件设计,来实现小型电动车的智能控制,具有很强的现实意义。
随着智能控制技术与传感检测技术的飞速发展,作为智能机器人雏形的智能小车在探测、考古、娱乐各领域得到广泛应用,尤其在足球机器人研究方面有很好的发展前景。
在智能机器人发展如火如荼之期,智能小车控制系统的研制为其提供了更有利的研制手段和方法,将有助于推动智能机器人的发展。
由于初次接触STM32F10x系列芯片,对其先进的中断响应系统未能很好掌握,传感信号的接收选择了一般I/O口,不过基于STM32F103的高性能,其反应速度还是可以满足设计要求,但要充分利用芯片资源及更好的实时控制在这部分还有待改进;另外,对于小车转弯过程的车速未做区别对待,在本次设计中将PWM波占空比控制在1/2以下,使小车不会因速度过高而导致转弯过程中其方向不易控制。
总的来说,设计方案是比较完善的,基本上达到了设计要求。
七.附录
1.基本元器件
两个STC89C52单片机两个四位共阳数码管两个L298N芯片
光电接收管一对晶振(12M)及30pf电容开关
电阻10k100欧姆1k20k可调
2.整体电路图
八.参考文献
[1]张培仁.MCS-51单片机原理及应用.北京:
清华大学出版社,1998:
15-36
[2]张洪润.传感技术与应用.北京:
清华大学出版社,2000:
111-135
[3]阎石.数字电子技术基础.北京:
高等教育出版社,2014:
124-139
[4]童诗白,华成英.模拟电子技术基础.北京:
高等教育出版社,2005:
163-177
[5]常健生.检测与转换技术.北京:
机械工业出版社,2004:
34-4373-97
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 自动 往返 小车