基于单片机AT89S52的电动车跷跷板设计
扫描二维码
随时随地手机看文章
摘要:该文通过采用AT89S52作为控制核心,设计了整个电动车跷跷板系统。系统的硬件部分主要包括:电机驱动模块、步进电动机、平衡检测模块、光电检测模块、液晶显示模块以及红外遥控模块;软件部分则采用高效的C语言编写实现了平衡检测和校正功能。总体来说,系统的设计符合要求,可以在规定的时间内达到平衡状态。
关键词:电动车跷跷板;AT89S52;平衡检测;角度传感器
0 引言
本系统设计要解决的电动车跷跷板问题,要求电动车能够在规定时间内到达跷跷板的中心点C处,并保持平衡,随后电动车到达跷跷板的末端B处,停留之后返回始端A处。另外,如果将跷跷板重新配重,则要求电动车在规定范围内驶上跷跷板,同时,在规定时间内也能实现平衡,如果再加一块重物之后跷跷板重新达到平衡。
1 系统设计
1.1 总体设计
本系统采用单片机作为控制系统的主模块,实现系统控制与信号检测,系统的总体框图如图1所示。主要包括单片机模块、电机驱动模块、步进电动机、平衡检测模块、光电检测模块、液晶显示模块以及红外遥控模块。
系统通过平衡检测来判断电动车是否处于平衡状态,使电动车停留在C处附近,采用光电检测模块使电动车行驶至B处停止,采用寻黑线方法使电动车直线前行以及由末端B处能够直线后退到始端A处。红外遥控启动系统,液晶显示各阶段用时以及温度时间。在配重情况下通过黑线检测的方法使电动车在规定区域内的任意指定位置顺利驶上跷跷板。此方案用平衡检测模块实现系统平衡,用寻黑线调整车身与跷跷板同向,总体设计完全达到题目要求,可行性很高。
1.2 硬件选型
通过比较并结合自身优势最终选择AT89S52单片机作为本系统的核心部分。该款单片机与MCS51系列完全兼容,易于开发调试。其片内带有FLASH存储器且可在线下载程序,片上各种资源完全能满足本系统的要求。
本方案中选用普通反射式红外光电开关来检测跷跷板上黑线。在没有探测到黑线时,探头输出始终保持低电平。当检测到黑线时,输出立刻由低电平跳变到高电平。红外光电开关送来的信号经放大整形后送单片机分析处理,如图2所示。
为保证小车在跷跷板上能严格地沿黑线前进和倒退,本方案共采用了前边8个探头,后面2个探头的方案。前边8个探头可以保持小车在前进时完全保持车身在板内,高精度的转向使小车前进时距板边沿严格控制在4 cm以内;考虑到小车后退要求较简单,经实验和检测后边2个探头足以使小车保持在板内。
1.3 软件设计
1.3.1 平衡检测模块方案设计
方案一:采用角度传感器直接测量系统角度的变化,当角度变化不超过所定范围即认为达到平衡。角度测量精确,灵敏度高,实时性强,构造简单。
方案二:置一装有适量水的小水罐于车上,当上坡时水体倾斜,当达到平衡状态时水体几乎水平,利用液位传感器检测液面高度实现系统平衡。此方案可行,但会增加电动车载重,灵敏度不是很高,要求液体不出现振荡。
比较两种方案,方案一具有明显优点,所以选择方案一。
1.3.2 驱动电机方案设计
方案一:直流电机,即采用H型PWM驱动电路驱动直流电机,改变电机电压极性实现正反转,PWM占空比控制转速,由于电压难达到很高的精度,其转速也达不到本系统的精度。
方案二:步进电机,按照接收脉冲数控制其步数,按照给定步进电机的步序和步数直接控制步进电机的运动,可以提高精确性,适合平衡状态及位置检测。
比较两种方案,选择方案二。
1.3.3 黑线检测方案设计
方案一:可见光发光二极管与光敏二极管组成的发射一接收电路。该方案缺点在于易受外界环境光源的干扰,容易造成误判,准确度不高。
方案二:脉冲调制的反射式红外发射-接收器。采用交流分量调制信号减少干扰,但需要控制占空比,要求有较大的电流,在本系统中不可取。
方案三:不调制的反射式红外发射-接收器。受外界干扰小,灵敏度高。
比较三种方案,方案三的准确度高,明显优于其他两种方案,所以选择方案三。
1.3.4 位置检测方案设计
方案一:从始端到末端用康铜丝水平置于木板一侧,通过采样检测电压值检测是否已经行驶到跷跷板末端B处,此方案要求与车相连,需要一定转换时间。
方案二:由鼠标工作原理采用光电码盘测量行驶距离是否已接近板长,或者将板长转换为接收到的计数脉冲个数,以此检测电动车是否行驶到末端。
比较两种方案,方案二简便可行,测量效果较好,所以选择方案二。
1.3.5 程序设计
程序需要完成以下的功能:
(1)不同阶段设定不同的行驶速度,小车在上坡和中间寻求平衡的时候必须要求不同的速度,已达到在规定时间使跷跷板平衡,利用软件检测和调节使小车在不同阶段具有不同的速度。
(2)综合多传感器以提高测量精度,确保小车在跷跷板上有比较稳定的状态。
(3)使用软件滤波器消除小车在行进时的抖动所造成的电压输出不稳定的问题。
程序流程如图3所示。
2 测试及误差分析
2.1 测试方法
测试工具:两块秒表(最小精度为0.1 s)、卷尺(最小精度为0.01 m)、数字万用表(MASTECH MY-65)。
将小车放在跷跷板A端,如图4所示,开启电源,记录以下各段时间并观察平衡指示(以下称测试条件1);将小车及配重分别放在规定范围内的任意位置,重复上述工作(以下称测试条件2)。其中T1表示小车从A点到中点C的时间;T2表示小车找平衡的时间;T3表示小车的平衡保持时间;T4表示小车从平衡点到跷跷板末端B的时间;T5表示小车在B点停留的时间(测试条件1),表示第二次增加配重保持平衡的时间(测试
条件2);T6表示小车从B点返回A点的时间;T7表示小车总行程的时间。
2.2 误差分析
(1)跷跷板所处位置可能不水平,给测量角度带来偏差,可以使用其他水平测试仪检测位置是否水平。
(2)由于电动车运动产生一定的振荡导致所测角度有一定偏差,可以将电动车座板牢固焊接在车体上或者将角度传感器安装在跷跷板上。
(3)跷跷板板面不够粗糙,摩擦力不够大,会使电动车产生一定的滑动,将板面用摩擦系数比较大的纸张贴在上面增大摩擦力。
3 结论
本文采用角度传感器直接测量系统角度的变化完成小车的平衡检测,PWM技术控制的步进电动机作为主驱动电机,使小车可以稳定准确地达到平衡及通过跷跷板。通过多次测试实验,系统达到了设计的要求,可以很好地完成任务。