陳紅友 高翔宇
【摘 ?要】智能化產(chǎn)品的發(fā)展為殘疾人的生活帶來了便利,本設(shè)計是根據(jù)仿生原理,以STM32單片機作為核心,使用三軸加速度計和三軸陀螺儀對手臂的運動姿態(tài)進行檢測,通過NRF2.4G傳輸信號,驅(qū)動多路數(shù)字舵機來實現(xiàn)機械臂與人體手臂動作的同步,以達(dá)到控制機械臂能夠同步做出人體手臂動作的目的。經(jīng)過硬件制作和軟件調(diào)試,結(jié)果表明,該基于仿生原理設(shè)計的殘疾人機械臂能夠幫助手臂殘障的人士能如同正常人一般的生活。
【關(guān)鍵詞】STM32單片機;仿生原理;殘疾人;機械臂;陀螺儀
引言
據(jù)第六次全國人口普查統(tǒng)計,肢體殘疾人高達(dá)2472萬,因此對基于仿生原理的殘疾人機械臂設(shè)計的研究有一定的現(xiàn)實意義。仿生機械臂是通過對人類手臂的模仿,創(chuàng)造出的一種能夠?qū)崿F(xiàn)將手爪移動到所需位置和承受抓取工件的重量,以及手臂本身的重量等目的的機械裝置。仿生機械臂是仿人學(xué)與機械臂領(lǐng)域應(yīng)用需求的結(jié)合產(chǎn)物,從機械臂的角度來看,仿人機械臂則是機器人發(fā)展的高級階段,其生物特性為機器人的設(shè)計提供了許多有益的參考,使得機器人可以從生物體上學(xué)習(xí)如自適應(yīng)性、運動多樣性和靈活性等一系列良好的性能。
1.系統(tǒng)總體設(shè)計方案
1.1系統(tǒng)整體框架
該機械臂利用藍(lán)牙模塊,陀螺儀傳感器模塊、AD模塊、LCD顯示模塊、時鐘模塊、舵機等來實現(xiàn)自動化跟隨人手臂的運動,陀螺儀傳感器傳感器感應(yīng)X、Y、Z三角度的變化,A/D轉(zhuǎn)換模塊進行模數(shù)轉(zhuǎn)換,所得數(shù)字信號送入單片機進行數(shù)據(jù)處理,時鐘模塊用來計算并顯示時間,最后將得出的結(jié)果發(fā)送到液晶顯示器進行顯示?,兩個藍(lán)牙模塊相互通訊,用以實現(xiàn)遠(yuǎn)程控制。
考慮到功能實現(xiàn)與響應(yīng)時間,我們選擇采用兩塊STM32F103C8T6作為控制系統(tǒng)和機械臂的主控芯片,控制系統(tǒng)以5V鋰電池為供電單元,JY-901九軸陀螺儀傳感器將采集到的角度信號傳送給ADC0832,ADC0832進行數(shù)模轉(zhuǎn)換將數(shù)字信號送給單片機進行處理,然后把數(shù)據(jù)通過LCD屏幕顯示出來,再以200ms為時間間隔傳輸數(shù)據(jù)給機械臂。由于本次課題設(shè)計應(yīng)用實際情況,能夠?qū)崿F(xiàn)遠(yuǎn)距離無線對機械臂進行控制,本次設(shè)計選擇的藍(lán)牙模塊是HC-05模塊,HC-05 是一款高性能的從機藍(lán)牙串口模塊,可以同各種帶藍(lán)牙功能的電腦、藍(lán)牙主機、手機、PDA、PSP 等智能終端配對,HC-05藍(lán)牙模塊支持很大的波特率范圍:1200~115200,并且模塊兼容 5V 或 3.3V 單片機系統(tǒng),使用非常靈活、方便。通過發(fā)送相應(yīng)控制代碼,使機械臂能夠準(zhǔn)確的接收當(dāng)前角度的數(shù)據(jù)。機械臂接收到數(shù)據(jù)之后,使用PID算法使機械臂快速、平穩(wěn)、準(zhǔn)確的運行。
1.2系統(tǒng)原理
該設(shè)計數(shù)據(jù)發(fā)送端通過陀螺儀實時測量三維角度,角速度計算公式為:
滾轉(zhuǎn)角(x 軸)Roll=((RollH<<8)|RollL)/32768*180°
俯仰角(y 軸)Pitch=((PitchH<<8)|PitchL)/32768*180°
偏航角(z 軸)Yaw=((YawH<<8)|YawL)/32768*180°
得到三維角度之后,單片機會將測量的角度顯示在LCD顯示屏上,并且每200ms把數(shù)據(jù)傳送給數(shù)據(jù)接收端。
數(shù)據(jù)接收端接收到數(shù)據(jù)之后,對比當(dāng)前的數(shù)值和前一次接收到的數(shù)據(jù),計算其中的差值,計算好之后,使用PID算法使機械臂能夠快速、穩(wěn)定的運動到設(shè)定的空間位置。
2.軟件整體設(shè)計
該機械臂的整個程序的思路是:角度信號進行模數(shù)轉(zhuǎn)換,單片機讀取角度的數(shù)字值,經(jīng)處理,然后將角度值送至液晶顯示器中進行顯示,并通過藍(lán)牙模塊發(fā)送實時數(shù)據(jù)。
MAIN.C
int main(void)
delay_init(); ???? ?//延時函數(shù)初始化
LED_Init(); ?? //初始化與LED連接的硬件接口
uart_init(9600); ? //串口初始化為115200
TIM_PWM_Init(1439,999);//不分頻。PWM頻率=72000/(899+1)=80Khz
OLED_Init(); //初始化OLED
OLED_Clear();
LED0=1;
DuoJi_Init(); // 舵機初始化
while(1)
Usart_Init(); // 串口初始化
3.系統(tǒng)實現(xiàn)效果分析
本設(shè)計采用了STM32單片機為整個系統(tǒng)的微控制器,在實現(xiàn)全部功能的同時極大的降低了成本,與其他微控制器相比,成優(yōu)勢較高,采用了以ADC0832芯片為核心的數(shù)模轉(zhuǎn)換模塊,保證了信息的傳輸。采用了高性能的陀螺儀,能夠感受到角度的輕微變化。而且加入了時鐘模塊,時鐘模塊采用內(nèi)部供電的方式,給殘疾人提供了極大的方便。整個系統(tǒng)穩(wěn)定性好,操作簡單方便,為機械臂系統(tǒng)更加出色的完成任務(wù)提供了無限可能,又具有藍(lán)牙模塊,適用于遠(yuǎn)距離的調(diào)控,即數(shù)據(jù)的傳輸。
4.結(jié)語
(1) 本文設(shè)計采用高度集成化的A/D轉(zhuǎn)換芯片、單片機和液晶顯示模塊。大大簡化了硬件電路,顯著降低了電路板的體積和成本。
(2) 電壓信號采集芯片ADC0832是系統(tǒng)正確工作的首要前提,為確保模擬信號的可靠采集,采集前需使用集成運放將傳感器信號放大。
(3) 本系統(tǒng)不需要上位機的控制信號,在實際運行中更加貼近生活,達(dá)到較好的控制效果。
(4) 本機械臂的控制系統(tǒng)體積小、檢測精度高且成本很低。適宜機械臂使用。
參考文獻:
[1]齊楊.六軸工業(yè)機械臂運動控制系統(tǒng)設(shè)計與實現(xiàn)D];碩士學(xué)位論文;廣西:廣西科技大學(xué),2019.5.
[2]馬宇豪.六自由度機械臂避障軌跡規(guī)劃及控制算法研究[D];中國科學(xué)院大學(xué);碩士學(xué)位論文.北京:中國科學(xué)院大學(xué),2019.5.
[3]王春榮.運用SolidWorks與ANSYS的仿人機械臂設(shè)計與分析[J];三明學(xué)院學(xué)報;2020年04期.
(作者單位:鄭州科技學(xué)院 電氣工程學(xué)院)