基于AVR單片機的智能跑步機控制器設計
1 引言
電動跑步機是目前健身器材中的主流產(chǎn)品,它是通過電機帶動跑步帶使人以不同的速度被動地跑或走,在人體用力方面,比在地面上跑、走省去了一個蹬伸動作,可使人比在地面運動消耗更多能量。但由于其功能比較單一,缺乏娛樂性和交互性,長時間鍛煉會使人感到枯燥乏味。在全社會崇尚健身就是生活質(zhì)量的今天,傳統(tǒng)電動跑步機這種單調(diào)重復運動已難以滿足人們對健身品質(zhì)的要求,而具有虛擬現(xiàn)實功能的智能跑步機,以計算機虛擬的模擬環(huán)境代替現(xiàn)實世界的真實環(huán)境,給人身臨其境的沉浸感,增加了健身的樂趣,已成為目前的研究熱點。本文將傳統(tǒng)電動跑步機與虛擬現(xiàn)實技術相結合,研究并設計了具備傳統(tǒng)電動跑步機各種健身模式且具有虛擬場景漫游功能的智能電動跑步機控制系統(tǒng)。系統(tǒng)通過上下位機的串行通信進行各種參數(shù)的實時傳遞,TFT液晶顯示器顯示友好的操作界面以及實時變化的運動和體能參數(shù),采用觸摸屏與薄膜按鍵結合的操作方式增加操作的靈活性,是虛擬現(xiàn)實、人機交互在健身器材方面應用的一個典型例子。
采用ATMEL公司的ATmega128作為跑步機的主控芯片,它具有先進的RISC架構,內(nèi)部集成較大容量存儲器,有豐富的管腳資源,驅(qū)動能力強,具有在系統(tǒng)編程功能,給控制系統(tǒng)的設計及程序的升級和維護提供了極大方便。
2 跑步機控制系統(tǒng)的結構及功能
2.1 系統(tǒng)結構
控制系統(tǒng)由上位機和下位機兩大部分組成。上位機采用普通計算機,主要負責觸摸屏控制、操作界面顯示、多媒體播放和虛擬場景漫游。下位機以ATmega128為核心控制器,配合相應的外圍電路,通過采集鍵盤輸入、電機反饋、接收上位機信息等對跑步機進行直接控制。上下位機通過串行通信總線RS232進行通信。跑步機控制系統(tǒng)總體設計框圖如圖1所示,虛線框內(nèi)是下位機控制器設計。
圖1 跑步機控制系統(tǒng)框圖
2.2 系統(tǒng)功能
下位機控制器通過變頻器控制電機,增大了速度調(diào)節(jié)范圍并且實現(xiàn)無級變速,速度調(diào)節(jié)范圍為1.0~20.0km/h,坡度調(diào)節(jié)范圍為-5%~15%。配有心率信號接收器,可以通過佩戴胸帶或者手握跑步機兩側的手柄測試心率。有多種健身方式可供選擇,包括普通健身、程序健身、模式健身、虛擬健身,并且具備多媒體播放功能。液晶顯示器顯示各種功能按鍵以及數(shù)字鍵盤,并配有功能提示,用戶可以在觸摸屏上操作,也可以直接操作跑步機面板上的薄膜按鍵。各種運動參數(shù)在液晶屏上實時顯示。在虛擬現(xiàn)實健身模式下,跑步機運轉(zhuǎn)速度驅(qū)動虛擬場景的變換和信息的更新,場景路面坡度變化控制跑步機升降,實現(xiàn)跑步臺與虛擬場景路面狀況同步。系統(tǒng)配有緊急停止開關,跑步機可迅速停止運轉(zhuǎn)已確保安全。
3 跑步機控制器硬件設計
3.1 控制芯片
控制芯片采用ATMEL公司ATmega128單片機,它是基于AVR內(nèi)核的低功耗CMOS8位單片機,單時鐘周期指令,可達到接近1MIPS/MHz的性能,具有128KB在系統(tǒng)編程/應用程序(ISP/IAP)Flash程序存儲器、4KB E2PROM、4KB SRAM、32個統(tǒng)一工作寄存器、53個通用I/O口、4個帶有比較模式靈活的定時器/計數(shù)器、2個可編程的USART接口、可編程帶內(nèi)部振蕩器的看門狗定時器等。利用它在系統(tǒng)編程功能可以方便的進行程序的修改調(diào)試,參數(shù)可保存在內(nèi)置E2PROM中,定時器/計數(shù)器的相位頻率可調(diào)PWM功能尤其適用于馬達控制,內(nèi)置看門狗定時器可以在程序異常時及時復位。
3.2 電壓轉(zhuǎn)換及掉電預檢測電路
控制器電路板供電電壓為12V,經(jīng)MC7805轉(zhuǎn)換為5V供單片機使用。電壓轉(zhuǎn)換及掉電預檢測電路掉電預檢測電路原理圖如圖2所示。
圖2 電壓轉(zhuǎn)換及掉電檢測電路
在系統(tǒng)意外斷電時記錄跑步臺的坡度,保證再次上電時處于水平位置。采用ATmega128內(nèi)部的模擬比較器,注意選擇合適的電容和參考電壓,以保證足夠的參數(shù)寫入時間。當模擬輸入端AIN1的電壓低于AIN0的電壓2.5V時,即輸入電壓降到7.5V以下時,模擬比較器輸出ACO置1,觸發(fā)中斷,此時跑步臺的坡度值被寫入單片機內(nèi)部的E2PROM中。
3.3 PWM輸出電路
利用ATmega128內(nèi)部16位定時器/計數(shù)器應用中的相位頻率可調(diào)PWM模式,產(chǎn)生50Hz的PWM波形,經(jīng)過濾波和電平轉(zhuǎn)換后輸出到變頻器。改變比較寄存器的數(shù)值可以得到不同的脈寬,實現(xiàn)對跑步機速度的控制。
3.4 開關量輸入/輸出電路
三路帶光電隔離的開關量輸入電路采集健身者在跑步臺上的位置信號,并以電平形式輸入單片機,據(jù)此判斷健身者離控制臺的遠近實現(xiàn)自動調(diào)速。六路開關量輸出電路中,四路通過繼電器控制電機的升降來改變坡度,兩路控制橫流風扇的風量大小。
3.5 編碼器信號輸入電路
將轉(zhuǎn)速傳感器、心率接收裝置輸出的編碼器脈沖信號經(jīng)過電容濾波、74HC14整形,輸入到單片機外部中斷接口。
3.6 串口通信電路
單片機與PC機的通信采用RS-232C標準,此標準與單片機的TTL電平不兼容,采用MAXIM公司的MAX202進行電平轉(zhuǎn)換,外部接0.1uF電容。單片機串行口的TXD、RXD 和GND經(jīng)電平轉(zhuǎn)換分別與計算機的RXD、TXD和SG相連,進行全雙工通信。
3.7 矩陣式鍵盤電路
要實現(xiàn)開始、停止、暫停、速度加減、坡度加減、風扇控制、速度和坡度直選等功能需要大量按鍵,因此采用4×8矩陣式鍵盤。由于跑步過程中的摩擦會產(chǎn)生大量靜電,健身者操作鍵盤時靜電可能對電路造成破壞,除了在觸摸鍵上加防護措施以外,在電路中加入TVS (瞬態(tài)電壓抑制器) 二極管,由于TVS二極管的結面積較大,使得它具有泄放瞬態(tài)大電流的優(yōu)點,具有理想的保護作用。將TVS二極管正極接地,當瞬態(tài)電壓超過電路的正常工作電壓時,二極管發(fā)生雪崩,為瞬態(tài)電流提供通路,使內(nèi)部電路免遭超額電壓擊穿或超額電流過熱燒毀。
4 控制器軟件設計
考慮到系統(tǒng)可移植性及便于維護和擴充,系統(tǒng)軟件采用C語言編寫。ImageCraft 的ICCAVR是一種使用符合ANSI標準的C語言來開發(fā)微控制器(MCU)程序的工具,它是一個綜合了編輯器和工程管理器的集成開發(fā)環(huán)境(IDE)。跑步機控制程序的編輯、編譯均在ICCAVR中完成。
控制系統(tǒng)軟件采用模塊化設計思想,主要包括主程序、鍵盤處理程序、中斷服務程序和通信程序。主程序邏輯為:控制器上電后首先讀取E2PROM中保存的速度系數(shù)和坡度參數(shù),實現(xiàn)開機復位和參數(shù)的初始化,然后進入主循環(huán)。
鍵盤處理程序采用定時掃描方法,每隔300ms使四行輸出均為低電平,判斷是否有鍵按下,若有,再將四行依次輸出為低電平,同時讀入列值保存到一數(shù)組中,用switch-case語句進行按鍵處理。速度和坡度加、減鍵若被檢測到持續(xù)按下,則處理多次,實現(xiàn)速度和坡度的連續(xù)加減。有些功能鍵只處理一次就被鎖定,例如開始鍵被檢測到按下后置一個標志,直到該標志被清除再次按下才有效。將幾個按鍵組合在一起可以實現(xiàn)特殊功能,例如速度和坡度的自動校正。
中斷服務程序包括內(nèi)部定時器中斷、模擬比較器中斷和外部中斷。內(nèi)部定時器中斷服務程序主要負責健身時間計算、倒數(shù)計時、鍵盤的定時掃描、通信數(shù)據(jù)的定時發(fā)送等。模擬比較器觸發(fā)中斷后,關閉所有其它中斷,將重要參數(shù)寫入E2PROM中。外部中斷服務程序主要負責脈沖信號計數(shù)和緊急停止。緊急停止接到最高優(yōu)先級的外中斷上,中斷觸發(fā)后迅速切斷PWM輸出。
實時顯示的運動參數(shù)、來自計算機的命令等都是依靠全雙工串口通信傳遞。通信協(xié)議制定也采用模塊化的思想,不同的功能模塊有各自的標志符號。通信協(xié)議定義如表1所示。按下電源鍵后下位機向上位機發(fā)出握手信息,上位機檢驗這一信息符合協(xié)議則向下位機反饋一條信息,建立通信。上位機通過串口獲得跑步機的各種數(shù)據(jù),用以更新虛擬場景畫面與操作界面的信息和參數(shù)顯示,并根據(jù)場景路面坡度變化通過串口通信控制跑步機的升降。主程序和通信程序流程圖如圖3、圖4所示。
圖3 主程序流程圖
圖4 通信子程序流程圖
表1 通信協(xié)議定義
起始符 | 字節(jié)數(shù) | 標志符 | 數(shù)據(jù) | 校驗碼 | 結束符 |
@ | 1個字節(jié) | 1個字節(jié) | 若干字節(jié) | 1個字節(jié) | 1個字節(jié) |
5 結論
本文介紹了采用ATmgega128單片機作為主控芯片的智能電動跑步機控制器設計,在實現(xiàn)跑步機各種功能的基礎上很好地保證了運行的穩(wěn)定性。針對采用上下位機控制的特點制定了其專用串行通信協(xié)議,確保控制的實時有效性。通過串行通信控制下位機實現(xiàn)了虛擬現(xiàn)實健身模式,避免了室內(nèi)運動的單調(diào)乏味,增加了健身的樂趣,如配置立體顯示設備更能增強沉浸感。在此基礎上,可研究將上下位機整合,采用SOPC技術自行設計整個控制系統(tǒng)的板卡,這將大大降低成本并且使整機的穩(wěn)定性有進一步的提高。
本文作者創(chuàng)新點:通過制定專用串行通信協(xié)議進行上下位機互動,實現(xiàn)了虛擬現(xiàn)實健身模式,增強了室內(nèi)健身的樂趣。
參考文獻
[1] Atmel Corporation. ATmega128 Datasheet[EB/OL]. http://www.atmel.com
[2] 馬 潮. 高檔8位單片機ATmega128原理與開發(fā)應用指南(上) [M]. 北京:北京航空航天大學出版社,2004
[3] 譚浩強. C程序設計(第二版)[M]. 北京:清華大學出版社,2000
[4] 潘新民,王燕芳. 微型計算器控制技術[M]. 北京:電子工業(yè)出版社,2004
[5] 洪家平. WINDOWS環(huán)境下PC機與單片機的通信[J]. 微計算機信息,2004年第3期,143-145.
pwm相關文章:pwm是什么
評論