基于AVR单片机的智能跑步机控制器设计
单片机外部中断接口。
3.6 串口通信电路
单片机与PC机的通信采用RS-232C标准,此标准与单片机的TTL电平不兼容,采用MAXIM公司的MAX202进行电平转换,外部接0.1uF电容。单片机串行口的TXD、RXD 和GND经电平转换分别与计算机的RXD、TXD和SG相连,进行全双工通信。
3.7 矩阵式键盘电路
要实现开始、停止、暂停、速度加减、坡度加减、风扇控制、速度和坡度直选等功能需要大量按键,因此采用4×8矩阵式键盘。由于跑步过程中的摩擦会产生大量静电,健身者操作键盘时静电可能对电路造成破坏,除了在触摸键上加防护措施以外,在电路中加入TVS (瞬态电压抑制器) 二极管,由于TVS二极管的结面积较大,使得它具有泄放瞬态大电流的优点,具有理想的保护作用。将TVS二极管正极接地,当瞬态电压超过电路的正常工作电压时,二极管发生雪崩,为瞬态电流提供通路,使内部电路免遭超额电压击穿或超额电流过热烧毁。
4 控制器软件设计
考虑到系统可移植性及便于维护和扩充,系统软件采用C语言编写。ImageCraft 的ICCAVR是一种使用符合ANSI标准的C语言来开发微控制器(MCU)程序的工具,它是一个综合了编辑器和工程管理器的集成开发环境(IDE)。跑步机控制程序的编辑、编译均在ICCAVR中完成。
控制系统软件采用模块化设计思想,主要包括主程序、键盘处理程序、中断服务程序和通信程序。主程序逻辑为:控制器上电后首先读取E2PROM中保存的速度系数和坡度参数,实现开机复位和参数的初始化,然后进入主循环。
键盘处理程序采用定时扫描方法,每隔300ms使四行输出均为低电平,判断是否有键按下,若有,再将四行依次输出为低电平,同时读入列值保存到一数组中,用switch-case语句进行按键处理。速度和坡度加、减键若被检测到持续按下,则处理多次,实现速度和坡度的连续加减。有些功能键只处理一次就被锁定,例如开始键被检测到按下后置一个标志,直到该标志被清除再次按下才有效。将几个按键组合在一起可以实现特殊功能,例如速度和坡度的自动校正。
中断服务程序包括内部定时器中断、模拟比较器中断和外部中断。内部定时器中断服务程序主要负责健身时间计算、倒数计时、键盘的定时扫描、通信数据的定时发送等。模拟比较器触发中断后,关闭所有其它中断,将重要参数写入E2PROM中。外部中断服务程序主要负责脉冲信号计数和紧急停止。紧急停止接到最高优先级的外中断上,中断触发后迅速切断PWM输出。
实时显示的运动参数、来自计算机的命令等都是依靠全双工串口通信传递。通信协议制定也采用模块化的思想,不同的功能模块有各自的标志符号。通信协议定义如表1所示。按下电源键后下位机向上位机发出握手信息,上位机检验这一信息符合协议则向下位机反馈一条信息,建立通信。上位机通过串口获得跑步机的各种数据,用以更新虚拟场景画面与操作界面的信息和参数显示,并根据场景路面坡度变化通过串口通信控制跑步机的升降。主程序和通信程序流程图如图3、图4所示。
图3 主程序流程图
图4 通信子程序流程图
表1 通信协议定义
起始符 | 字节数 | 标志符 | 数据 | 校验码 | 结束符 |
@ | 1个字节 | 1个字节 | 若干字节 | 1个字节 | 1个字节 |
5 结论
本文介绍了采用ATmgega128单片机作为主控芯片的智能电动跑步机控制器设计,在实现跑步机各种功能的基础上很好地保证了运行的稳定性。针对采用上下位机控制的特点制定了其专用串行通信协议,确保控制的实时有效性。通过串行通信控制下位机实现了虚拟现实健身模式,避免了室内运动的单调乏味,增加了健身的乐趣,如配置立体显示设备更能增强沉浸感。在此基础上,可研究将上下位机整合,采用SOPC技术自行设计整个控制系统的板卡,这将大大降低成本并且使整机的稳定性有进一步的提高。
本文作者创新点:通过制定专用串行通信协议进行上下位机互动,实现了虚拟现实健身模式,增强了室内健身的乐趣。
参考文献
[1] Atmel Corporation. ATmega128 Datasheet[EB/OL]. http://www.atmel.com
[2] 马 潮. 高档8位单片机ATmega128原理与开发应用指南(上) [M]. 北京:北京航空航天大学出版社,2004
[3] 谭浩强. C程序设计(第二版)[M]. 北京:清华大学出版社,2000
[4] 潘新民,王燕芳. 微型计算器控制技术[M]. 北京:电子工业出版社,2004
[5] 洪家平. WINDOWS环境下PC机与单片机的通信[J]. 微计算机信息,2004年第3期,143-145.
- 锁相环控制及初始化简析(08-27)
- 基于AVR单片机的串口转FSK的通信模块设计(01-23)
- 基于AVR单片机的服装压力检测系统设计(05-03)
- 基于Atmel AVR单片机的无线图像侦检系统(10-19)
- avr单片机串口多机通讯及实例(12-03)
- AVR单片机入门系列(25)AVR PWM OC0(12-03)