梁西銀,蘭建平,董秀娟,馬小倩
(西北師范大學(xué) 物理與電子工程學(xué)院,甘肅 蘭州730070)
本設(shè)計的重點(diǎn)在于通過加速度傳感器MMA7455采集各關(guān)節(jié)處角度信息,并根據(jù)得到的角度值及任務(wù)要求控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn),完成自由擺臂末端平板姿態(tài)的調(diào)整,完成預(yù)定任務(wù)。通過MMA7455加速度傳感器得到的是三軸加速度信息,而在實(shí)際控制過程中所需要的是角度信息,所以要用到三角函數(shù)完成加速度值到角度值的轉(zhuǎn)換,其次實(shí)踐證明MMA7455加速度傳感器穩(wěn)定性較差,需要通過滑動平均濾波算法對得到的三軸加速度值進(jìn)行濾波處理,以達(dá)到精確控制的目的。而對于步進(jìn)電機(jī)的精確控制則需要PID控制算法以去除控制過程中的抖動,達(dá)到自控系統(tǒng)“穩(wěn)、準(zhǔn)、快”的設(shè)計要求。綜上所述,本系統(tǒng)中存在大量的數(shù)據(jù)運(yùn)算及控制算法并且對實(shí)時性要求較高,因此選用主頻高達(dá)400 MHz的S3C2440作為主控芯片,一方面能保證系統(tǒng)基本功能的實(shí)現(xiàn),另一方面有助于系統(tǒng)中各種性能指標(biāo)的提升。
本自由擺平板控制板采用S3C2440作為主控芯片,外接 Nor Flash AM29LV160DB、Nand Flash K9F1208及兩塊SDRAM HY57V561620構(gòu)成嵌入式最小系統(tǒng)[1-4]。Nor Flash和Nand Flash同時存在的好處在于Nor Flash中存放BootLoader完成系統(tǒng)調(diào)試及NandFlash中程序的燒寫,方便調(diào)試。系統(tǒng)設(shè)計了5個功能按鍵分別接到S3C2440 5 個外部中斷引腳(EINT8、11、13、14、15),另外接 5 個 LED(GPH9、GPH10、GPF6、GPG1、GPB1)作為各類狀態(tài)的指示信號。通過S3C2440 6個普通I/O口模擬兩路IIC接口(GPF0~GPF5)分別接加速度傳感器 1、2。4個 I/O(GPE11、12、13、GPG2)口接步進(jìn)電機(jī)驅(qū)動器。如圖1所示。
圖1 自由擺平板控制板硬件示意圖
本系統(tǒng)軟件設(shè)計相對較復(fù)雜,既要考慮系統(tǒng)基本功能的實(shí)現(xiàn),又要考慮系統(tǒng)易于使用。從軟件功能看,主程序主要完成鍵值處理、LED顯示、調(diào)用相應(yīng)任務(wù)子程序模塊以及各個任務(wù)模塊下相應(yīng)算法的實(shí)現(xiàn),系統(tǒng)主流程如圖2所示。
圖2 軟件系統(tǒng)框圖
本自由擺平板控制系統(tǒng)安裝了兩個加速度傳感器MMA7455,即水平安裝于平板底部的加速度傳感器1與垂直安裝在轉(zhuǎn)軸處的加速度傳感器2,兩個加速度傳感器安裝位置不同,使用目的不同,因而對角度的轉(zhuǎn)換方法也不同[5]。加速度傳感器1主要用于在靜態(tài)時對平板姿態(tài)的判定,因此采用加速度傳感器以Z軸加速度值就可判斷出平板靜態(tài)時的姿態(tài),如圖3所示。由圖可知Z軸所得加速度值只是重力沿平板法線方向的一個分量。故此可得:∠A=∠B=arcos(gz/g)
加速度傳感器2主要用來動態(tài)測量擺桿擺角,為克服誤差的引入,采用X、Y兩個軸向的加速度值來測量擺角,測量原理如圖4所示。由圖 4 可知:θ=artan(gy/gx)。
對于平板角度的調(diào)整是根據(jù)所采到的角度值和任務(wù)要求控制步進(jìn)電機(jī)的轉(zhuǎn)動來實(shí)現(xiàn)的。而如果根據(jù)角度偏差e(k)直接調(diào)整步進(jìn)電機(jī),則會帶來抖動、超調(diào)等問題,故此考慮采用PID控制算法對步進(jìn)電機(jī)進(jìn)行調(diào)整。數(shù)字PID算法如式(1)所示:
化簡得:
由式(2)可得,第k-1時刻PID調(diào)節(jié)的表達(dá)式為:
由式(2)、式(3)得:
式(4)即為本系統(tǒng)所使用的PID控制數(shù)學(xué)模型。
系統(tǒng)進(jìn)入穩(wěn)態(tài)后,偏差是很小的。如果偏差在一個很小的范圍內(nèi)波動,控制器讀到這樣微小的偏差計算后,將會輸出一個微小的控制量,此時輸出的控制值在一個很小的范圍內(nèi)不斷改變自己的方向,頻繁動作,從而發(fā)生抖動,這樣不利于平板的精確控制,因此,當(dāng)控制過程進(jìn)入這種狀態(tài)時,就進(jìn)入系統(tǒng)設(shè)定的一個輸出允許帶 e0,即當(dāng)采集到的偏差|e(k)|<e0時,不改變控制量,使步進(jìn)電機(jī)的控制穩(wěn)定進(jìn)行。由式(4)可得步進(jìn)電機(jī)PID控制算法流程如圖5所示。
圖5 步進(jìn)電機(jī)PID控制算法流程圖
單擺一個擺動周期為2 s,步進(jìn)電機(jī)旋轉(zhuǎn)1°需要4個脈沖,故此任務(wù)中只需控制脈沖輸出頻率為720 Hz即可完成單擺擺動一個周期平板尋轉(zhuǎn)一圈的要求。
如圖 6所示,將擺桿拉至一固定角度 α(α 在 45°~60°之間),系統(tǒng)通過平板底部角度傳感器采集平板的傾角,根據(jù)PID算法控制步進(jìn)電機(jī)將平板調(diào)至水平狀態(tài)。將8枚硬幣整齊疊放在平板中心位置,此時Z軸的加速度值等于1 g;放手后平板會略微傾斜,此時Z軸的加速度值小于1 g,因此可根據(jù)Z軸加速度值的大小判斷松手時刻,與此同時通過轉(zhuǎn)軸處的加速度傳感器采集擺桿與垂直方向的夾角(即擺角 α),并控制步進(jìn)電機(jī)偏轉(zhuǎn) α角度(即平板與擺桿垂直)。經(jīng)受力分析可知,在平板與擺桿垂直狀態(tài)時,各枚硬幣X和Y方向所受合力均為0(即硬幣處于平衡狀態(tài)),硬幣不會從平板滑落(對應(yīng)多枚模式)。
假設(shè)單擺的初始位置在 56.3°(arctan(1/r)=56.3°)處,此時單擺的擺尖正指向A點(diǎn)處(若擺角擺于56.3°位置處則平板正好修正 90°),此時平板與單擺平行,若單擺順時針轉(zhuǎn)動角度θ(如圖7所示),平板若要指向 A點(diǎn),則需逆時針轉(zhuǎn)動β角度,β和θ的計算關(guān)系如下(假設(shè)單擺與平板平行,最后減去90°就與題目要求一致):其中,α=θ-56.3°,β′=β-90°(平行修正為垂直),α 為單擺擺角,β′為平板最終調(diào)整角度(逆時針旋轉(zhuǎn)為負(fù)角度,順時針旋轉(zhuǎn)為正角度)。
故可根 據(jù)式(5)生成 β′=f(α)的查找表,即根據(jù)擺角α查找出 β′。 該任務(wù)的程序流程圖如圖8所示。
圖8 激光筆照射任務(wù)1流程圖
激光筆照射任務(wù)2與上述基本原理相同,只不過任務(wù)2需要實(shí)時采集加速度傳感器 1、2的值來調(diào)整平板姿態(tài)。
本設(shè)計從理論分析到元器件的選型,再到各個環(huán)節(jié)各類優(yōu)化算法的使用,均保證了系統(tǒng)功能的實(shí)現(xiàn)和性能指標(biāo)的提高。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)結(jié)構(gòu)緊湊、穩(wěn)定性好、控制準(zhǔn)確,滿足自控系統(tǒng)“穩(wěn)、準(zhǔn)、快”的設(shè)計要求,系統(tǒng)具有廣闊的工業(yè)應(yīng)用前景。
[1]肖成,羅堅(jiān),劉錳.基于 S3C2440的嵌入式智能小車控制系統(tǒng)設(shè)計[J].信息與電腦(理論版),2011(5):60-61.
[2]張自嘉,徐向明.基于 S3C2440和 AD9248的高速采集系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2011,37(1):68-70.
[3]馮博琴.微型計算機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,2006.
[4]邢博聞.加速度傳感器在模型火箭定高分離中的應(yīng)用[J].科技創(chuàng)新導(dǎo)報,2010(6):14-15,17.
[5]安福林.用于角度測量的加速度傳感器輸出信號的處理方法[J].軍械工程學(xué)院學(xué)報,1994,6(3):212-216.
[6]盧亞平.基于 C語言的數(shù)字PID控制算法及實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報,2010(30):24-25.
[7]俞金壽,蔣慰孫.過程控制工程[M].北京:電子工業(yè)出版社,2007.