具備學習功能的電動按摩椅控制系統的研制
吳永明,羅海據
(廣東工業大學機電工程學院,廣州510090)
摘要:為了提高電動按摩椅的操作便利性和安全性,研究了按摩椅控制系統。在硬件上采用互鎖電路,保證了電路系統的安全性;在軟件上實現了按響應時間分類的電機控制系統,提供自動按摩和個性化按摩等模式,并通過保存和復原用戶設定的個性化按摩模式,實現按摩椅的學習功能。利用Petri網對該控制系統進行建模和分析,以保證所要實現的功能之間沒有死鎖和沖突。該控制系統已經用于上市的產品中,獲得了用戶的好評。
關鍵詞:電動按摩椅;控制系統;學習功能;Petri網
中國分類號:TM33 文獻標識碼:A 文章編號:1004—7018(2008)04—0038—04
0引言
隨著我國經濟的迅速發展和人們生活水平的不斷提高,電動按摩椅越來越受到大眾的歡迎。目前,在電動按摩椅市場上,進口、合資以及國產產品并存。相對而言,進口產品功能強大、按摩方式豐富、外觀優美,但同時其價格也非常昂貴。而國內產品功能較簡單,產品知名度也相對較低,但是其價格比較低廉。
為了提高電動按摩椅在市場上的競爭能力,本文研究出一套自主研發的中檔電動按摩椅的控制系統。該控制系統能完成一般電動按摩椅的自動按摩模式和定點按摩模式,并增加學習功能以實現和保存用戶個性化自動按摩模式。
本文先介紹學習功能的概念,再論述控制系統的硬件系統和軟件系統,然后再結合硬件系統和軟件系統介紹學習功能的實現。
1學習功能說明
按摩椅的自動按摩模式實際上是按時間順序對揉捏、捶打、推拿這三個電動機模塊接口的設置集合,它固化在程序里,用戶不能改變它們;定點按摩模式是用戶按自己的意愿選擇按摩手法。
由于每個人的生理特點,如身體結構、身高體重等是不一樣的,對于按摩手法、力度等的感受就不一樣,自動按摩模式很難滿足所有用戶的需要。而定點按摩模式要求用戶每次都要選擇按摩手法,略顯麻煩。如果按摩椅能夠“學習”用戶的按摩手法,形成一套個性化的按摩流程并保存下來,提供給用戶在以后使用,既有自動按摩模式的方便又有定點按摩模式的舒服,無疑會提高用戶的滿意度,提高產品的市場競爭能力。
實現學習功能的技術路線是:在用戶選擇個性化自動按摩功能設定時,系統按時間順序依次將用戶的按鍵消息保存下來;當用戶選擇個性化自動按摩模式進行按摩時,系統按時間順序依次模擬發射這些消息,復原這些操作和控制。其中系統還增加了對這些消息的刪除、調整等功能,提高操作界面的友好性。
2硬件系統的設計
2.1硬件系統的組成
控制系統主要包括了Mcu、電源模塊、I2c接口的E2PROM、液晶屏、無線遙控模塊、鍵盤輸入手控板、直流電動機驅動電路等。Mcu采用PIC16F77單片機,這種單片機具有成本低、功能豐富、抗干擾能力強等優勢而廣泛用于電動機控制系統。E2PROM用來保存用戶輸入的信息,并且PICl6F74單片機內部集成了I2c和SPI電路,接口方便。
直流電動機由MOsFET管構成橋式電路驅動,實現正反轉。而MOsFET采用IR2110來驅動,該電路成熟穩定[2],應用在本產品上比較合適,如圖1所示。
2.2硬件系統的工作原理
控制系統首先完成硬件軟件的初始化,然后掃描鍵盤的輸入,根據鍵碼設定的模塊接口,完成各種功能。軟件設定了各個電動機的連續運行時間不得超過15 min,即使用戶忘記關閉按摩椅,系統也能將按摩椅關閉以保安全。
直流電動機用PWM進行驅動。用單片機的一個時間定時器產生一個單位脈寬,然后用多個計數器來對這個脈寬進行計數,分別產生多個PWM驅動多個電動機。通過改變計數器的范圍而改變PWM的脈寬,實現電動機的調速。由圖1可知,脈沖從LEFT輸入時,Q2和Q3截止,Q1和Q4導通,實現正轉;脈沖從RIGt佃輸入時,Ql和Q4截止,Q2和Q3導通,實現反轉。
2.3硬件系統的安全措施
在驅動大功率直流電動機時,器件的安全性很重要,對于IR2110驅動電路的保護措施,很多文獻已經有論述[2-3]。在實際應用中,由于受到干擾導致程序處于一個未知狀態,使LEFT和RIGHT同時為高電平,或者LEFT和RIGHT進行切換時時間延時過短等,它們都會導致MOSFET管的燒毀。因而本系統增加了如圖2所示的互鎖電路。R1、C1、Dl、D2組成緩沖電路,當Direction由高電平向低電平轉換時,C1向R1放電,X2A先停止輸出,過一段時間后x1A才能輸出;當Direction由低電平向高電平轉換時,c1通過R1充電,XlA先停止輸出,過一段時間后x2A才能輸出。在實際應用中,軟件先把Mo-torPulse置為低電平,再切換Direction的狀態。互鎖電路解決了H橋有可能同時導通的問題,保證了電機驅動電路的安全可靠。
3軟件系統的設計
3.1軟件的整體架構
按摩手法的實現實際上是對這些電動機的起停、加速、點動、變速、換向等控制功能的組合。實現學習功能,系統至少要保證兩點:一是多個電動機能夠并行工作而且系統對它們的響應時間要短,二是設定的各種電機控制功能在運行的時候不存在沖突。
多模塊并行工作的實現,一般方法是先將嵌入式實時操作系統移植到單片機,然后開辟多個任務來管理多個模塊的運行。目前流行的多任務單片機實時操作系統基本上都通過改變單片機的程序計數器(Pc)來進行任務調度,同時需要比較多堆棧來實現,例如uc/Os、VxWorks、uc/Linux等。由于PIc系列的單片機的Pc和堆棧特性,這些系統都不能勝任,如何讓PIc單片機完成一個多任務的控制過程是解決此問題的關鍵所在。
相對于傳統面向過程的編程方法,本文提出了另一種的解決方案。首先,整個系統的軟件架構分為前臺運行的程序和后臺運行的程序,前臺負責的任務有:依照鍵碼完成各種功能的調用和自動按摩流程、定點按摩或者個性化自動按摩流程等對模塊接口的設置,后臺負責完成模塊的驅動。在后臺,采用按構成系統的實體對象分類:按鍵模塊、揉捏電動機驅動模塊、行走電動機驅動模塊、錘打電動機驅動模塊、存儲模塊等。其次,以行走電動機的控制為例,控制包括運行時間、運行速度、是否可以換向、換向時間等,它們構成了一個電動機控制系統。這個電機控制系統提供對外接口,其他程序能夠通過這個接口的參數完成電動機的操作,而不用關心這些功能的實現。
3.2模塊的建構
對這些模塊的功能構成的分析可知,每個模塊都有一些子功能,有些要求系統的響應時間比較短,有些要求比較長。為了提高控制系統的實時性,系統采用了按響應時間要求對這些功能進行分類,并分別去完成,以達到多個任務運行的效果。換言之,對于一些要求實時性比較高的功能,控制系統可以配更多的時間去運行它們。
在代碼組織上,首先保證主循環程序不管在什么情況下每循環一周用的時間不超過lO ms。其次,每個模塊按照各個子功能實際要求的響應時間設置子功能的掃描時間。為了減少單片機的內存消耗,一般至多分為4個等級。以行走電動機的控制為例可以設定兩個等級:Tc子功能是每100 ms掃描一次的,Tc完成運行總時間的監控;Mc子功能是主程序每循環一次掃描一次,它包含了起動功能、以預設速度運行功能、換向功能、停止功能,如圖3所示。由此可見,電動機的換向功能、停止功能等響應時間最遲也是主程序掃描一周的時間,大概也在lO ms內;電動機可設定的最小運行總時間是100ms。試驗證明,在運行中,系統的所有模塊的響應時間都在預設的范圍內。
3.3電機模型的驗證
在眾多模塊中,電動機的控制模型最為重要,為了節省篇幅,本文只對行走電動機的模型進行模擬驗證。為了能對電動機控制模型進行動態模擬以及了解電機運行狀況,本文引入一種建模工具:Petri網。它是基于信息流模型的,特別適合描述異步、并發、沖突、資源共享等現象。它不僅有嚴格的數學基礎,有各種分析方法,對系統性能進行分析和形式化
驗證;而且有直觀的圖形表示,易于理解,是不同知識背景工程技術人員間的一種“共同語言”。本文采用Petri網對電動機的控制進行建模,借此了解電動機的運行狀態,判斷電動機的各種功能是否存在死鎖和沖突。
以行走電動機的控制為例建立Petri網模型,它們的定義參照Petri網的原型[4]。在原型的基礎上,定義一種控制弧:
其中:(S x T)cF,表示權值為O的權值函數。在Peti網上,用起始帶圓圈末端帶箭頭的弧表示,如圖4b所示的(P1,T1)。
這種CW(s,t)=O的弧所表征的意義是:對某一變遷t,s參與t的變遷,但是s的token并沒有發生變化,如圖4b所示。很顯然,圖4a和圖4b中T1發生的條件和結果是等價的,這種帶有控制弧的Petri網在功能上等價于Petri5網原型。因此,可以運用Petri網的一些基本原理和分析方法判斷建立模型的性質。帶控制弧的Petri網增加了可以描述分層,而且層與層之間的tokert包含不同資源的Petri網的功能,方便電動機控制模型的分析。
在毫秒級執行的子功能Mc要實現的電動機控制功能有:
(1)由于電動機起動瞬間需要比較大功率,處于起動階段P3;
(2)電動機以預設速度運行的狀態P4;
(3)由于電動機的換向對電路的沖擊比較大,在控制上先停止電機幾十毫秒后再換向,以減少沖擊,處于間隙停止換向狀態P5;
(4)停止狀態P6。
在秒級執行Tc的功能有:
(1)計算行走電動機運行的總時間P2;
(2)運行時間結束狀態P1。
在系統上電時,電動機的初始態為停止狀態,Pl和P6有token,即M0={l,0,O,O,O,1},則行走電動機控制的Petri網模型如圖5所示。
下對于任一個變遷T,都有可能發生,因而這是個活的Petri網,并且是一個有界的安全網。也就是說,電動機運行的每一個狀態都是可達的,不存在死鎖等情況。
當T1發生,P2具有token,T3發生,然后T4、T5、T6將循環發生,電機正常運行。當T2發生,Pl具有token,那么T7、T8、T9的其中之一發生,電動機停止。也就是說T1、T2成了 T3到四的發生變遷的開關。在軟件的處理上面,Mc和Tc的token包含的信息是不同的。P2里的token包含一個時間計數器,當Tc每被執行一次,這個計數器就被減100ms,設置時間初始值就可以控制電動機的運動時間。當P2里的時間計數器等于O時,T2發生,Pl有token,電動機在任何狀態下都進入停止狀態,等待下一次起動。P3、P4、P5里面的token也包含一個時間計數器,只不過Mc每執行一次,計數器減一對應的時間減少大約lO ms。
4學習功能的實現
在前面介紹的硬件系統和軟件系統基礎上,本節簡要介紹實現學習功能的流程。首先,用戶按學習功能鍵進入學習狀態。系統將行走電動機、捶打電動機、揉捏電動機復位。在液晶顯示屏的提示下,用戶開始按鍵設定各種按摩手法。這時定義一個計時器,開始以100 ms為單位記錄用戶的按鍵操作。用戶設定過程如表1所示,以四個操作為例
在第1 s時,用戶按了推拿鍵開始推拿;程序按時間順序在第一個消息序列里將10和推拿鍵的鍵碼10保存到E2PROM;用戶按下其他按鍵,程序也一樣依次記錄下來,如表1中保存的信息。在設定的過程中,用戶有可能產生誤動作或者對所設定的按摩手法不滿意,因此系統提供了對這些信息的刪除、調整等功能。
當用戶調用個性化自動按摩模式時,系統將保存在E2PROM的第一個信息讀出來放在比較器,然后起動一個以100ms為單位的計時器。當計時器增加到與比較器有匹配的時間后,將鍵碼賦值給鍵盤模塊的接口,由鍵盤模塊完成電動機模塊的設置。然后將讀取第二個信息放在比較器,等待執行下一個命令。個性化自動按摩模塊跟其他模塊相類似,它是每100ms掃描一次,如圖3所示。例如當計時器從O增加到10時,發現有匹配的時間,于是起動推拿功能。如果讀出的信息是零,則表示按摩流程結束,退出個性化自動按摩模式。
5結語
本文研究的按摩椅控制系統,在軟件方面,提供了三種按摩模式,并實現了學習功能;各種模塊通過接口進行信息交換,模塊之間耦合程度低;電動機運行時的狀態通過Petri網進行了模擬,是安全而沒有沖突的,即使是用戶任意設置按摩功能,電動機都能一一實現。在硬件方面,電動機的驅動采用了互鎖電路,即使用戶在很短的時間設置電動機的換向、點
動等操作,也能保證電動機驅動器件的安全性。該系統已經運行在實際按摩椅產品上,具備個性化自動按摩功能的按摩椅投放市場后,受到了消費者的一致好評。今后要做的工作是,在用戶日常使用按摩椅的過程中,采用智能模糊算法記錄用戶的輸入,簡化學習功能的設定而自動建立個性化自動按摩模式。
|