用51单片机设计电动车跷跷板
扫描二维码
随时随地手机看文章
1.引言
本设计为参加电子设计竞赛而作,较好地解决了电动车在跷跷板上的运行和控制问题,系统结构比较简单,控制比较准确。
2.系统方案设计、比较与论证
根据题目的基本要求,设计任务主要完成电动车在规定时间内按规定路径稳定行驶,并能具有保持平衡功能,同时对行程中的有关数据进行处理显示。为完成相应功能,系统可以划分为以下几个基本模块:电动机驱动模块、寻迹线探测
模块、平衡状态检测模块、信息显示模块。见图1
图1 系统框图
2.1寻迹线探测模块
探测路面黑色寻迹线的原理:光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接受到反射光强弱由传感器产生高低电平并最终通过单片机判断是否到达黑线或偏离跑道。
方案一:由可见光发光二极管与光敏二极管组成的发射-接收电路,如图2所示。该方案成本较低,易于制作,但其缺点在于周围环境光源会对光敏二极管的工作产生很大干扰,一旦外界光亮条件改变,很可能造成误判和漏判;如果采用超高亮发光管和高灵敏度光敏管可以降低一定的干扰,但又将增加额外的功率损耗。
图2 方案一电路
方案二:自制红外探头电路。此种方法简单,价格便宜,灵敏度可调,但易受到周围环境影响,特别是较强光照对检测信号的影响,会造成系统不稳定。再
加上时间有限,制作分立电路较繁琐。
方案三:集成式红外探头。可以采用集成断续式光电开关探测器,它具有集成度高、工作性能可靠的优点,只须调节探头上的一个旋钮即可以控制探头的灵敏度。此种探头还能有效地防止普通光源(如日光灯等)的干扰。红外探测器E3F-DS30C4见图3。
图3 集成红外探测头
基于上述考虑,为了提高系统信号采集检测的精度,我们采用方案三。
2.2平衡状态检测模块
方案一:断续式光电开关。在跷跷板两头的地面上各放置一个,调节灵敏度使其在一定范围内接收不到反射光产生低电平,从而认为达到平衡状态,由单片机控制小车运动状态使跷跷板达到动态平衡。然而此方案平衡控制不灵敏,难以调节,还需用导线与单片机传输信号,使小车失去独立性。
方案二:采用角度传感器。该集成芯片为专用的水平倾角测量芯片,具有体积小、灵敏度高、简单、可靠等优点,可高度满足该题对平衡角度的精确要求。
经过以上两个方案比较,方案二明显优于方案一,故采用方案二。
2.3 电动机及其驱动模块的选择
根据题目中小车行驶全程的时间要求,可知小车的行驶速度很慢,普通的电机很难满足此速度要求,而直流减速电机可以满足此要求,且具有很大的转动力矩,不会在倾斜面出现堵转情况。故我们采用直流减速电机。
在选用驱动模块方面有以下两种方案:一是采用专用驱动芯片。该芯片集成度高,占用空间小,主要应用于电机调速场合,但价格较高。二是采用晶体三极管驱动电路。由于电动车所要求的功能比较简单,用晶体三极管驱动就可以了,故我们最后决定用第二种方案。
2.4 信息显示模块
若采用LED,缺点是占用单片机接口太多,显示信息量少,需要循环显示,占用太多程序资源。而采用LCD,只占用单片机6条I/O线,同时显示信息量大,灵活多变显示多种信息。因此,我们拟采用后者。
2.5 电源选择
方案一:所有器件采用单一电源(5节五号电池)。这样供电比较简单,但是由于电动机启动瞬间电流很大,会造成电压不稳、有毛刺等干扰,严重时可能会造成单片机系统掉电,使之不能完成预定行程。
方案二:双电源供电。电动机驱动电源采用5节5号电池(大容量2.3Ah电池),单片机及其外围电路电源采用另一组3节5号电池(大容量2.3Ah电池)供电,两路电源完全分开,这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统稳定性。
我们认为本设计的稳定可靠性更为重要,故拟采用方案二。
经过一番仔细的论证比较,我们最终确定的电动车跷跷板系统框图如图4所示。
图4 电动车跷跷板系统框图
3.系统分立模块设计及工作原理
3.1寻迹线探测电路
采用型号为E3F-DS30C4集成断续式光电开关探测器,该探头输出端只有三根线(电源线、地线、信号线),只要将信号线接在单片机的I/O口,然后不停地对该I/O口进行扫描检测,当其为高电平时则检测到白纸,当为低电平时则检测到黑线区域。小车前进(倒退)时,始终保持黑线在车头(车尾)两个传感器之间,当小车偏离黑线时,探测器一旦探测到有黑线,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统再对小车路径予以纠正。当小车回到了轨道上时,车头(车尾)两个探测器都只检测到白纸,则小车继续直线行走,否则小车会持续进行方向调整操作,直到小车恢复正常。
3.2平衡状态检测电路
图5 分压比较式平衡检测电路
在平衡检测电路中,我们运用了高精度角度传感器,此传感器通过对自身偏离水平角度的测量,对应线性输出一定范围内的电压值。依据题目的要求,我们分析得出小车随跷跷板上下摆动幅度在正负4度角时即认为其处于平衡状态。而此角度传感器在此区间内的灵敏度最高,其输出电压为2.45-2.55伏之间。将此输出电压经比较放大,然后通过A/D转换器转换成数字量通入到单片机中。但是由于整个变化范围只有0.1度角,任何轻微的干扰都会使测量结果产生严重的偏差。用A/D转换又会使精度降低,干扰过大,又因为现实中很难做到真正的静态平衡,所以我们最终决定采用动态寻找平衡的方式,因此用分压电路和电压比较器制作信号电路,根据信号端的变化控制小车,使角度传感器的电压输出保持在2.45-2.55伏之间,经多次测试与精心调试,该电路可很好的满足要求。平衡检测电路如图5所示。
3.3 电动机驱动电路
电动机驱动电路如图6所示。该驱动电路中的J1接电机,MOT1和MOT2接高低电平来控制电机的正反转,进而控制电机的前进和后退以及左右转向。
图6 电动机驱动电路
4. 软件设计
软件结构如图7所示。(详细软件流程图见附录)
图7 软件结构
当开机时,系统复位,然后系统判断工作模式,当选定工作模式1或工作模式2后,系统等待5秒钟,然后进入自动计时运行状态。
模式1为电动车运行及方向调整程序,使电动车按预定路线运行,并且在小车偏离轨道后自动调整走向使小车自动返回预定路线,并且控制LCD实时显示运行时间。模式2为平衡检测及平衡保持程序,在此程序控制下小车自动寻找平衡点,并在平衡点附近进行正向或反向运行,最终达到动态平衡。
5.系统测试
5.1 测试仪器
自制跷跷板:长1600mm、宽300mm,跷跷板底距地面或桌面的距离为70mm。中间画有50mm宽的黑色寻迹线。
卷尺:精度1mm。
秒表:精度0.01s,两块。
5.2 测试结果与分析
5.2.1跷跷板水平状态时测量往返一次全程的时间。测试数据如表1:
表1 跷跷板水平状态检测数据
分析:实际测得的时间与显示时间有偏差,可能是人的反应时间误差。
5.2.2 跷跷板自由状态下测量往返一次全程的时间。测试数据如表2:
表2 跷跷板往返一次时间检测
分析同上。
5.2.3跷跷板自由状态下小车保持平衡测试。(配重200克) 测试结果如表3:
表3 跷跷板保持平衡测试
分析:由以上数据可得,随着配重物距A端距离的不断增加系统进入平衡态所需的总时间逐渐减小,而平衡态时最大振幅基本不变。这是因为配重物向中心靠拢,对于支点的力矩不断减小,惯性亦减小,致使平衡态所需的总时间逐渐减小。
5.2.4 压线定位测试。测试数据如下表:
表4 跷跷板压线定位测试
分析:绝大部分定位都是小车前进方向的前头两个探头全部压上定为线方才恰好停车,在极少数情况下(跷跷板上寻迹线弯度较大时),小车前方探头还未接触定位线甚至刚开始起跑就会停车,观察现象分析原因,当寻迹线弯度较大,小车不能有效纠正过大偏差时,导致前方两探头有可能先后同时检测到黑色寻迹线,以致小车停车。
检测结果表明本设计成功地实现了题目的要求,具有较好的使用价值。
参考文献
【1】全国大学生电子设计竞赛组委会 编《全国大学生电子设计竞赛获奖作品汇编》[M].北京理工大学出版社.2006年
【2】吴少军、刘光斌.《单片机实用低功耗设计》[M]. 人民邮电出版社.2005年
【3】周航慈.《单片机应用程序设计》[M]. 北京航空航天大学出版社.2006年
【4】高吉祥.《全国大学生电子设计竞赛培训教程》[M].模拟电子线路设计.2007年.第九章
【5】黄正瑾.《电子设计竞赛赛体解析》[M].东南大学出版社. 2003年.第五章
【6】何立民.《单片机应用程序设计技术》[M].北京航空航天大学出版社. 2003年.第二章.
【7】童诗白、华成英. 《模拟电子技术基础》[M]. 高等教育出版社. 2000年.第六章.
【8】李朝青.《单片机原理及接口技术》[M]. 北京航空航天大学出版社. 2005年.第四章.