小车往返

更新时间:2024-04-20 05:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

自动往返电动小汽车

一、任务

设计并制作一个能自动往返于起跑线与终点线间的小汽车。允许用玩具汽车改装,但不能用人工遥控(包括有线和无线遥控)。

跑道宽度0.5m,表面贴有白纸,两侧有挡板,挡板与地面垂直,其高度不低于20cm。在跑道的B、C、D、E、F、G各点处画有2cm宽的黑线,各段的长度如图1所示。

二、要求 1.基本要求

(1)车辆从起跑线出发(出发前,车体不得超出起跑线),到达终点线后停留10秒,然后自动返回起跑线(允许倒车返回)。往返一次的时间应力求最短(从合上汽车电源开关开始计时)。

(2)到达终点线和返回起跑线时,停车位置离起跑线和终点线偏差应最小(以车辆中心点与终点线或起跑线中心线之间距离作为偏差的测量值)。

(3)D~E间为限速区,车辆往返均要求以低速通过,通过时间不得少于8秒,但不允许在限速区内停车。 2.发挥部分

(1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)。 (2)自动记录、显示行驶距离(记录显示装置要求安装在车上)。

(3)其它特色与创新。

1 自动小汽车的整体设计方案

整体设计方案见图1.采用单片机AT89C52为主控制器.采用C 语言进行软件编程实现各种算法和逻辑控制1 红外光电检测到的开关信号作为中断源, 送入AT89C52 中断源INT1 ; AT89C52 再对中断请求做出响应, 并在P111及P110口输出控制驱动电路的脉冲; 驱动电路控制直流电机的转速和转向; 显示模块以Intel8279 为核心, 对记录的结果进行显示. 标志线的红 外检测信号 速度测量信 单片机 AT89C52 接口电路直流电机驱动模块 直流电机 显示电路 图1 整体设计方案图

2 模块电路的实现及设计 2.1 信号检测模块

采用反射式光电开关来识别轨迹上的黑线标记信号,如图3 所示。这种光电开关的红外发射管和接收管位于同一侧,光敏三极管只能接收反射回的红外光。 当车身下面是黑线时,由于黑线吸收部分光,光敏三极管接收到的红外光不能使光敏三极管导通,光电开关输出高电平,经非门输出低电平。 反之,当车身下面是白色的地面时,红外发射管发射的光经其反射后,被接收管接受,光电开关输出低电平,经非门整形后输出高电平。 将非门的输出接至CPU的INT1输入端.车在前进和后退过程中,小车每过一道黑线,便产生一次中断申请,从而调用相应的子程序,随着小车的不断行驶,相应的程序依次被调用执行,使小车在跑道上按设计要求时快、时慢、时前进、时后退.

2.2、电机速度检测

该部分功能主要由安装在变速齿轮上的一组透射式光电管实现。经计算得知:小车车轮每转过一圈,光电管便会相应产生16个脉冲信号,再经单片机计数最终实现小车速度检测(电路如图3所示)。

在调速系统中,转速检测是提高精度的关键。测速的方法有M法、T法和

M/T法。M法是在某一定时间间隔内测取数字测速器的脉冲个数,再送到CPU软件进行折算,这种方法在低速段误差较大,除非所取时间间隔很大。例如,若转速很低,以至于测速器的两个时间间隔大于采样周期TS,有可能测得的结果为零。T法是测量数字测速器输出的脉冲间隔,然后进行折算。这种方法在高速段误差较大。因为高速时测速器两脉冲时间间隔小,而计算机及电路动作需要时间,带来误差。M/T是一种取两者的优点的方法,兼顾低速和高速状态下检测精度。按照M/T法,所取时间间隔(采样周期TS)总是测速器输出脉冲时间间隔的整数倍,提高了低速检测精度。这样大的TS,对高速测量来说,可以忽略计算机的操作时间,提高了高速检测精度。因此,M/T法对高速和低速都有很高的检测精度

图3 电机速度检测电路

2.3调速部分

根据本设计要求,对车速控制要求很高,准确的定位以及慢速要求,只有靠转速可调才能准确控制。为减少硬件开销,考虑采用软件脉宽调制。

