基于單片機PIC16F74的電動按摩椅的研制
本文介紹了一款采用PIC16F74單片機作為微處理芯片的電動按摩椅控制系統,具體包括有系統的組成和功能介紹、硬件電路的設計、軟件功能實現以及抗干擾措施。
1:引言
隨著我國經濟的迅速發展和人們生活水平的不斷提高,按摩椅等保健產品越來越受到歡迎。目前,在電動按摩椅市場上,進口、合資以及國產產品并存。相對而言,進口產品功能強大、按摩方式豐富、外觀優美,但同時其價格也非常昂貴。而國內產品功能較簡單,產品知名度也相對較低,但是其價格比較低廉。本文主要介紹了一款自主研發的中檔電動按摩椅。該產品既有功能比較強大、按摩方式比較豐富、結構簡單、外觀優美、控制方式簡單靈活,產品容易升級的特點,同時其價格卻只有國外同等產品的一半。
2:按摩椅系統的組成、工作原理及其功能實現
2.1:系統組成
整個系統主要分為兩個部分,即背部按摩區域和臀部、下肢按摩區域。
背部按摩區域的機構主要有:系統控制電路板、電動機、絲桿及其潤滑裝置、S形滑動槽、按摩頭功能盒等。同時根據人體結構又將背部整個區域劃分為頸部、中部、腰部以及尾椎四個按摩區間。而臀部、下肢按摩區域的機構主要有12個按摩氣囊及其實現機構。此外系統主要還有手控面板,紅外線探測系統,靠背、小腿架處的電動推桿等。
2.2:系統工作原理及結構功能特點
由于PIC單片機具有成本低,功能豐富,控制方式簡單等優勢,因此系統采用PIC16F74單片機作為系統的控制芯片。
系統設計為自動和手動兩種運行模式。在自動模式下,按摩模式主要有:快速消除疲勞模式、休閑模式、睡眠模式以及適合于老人使用的輕柔模式等。而在手動方式下,可以啟停任意電機和按摩氣囊。并可根據實際情況,選擇需要的按摩力度、寬窄和氣囊按摩壓力。系統所有的按摩功能均具有三檔速度調節。
背部機構根據人體的背部生理曲線科學地設計為S形結構。其背部機構的主要功能有:推拿、揉捏、捶打及指壓。其中推拿、揉捏、捶打及指壓功能分別由三臺電機獨立驅動實現。按摩頭功能盒可以上下運行,并可選擇全程、局部以及定點進行按摩。而在臀部和下肢區域,可以通過控制氣囊的收放起伏律動以及氣囊的強度來實現按摩。
此外還可以根據個人的喜好控制靠背、小腿架的電動推桿,調整靠背和小腿架的傾斜角度,從而提高按摩舒適度。
2.3:系統功能實現
2.3.1:硬件實現
該按摩椅控制系統中的主要硬件為PIC16F74微處理器。供電電源為+5V,輸入和輸出可以是模擬(量)信號,也可以是開關(量)信號。本控制系統采用的是PIC16F74開關量的輸入和輸出來進行控制的。
系統首先通過紅外線探測裝置獲得按摩對象的身高和形體參數,并將相關參數傳遞給系統主程序,然后根據人體穴位的分布原理,驅動按摩機構進行按摩。
系統中的背部行程及揉捏電機在運行時經常需要換向,其正反轉功能采用互鎖電路驅動兩個繼電器交替工作來實現,并且電路在任何時候最多只有一只繼電器工作,這樣可以十分有效的避免同一繼電器在較長時間使用后,由于其換向后接觸不良而導致的電路短路情況,從而可以大大提高系統運行的穩定性和可靠性,顯著地延長產品的使用壽命。
2.3.2:系統軟件實現
為了充分發揮系統的性能,實現按摩方式、力度及其寬窄的合理組合,本系統軟件共設計為三層:電機驅動層,功能驅動層,用戶界面。其中:電機驅動層負責對硬件的驅動,即起停、強弱以及寬窄的驅動;功能驅動層負責對所有功能的按優先級仲裁,對低級功能進行保護或清除,并與其他模塊的功能層交互等;而用戶界面則負責接收用戶的按鍵輸入。其原理如圖1所示。

系統的控制程序流程圖如圖2所示

