基于ARM9的自由擺平板控制系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
本設(shè)計(jì)的重點(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è)計(jì)要求。綜上所述,本系統(tǒng)中存在大量的數(shù)據(jù)運(yùn)算及控制算法并且對實(shí)時(shí)性要求較高,因此選用主頻高達(dá)400 MHz的S3C2440作為主控芯片,一方面能保證系統(tǒng)基本功能的實(shí)現(xiàn),另一方面有助于系統(tǒng)中各種性能指標(biāo)的提升。
本文引用地址:http://butianyuan.cn/article/170541.htm1 硬件系統(tǒng)設(shè)計(jì)
本自由擺平板控制板采用S3C2440作為主控芯片,外接Nor Flash AM29LV160DB、Nand Flash K9F1208及兩塊SDRAM HY57V561620構(gòu)成嵌入式最小系統(tǒng)[1-4]。Nor Flash和Nand Flash同時(shí)存在的好處在于Nor Flash中存放BootLoader完成系統(tǒng)調(diào)試及NandFlash中程序的燒寫,方便調(diào)試。系統(tǒng)設(shè)計(jì)了5個(gè)功能按鍵分別接到S3C2440 5個(gè)外部中斷引腳(EINT8、11、13、14、15),另外接5個(gè)LED(GPH9、GPH10、GPF6、GPG1、GPB1)作為各類狀態(tài)的指示信號。通過S3C2440 6個(gè)普通I/O口模擬兩路IIC接口(GPF0~GPF5)分別接加速度傳感器1、2。4個(gè)I/O(GPE11、12、13、GPG2)口接步進(jìn)電機(jī)驅(qū)動器。如圖1所示。
2 軟件系統(tǒng)設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)相對較復(fù)雜,既要考慮系統(tǒng)基本功能的實(shí)現(xiàn),又要考慮系統(tǒng)易于使用。從軟件功能看,主程序主要完成鍵值處理、LED顯示、調(diào)用相應(yīng)任務(wù)子程序模塊以及各個(gè)任務(wù)模塊下相應(yīng)算法的實(shí)現(xiàn),系統(tǒng)主流程如圖2所示。
2.1 加速度值到角度值的轉(zhuǎn)換算法
本自由擺平板控制系統(tǒng)安裝了兩個(gè)加速度傳感器MMA7455 , 即水平安裝于平板底部的加速度傳感器1 與垂直安裝在轉(zhuǎn)軸處的加速度傳感器2, 兩個(gè)加速度傳感器安裝位置不同, 使用目的不同, 因而對角度的轉(zhuǎn)換方法也不同[ 5]。加速度傳感器1 主要用于在靜態(tài)時(shí)對平板
姿態(tài)的判定, 因此采用加速度傳感器以Z 軸加速度值就可判斷出平板靜態(tài)時(shí)的姿態(tài), 如
圖3 所示。由圖可知Z 軸所得加速度值只是重力沿平板法線方向的一個(gè)分量。故此可
得:∠A=∠B=arcos(gz/g)
加速度傳感器2 主要用來動態(tài)測量擺桿擺角, 為克服誤差的引入, 采用X、Y 兩個(gè)軸向的加速度值來測量擺角, 測量原理如圖4 所示。
由圖4 可知:θ=artan(gy/gx)。
陀螺儀相關(guān)文章:陀螺儀原理
評論