PWM调制器原理如图5 (a) 。 当开关接通时, 电源E 加到电机上; 当开关断开时, 电源与电机断开, 电机两端的电压近似为零1 如此反复循环, 电机两端的电压波形如图5 (b) 所示。 好象是电源电压E 在一段时间(T - Ton) 内被斩断后形成的, 故称斩断器。电机得到的平均电压为Vd = tonE/ T =δE式中, T 为开关元件的开关周期; ton为开关元件开通时间; δ= ton/ T 为开关占空比1 这种在开关元件频率不变的条件下, 通过改变开关的导通时间来控制平均输出电压大小的方法称为脉冲宽度调制(PWM) 。

在此设计中采用脉宽调制(PWM) 的方式控制电机, 直流电机的转速Vd 由驱动脉冲的宽度决定:Vd = D ×Vmax =N/100 ×Vmax 式中D = t/ T 称为占空比, N 为脉宽长度, Vmax为电机的最高速度1D 越大Vd就越高; 反之则反1 直流电机的调速过程是, 让它启动一段

时间, 然后切断电源, 电机因惯性而降速转动, 当转速降到一定限度时, 电源再次接通, 电机因此再加速1 不断的给电枢两端送入脉冲电压就可以使电动机转速控制在指定的速度范围内

2.3电机驱动部分

PWM全控桥式DC-DC变换电路由主电路、基极驱动电路和保护电路三部分组成,如图5

所示。主电路由四只功率晶体管GTR1~GTR4构成H型双极性PWM DC-DC变换器,开关器件分为:GTR1、GTR4为一组,GTR2、GTR3为另一组。用一组来控制小车的前进,而用另一组来实现小车的后退。若开关为理想开关,同一桥臂的两只开关不同时接通。图中与各GTR反并联的二极管D1~D4为续流二极管。基极驱动电路由基极驱动电源和功率放大两部分组成。因为驱动GTR(电力晶体管),需要一定的驱动功率,因而经电压比较器、同向驱动等进行变换。最后再经过负载和电枢电感的平滑滤波作用,使电枢电流始终连续并且平稳。(如图5所示)

2.4 显示模块

显示模块电路包括:往返时间显示、行驶里程显示和键盘设定。

(1)往返时间显示用4位数码管采用动态扫描方式显示,与里程显示共用数码管。 (2)行驶里程显示采用单片机对测速部分的脉冲计数计算得到。

3系统软件的设计及实现

3.1程序流程图

对于小车在不同区间的行驶状态,程序作分别处理,各段调用不同的函数控制电机运动方式。其流程图如图10所示:

3.2数字PWM波形算法

PWM的固定周期由单片机的定时器T0产生。定时器T0每256微秒发生一次中

断,CPU响应之后使产生PWM的I/O口置位,同时启动T1定时器。当T1定时完成时,使产生PWM的I/O口清零直至T0产生下一次中断。这样,PWM信号占空比就由预装入定时器T1内的初值决定(由于T1采用自动重装初值方式,则占空比由TH1决定)。由此,实现了PWM波形发生。为了根据特定的速度-时间曲线产生驱动电机

