基于单片机AT89S52的电动车跷跷板的系统设计
2019-07-10 19:21:18
1.1 总体设计
本系统采用单片机作为控制系统的主模块,实现系统控制与信号检测。主要包括单片机模块、电机驱动模块、步进电动机、平衡检测模块、光电检测模块、液晶显示模块以及红外遥控模块。
系统通过平衡检测来判断电动车是否处于平衡状态,使电动车停留在C处附近,采用光电检测模块使电动车行驶至B处停止,采用寻黑线方法使电动车直线前行以及由末端B处能够直线后退到始端A处。红外遥控启动系统,液晶显示各阶段用时以及温度时间。在配重情况下通过黑线检测的方法使电动车在规定区域内的任意指定位置顺利驶上跷跷板。此方案用平衡检测模块实现系统平衡,用寻黑线调整车身与跷跷板同向,总体设计完全达到题目要求,可行性很高。
1.2 硬件选型
通过比较并结合自身优势最终选择AT89S52单片机作为本系统的核心部分。该款单片机与MCS51系列完全兼容,易于开发调试。其片内带有FLASH存储器且可在线下载程序,片上各种资源完全能满足本系统的要求。
本方案中选用普通反射式红外光电开关来检测跷跷板上黑线。在没有探测到黑线时,探头输出始终保持低电平。当检测到黑线时,输出立刻由低电平跳变到高电平。红外光电开关送来的信号经放大整形后送单片机分析处理。
为保证小车在跷跷板上能严格地沿黑线前进和倒退,本方案共采用了前边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)使用软件滤波器消除小车在行进时的抖动所造成的电压输出不稳定的问题。
本系统采用单片机作为控制系统的主模块,实现系统控制与信号检测。主要包括单片机模块、电机驱动模块、步进电动机、平衡检测模块、光电检测模块、液晶显示模块以及红外遥控模块。
系统通过平衡检测来判断电动车是否处于平衡状态,使电动车停留在C处附近,采用光电检测模块使电动车行驶至B处停止,采用寻黑线方法使电动车直线前行以及由末端B处能够直线后退到始端A处。红外遥控启动系统,液晶显示各阶段用时以及温度时间。在配重情况下通过黑线检测的方法使电动车在规定区域内的任意指定位置顺利驶上跷跷板。此方案用平衡检测模块实现系统平衡,用寻黑线调整车身与跷跷板同向,总体设计完全达到题目要求,可行性很高。
1.2 硬件选型
通过比较并结合自身优势最终选择AT89S52单片机作为本系统的核心部分。该款单片机与MCS51系列完全兼容,易于开发调试。其片内带有FLASH存储器且可在线下载程序,片上各种资源完全能满足本系统的要求。
本方案中选用普通反射式红外光电开关来检测跷跷板上黑线。在没有探测到黑线时,探头输出始终保持低电平。当检测到黑线时,输出立刻由低电平跳变到高电平。红外光电开关送来的信号经放大整形后送单片机分析处理。
为保证小车在跷跷板上能严格地沿黑线前进和倒退,本方案共采用了前边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)使用软件滤波器消除小车在行进时的抖动所造成的电压输出不稳定的问题。