易 植,李滿耀,肖運(yùn)昌
(1.湖南文理學(xué)院芙蓉學(xué)院,湖南 常德 415000;2.湖南文理學(xué)院 計(jì)算機(jī)與電氣工程學(xué)院,湖南 常德 415000;3.北京科技大學(xué) 自動(dòng)化學(xué)院,北京 100000)
重力感應(yīng)滑板是一款通過人體重心變化控制前進(jìn)與剎車的代步滑板車,體積小、質(zhì)量小,方便攜帶。現(xiàn)在市場上的電動(dòng)滑板大多采用遙控器進(jìn)行控制,但遙控器易丟失,且在通信時(shí)所產(chǎn)生的電磁輻射較大,而越來越多的遙控器對無線電頻段的占用也會越來越大。此外,市場上的電動(dòng)滑板價(jià)格都比較昂貴。本產(chǎn)品和其他類型電動(dòng)滑板車相比,具有便于控制的優(yōu)點(diǎn),沒有遙控器的束縛,減少了電磁波輻射,通過重心就可以控制前進(jìn)與剎車,控制更加直接,也符合人類慣性思維方式,即身體前傾滑板車前進(jìn),身體后傾滑板車剎車。
整個(gè)系統(tǒng)要實(shí)現(xiàn)的功能是通過重力感應(yīng)控制滑板車電機(jī)的轉(zhuǎn)速和剎車。具體來說,通過傳感器檢測人體重心位置的變化,單片機(jī)加工傳感器采集到的數(shù)據(jù)后給出滑板電機(jī)的相應(yīng)控制信號,進(jìn)而控制滑板的移動(dòng)狀態(tài),最終實(shí)現(xiàn)站在滑板上身體前傾滑板車前進(jìn),身體后傾滑板車減速剎車,人離開滑板車后滑板停車。
該項(xiàng)目在設(shè)計(jì)初期被分為兩大部分單獨(dú)設(shè)計(jì),即重力感應(yīng)系統(tǒng)和電機(jī)控制系統(tǒng)[1]。前期工作重心放在重力感應(yīng)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)上,后期主要是滑板的速度控制。除滑板板面以外,其他使用的所有材料都以體積小為基本原則,因?yàn)榛逑旅娴捏w積是有限的且本身很小。
傳感器是重力感應(yīng)滑板最重要的感覺神經(jīng),它的好壞直接決定了滑板車的品質(zhì)。項(xiàng)目初期,對比多種可以測量重力的傳感器,有體積小巧的金屬應(yīng)變式傳感器、稱重傳感器、工業(yè)級的微型壓力傳感器等。金屬應(yīng)變式傳感器很薄,各種尺寸大小都有,但是出于工作原理考慮,不適合安裝在滑板上,因?yàn)榛逍巫兞课⑿。词谷苏驹诨迳?,滑板板面的形變也微乎其微。此外,?yīng)變片一般粘貼在剛性材料表面,而滑板使用的是木板,直接粘貼后測量誤差較大。微型壓力傳感器與工業(yè)用品相比體積不大,但是與滑板相比體積已經(jīng)不合適。
綜合考慮后,需要的傳感器應(yīng)該具有以下特點(diǎn):(1)體積小,越薄越好,便于安裝;(2)測量精度高,微小的重力變化也能測量出來;(3)強(qiáng)度大,耐磨損。最后,選用的傳感器是用于人體稱重的稱重傳感器,如圖1所示。
圖1 稱重傳感器的外形
稱重傳感器本質(zhì)上是一種應(yīng)變式傳感器,外形已經(jīng)加工成橋式可以直接使用,內(nèi)部是半橋式結(jié)構(gòu)??梢詥蝹€(gè)傳感器配合外部電阻構(gòu)成全橋使用,也可以多個(gè)傳感器構(gòu)成全橋使用。
滑板控制系統(tǒng)采用Freescale公司MK60DN512ZVLQ10型號的單片機(jī)作為核心控制器。MK60DN512ZVLQ10的內(nèi)核是32位的ARM Cortex-M4,具有高能效、易使用、功耗低等特點(diǎn)。K60外部搭載50 MHz的晶振、內(nèi)部100 MHz的標(biāo)準(zhǔn)系統(tǒng)時(shí)鐘頻率,擁有強(qiáng)大的數(shù)字信號處理能力。內(nèi)部具有GPIO、PWM、LED、UART、PIT定時(shí)中斷和DMA等模塊共144個(gè)外部引腳;GPIO分為A、B、C、D、E共5組,都可組輸入與輸出用;3個(gè)PWM模塊共計(jì)12個(gè)通道,可同時(shí)向外輸出3個(gè)不同頻率的PWM信號,其中2個(gè)模塊也具有PWM輸入捕捉功能[2]。本項(xiàng)目中主要涉及GPIO模塊、PWM模塊的輸出功能以及LED模塊。
數(shù)據(jù)采集過程中,采用OLED顯示屏配合單片機(jī)進(jìn)行采集工作,也用到了IAR Embedded開發(fā)軟件進(jìn)行在線數(shù)據(jù)采集。
重心信號采集電路也是整個(gè)系統(tǒng)重要的一部分。項(xiàng)目初期采用半橋式傳感器搭配等值電阻構(gòu)成橋式電路,輸入電壓為DC 3.3 V,輸出1.2 V左右,橋式輸出端直接與單片機(jī)的ADC引腳連接。經(jīng)過測量發(fā)現(xiàn),這樣的橋式電路輸出電壓較大,但作用在傳感器上的壓力發(fā)生變化時(shí),輸出的變化量在毫伏級甚至微伏級,很難進(jìn)行進(jìn)一步的數(shù)據(jù)處理。因此,這種方案被排除。
采用SPSS 19.0統(tǒng)計(jì)軟件程序進(jìn)行統(tǒng)計(jì)分析,計(jì)量資料用均數(shù)±標(biāo)準(zhǔn)差表示,組間比較采用方差分析,多重比較采用LSD-t檢驗(yàn)。計(jì)數(shù)資料以率(%)表示,采用χ2檢驗(yàn)分析。生存資料采用Kaplan-Meier法分析,組間比較采用Log-rank檢驗(yàn),預(yù)后影響因素分析采用Cox回歸分析,P<0.05為差異有統(tǒng)計(jì)學(xué)意義。
把兩個(gè)傳感器并聯(lián)構(gòu)成互補(bǔ)式全橋電路,經(jīng)過仔細(xì)的測量挑選,終于選出2組(4個(gè))阻值非常接近的傳感器。分別并聯(lián)后,測量其輸出電壓都在毫伏級,壓力變化時(shí)輸出變化也在毫伏級,比較理想。把橋式電路的正負(fù)輸出端接到單片機(jī)的ADC輸入端,可以采集到數(shù)據(jù),但是施加在傳感器上的力緩慢變化時(shí),采集到的數(shù)據(jù)會快速發(fā)生變化,且一直在大幅度波動(dòng),給進(jìn)一步的數(shù)據(jù)處理造成了很大麻煩。仔細(xì)分析滑板對數(shù)據(jù)的需求,認(rèn)為把人體重心變化的周期控制在秒級即可,即采集到的信號維持在幾秒或者數(shù)秒變化一次就可以滿足系統(tǒng)需求,并不需要維持幾毫秒甚至幾微妙采集一次。因此,嘗試通過增加濾波電路抑制采集到的數(shù)據(jù)變化太快的問題。
設(shè)計(jì)簡單的LC低通濾波器和RC低通濾波器,結(jié)合已有材料,經(jīng)過理論計(jì)算LC濾波器與RC濾波器的截止頻率為1.447 Hz。根據(jù)周期與頻率的關(guān)系[3]:
可知,T≥0.7 s,即只有周期大于0.7 s的數(shù)據(jù)才能通過濾波器。焊接好電路后再次采集數(shù)據(jù),效果并不理想,數(shù)據(jù)波動(dòng)依然很大。將兩個(gè)濾波器串聯(lián)后再采集數(shù)據(jù),效果同樣不理想。仔細(xì)分析和實(shí)驗(yàn)后發(fā)現(xiàn),單片機(jī)內(nèi)部的ADC模塊對電源要求非常高,且存在一定的轉(zhuǎn)換誤差,這種誤差經(jīng)過軟件放大后更大,因此這種方案也被放棄。
查閱大量的資料后,找到了一種專用于應(yīng)變片的模擬/數(shù)字轉(zhuǎn)換器芯片XH711。XH711是一款專為高精度稱重傳感器而設(shè)計(jì)的24位A/D轉(zhuǎn)換芯片,如圖2所示。與同類型其他芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其他類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。該芯片輸入選擇開關(guān)可以任意選擇通道A或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對應(yīng)的滿額度差分輸入信號幅值分別為20 mV或40 mV,通道B則為固定的32增益。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供電源。把傳感器接到XH711模塊的輸入端、模塊的信號輸出端和時(shí)鐘端接單片機(jī)的I/O口,通過單片機(jī)的兩個(gè)I/O口對XH711芯片進(jìn)行編程和讀取數(shù)據(jù),再次采集數(shù)據(jù)后,得到了比較穩(wěn)定可靠的壓力數(shù)據(jù)。
圖2 XH711芯片模塊
把采集到的重力數(shù)據(jù)軟件濾波后分成兩大類:一類是滑板本身的重力,另一類是人站在滑板上以后的重力。將前者的1.2倍作為閾值,用來區(qū)分滑板上有沒有人,以實(shí)現(xiàn)控制者離開滑板后滑板自動(dòng)停車。為防止誤動(dòng)作,閾值太大會影響體重較小的使用者的體驗(yàn)。后者繼續(xù)分區(qū)域進(jìn)行控制,前端傳感器得到的數(shù)值大于某一值,單片機(jī)發(fā)出前進(jìn)控制信號;后端傳感器的值大于某一值時(shí)單片機(jī)發(fā)出剎車控制信號。以上是滑板車基本的控制思想。
滑板車系統(tǒng)采用鋰電池作為電源,因?yàn)殇囯姵鼐哂兄亓枯p、體積小、容量大等特點(diǎn)。前期調(diào)試使用的是SUING品牌的SS1792F,可跟蹤直流穩(wěn)定電源和DUPU牌2 200 mAh、11.1 V的鋰電池??筛櫡€(wěn)定電源主要在調(diào)試電調(diào)參數(shù)時(shí)使用,鋰電池則在離線調(diào)試中發(fā)揮了巨大作用。
電源直接為電調(diào)供電,經(jīng)過內(nèi)部斬波電路轉(zhuǎn)換為三相交流后輸出到滑板的三相電機(jī)。電調(diào)的控制端集成了DC 6 V的輸出電壓,可以用于單片機(jī)的電源。由于單片機(jī)采用3.3 V供電,因此把電調(diào)輸出的6 V經(jīng)過降壓處理后給單片機(jī)供電。同時(shí),在6 V輸出端與單片機(jī)之間串聯(lián)了電力二極管,防止調(diào)試時(shí)單片機(jī)經(jīng)電調(diào)內(nèi)部形成回路燒毀單片機(jī)。電能流程如圖3所示。
圖3 電源流程圖
電調(diào)即電子調(diào)速器是用來直接控制電機(jī)轉(zhuǎn)速的,這里采用華沃瑞FVTA電調(diào)。該電調(diào)完全防水,擁有全新的程序算法,具有9種啟動(dòng)加速度,加速度及油門線性度,具有電子剎車功能,具有電池電壓過低保護(hù)、過溫保護(hù)、油門失控保護(hù)以及堵轉(zhuǎn)保護(hù)等多重安全保護(hù)功能,同時(shí)支持有感和無感馬達(dá),擁有獨(dú)立編程接口[2]。
電機(jī)使用N5065型400 kV(RPM/V)的無刷電機(jī),最大電流90 A,無功電流2 A,功率為1 450 W。這種電機(jī)大多用在航模中,也可用于普通滑板改裝電動(dòng)滑板,因此選擇這種電機(jī)。由于滑板采用人體實(shí)時(shí)控制,所以選擇的是內(nèi)部不帶測速傳感器的無刷電機(jī),擬用開環(huán)控制電機(jī)的速度。電機(jī)輸出軸通過有齒皮帶與滑板后輪連接,防止傳動(dòng)時(shí)皮帶打滑,有效輸出更大。
首先安裝的是電機(jī)和車架。電機(jī)固定時(shí)需要保證其強(qiáng)度,必須牢固以防止電機(jī)支架與車架軸發(fā)生相對轉(zhuǎn)動(dòng)。車輪與車架用帶滾珠的軸承固定,減小了摩擦力和額外的損耗,車輪外側(cè)通過彈性墊圈由螺絲緊固。
其次,安裝滑板板面、傳感器、電調(diào)、電源以及單片機(jī)等。傳感器的安裝過程較為復(fù)雜。傳感器要安裝在車架和板面之間,既要起到固定作用,又要能夠保證準(zhǔn)確測量出重心位置變化。
開始時(shí),把稱重傳感器直接放置在板面和車架之間,四周用長螺絲固定,傳感器與車架的支點(diǎn)很少。這樣做雖然數(shù)據(jù)采集很準(zhǔn)確但是由于螺絲寧得較松,所以車架與板面松松垮垮,安全性差,傳感器也容易移動(dòng)增加采集數(shù)據(jù)誤差,因此這種結(jié)構(gòu)并未采納。
于是,嘗試保證安全性的前提下適當(dāng)放棄采集精度,同時(shí)通過網(wǎng)絡(luò)了解到一種PET材質(zhì)的薄膜式壓力傳感器,如圖4所示。這種傳感器非常薄,不足1 mm,非常適合該項(xiàng)目。傳感器主體部分圓直徑20 mm,引線長120 mm。傳感器區(qū)域最高分辨率面積可達(dá)1 mm×1 mm,在0.1 m2的區(qū)域面積內(nèi)分布6 000個(gè)壓力傳感器,以300 Hz采樣頻率檢測每個(gè)點(diǎn)的受力情況,被測物體質(zhì)量范圍為0.5~150 kg。
圖4 薄膜壓力傳感器
把這種傳感器壓在車架和滑板板面之間,傳感器引線接XH711模塊的輸入進(jìn)行采集測試。當(dāng)壓力變化時(shí),采集到的數(shù)據(jù)不做任何變化。多次嘗試后,依然如此。后來用萬用表測量器阻值變化發(fā)現(xiàn),無壓力時(shí)傳感器兩輸出引腳之間的電阻非常大,相當(dāng)于開路;有壓力時(shí)兩引腳之間的電阻迅速減小到幾十歐姆,作用力稍大,后端口電阻甚至?xí)p小到零點(diǎn)幾歐姆,給測量帶來了很大不便。對比各種橋式電路,電阻值多在1 Ω,阻值變化范圍也很小。這種變化范圍巨大的傳感器明顯不適合做成橋式電路。經(jīng)過多次嘗試無果后,最終放棄使用這種傳感器。
深入思考后,決定重新嘗試最初的方案并認(rèn)真優(yōu)化它。最初把測量精度放在首位,理論上可以得到數(shù)據(jù),實(shí)際使用中存在不安全因素即結(jié)構(gòu)不穩(wěn)定。于是,最終決定將兩者進(jìn)行折中思考。基于先前的研究,在傳感器下面增加塑料托片用于緩沖,并把固定滑板車架和板面的螺絲繼續(xù)緊固,直到車架和板面不發(fā)生晃動(dòng)。這時(shí)傳感器會有一基礎(chǔ)偏差,數(shù)據(jù)處理時(shí)把傳感器采集到的值減去這個(gè)基礎(chǔ)偏差當(dāng)作實(shí)際測量值,即矯正偏差的方法。再次測量后數(shù)據(jù)基本正常,雖然與實(shí)際的壓力存在一定的誤差,但是理論分析不影響進(jìn)一步控制,可以進(jìn)行下一步。
最后,安裝電調(diào)、電池和單片機(jī),并在全部組裝好以后為電調(diào)、電池和單片機(jī)設(shè)置整體的防護(hù)罩。
至此,滑板車全部組裝完畢,后續(xù)是程序的編寫和調(diào)試。
調(diào)試過程包括程序仿真和系統(tǒng)離線測試。
程序仿真主要是把控制思想轉(zhuǎn)換為程序,并在PC機(jī)上進(jìn)行邏輯測試??刂扑枷爰聪劝巡杉降闹亓?shù)據(jù)軟件濾波后分成兩大類,用于區(qū)分滑板車上有沒有人,這是滑板前進(jìn)的基礎(chǔ)條件,以實(shí)現(xiàn)人離開滑板車后滑板的自動(dòng)停車。軟件濾波采用中位值平均濾波算法,又稱防脈沖干擾平均濾波法,是把中位值濾波法和算數(shù)平均濾波法的結(jié)合體,能有效消除由偶然脈沖性干擾所引起的采樣值偏差。同時(shí),由于它測量速度較慢,正好彌補(bǔ)了單片機(jī)采樣速度太快的缺點(diǎn),兩者優(yōu)勢互補(bǔ)。
檢測滑板上有沒有人的閾值是大量測量后取的平均值,把它當(dāng)作滑板前進(jìn)的基礎(chǔ)條件,即重量小于這個(gè)值處理器不會做任何處理。如果檢測為有人,前端傳感器得到的數(shù)值大于某一值且后端傳感器得到的數(shù)值小于某一值,單片機(jī)發(fā)出前進(jìn)控制信號;前端傳感器的值小于某一值且后端傳感器的值大于某一值時(shí)單片機(jī)發(fā)出剎車控制信號,前進(jìn)與剎車之間留出一定的空間默認(rèn)前進(jìn)。
離線測試主要用來驗(yàn)證和配合程序修改調(diào)試。
經(jīng)過近半年的設(shè)計(jì)與研究,重力感應(yīng)滑板現(xiàn)已實(shí)現(xiàn)了依靠人體重心變化而控制前進(jìn)與剎車的設(shè)計(jì)目標(biāo),具備了使用者身體前傾向前行駛、身體后傾及時(shí)剎車的功能,與市場上銷售的遙控電動(dòng)滑板車在控制方法上有著本質(zhì)區(qū)別,簡化了電動(dòng)滑板的控制方法,減少了電磁波的輻射,基本實(shí)現(xiàn)了代步功能。
重力感應(yīng)滑板現(xiàn)在只是實(shí)現(xiàn)了依靠人體重心變化控制滑板的前進(jìn)和停止,后續(xù)將從身體前傾角度細(xì)化和優(yōu)化速度控制。例如,可以把身體前傾的角度分為幾個(gè)等級,每一級限制一個(gè)最大速度,直到滑板的最大速度。這樣可以實(shí)現(xiàn)不同場合下的使用速度,提高了滑板的娛樂性。此外,也可以優(yōu)化電源,使用輸出電流更大的電池,提高電機(jī)的帶載能力。