一、内容简介 本设计以SST系列单片机SST89E516RD为核心控制模块,充分利用了自动检测技术、单片机最小系统、液晶显示模块电路,以及光电信号的控制、电机的驱动电路。通过Keil C和PROTEUS的仿真,并经过实践操作与调试,实现自动往返小车设计。综合运用单片机技术、自动控制理论、检测技术等。使小车能在无人操作情况下,借助传感器识别路面环境,由单片机控制行进,实现初步的无人控制。系统采用光电检测器进行检测信号和循线运动。运用单片机的运算和处理能力来实现小车的自动前进、后退、左转、右转。小车智能控制系统实时显示行驶速度、行驶路程和行驶时间。 关键词:SST单片机;自动控制;脉宽调制调速技术;传感器 二、设计方法 本系统主要由主控单片机模块、电源模块、电机驱动模块、黑线检测模块、测速模块以及液晶显示模块构成。本系统的方框图如图1所示: 图1:系统原理框图 自动往返电动小车是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统。小车以单片机为核心,附以外围电路,利用PWM技术动态控制电动机的转速,采用光电检测器进行检测信号和循线运动。实现了自动往返小车在无人控制状态下实现智能循迹、限速、加速、压线停车的智能控制,液晶显示电路显示运行的时间、路程并实时更新速度显示。 三、模块设计 1.主控单片机功能设计 智能小车系统的核心模块即为主控单片机。选择一片数据处理能力强大、片内资源丰富的单片机,对设计各功能的更好实现具有极大意义。SST89E516RD是SST公司8位微处理器FlashFlex51系列的成员,芯片采用8051的指令集,并和标准的8051控制器管脚兼容。 SST89E516RD单片机具有丰富的I/O口资源和外部中断。自动往返小车运行过程中需要实时进行里程计量。设定、为跳变触发方式,电平发生由高到低的跳变时触发,置IT0、IT1为1,在标志黑线探测和车轮测速、里程计量,P3.2、P3.3作为两个外部中断端口,可分别用来检测黑线和测速、CPU响应中断后,由内部硬件自动复位中断标志TF0、TF1和IE0、IE1,而自动撤出中断请求。 下图2为两个外部中断接收、处理并发出相应控制指令流程框图: 图2:外部中断控制引脚锁定及流程框图 P2口是一个多功能的八位口,可以字节访问也可以位访问。由于P2口的输出锁存功能,在取值周期内或外部储存器读/写选通期间,输出的高八位地址是锁存的,故无需外加地址锁存器。由于P2口作为输出端口,无需外接地址锁存器,连接电路简单,因此,将P2口引脚作为小车行进状态控制端,控制小车电机驱动芯片工作在不同方式下。 下图3控制小车运行状态的引脚锁定及流程图: 图3:小车运行控制引脚锁定及流程框图 IN1、IN2控制左侧两个电机正转及反转,IN3、IN4控制右侧两个电机正转及反转。EN1为左侧两电机控制使能端,EN2为右侧两电机控制使能端。 2. 电机驱动控制设计 智能小车区别于普通的电动玩具小车的最大特点是:可以智能调节小车运行状态。如改变其运动方向、主控单片机发出指令给电机驱动芯片,驱动芯片接收到单片机指令后,通过输出端口控制电机迅速作出相应动作。 单片机作为核心控制器,由I/O口发出各种高低电平组号信号。L298接受到单片机控制信号,输出控制信号给电机,从而完成相应运行动作。通过图4可清楚看出单片机→电机驱动芯片→直流电机的三级控制结构。采用此种控制结构,各级职责明确,结构清晰易于实现。 运动速度。在接收到外部主控单片机发出的指令后,能迅速做出“应答”,这就需要电机驱动芯片发挥作用。 图4:电机驱动控制流程图 本设计采用的是基于PWM原理的H型驱动电路实现调速功能。采用H桥电路可以增加驱动能力,同时保证了完整的电流回路。对于L298驱动芯片,内部已集成2个H桥,只需在使能控制端EN1、EN2加载PWM波,通过调节PWM波的占空比,即改变加载到电机两端的电压平均值,来实现调速功能。通过IN1、IN2和IN3、IN4的电平高低切换来控制电动机的正转与反转。 3. 黑线检测传感器设计 电动小车在行进过程中需要实时监测小车车路转速、里程及黑线检测。当小车偏离跑道时启用偱线程序,使小车做出微调,保持直线行走。每当检测到标志黑线即作出相应动作反应,如降速、停车、倒车返回等动作。通过测速传感器实时监测小车运行速度、里程,这些都离不开传感器的设计。 如图5所示,跑道上共有6条黑线,小车每检测到一次黑线,黑线计数器加1,最终计够12条黑线,黑线传感器计数程序结束。 图5:小车跑道黑线分布图 使用单片机外部中断端口进行黑线检测,端口初始化为高电平。当黑线传感器检测到黑线时,端口变为低电平,开中断0,黑线计数加1。 接通小车的电源开关后,小车开始运动。在到达限速区之前以全速行驶,当检测到第3条黑线的时候开始减速,同时对小车进行测速,当低于最低速度时,加速一段时间,然后继续减速前进。如果通过限速区的时间超过8S,或者检测到第4条黑线,则开始全速行驶。当检测到5条黑线时又开始减速行驶,到第6条黑线时停车。10秒钟后,同前面过程原路返回。当黑线计数为12时,即小车到达终点线。关闭单片机计数器T1,使小车停车,并停止行驶时间计时和速度、里程测量。 4. 测速、里程计量传感器设 采用U型红外光电传感器,在电机转轴上加装测速码盘,可以在安装好小齿轮后,将测速码盘安放在小齿轮下,当作光电编码盘,当电机转动时,带动码盘转动,测速码盘上刻有许多狭缝,码盘转动时发射光透过狭缝被接受元件接受,光电开关就会不断地发生导通和截止。这样在光电开关的输出端就会得到脉冲,用外部中断对接收到的信号进行计数。

