劉 濤,豆勤勤
(1.安徽工業(yè)大學(xué) 機(jī)械學(xué)院;2.安徽工業(yè)大學(xué) 工商學(xué)院,安徽 馬鞍山 243002)
?
基于C8051F020單片機(jī)的力感知控制系統(tǒng)設(shè)計(jì)
劉濤1,豆勤勤2
(1.安徽工業(yè)大學(xué)機(jī)械學(xué)院;2.安徽工業(yè)大學(xué)工商學(xué)院,安徽馬鞍山243002)
摘要:目前基于磁流變的力感知控制系統(tǒng)的開發(fā)著重于控制系統(tǒng)硬件研究和軟件實(shí)現(xiàn),在硬件設(shè)計(jì)上著重于電流驅(qū)動(dòng)器和一些專用控制器的設(shè)計(jì).文章對(duì)電流驅(qū)動(dòng)器及相關(guān)電路進(jìn)行了設(shè)計(jì),并編制了相應(yīng)的軟件程序.實(shí)現(xiàn)了力感知控制系統(tǒng)的要求.
關(guān)鍵詞:?jiǎn)纹瑱C(jī);電流驅(qū)動(dòng);力感知
開展基于磁流變液的力感知系統(tǒng)課題的研究最終要建立在將力感知裝置應(yīng)用在力感知系統(tǒng)的軟硬件平臺(tái),解決基于磁流變液在力感知系統(tǒng)中應(yīng)用的一些關(guān)鍵技術(shù)問(wèn)題,滿足工業(yè)現(xiàn)場(chǎng)應(yīng)用和實(shí)驗(yàn)研究的需要.
基于磁流變的力感知控制系統(tǒng)的設(shè)計(jì)主要分為控制系統(tǒng)硬件及軟件的設(shè)計(jì)及實(shí).硬件設(shè)計(jì)著重于電流驅(qū)動(dòng)器和一些專用控制器,本文目標(biāo)是開發(fā)既能滿足實(shí)驗(yàn)研究需要,又能滿足現(xiàn)場(chǎng)的力感知控制系統(tǒng)的軟硬件平臺(tái).力感知控制系統(tǒng)不僅能夠?yàn)榱Ω兄b置提供電流驅(qū)動(dòng),且可以實(shí)時(shí)地處理傳感器信號(hào),遵循指定的控制算法進(jìn)行.
單片機(jī)C8051F020是一個(gè)完整的數(shù)據(jù)采集與控制系統(tǒng),片上集成了A/D轉(zhuǎn)換模塊、PWM脈寬調(diào)制模塊等功能,因此選用C8051F020單片機(jī)作為控制系統(tǒng)的核心.它承擔(dān)著信號(hào)采集、分析、運(yùn)算控制、數(shù)據(jù)存儲(chǔ)等任務(wù).整個(gè)控制系統(tǒng)結(jié)構(gòu)如圖1所示,主要包括位移傳感器、力傳感器、力感知裝置、電流驅(qū)動(dòng)電路等幾部分.
其工作原理為:由傳感器測(cè)得被控對(duì)象外部力信號(hào),傳感器信號(hào)經(jīng)過(guò)控制和分析后輸入控制器計(jì)算控制輸出,傳感器采用的是力-電壓傳感器,因此輸出一定的電壓信號(hào),電流驅(qū)動(dòng)器把此信號(hào)通過(guò)一定的算法轉(zhuǎn)換為控制電流加到力感知裝置的勵(lì)磁線圈上,由于改變力感知裝置線圈的激磁電流的大小可以改變磁流變液中的磁場(chǎng)強(qiáng)度,使工作缸內(nèi)的磁流變液黏度發(fā)生變化,人手推動(dòng)手柄就可以感受到不同力的作用.從而實(shí)現(xiàn)力感知.
圖1 力感知控制系統(tǒng)示意圖
力感知裝置的驅(qū)動(dòng)電流的實(shí)時(shí)精確調(diào)節(jié)對(duì)其性能的影響很大.其性能指標(biāo)很多:根據(jù)磁流變阻尼器的控制電流與阻尼力的關(guān)系,要求控制電流連續(xù)可調(diào)并具有較高的線性度和較小的相對(duì)誤差;控制系統(tǒng)的實(shí)時(shí)性要求控制器的響應(yīng)速度要快,另外還需滿足實(shí)際的產(chǎn)品化要求,如功耗小,功率高,體積輕便等[5-7].
圖2 電流驅(qū)動(dòng)器工作原理圖
力感知裝置的控制電流源類似于磁流變阻尼器的控制電流源,因此設(shè)計(jì)原理與磁流變阻尼器相同.電流控制器采用流源控制方式:其優(yōu)點(diǎn)是在電源可能的范圍內(nèi),控制器均可提設(shè)置的電流大小,勵(lì)磁線圈對(duì)電流源響應(yīng)較快.
本文設(shè)計(jì)的力感知裝置采用直流供電,避免了渦流損失.單片機(jī)C8051F020是電流驅(qū)動(dòng)器的核心,其工作原理如圖2所示.
圖中Vg為經(jīng)整流濾波后輸入的直流電壓,本實(shí)驗(yàn)中使用12V直流電源供電,磁流變阻尼器最大通過(guò)電流限制為0.4A,Q為功率MOSFET,本文采用 ST70A,由于單片機(jī)最高輸出電平為2.7~3.3V,ST70A的工作電壓為5V,因此要使用電平轉(zhuǎn)換芯片LVC4245進(jìn)行電平轉(zhuǎn)換,采用D為快恢復(fù)二極管,型號(hào)為IN4937,RM是磁流變阻尼器的等效阻抗,大小為4.1Ω,單片機(jī)為C8051F020芯片,是控制系統(tǒng)的核心.在PWM脈寬調(diào)制信號(hào)控制下,Q工作在開關(guān)狀態(tài)下,Q的工作頻率和占空比等于PWM脈寬調(diào)制信號(hào)的頻率和占空比.Q導(dǎo)通時(shí),D處于截止?fàn)顟B(tài),直流電壓Vg加在D的兩端,經(jīng)LC濾波后對(duì)磁流變阻尼器供電;Q截止?fàn)顟B(tài)時(shí),輸入電壓為0,D在回路電感的作用下導(dǎo)通,構(gòu)成續(xù)流回路.I為一個(gè)周期內(nèi)的平均輸出電流.RS為采樣電阻,KI表示輸出電流的采樣,K為增益系數(shù),KI輸入到集成的A/D轉(zhuǎn)換接口,單片機(jī)對(duì)采樣信號(hào)進(jìn)行運(yùn)算后,根據(jù)相應(yīng)的策略輸出一定占空比的PWM信號(hào),控制主回路輸出電流的大小.
紋波電壓、紋波電流、平均輸出電流可通過(guò)公式1-4計(jì)算.
在主程序中,首先完成系統(tǒng)的初始化[6],包括C8051F020、定時(shí)器和外部中斷的初始化.控制系統(tǒng)的軟件采用匯編語(yǔ)言設(shè)計(jì),系統(tǒng)工作時(shí)主程序可以處理其它事務(wù),當(dāng)定時(shí)器2發(fā)生周期中斷時(shí),觸發(fā)A/D采樣,然后根據(jù)電流控制算法程序,輸出PWM信號(hào)的占空比D,D送給PWM信號(hào)發(fā)生模塊,產(chǎn)生的PWM信號(hào)用于控制驅(qū)動(dòng)電流的輸出.整個(gè)控制流程圖如圖3所示.
圖3 主程序流程圖
3.1數(shù)據(jù)采集模塊
本文采用12位ADC的工作方式,不同型號(hào)的ADC工作方式略有不同,但都需要使用VREF來(lái)確定它的滿度電壓,因此在進(jìn)行一次轉(zhuǎn)換之前必須正確設(shè)置這個(gè)參考電壓.ADC的轉(zhuǎn)換時(shí)鐘來(lái)源于系統(tǒng)時(shí)鐘.可以通過(guò)設(shè)置ADC0CF寄存器的ADCSC位,將轉(zhuǎn)換時(shí)鐘的速度降為系統(tǒng)時(shí)鐘的1/2,1/4,1/8,或1/16.這一功能用于根據(jù)不同的系統(tǒng)時(shí)鐘速度調(diào)整轉(zhuǎn)換速度.不同型號(hào)的ADC工作方式雖然有差別,但大同小異.
本實(shí)驗(yàn)將外界力信號(hào)通過(guò)傳感器轉(zhuǎn)化為0~5V的電壓信號(hào),對(duì)此電壓信號(hào)進(jìn)行采樣.為了保證足夠的精度,采用12位的ADC模塊.采用定時(shí)器3溢出啟動(dòng)A/D轉(zhuǎn)換,采用內(nèi)部振蕩器,選擇系統(tǒng)時(shí)鐘頻率為4MHz,定時(shí)器3的溢出時(shí)間為10ms.定時(shí)器3不僅用于定時(shí)中斷,還用于啟動(dòng)A/D轉(zhuǎn)換.定時(shí)器3溢出一次,啟動(dòng)一路A/D轉(zhuǎn)換,即在中斷程序中,一次有1路模擬電壓信號(hào)完成數(shù)據(jù)的啟動(dòng)、轉(zhuǎn)換和采集.
當(dāng)系統(tǒng)時(shí)鐘頻率為4MHz,定時(shí)器3的定時(shí)間隔為10ms,它的重裝載值X應(yīng)該如下計(jì)算:定時(shí)技術(shù)次數(shù)為 10000μs÷0.25=40000,重裝載值X=65536-40000=63C0H.
3.2PWM脈寬調(diào)制模塊
脈寬調(diào)制PWM是通過(guò)改變一個(gè)脈沖寬度的占空比改變輸出波形的方法(占空比是波形為高電平的時(shí)間與PWM信號(hào)周期之比),這種方法在工業(yè)控制上應(yīng)用廣泛.C8051F020單片機(jī)具有這個(gè)模塊功能.采用PCA產(chǎn)生PWM信號(hào)可以提高CPU的工作效率.
本實(shí)驗(yàn)采用8位脈寬調(diào)制輸出方式輸出占空比可變的波形.占空比隨著所采樣電壓信號(hào)的大小而變化,每隔10ms,使電壓變化1次.仍然利用定時(shí)器3定時(shí)10ms.信號(hào)由CEX0引腳輸出.
3.3串口通信模塊
C8051F020單片機(jī)是一個(gè)可編程的全雙工異步串行通信接口,它可以作為通用異步接收和發(fā)送器用,也可做同步移位寄存器用,還能實(shí)現(xiàn)多機(jī)通信.
通過(guò)軟件編程可使串行通信有4種工作方式.本文采用工作方式1,串行口為10位通用異步接口.發(fā)送或接收一幀數(shù)據(jù),包括1位起始位0,8位數(shù)據(jù)位和1位停止位.其傳送波特率可調(diào).其接收與發(fā)送情況如下:
3.3.1發(fā)送
當(dāng)執(zhí)行“MOVSBUF,A”指令時(shí),CPU將一個(gè)字節(jié)數(shù)據(jù)寫入發(fā)送緩沖寄存器SBUF(99H),就啟動(dòng)發(fā)送器發(fā)送,數(shù)據(jù)從引腳TXD端輸出.當(dāng)發(fā)送完一幀數(shù)據(jù)后,T1標(biāo)志置1,在中斷方式下將申請(qǐng)中斷,通知CPU可以發(fā)送下一個(gè)數(shù)據(jù),如要繼續(xù)發(fā)送必須清TI為0.
3.3.2接收
接收時(shí),使REN置1允許接收,串行口采樣引腳rxd.當(dāng)采樣到1至0的跳變時(shí),確定是起始位“0”,就開始接收一幀數(shù)據(jù).當(dāng)停止位到來(lái)之后把停止位送入RB8位,則置位中斷標(biāo)志RI,在中斷方式下將申請(qǐng)中斷,通知CPU從SBUF取走接收到的一幀數(shù)據(jù).不管是中斷方式還是查詢方式,都不會(huì)清除TI或RI標(biāo)志,必須用軟件清0.
本實(shí)驗(yàn)定義串口通信在工作方式1下,TB8作奇偶校驗(yàn)位.采用定時(shí)器1方式2作波特率發(fā)生器,波特率為4800,外部晶振為11.0592MHz,定時(shí)器初值TH1=TL1=0FAH.
本文對(duì)力感知控制系統(tǒng)的軟硬件平臺(tái)進(jìn)行了設(shè)計(jì),介紹了電流驅(qū)動(dòng)器的工作原理,并設(shè)計(jì)了適用于本實(shí)驗(yàn)系統(tǒng)的電流驅(qū)動(dòng)器,給出了控制軟件總流程.實(shí)現(xiàn)了力感知控制系統(tǒng)的工作要求,取得了較好的實(shí)驗(yàn)效果.
參考文獻(xiàn):
〔1〕余淼,廖昌榮,楊建春.磁流變阻尼器PWM快速控制[J].中國(guó)機(jī)械工程,2002,13(14):1238-1240.
〔2〕宋瑞坡,佘紅,王強(qiáng)鋒等.磁流變阻尼器阻尼力控制系統(tǒng)的設(shè)計(jì)[J].煤礦機(jī)械,2009,30(2):32-34.
〔3〕沈娜,王炅,王曉鋒.基于C8051F的磁流變控制器設(shè)計(jì)[J].電子產(chǎn)品世界,2007(4):99-100.
〔4〕樊凡.基于DSP的磁流變阻尼器控制系統(tǒng)的研究[D].武漢:武漢科技大學(xué),2006.
〔5〕王立克.磁流變阻尼器減振系統(tǒng)半主動(dòng)控制方法的研究[D].天津:中國(guó)民用航空學(xué)院,2006.
〔6〕沈娜.主動(dòng)變阻尼沖擊減振系統(tǒng)的控制研究[D].南京:南京理工大學(xué),2007.
〔7〕李一平.磁流變阻尼器的控制器及其應(yīng)用[D].重慶:重慶大學(xué),2005.
中圖分類號(hào):TP339
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1673-260X(2016)05-0007-03
收稿日期:2016-03-29
基金項(xiàng)目:安徽省科技廳自然科學(xué)基金(KJ2013B039)
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2016年10期