系統上電后,CPU開始對整個鍵盤進行掃描,當掃描到某鍵按下后進行適當的延時消抖,再次確認按鍵有效后即啟動相應按鍵的服務子程序,然后進行過零檢測,通過控制可控硅來實現對電機的速度控制。同時將電機的速度狀態顯示于LCD中。
本系統軟件主要解決了以下幾個重要的問題:
2.3.2.1:過零檢測
系統利用特定的硬件電路對市電進行整流后得到半波信號,然后從RA4引腳輸入同步信號。系統巧妙的利用了硬件的特性,當對T0進行初始值設定后,然后通過外部信號來觸發定時器T0的翻轉,從而實現精確的過零檢測。然后根據過零檢測可以控制可控硅來實現對電機電壓的準確控制。這樣可以十分有效地避免通過軟件進行過零檢測時帶來的誤差,并由此引起的電機電壓控制不準確、不穩定以及整個系統運行的不可靠。
2.3.2.2:按摩區間劃分
當紅外線探測裝置探測到按摩對象的相應參數后,程序根據此結果將整個按摩區域劃分為頸部、中部、腰部以及尾椎四個區間。并按人體生理原理對各個區間采用不同的按摩方式及其按摩力度和寬窄的變化組合,從而提高按摩舒適度。
2.3.2.3:脈沖計數
程序采用CCP模塊(即捕獲、比較、脈沖寬度調制模塊)中的捕獲功能來實現脈沖計數。從而實現按摩頭功能盒在區間內的運動控制。但在實驗過程中發現計數值偶爾會存在誤差。通過采取以下改進措施后:即當CCP捕捉到第一個脈沖后便立即關閉CCP,同時啟動定時器并延時一定的時間后再重新啟動CCP繼續進行脈沖計數。經過較長時間的實驗測定以及用戶反饋的情況,確定采用CCP實現的脈沖計數已經十分準確,完全達到了系統的控制精度要求。
{{分頁}}
2.3.2.4:行程控制
行程電機具有硬件保護電路,在行程的首尾安裝有限位開關,當功能盒碰到限位開關后,由行程開關切斷行程電機的供電,并且引起引腳RB5和RB4的電平變化。因此程序可以通過檢測引腳RB5和RB4的電平變化來控制電機的換向。但由于行程開關在使用較長時間后可能會出現功能失效的情況,這時即使功能盒觸碰上下行程開關,也不會引起引腳RB5或RB4的電平變化,當出現這種情況時,程序由于沒有檢測到換向信號而控制電機繼續向同一方向運行,直到頂死在絲桿的極限位置。
為了避免產品在使用中出現這種情況,在控制行程電機換向的程序中,增加了按行程計數值來控制電機換向的功能:選定下行程極限位作為計數基點,行程電機啟動后便開始進行脈沖計數,并在上下行方向分別采用增減計數值的方法,當行程計數值達到設定的極限值時便進行換向,而當功能盒每次重新到達計數基點時再對計數值進行清零。
通過采用根據行程計數值來控制電機換向后,根據實驗結果以及用戶反饋的情況來看,采取以上措施后,可以顯著的提高系統運行的穩定性和可靠性,從而提高了產品質量,延長了產品的使用壽命。
3:系統抗干擾措施
為了保證系統的正常工作,在設計時采用了以下一些抗干擾措施:在硬件方面,由于系統對電源要求較高,因此在設計電源時采用了多級穩壓性能較好的7805模塊;又由于本系統中單片機的輸入信號是開關量,因此在每一極輸入電路的輸入端增加了一極阻容濾波以防止干擾;而且系統采用了復位功能以防止程序進入死循環。此外在軟件方面也采取了一些抗干擾措施,比如在電機換向時采用了一定的延時以保護電機,當CCP捕捉到有效脈沖信號后,關閉CCP并延時一定的時間后再重新啟動CCP,以減少捕捉誤脈沖等等。
4:結 論
系統采用PIC16F74單片機作為微處理芯片,實現對電動按摩椅的控制。通過在硬件電路中增加必要的互鎖電路,提高了系統運行的穩定性和可靠性,并利用系統硬件特性實現了準確的過零檢測,從而為電機電壓的準確控制和穩定調整提供了良好的前提條件;在軟件中,增加了按行程計數值進行換向控制,以及采用中斷方式實現對電機的控制等。通過采用以上一些措施后,不但降低了控制部分的制造成本,而且縮短了產品的開發周期,保證了系統運行的穩定性、可靠性以及經濟實用性。
參 考 文 獻
[1]:譚浩強.C程序設計[M], 清華大學出版社,2000
[2]:武 鋒.PIC單片機C語言開發入門[M],北京航空航天大學出版社,2005
[3]:劉篤仁.PIC軟硬件系統設計[M], 電子工業出版社, 2005
[4]:劉和平.PIC16F87X單片機實用軟件與接口技術-C語言及其應用[M],北京航空航天大學出版社,2002
評論