图6:U型红外光电传感器测速原理图 用这种方案能很精确的算出小车已经走过的距离,经单片机内部运算计算出小车的实时速度。U型红外光电传感器每检测到1个脉冲信号,小车即转过2/375圈。具体算法如下: 小车里程=(脉冲个数*2/375)*小车车轮周长 (1) 小车速度=(里程A-里程B)/2 (2) 式(2)中里程B为2秒前测得小车运行里程,里程A为当前小车运行里程。经单片机运算后得到的小车运行速度为每2秒刷新一次。 5. 液晶显示设计 金鹏公司生产的OCMJ4X8C型128x64液晶显示功能丰富,内置中文字库,2M位中文字型ROM(CGROM)总共提供8192个中文字型(16x16点阵),显示数据RAM提供64x2个字节的空间,最多可以控制4行16字(64个字)的中文字型显示。所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。液晶与单片机连接通信端口如下图7所示: 图7:OCMJ4X8C型128 x64液晶显示连接框图 四、结论与小结 小车实际调试、测量时,各数据测量指标如表1所示: 往返总路程(cm) 1017.3 1007.9 1026.7 限速区停留时间限速区平均速度(cm/s) 中点停车时间(s) (s) 9.42 4.71 14.13 11 12 9 9 10 11 次数 全程时间(s) 平均速度(cm/s) 1 2 3 40 39 42 75.36 80.07 84.78 测试表明,小车能够较好的完成题目设计要求。标志黑线检测迅速准确、出错率低,限速区8秒倒计时和中点停车10秒倒计时实现功能良好,计时误差在1~2秒以内。液晶显示效果良好,刷新率高。智能小车系统运行正常,各模块电路参数稳定。本次设计基本实现了各个模块的技术指标要求。 五、结论 论文的主要工作包括了以下几个方面: 1.分析讨论了自动往返小车系统的构成和设计原理,提出构建单片机→电机驱动芯片→直流电机的三级控制结构。采用此种控制结构,各级职责明确,结构清晰易于实现。 2.探讨了基于PWM原理的H型驱动电路设计方法。通过调节PWM波的占空比,来实现调速功能。 3.采用双电源控制方式,将电机驱动电源与单片机以及周边电路电源完全隔离。可以将电机驱动所造成的干扰彻底消除,提高了系统的稳定性。 4.采用优化的软件控制算法,智能化的制动控制,定位精确。 本设计尚有不足及改进方法:

1.光电传感器存在其检测非开关量输出,不能直接与单片机I/O口进行通讯。金属传感器检测金属准确、灵敏度较高,且为5V开关量输出,可考虑使用金属线作为路面标志线,选用金属传感器来检测标志线及车轮轮数。

2.电机转速的控制方法有待进一步改善,小车里程测试的精度还有待提高。 3.系统还可扩展语音提示功能和转向标志灯提示功能。 六、主要参考文献

1、何小艇.电子系统设计(第三版).杭州:浙江大学出版社,2004.8

2、张俊谟.单片机中级教程(第二版).北京:北京航空航天大学出版社,2007.9 3、孟立凡,蓝金辉.传感器原理与应用.北京:电子工业出版社,2007.8 4、王立权.机器人创新设计与制作.北京:清华大学出版社,2007.6

5、高吉祥,唐朝京.数字系统与自动控制系统设计.北京:电子工业出版社,2007.6 6、船仓一郎,土屋?尧,堀桂太郎.机器人控制电子学:北京:科学出版社,2004.5

7、蔡美琴,等.MCS-51系列单片机系统及其应用(第二版).北京;高等教育出版社,2004.6 8、谭浩强.C程序设计(第三版).北京:清华大学出版社,2005.7

的PWM波形,我们采用了下面的程序流程(如图6):

本文来源:https://www.bwwdw.com/article/75vp.html

Top