资源描述
可记录里程的智能小车的设计与制作
徐庆山 李海涛 鲁 伟 哈尔滨工程大学 通信学院 07812班
摘要
随着汽车工业的迅速发展,关于汽车方面的研究也越来越受人关注,全国电子大赛和省内电子大赛几乎每次都有这方面的题目,可见国内很重视该题目的研究。特别是在智能控制方面,小车进行寻迹以及避障和计里程,在工厂里的智能控制方面非常重要。选择程控小车这一题目,跟随科技发展趋势,同时可以学到许多关于电学和机械结构等方面的基础知识,这对于我们将来工作提供了十分宝贵的经验。我们主要研究如何让小车走直线,并在此基础上,如何实现里程记录的功能。主要以自主设计的底盘为基础,以直流减速电机及其控制电路为驱动,以STC89C52单片机为控制核心,组成的智能小车在特定的程序下实现走直线的功能;基于阿克曼原理设计的平面等腰梯形连杆机构能够实现小车的完美转向;基于52单片机,光耦,L298,78L05的控制电路能够实现对直流减速电机与舵机的整体控制;最后利用旋转编码器通过器输出方波的个数算出小车行驶的路程,从而实现以上功能。通过多次的编程修改和调试最终实现了程控小车里程记录的功能。
关键词
52单片机 智能小车 转向机构 阿克曼原理 旋转编码器 方波计数
引言
可记录里程的智能小车是集机械、电子、计算机与自动控制于一体的先进机电设备,它很好的把机与电有机的结合到一起。智能小车属于机器人系列,它在无人驾驶机动车、无人工厂、智能仓库、服务机器人等领域有着比较广泛的前景,可见其研究意义的重要性。我们主要实现启动智能小车,并能记录其行驶里程。主要的工作内容有以下几点:首先确定小车的基本外形和构造,利用不同的板料和轴类料经过设计和加工实现小车的整体结构;其后在小车上安装基于AT89C52单片机的控制芯片,利用芯片程序使电机驱动小车配合舵机程序完成规定的行走路线;在此基础之上,使用旋转编码器实现小车行驶里程记录的功能。
电控基础部分
总体方案:
智能程控小车采用52单片机为控制核心部分,通过舵机控制前轮的转向和L298N驱动器控制电动车的前后轮驱动直流减速电机,分别实现电动车的左转右转、前进倒退和改变速度的功能。最终实现小车走出“8”字。系统控制原理如图1所示。
图1 系统控制原理图
设计方案:
程控小车的系统电路如图2所示。
图2 系统电路图
系统的硬件电路设计
1) 单片机模块
单片机是系统电路的核心部分,该程控小车采用52单片机。单片机工作电压为5V,其共有40个引脚。,此芯片负责控制舵机的转向和后轮电机,同时完成对舵机转向的时间和后轮电机的PWM调速任务。本设计中,调制PWM的定时器初值为0x30,定时工作方式为0,晶振的频率为11.0592MHz。由此可以计算出约每隔100ps产生中断,中断频率为0.01MHz。
舵机的转向信号和电机的进退加减速度信号通过单片机的P0O~P06输入,P00~P03分别为两电机的进退使能端,P04~P05分别对应两电机控制速度的使能端,P06为舵机的控制线接口。
2)电机驱动模块
采用L298N芯片作为电机驱动模块的主要元件。l片L298N能够驱动2个电机转动,其中6、11号引脚为2个使能端;5、7号引脚和lO、12号引脚分别控制2个电机的转向。将上述6个引脚通过非门与单片机相连,便可实现2个电机的启停。
使用电机驱动芯片L293D,不仅可以大大简化驱动电路.而且功率容量大.有利于电机转速的稳定。L293D在电机控制中可以灵活的应用.如对电机输出能力的拧制.在单片机中可以进行脉宽调制(PWM),实现对电机转速的精确控制。当使能端为高电平,通过PWM信号输入端In3和In4可以控制电动机的正反转(输入端lnl为PWM信号,输入端In2为低电平,电动机正转;输入端In2为PWM信号,输入端Inl为低电平,电动机反转);当它为低电平时,驱动桥路上的4个晶体管全部截止,使正在运行的电动机电枢电流反向,电动机自由停止。电动机的转速由单片机调节PWM信号的占空比来实现。其具体原理如表格(1)
表格(1)
使能端
IN1 (IN3)
IN2 (IN4)
电机的运转
1
1
0
正传
1
0
1
反转
1
1
1
杀停
1
0
0
停止
0
X
X
停止
3) 光耦模块
光耦是以光为媒介传输电信号的一种电—光—电转换器件。把发光源和受光器组装在同一密闭的壳体内,彼此间透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端。在光耦输入端加电信号使光源发光,此光照射在封装在一起的受光器上后,因光电效应产生了光电流,由受光器输出端引出,这样就实现了电—光—电的转换。
该程控小车的光耦由发光二极管和光敏三极管组成。其工作原理:当光耦的输入端给予高电压时,发光二极管不导通,光敏三极管呈现高阻态(相当于短路),光耦的输出端为高电压;当光耦的输入端给予低电压时,放光二极管导通,光敏三极管呈现低阻态(相当于短路),光耦的输出端为低电压。
4)稳压器78L05模块
以设计输出电流的高稳定线性稳压器为目标,利用工作在线性区的MOS管具有压控电阻特性,构造零点跟踪电路以抵消随输出电流变化的极点,并且采用了改进型米勒补偿方案使电路系统具有60°的相位裕度,达到了大输出电流下的高稳定性要求.。在该项目中,稳压器为L298提供稳定的5V电压。
5)直流减速电机
直流电机控制与驱动模块采用的是脉宽调制(PWM)直流调速技术,具有调速范围宽、响应速度快和耗损低等特点。其工作原理是通过单片机直接产生PWM波形,经过电机驱动芯片分别驱动两个直流电机,PWM将占空比不同的脉冲变成不同的电压驱动直流电机转动,从而得到不同的转速,实现电机启动、停止、正反转等功能。
6)舵机
标准的舵机有三条引线,分别是电源线VCC,地线GND和控制信号线,如图所示。
单片机系统实现对舵机输出转角的控制,必须首先完成两项任务;首先,产生基本的PWM周期的信号,即产生20ms的周期信号;其次,调整脉宽,即单片机调节PWM信号的占空比,其脉冲宽度在0.5~2.5ms变化时,使舵机输出轴转角在0度~180度之间变化。
单片机作为舵机的控制部分,能使PWM信号的脉冲宽度实现微妙级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。
7)定时器0
定时器工作在方式2被称为8位初值自动重装的8位定时器,THX被作为常数缓冲器,TLX计数溢出时,在溢出标志TFX置1的同时,还自动将THX中的常数重新装入TLX中,使TLX从初值开始重新计数,这样就避免了人为软件重装初值带来的时间误差,从而提高了定时的精度。
系统软件程序流程图如图3所示
图3 程序流程图
给定时器0初始化函赋初值;100US中断一次。主函数main调用初始函数和drive函数,drive函数调用motor_run函数,motor_run函数和初始函数调用PMW函数,从而决定是否中断程序继续执行。
扩展部分
总体方案设计
以st89c52单片机为核心,将旋转编码器与程控小车的驱动轮相连,通过单片机对旋转编码器产生的方波计数,并根据已知数据算出小车所走的实际里程。系统控制原理如图4所示
图4 程序流程图
方案论证及实现
1.旋转编码器的工作原理:
旋转编码器的工作原理如下:
型号:BMQ-S-80型。增量型旋转编码器,通过旋转的光栅盘和光耦产生可识别方向的计数脉冲信号。80P/R,DC+5V供电,最大机械转速10000转/分,响应频率:10KHZ,轴φ4×9mm,输出电路为电压输出型,A、B两种脉冲,编码器尺寸:φ28×31mm。用于测量物体的旋转速度、角度、加速度及长度测量。适用于各种位移变化测量的智能控制、民用的测身高人体秤、大学生比赛用机器人等。具有体积小、重量轻,安装方便,性价比极高的显著优点。
时序图:
图5 旋转编码器输出方波图
2.程控小车功能实现过程
1)记录旋转编码器旋转一周产生的方波脉冲数N。
首先将小车通电,旋转编码器会随着小车的后轮一同转动,将旋转编码器的一个输出端接入示波器,待波形稳定后,记录一个方波脉冲的时间即方波的周期,然后在小车后轮上做一个标记,是小车后轮悬空正常旋转,记录小车后轮旋转100圈所用的时间,进行四次测量,最后算出小车旋转一圈也就是旋转编码器旋转一圈所需的时间。最后用所测得的时间除以方波的周期便可以得到旋转编码器旋转一周产生的方波数了。
2)测量小车后轮的直径从而算出器周长C。
3)记录小车行驶5s内旋转编码器产生的方波总数。
主要应用ST89C52单片机的计数器和定时器对旋转编码器5s内产生的方波信号进行计数,这需要对单片机进行编程。具体流程图见图6
图6 程序流程图
根据流程图可以进一步编写程序。
4)进行数码管显示数据电路的设计及制作,具体电路图见图2。
5)进行程序的运行及调试,最终实现程控小车里程记录的功能。
实验效果及理论分析
通过反复的调试和实验,最后终于能实现小车走直线,和数码管显示完成了记录里程程序的编写部分。但由于我们在前几天所使用的实验电路板总出现一些问题,比如光耦不正常工作,稳压器不正常工作等等,我们在调试小车走直线过程中浪费了大量的时间。最严重的是,我们使用的单片机经常被烧毁,这不但耽误了我们的时间,还影响我们的心情,这些都影响了我们的完成进度,但我想我们的思路是正确的,如果再给我们一些时间,我们一定能完成的。
机械部分
小车的总体设计方案由图7所示,直流减速机控制小车的运动,舵机和双摇杆机构的组合控制小车的转向。
图7 总体设计图
小车的主体结构包括底盘、车身、转向机构等。小车的装配图如图8所示:
图8 装配图
其中的两部分是我们重点设计和制作的,一部分是小车的转向机构:等腰梯形四连杆机构,一部分是小车后轮与旋转编码器相连的部分。下面将分别介绍这两部分的设计。
转向机构与驱动系统的设计是很重要的,只有严格按照阿克曼原理设计出合理的零件长度才能使小车平稳的转向,而不至于出现打滑现象。由于方案采用的是双电机驱动,所以驱动系统的设计相对而言是比较容易的。由于平面等腰梯形连杆机构最常见且加工方便,所以设计采用平面等腰梯形连杆机构作为小车的转向机构。
图9 等腰梯形四连杆机构
转向原理——阿克曼原理:
转弯时因轮距与轴距的关系,两前轮转角不同,内侧轮转向角比外侧转向角大,要使车辆转向顺利,车轮在地面纯滚动而不产生滑移,必须使所有车轮都绕同一瞬时转动中心滚动,两前轮转轴延长线与后轮轮轴延长线交与一点,这是阿克曼原理。此时,转向的内外轮转角关系为 :ctgβ-ctgα=M/L。 M为两前轮的间距,L为相邻前后轮的间距。
图 10 阿克曼原理
另外一部分我们主要设计和加工制作的是旋转编码器与后车轮相连的部分。
旋转编码器转动产生的方波会送入单片机,为了用旋转编码器产生方波的数量测量小车行驶的距离,车轮与旋转编码器必须同步转动,我们需要将旋转编码器的转轴与车轮的轴相连。开始我们考虑用齿轮将它们连接起来以保证它们同步转动但考虑到齿轮传动可能会产生一些故障及给驱动带来问题,因此为了简便,我们选用轴套将车轮和编码器连在一起。
图11 轴套标准图
此外为了保证旋转编码器稳定工作我们还涉及了一个支架将其固定,这样我们就完成车轮与旋转编码器的同步转动了。
图12 编码器支架标准图
实验结论
本课题最显著的创新点便是在普通程控小车的基础上,利用单片机和旋转编码器,数码管等电子产品实现小车里程记录的功能。这一课题一旦做成功,便可以用于工厂生产和实际生活中,能真正做到理论联系实际。课题的技术关键和在于硬件的调试和软件的编程,尤其是小车的结构设计和记录里程的程序编写是比较繁琐的。但一旦课题成功完成便具有很好的经济价值,能广泛应用于实际生产当中,同时此课题的研究还为我们展开深入的研究指明了方向,比如实现小车的测速功能,小车电耗量,小车功率等等。
心得与体会
经过近10天的努力工作,终于吧程控小车的原理和制作的主要部分完成了,但由于时间的关系,我们还是没能完成显示小车里程的功能,但是我们清楚它的原理。制作和设计课题期间我们遇到了无数的障碍,在老师的细心指导下我们一次又一次的战胜困难,期间我们气馁过,但又一想这毕竟是我们第一次完全自主的进行课题制作,遇到困难没能完成是很正常的,最重要的是我们在这10天里学到了很多的跟程控小车有关的知识,我们真正的理解了工程的概念,我们不但学到了机械结构方面的知识,还学会了我们陌生而又熟悉的单片机的编程。的确像老师说的那样,开始时,我们耐不住寂寞,有些急躁感到无聊,但一旦真正的融入项目中,我们又是十分投入,总是不愿离开工程训练中心,因为那是在大学生活中能真正学到东西的地方,这段生活使我们难忘,在今后的日子里,我们一定会再接再厉,争取早日成为一名合格的工程师。最后感谢老师这些天给我们细心的教导。
展开阅读全文