基于单片机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占空比控制转速,由于电压难达到很高的精度,其转速也达不到本系统的精度。
方案二:步进电机,按照接收脉冲数控制其步数,按照给定步进电机的步序和步数直接控制步进电机的运动,可以提高精确性,适合平衡状态及位置检测。
比较两种方案,选择方案二。
评论