基于單片機(jī)PIC16F74的電動按摩椅的研制
本文介紹了一款采用PIC16F74單片機(jī)作為微處理芯片的電動按摩椅控制系統(tǒng),具體包括有系統(tǒng)的組成和功能介紹、硬件電路的設(shè)計、軟件功能實現(xiàn)以及抗干擾措施。
1:引言
隨著我國經(jīng)濟(jì)的迅速發(fā)展和人們生活水平的不斷提高,按摩椅等保健產(chǎn)品越來越受到歡迎。目前,在電動按摩椅市場上,進(jìn)口、合資以及國產(chǎn)產(chǎn)品并存。相對而言,進(jìn)口產(chǎn)品功能強(qiáng)大、按摩方式豐富、外觀優(yōu)美,但同時其價格也非常昂貴。而國內(nèi)產(chǎn)品功能較簡單,產(chǎn)品知名度也相對較低,但是其價格比較低廉。本文主要介紹了一款自主研發(fā)的中檔電動按摩椅。該產(chǎn)品既有功能比較強(qiáng)大、按摩方式比較豐富、結(jié)構(gòu)簡單、外觀優(yōu)美、控制方式簡單靈活,產(chǎn)品容易升級的特點,同時其價格卻只有國外同等產(chǎn)品的一半。
2:按摩椅系統(tǒng)的組成、工作原理及其功能實現(xiàn)
2.1:系統(tǒng)組成
整個系統(tǒng)主要分為兩個部分,即背部按摩區(qū)域和臀部、下肢按摩區(qū)域。
背部按摩區(qū)域的機(jī)構(gòu)主要有:系統(tǒng)控制電路板、電動機(jī)、絲桿及其潤滑裝置、S形滑動槽、按摩頭功能盒等。同時根據(jù)人體結(jié)構(gòu)又將背部整個區(qū)域劃分為頸部、中部、腰部以及尾椎四個按摩區(qū)間。而臀部、下肢按摩區(qū)域的機(jī)構(gòu)主要有12個按摩氣囊及其實現(xiàn)機(jī)構(gòu)。此外系統(tǒng)主要還有手控面板,紅外線探測系統(tǒng),靠背、小腿架處的電動推桿等。
2.2:系統(tǒng)工作原理及結(jié)構(gòu)功能特點
由于PIC單片機(jī)具有成本低,功能豐富,控制方式簡單等優(yōu)勢,因此系統(tǒng)采用PIC16F74單片機(jī)作為系統(tǒng)的控制芯片。
系統(tǒng)設(shè)計為自動和手動兩種運行模式。在自動模式下,按摩模式主要有:快速消除疲勞模式、休閑模式、睡眠模式以及適合于老人使用的輕柔模式等。而在手動方式下,可以啟停任意電機(jī)和按摩氣囊。并可根據(jù)實際情況,選擇需要的按摩力度、寬窄和氣囊按摩壓力。系統(tǒng)所有的按摩功能均具有三檔速度調(diào)節(jié)。
背部機(jī)構(gòu)根據(jù)人體的背部生理曲線科學(xué)地設(shè)計為S形結(jié)構(gòu)。其背部機(jī)構(gòu)的主要功能有:推拿、揉捏、捶打及指壓。其中推拿、揉捏、捶打及指壓功能分別由三臺電機(jī)獨立驅(qū)動實現(xiàn)。按摩頭功能盒可以上下運行,并可選擇全程、局部以及定點進(jìn)行按摩。而在臀部和下肢區(qū)域,可以通過控制氣囊的收放起伏律動以及氣囊的強(qiáng)度來實現(xiàn)按摩。
此外還可以根據(jù)個人的喜好控制靠背、小腿架的電動推桿,調(diào)整靠背和小腿架的傾斜角度,從而提高按摩舒適度。
2.3:系統(tǒng)功能實現(xiàn)
2.3.1:硬件實現(xiàn)
該按摩椅控制系統(tǒng)中的主要硬件為PIC16F74微處理器。供電電源為+5V,輸入和輸出可以是模擬(量)信號,也可以是開關(guān)(量)信號。本控制系統(tǒng)采用的是PIC16F74開關(guān)量的輸入和輸出來進(jìn)行控制的。
系統(tǒng)首先通過紅外線探測裝置獲得按摩對象的身高和形體參數(shù),并將相關(guān)參數(shù)傳遞給系統(tǒng)主程序,然后根據(jù)人體穴位的分布原理,驅(qū)動按摩機(jī)構(gòu)進(jìn)行按摩。
系統(tǒng)中的背部行程及揉捏電機(jī)在運行時經(jīng)常需要換向,其正反轉(zhuǎn)功能采用互鎖電路驅(qū)動兩個繼電器交替工作來實現(xiàn),并且電路在任何時候最多只有一只繼電器工作,這樣可以十分有效的避免同一繼電器在較長時間使用后,由于其換向后接觸不良而導(dǎo)致的電路短路情況,從而可以大大提高系統(tǒng)運行的穩(wěn)定性和可靠性,顯著地延長產(chǎn)品的使用壽命。
2.3.2:系統(tǒng)軟件實現(xiàn)
為了充分發(fā)揮系統(tǒng)的性能,實現(xiàn)按摩方式、力度及其寬窄的合理組合,本系統(tǒng)軟件共設(shè)計為三層:電機(jī)驅(qū)動層,功能驅(qū)動層,用戶界面。其中:電機(jī)驅(qū)動層負(fù)責(zé)對硬件的驅(qū)動,即起停、強(qiáng)弱以及寬窄的驅(qū)動;功能驅(qū)動層負(fù)責(zé)對所有功能的按優(yōu)先級仲裁,對低級功能進(jìn)行保護(hù)或清除,并與其他模塊的功能層交互等;而用戶界面則負(fù)責(zé)接收用戶的按鍵輸入。其原理如圖1所示。
系統(tǒng)的控制程序流程圖如圖2所示
系統(tǒng)上電后,CPU開始對整個鍵盤進(jìn)行掃描,當(dāng)掃描到某鍵按下后進(jìn)行適當(dāng)?shù)难訒r消抖,再次確認(rèn)按鍵有效后即啟動相應(yīng)按鍵的服務(wù)子程序,然后進(jìn)行過零檢測,通過控制可控硅來實現(xiàn)對電機(jī)的速度控制。同時將電機(jī)的速度狀態(tài)顯示于LCD中。
本系統(tǒng)軟件主要解決了以下幾個重要的問題:
2.3.2.1:過零檢測
系統(tǒng)利用特定的硬件電路對市電進(jìn)行整流后得到半波信號,然后從RA4引腳輸入同步信號。系統(tǒng)巧妙的利用了硬件的特性,當(dāng)對T0進(jìn)行初始值設(shè)定后,然后通過外部信號來觸發(fā)定時器T0的翻轉(zhuǎn),從而實現(xiàn)精確的過零檢測。然后根據(jù)過零檢測可以控制可控硅來實現(xiàn)對電機(jī)電壓的準(zhǔn)確控制。這樣可以十分有效地避免通過軟件進(jìn)行過零檢測時帶來的誤差,并由此引起的電機(jī)電壓控制不準(zhǔn)確、不穩(wěn)定以及整個系統(tǒng)運行的不可靠。
2.3.2.2:按摩區(qū)間劃分
當(dāng)紅外線探測裝置探測到按摩對象的相應(yīng)參數(shù)后,程序根據(jù)此結(jié)果將整個按摩區(qū)域劃分為頸部、中部、腰部以及尾椎四個區(qū)間。并按人體生理原理對各個區(qū)間采用不同的按摩方式及其按摩力度和寬窄的變化組合,從而提高按摩舒適度。
2.3.2.3:脈沖計數(shù)
程序采用CCP模塊(即捕獲、比較、脈沖寬度調(diào)制模塊)中的捕獲功能來實現(xiàn)脈沖計數(shù)。從而實現(xiàn)按摩頭功能盒在區(qū)間內(nèi)的運動控制。但在實驗過程中發(fā)現(xiàn)計數(shù)值偶爾會存在誤差。通過采取以下改進(jìn)措施后:即當(dāng)CCP捕捉到第一個脈沖后便立即關(guān)閉CCP,同時啟動定時器并延時一定的時間后再重新啟動CCP繼續(xù)進(jìn)行脈沖計數(shù)。經(jīng)過較長時間的實驗測定以及用戶反饋的情況,確定采用CCP實現(xiàn)的脈沖計數(shù)已經(jīng)十分準(zhǔn)確,完全達(dá)到了系統(tǒng)的控制精度要求。
{{分頁}}
2.3.2.4:行程控制
行程電機(jī)具有硬件保護(hù)電路,在行程的首尾安裝有限位開關(guān),當(dāng)功能盒碰到限位開關(guān)后,由行程開關(guān)切斷行程電機(jī)的供電,并且引起引腳RB5和RB4的電平變化。因此程序可以通過檢測引腳RB5和RB4的電平變化來控制電機(jī)的換向。但由于行程開關(guān)在使用較長時間后可能會出現(xiàn)功能失效的情況,這時即使功能盒觸碰上下行程開關(guān),也不會引起引腳RB5或RB4的電平變化,當(dāng)出現(xiàn)這種情況時,程序由于沒有檢測到換向信號而控制電機(jī)繼續(xù)向同一方向運行,直到頂死在絲桿的極限位置。
為了避免產(chǎn)品在使用中出現(xiàn)這種情況,在控制行程電機(jī)換向的程序中,增加了按行程計數(shù)值來控制電機(jī)換向的功能:選定下行程極限位作為計數(shù)基點,行程電機(jī)啟動后便開始進(jìn)行脈沖計數(shù),并在上下行方向分別采用增減計數(shù)值的方法,當(dāng)行程計數(shù)值達(dá)到設(shè)定的極限值時便進(jìn)行換向,而當(dāng)功能盒每次重新到達(dá)計數(shù)基點時再對計數(shù)值進(jìn)行清零。
通過采用根據(jù)行程計數(shù)值來控制電機(jī)換向后,根據(jù)實驗結(jié)果以及用戶反饋的情況來看,采取以上措施后,可以顯著的提高系統(tǒng)運行的穩(wěn)定性和可靠性,從而提高了產(chǎn)品質(zhì)量,延長了產(chǎn)品的使用壽命。
3:系統(tǒng)抗干擾措施
為了保證系統(tǒng)的正常工作,在設(shè)計時采用了以下一些抗干擾措施:在硬件方面,由于系統(tǒng)對電源要求較高,因此在設(shè)計電源時采用了多級穩(wěn)壓性能較好的7805模塊;又由于本系統(tǒng)中單片機(jī)的輸入信號是開關(guān)量,因此在每一極輸入電路的輸入端增加了一極阻容濾波以防止干擾;而且系統(tǒng)采用了復(fù)位功能以防止程序進(jìn)入死循環(huán)。此外在軟件方面也采取了一些抗干擾措施,比如在電機(jī)換向時采用了一定的延時以保護(hù)電機(jī),當(dāng)CCP捕捉到有效脈沖信號后,關(guān)閉CCP并延時一定的時間后再重新啟動CCP,以減少捕捉誤脈沖等等。
4:結(jié) 論
系統(tǒng)采用PIC16F74單片機(jī)作為微處理芯片,實現(xiàn)對電動按摩椅的控制。通過在硬件電路中增加必要的互鎖電路,提高了系統(tǒng)運行的穩(wěn)定性和可靠性,并利用系統(tǒng)硬件特性實現(xiàn)了準(zhǔn)確的過零檢測,從而為電機(jī)電壓的準(zhǔn)確控制和穩(wěn)定調(diào)整提供了良好的前提條件;在軟件中,增加了按行程計數(shù)值進(jìn)行換向控制,以及采用中斷方式實現(xiàn)對電機(jī)的控制等。通過采用以上一些措施后,不但降低了控制部分的制造成本,而且縮短了產(chǎn)品的開發(fā)周期,保證了系統(tǒng)運行的穩(wěn)定性、可靠性以及經(jīng)濟(jì)實用性。
參 考 文 獻(xiàn)
[1]:譚浩強(qiáng).C程序設(shè)計[M], 清華大學(xué)出版社,2000
[2]:武 鋒.PIC單片機(jī)C語言開發(fā)入門[M],北京航空航天大學(xué)出版社,2005
[3]:劉篤仁.PIC軟硬件系統(tǒng)設(shè)計[M], 電子工業(yè)出版社, 2005
[4]:劉和平.PIC16F87X單片機(jī)實用軟件與接口技術(shù)-C語言及其應(yīng)用[M],北京航空航天大學(xué)出版社,2002
評論