利用電磁導(dǎo)航的AGV設(shè)計(jì)
1.3 無(wú)線傳輸模塊
本設(shè)計(jì)采用DTD462無(wú)線傳輸模塊,西安達(dá)泰公司生產(chǎn)的DTD462無(wú)線傳輸模塊,廣泛地運(yùn)用于無(wú)線數(shù)據(jù)傳輸領(lǐng)域。它能提供高穩(wěn)定,高可靠,低成本的數(shù)據(jù)傳輸,還提供了豐富的外圍接口,并具有安裝維護(hù)方便,繞射能力強(qiáng),組網(wǎng)結(jié)構(gòu)靈活,范圍覆蓋寬等特點(diǎn)。采集數(shù)據(jù)的實(shí)時(shí)傳送,滿足客戶對(duì)于數(shù)據(jù)實(shí)時(shí)性,準(zhǔn)確性的要求。此類無(wú)線傳輸方式有高可靠性、體積小、重量輕,傳輸距離30~300 m等特點(diǎn)。系統(tǒng)攝像頭采集到的視頻信息通過(guò)DTD462嵌入式無(wú)線數(shù)據(jù)傳輸方式,傳輸?shù)浇邮斩嗽谏衔粰C(jī)軟件中顯示監(jiān)視圖像。
1.4 電機(jī)控制模塊
在電機(jī)控制模塊的設(shè)計(jì)中,使用IRFZ44N和IRF9540N搭建了H橋電路,能夠?qū)崿F(xiàn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)。用光耦對(duì)單片機(jī)的輸出調(diào)制信號(hào)進(jìn)行隔離輸出,能有效地消除電機(jī)轉(zhuǎn)動(dòng)對(duì)單片機(jī)的工作干擾。電機(jī)的控制模塊電路如圖2所示。調(diào)試過(guò)程:當(dāng)PWM2的輸出為高電平,PWM1為低電平時(shí),U5輸出低電平,U6輸出高電平;U1的d,s導(dǎo)通,d接地,U2的d端接地,而U3的d,s截止,U4的d,s導(dǎo)通,輸出高電平,因此電機(jī)正轉(zhuǎn);反之,若PWM2的輸出為低電平,PWM1為高電平時(shí),電機(jī)反轉(zhuǎn)。小車的轉(zhuǎn)向和攝像頭的轉(zhuǎn)動(dòng)是用2個(gè)舵機(jī)來(lái)分別驅(qū)動(dòng)的。通過(guò)編程用軟件輸出標(biāo)準(zhǔn)PWM信號(hào)來(lái)驅(qū)動(dòng)舵機(jī),一般PWM控制信號(hào)的周期為20 ms。當(dāng)給舵機(jī)輸入脈寬為0.5 ms,即占空比為0.5/20=2.5%的調(diào)制波時(shí),舵機(jī)右轉(zhuǎn)90°;當(dāng)給舵機(jī)輸入脈寬為1.5 ms,即占空比為1.5/20=7.5%的調(diào)制波時(shí),舵機(jī)靜止不動(dòng);當(dāng)給舵機(jī)輸入脈寬為2.5 ms,即占空比為
2.5/20=12.5%的調(diào)制波時(shí),舵機(jī)左轉(zhuǎn)90°。可以推導(dǎo)出舵機(jī)轉(zhuǎn)動(dòng)角度與脈沖寬度的關(guān)系計(jì)算公式為:
t=1.5±θ/90° (3)
式中:t為正脈沖寬度(單位:ms);θ為轉(zhuǎn)動(dòng)角度。注意當(dāng)左轉(zhuǎn)時(shí)取加法計(jì)算,右轉(zhuǎn)時(shí)取減法計(jì)算結(jié)果。本文引用地址:http://butianyuan.cn/article/160297.htm
2 系統(tǒng)軟件設(shè)計(jì)
2.1 控制算法
該設(shè)計(jì)重點(diǎn)是研究以下的控制算法,即平均值濾波算法,位置加權(quán)和PID算法。
平均值算法是對(duì)電感獲取的信號(hào)進(jìn)行放大檢波之后,累加多次,在取平均值,可以有效去掉干擾的影響。
式中:get_ad[i]表示第i次取得的ad值;n表示取ad的次數(shù)位置加權(quán)就是對(duì)電磁傳感器的ad平均值進(jìn)行位置加權(quán),獲得小車的位置。小車的位置在[10,110]范圍內(nèi)變化,具體計(jì)算如式(5)所示:
position=(110*ad_result[0]+10*ad_result[1])/(ad_result[0]+ad_result[1]) (5)
式中:ad_result[0]表示其中一路輸入信號(hào)的平均值;ad_result[1]表示另一路輸入信號(hào)的平均值;position即加權(quán)后的位置值。
PID算法是根據(jù)position算出某一時(shí)刻的位置偏差,再對(duì)偏差進(jìn)行PID的運(yùn)算,從而得到舵機(jī)的轉(zhuǎn)角。
duoji=1155+KP*error[1]+KI*(error[1]+error[0])+KD*(error[1]-erroe[0]) (6)
式中:error[1]是此時(shí)刻的偏差;error[0]是上一時(shí)刻的偏差;KP,KI,KD分別是比例系數(shù)、積分系數(shù)和微分系數(shù)。
評(píng)論