《硅谷》:基于单片机控制的一款电动小车的设计 |
2013-03-20 16:53 作者:李继强 来源:硅谷网-《硅谷》杂志 HV: 编辑: 【搜索试试】
|
|
硅谷网文 据《硅谷》杂志2012年第23期刊文称,利用写入C语言的STC89C52单片机的控制功能,去驱动直流电机实现小车的运行,继而采用黑白线模块实现电动小车的寻迹功能;在某些障碍物处,由避障模块实现小车的避障功能;同时利用无线接收发射模块和激光感应模块可以实现电动小车的通信功能。
关键词:单片机控制;电动小车;寻迹;障碍物
某设计题目要求设计并制作一台智能电动小车,按照相关要求和给定的行驶路线轨迹完成各项规定任务。智能电动小车行驶路线轨迹如图所示:
基本要求:
1)比赛时,参赛队员将小车放在起点ABFE区域的中心位置,当参赛队员发出声音命令(内容自定)后,小车沿单轨迹前行并完成在第一区内的自动行驶;
2)当到达标志线1后,小车在第二区内完成在双轨迹中心线中的自动行驶;
3)当到达标志线2后,小车在第三区内实现自动避障并且必须在恢复区内自动寻找到规定的行驶轨迹;
4)在第四区和第五区内完成规定路线的行驶,并在到达标志线3后自动停车;
5)小车自动按规定路线倒车并停放在终点DCEF区域,以车体方位正确且几何中心在区域中心为佳;倒车过程中车体不能罩线(终点区域的左右边界线DC、EF及底线CF)。
1系统方案设计
1.1直流电动机驱动
直流电动机驱动采用ST提供的L298N芯片,结合Mini红外避障传感器及CTRT5000黑白线检测传感器,检测小车运动轨迹,产生占空比可调的PWM波实现调速。本模块用于驱动车上两个直流电机,能够较好的实现小车速度及方向的控制。89C52的4个I/O口输入信号给A1、A2控制A电机,输入信号给B1、B2控制B电机。9V电压供给电机芯片工作,9V电压通过7805稳压管产生5V直流电压扩展输出可以给传感器供电,3.3V直流电压扩展输出可以给3.3V电压工作的模块供电。
1.2避障模块
红外避障传感器是一种集发射与接收于一体的光电传感器。检测距离可以根据具体要求进行自动调节。该传感器具有受可见光干扰小、探测距离远、价格便宜、使用方便、易于装配等特点,可以广泛应用于机器人避障、流水线生产工件的统计工作等众多场合。4.5-5V供电,3-80cm检测距离,TTL电平输出,输出低电平有效。前方无障碍输出高电平,有障碍输出口(黄色)电平会从高电平变成低电平。背面有一个电位器可以调节障碍的检测距离,一旦调节好电位器(如调节好的最大距离70cm)则在有效距离内(如50cm处有障碍物、20cm处有障碍物)则输出低电平,低电平刚好可以提供给89C52识别。
1.3黑白线检测模块
使用TCRT5000红外反射式接近开关传感器,更低传感器可以实现寻迹、壁障等功能,TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采由高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经过施密特电路整形,所得信号稳定可靠。
1.4无线接收发射模块
使用NRF24L01发射接收模块,有效距离达十多米,主要特点是抗干扰能力强,可以选择不同频段发射数据,同时操作简单,上手快。
1.5激光感应模块
使用光敏电阻,此电阻变化范围大,可调性好,价格便宜,抗干扰能力可以通过调整灵敏度来实现。
2信号的检测控制方案
智能小车采用宏晶科技公司生产的STC89C52芯片作为控制核心,通过黑白线检测模块来识别路径从而达到循迹功能,利用PWM技术控制两个直流电机的前进速度和方向,硬件电路包括降压电路、电机驱动电路、检测电路、无线发射接收电路。模块化结构保证了小车成为一个可靠整体,软件采用C语言编程,完成小车要实现的任务。
2.1电机的信号控制过程
通过编程由控制芯片STC89C52产生PWM发出驱动信号,输出的四路PWM作为直流电机的输入,输出控制信号使电机转动,进而带动车轮转动。PWM输出占空比的大小则可以控制直流电机转动的快慢,当占空比大时,转速高,占空比小时,转速低。当左轮转速小于右轮转速时,小车右转。当右轮转速小于左轮转速时,小车左转。小车直行时尽量加大PWM占空比以提高小车运行速度;在直行道上,小车的左右边缘触到黑线时,适当改变PWM占空比,控制左右两电机的转速调整小车的方向;遇到转弯标志线时,根据转弯角度,控制PWM占空比,使小车转弯。
2.2黑白线、障碍信号检测的控制
当黑白线检测传感器检测到黑线时,小车做出转弯或起跑停止响应。小车左右两边有多个黑白线检测传感器,用于检测跑道两边的边界线,中线,标志线,及时做出调整使小车在预定轨道行驶,防止小车跑出边界。车头上方安装红外传感器,当小车通过红外传感器检测到前方有障碍时,能绕过障碍物,不与障碍物发生碰撞。
3系统算法与误差分析
3.1直流电机同步算法与误差分析:
由于是工作在相同电压的条件下,再加上系统的摩擦,两个相同的直流电机存在的转速的差异是不可避免的,当在对小车直行的测试上,经过测量发现小车并不能严格的按照直线行走,为提高小车的性能,我们反复调节输入的PWM波的占空比,使小车能够直行。
3.2转弯角度的大小算法与误差分析:
当小车检测到前方不同的转弯标志线时,根据不同的弯做出不同的转弯响应,刚开始的实验,小车的转弯幅度和时间上总会对小车下面的行走产生各种影响,为了小车更能顺利的转弯,我们尝试了各种转弯时的幅度以及转弯设定的时间,使得转弯能够顺利过去。测得转弯角度大约为90°、80°等,时间也各不相同。
3.3预防小车出轨的算法与误差分析
为使小车完全在跑道上行走,防止小车冲出跑道,智能小车必须加入跑道边缘调整的反馈算法,使得小车的两测检测到边缘时,智能小车自动调整,保证小车的行走方向。但是,小车车身两边的黑白线传感器在检测跑道边缘的同时,对转弯标志线的也进行了检测,这样会得到不期望的结果,于是在算法上我们又加入了智能屏蔽检测的功能,确保了小车能在跑道上的安全运行。测试后小车自动调节较为灵敏。
4硬件测试与结果分析
4.1小车车体
根据题目要求选置履带式小车组件,进行组装,放置两个相同的直流电机,用于控制车的运动方向,并经过测试,小车摩擦系数良好,有益于小车的控制。
4.2直流电机的驱动
为使小车能够正常运行,为电机加上了直流电机驱动模块,由于题目的要求,我们又准备了电池盒,通过该模块对直流电机进行供电,通过对其输入占空比相等的PWM波,观察小车的运动方向,但是发现小车并不是严格的走直线,而是有些偏差,在最后经过反复调试,确定了一组合适的PWM信号,使小车能较好的直线运行。经测量两路PWM占空比只差大约为5%左右。
4.3黑白线检测模块
选用了性能较好的TCRT5000红外反射式接近开关传感器,经过学习用法,焊接之后进行了测试,发现该模块对于黑线有很好的检测效果,但是在后来的小车运行轨迹观察中发现,有些检测盲点,后来经过该模块电路上的测量排查,发现并无问题,紧接着对环境进行检查,发现该模块在不平的路面上,如果物体距离灯头太近的话,该模块就会做出错误的判断,经过调整该模块的高度,已经能够稳定的检测黑白信号。最佳检测距离测得为5-8mm。
4.4红外壁障模块
该模块用于检测在超车区域前方是否有小车,以做出超车响应,刚开始时会有漏测,但后来经过调节电位,已能够对是否有车做出正确的判断。4.5-5V供电,3-80cm检测距离,我们最后调节使其检测距离约为40cm。
5结论
本设计基本满足设计要求。实物电动小车产品出来后,运行轨迹符合题目规定,在关键的难点位置也能较好的实现功能,设计较为成功。 |
|
|
|
【对“《硅谷》:基于单片机控制的一款电动小车的设计”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|