新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AVR单片机的电动代步车控制器

基于AVR单片机的电动代步车控制器

作者: 时间:2011-08-02 来源:网络 收藏

3 软件设计
3.1 程序结构
根据车的功能需求,将软件划分为4个主要模块:系统自检模块、键盘和LED显示模块、摇杆检测模块以及电机控制模块。图4为的主程序流程框图。

本文引用地址:https://www.eepw.com.cn/article/172590.htm

d.jpg


3.2 系统自检模块
系统自检模块是车安全性能的关键,主要完成对自身运行状态和故障诊断,故障信息应及时处理并通过人机接口提醒用户。由于车的使用对象为老年人和残疾人,所以的安全性尤为重要。系统自检模块主要完成如下任务:1)检查充电器接口;2)检查蓄电池电压;3)检查制动器接口;4)检查摇杆接口;5)显示故障状态。
为保障系统的稳定性和可靠性,自检模块采用事件触发机制。图5为系统自检状态机,这些功能函数每秒执行约100次。在系统自检函数中有若干自检标志,这些标志位初始值均是FALSE,如果在系统自检函数中被置成TRUE或者在其他模块中被置成TRUE,则说明故障发生,需要及时处理和对策。

e.jpg


3.3 摇杆检测模块
摇杆检测模块的主要功能是获取摇杆的位置参数,以计算左右驱动后轮的运转方向和PWM脉宽,摇杆位置参数是电动代步车的关键参数之一。摇杆检测模块的主要功能有:1)检测摇杆X方向的位置;2)检测摇杆Y方向的位置:3)处理摇杆X方向的位置;4)处理摇杆Y方向的位置;5)获得左电机的脉宽和方向;6)获得右电机的脉宽和方向。
如果把摇杆的信号看作是二维输出信号,分别在二维坐标系中用X轴和Y轴表示。可以将X轴信号看作是代步车的转向速度给定信号,而Y轴信号则可以看作是代步车的前向或后向速度给定信号。如果用户想要转向或前进,则可将代步车的运动方向看作是X和Y的矢量合成。当代步车前进或后退时,左右轮同时向前或向后转动。当代步车向左转时,右轮正向转动,左轮反向转动或保持不动;相反,当代步车向右转时,左轮正向转动,右轮反向转动或保持不动。当两轮中一轮向前转动而另一轮向后转动,电动代步车做原地360°回转。



评论


相关推荐

技术专区

关闭