新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機的智能跑步機控制器設計

        基于AVR單片機的智能跑步機控制器設計

        作者: 時間:2012-01-19 來源:網絡 收藏

        1 引言

        電動跑步機是目前健身器材中的主流產品,它是通過電機帶動跑步帶使人以不同的速度被動地跑或走,在人體用力方面,比在地面上跑、走省去了一個蹬伸動作,可使人比在地面運動消耗更多能量。但由于其功能比較單一,缺乏娛樂性和交互性,長時間鍛煉會使人感到枯燥乏味。在全社會崇尚健身就是生活質量的今天,傳統電動跑步機這種單調重復運動已難以滿足人們對健身品質的要求,而具有虛擬現實功能的智能跑步機,以計算機虛擬的模擬環境代替現實世界的真實環境,給人身臨其境的沉浸感,增加了健身的樂趣,已成為目前的研究熱點。本文將傳統電動跑步機與虛擬現實技術相結合,研究并設計了具備傳統電動跑步機各種健身模式且具有虛擬場景漫游功能的控制系統。系統通過上下位機的進行各種參數的實時傳遞,TFT液晶顯示器顯示友好的操作界面以及實時變化的運動和體能參數,采用觸摸屏與薄膜按鍵結合的操作方式增加操作的靈活性,是虛擬現實、人機交互在健身器材方面應用的一個典型例子。

        采用ATMEL公司的ATmega128作為跑步機的主控芯片,它具有先進的RISC架構,內部集成較大容量存儲器,有豐富的管腳資源,驅動能力強,具有在系統編程功能,給控制系統的設計及程序的升級和維護提供了極大方便。

        2 跑步機控制系統的結構及功能

        2.1 系統結構

        控制系統由上位機和下位機兩大部分組成。上位機采用普通計算機,主要負責觸摸屏控制、操作界面顯示、多媒體播放和虛擬場景漫游。下位機以ATmega128為核心控制器,配合相應的外圍電路,通過采集鍵盤輸入、電機反饋、接收上位機信息等對跑步機進行直接控制。上下位機通過總線RS232進行通信。跑步機控制系統總體設計框圖如圖1所示,虛線框內是下位機控制器設計。

        圖1 跑步機控制系統框圖

        2.2 系統功能

        下位機控制器通過變頻器控制電機,增大了速度調節范圍并且實現無級變速,速度調節范圍為1.0~20.0km/h,坡度調節范圍為-5%~15%。配有心率信號接收器,可以通過佩戴胸帶或者手握跑步機兩側的手柄測試心率。有多種健身方式可供選擇,包括普通健身、程序健身、模式健身、虛擬健身,并且具備多媒體播放功能。液晶顯示器顯示各種功能按鍵以及數字鍵盤,并配有功能提示,用戶可以在觸摸屏上操作,也可以直接操作跑步機面板上的薄膜按鍵。各種運動參數在液晶屏上實時顯示。在虛擬現實健身模式下,跑步機運轉速度驅動虛擬場景的變換和信息的更新,場景路面坡度變化控制跑步機升降,實現跑步臺與虛擬場景路面狀況同步。系統配有緊急停止開關,跑步機可迅速停止運轉已確保安全。

        3 跑步機控制器硬件設計

        3.1 控制芯片

        控制芯片采用ATMEL公司ATmega128單片機,它是基于AVR內核的低功耗CMOS8位單片機,單時鐘周期指令,可達到接近1MIPS/MHz的性能,具有128KB在系統編程/應用程序(ISP/IAP)Flash程序存儲器、4KB E2PROM、4KB SRAM、32個統一工作寄存器、53個通用I/O口、4個帶有比較模式靈活的定時器/計數器、2個可編程的USART接口、可編程帶內部振蕩器的看門狗定時器等。利用它在系統編程功能可以方便的進行程序的修改調試,參數可保存在內置E2PROM中,定時器/計數器的相位頻率可調PWM功能尤其適用于馬達控制,內置看門狗定時器可以在程序異常時及時復位。

        3.2 電壓轉換及掉電預檢測電路

        控制器電路板供電電壓為12V,經MC7805轉換為5V供單片機使用。電壓轉換及掉電預檢測電路掉電預檢測電路原理圖如圖2所示。

        圖2 電壓轉換及掉電檢測電路

        在系統意外斷電時記錄跑步臺的坡度,保證再次上電時處于水平位置。采用ATmega128內部的模擬比較器,注意選擇合適的電容和參考電壓,以保證足夠的參數寫入時間。當模擬輸入端AIN1的電壓低于AIN0的電壓2.5V時,即輸入電壓降到7.5V以下時,模擬比較器輸出ACO置1,觸發中斷,此時跑步臺的坡度值被寫入單片機內部的E2PROM中。

        3.3 PWM輸出電路

        利用ATmega128內部16位定時器/計數器應用中的相位頻率可調PWM模式,產生50Hz的PWM波形,經過濾波和電平轉換后輸出到變頻器。改變比較寄存器的數值可以得到不同的脈寬,實現對跑步機速度的控制。

        3.4 開關量輸入/輸出電路

        三路帶光電隔離的開關量輸入電路采集健身者在跑步臺上的位置信號,并以電平形式輸入單片機,據此判斷健身者離控制臺的遠近實現自動調速。六路開關量輸出電路中,四路通過繼電器控制電機的升降來改變坡度,兩路控制橫流風扇的風量大小。

        3.5 編碼器信號輸入電路

        將轉速傳感器、心率接收裝置輸出的編碼器脈沖信號經過電容濾波、74HC14整形,輸入到單片機外部中斷接口。

        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單片機作為主控芯片的控制器設計,在實現跑步機各種功能的基礎上很好地保證了運行的穩定性。針對采用上下位機控制的特點制定了其專用協議,確??刂频膶崟r有效性。通過串行通信控制下位機實現了虛擬現實健身模式,避免了室內運動的單調乏味,增加了健身的樂趣,如配置立體顯示設備更能增強沉浸感。在此基礎上,可研究將上下位機整合,采用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.

        pwm相關文章:pwm是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 民丰县| 孟州市| 壤塘县| 铁岭市| 连南| 霍林郭勒市| 阿图什市| 湘乡市| 昂仁县| 沁源县| 大余县| 久治县| 明溪县| 内黄县| 大悟县| 柘城县| 金堂县| 沅陵县| 滕州市| 卢氏县| 桓台县| 永和县| 冀州市| 塔城市| 色达县| 济阳县| 龙井市| 佛学| 甘肃省| 汶川县| 法库县| 萨嘎县| 东至县| 富源县| 夏津县| 三亚市| 油尖旺区| 新泰市| 当阳市| 岫岩| 山阴县|