新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于三次函數(shù)的電磁導航智能小車設計

基于三次函數(shù)的電磁導航智能小車設計

作者: 時間:2016-10-15 來源:網(wǎng)絡 收藏

摘要:為了實現(xiàn)智能小車穩(wěn)定快速的自動尋線,采用了“五橫二豎加八字”排列的電磁線圈,能識別各種復雜的賽道。通過求出,并采用處理彎道,實現(xiàn)了的功能。實踐證明,該系統(tǒng)能精準地控制智能小車穩(wěn)定快速地運行,且達到了預期效果。航

本文引用地址:http://www.butianyuan.cn/article/201610/307268.htm

智能小車尋線道路設計要求是:在中間鋪設了一條直徑為0.5 mm的銅質漆包線,漆包線中有頻率范圍為20±2 kHz、電流范圍為50~150 mA的正弦波信號。隨著智能小車的發(fā)展,需適應更加復雜的賽道,例如直角彎、坡道、障礙等。文中設計的智能小車,是基于Kinetis K60單片機開發(fā)實現(xiàn)的,以電磁線圈作為感應傳感器,采用算法控制小車精準的尋線功能,從而實現(xiàn)智能小車智能快速穩(wěn)定的尋線行駛。

1 硬件總體設計

智能小車系統(tǒng)由Kinetis K60主控模塊、傳感器模塊、舵機控制模塊、電機驅動模塊、OLED顯示模塊、撥碼開關模塊、編碼器測速模塊、停車檢測模塊、障礙檢測模塊這9個部分構成。系統(tǒng)總體框架如圖1所示。

a.jpg

除了以上9部分外還有電源模塊,整個智能小車由7.2 V鎳鎘電池供電,其中由LM1117穩(wěn)壓芯片輸出3.3 V為主控芯片K60、撥碼開關模塊、停車檢測模塊、OLED顯示模塊提供電源。由一塊LM2940穩(wěn)壓芯片得到5 V電壓單獨供給傳感器模塊,另一塊LM2940穩(wěn)壓芯片得到5V電壓分別供給藍牙調試模塊、障礙檢測模塊、編碼器測速模塊和電機驅動模塊,此外,通過試驗可發(fā)現(xiàn),S3010 Futaba舵機可直接加7.2 V電壓,此時舵機的響應速度也會提高,所以可直接將電池電壓作為舵機的電源。舵機控制模塊和直流電機均用7.2 V電壓驅動。

電磁線圈采集到的交變電壓信號經雙運算放大器MAX4451放大后,通過二極管的二倍壓檢波電路將交變的電壓信號檢波形成直流信號,然后再通過單片機的A/D轉換電路進行采集,獲得正比于感應電壓幅值的數(shù)值。

智能小車是以雙電機方式工作,故采用4塊BTS7971作為驅動芯片。BTS7971由一個p溝道的高邊MOSFET和一個n溝道的低邊MOSFET結合一個集成的驅動IC,形成能經受大電流通過的H橋的半邊。因此4個BTS7971便能進行連接構成兩個H全橋,進而實現(xiàn)電機的正反轉。此外,使用 74HC244N三態(tài)八緩沖器隔離電機驅動模塊,可防止電機轉動產生的干擾信號灌入主控芯片而致?lián)p壞。

采用常開型塑封干簧管作為檢測元件。在道路的起點和終點處埋有永久磁鐵,當小車經過磁鐵時,干簧管閉合,進而將這種信號傳遞給CPU,實現(xiàn)停車功能。將兩個接近開關分別安裝在小車兩邊對障礙進行檢測。正常情況下,兩個接近開關處于關閉狀態(tài)0。通過調整好接近開關的檢測距離,當?shù)缆纺骋贿叺恼系K物進入接近開關的檢測范圍后,接近開關一直保持導通狀態(tài)1,將這種信號的0和1變化傳遞到CPU,即可實現(xiàn)小車的障礙檢測功能。

2 智能小車電磁尋線

2.1 傳感器布置結構

采用“五橫二豎加八字”排列的電磁線圈,如圖2所示。此結構能使小車在直道、直角彎、S彎、十字彎,坡道上自主穩(wěn)定地尋線行駛,具有抗干擾性強、穩(wěn)定性高、機械強度高等特點。在高速運行的情況下仍能保持穩(wěn)定的導航功能。

b.jpg

2.2

在使用前應先進行預處理,以便快速利用三次函數(shù)求出。預處理包括采樣,求平均值,數(shù)據(jù)排序和歸一化處理。由于不同道路的磁場強度會有所不同,先采樣可獲得道路磁場強度的最大值和最小值,這樣智能小車對于不同道路的適用裕度會更寬,在實際投入生產和使用中有重要作用。三次函數(shù)算法的處理流程,如圖3所示。

c.jpg
智能小車在初始化程序后,通過采樣,取得各個電磁線圈在此賽道上磁感應電壓的最大值和最小值分別儲存在數(shù)組ad max[i]和ad min[i]中,以便系統(tǒng)快速高效地從數(shù)組中取值做比較,從而實現(xiàn)歸一化。
每個電磁線圈采集5次磁感應電壓后,通過去除其最大值和最小值求出平均值;這樣起到了軟件濾波的作用,減小了偶然誤差。連續(xù)取5個平均值按時間先后進行排序并儲存在二維數(shù)組ad3[i][5]里面,使得數(shù)據(jù)不斷地更新,以便求出其加權平均值,減小系統(tǒng)誤差。

求排序后平均值的加權平均值,取得與最后一次采集到最接近的磁感應電壓值,再將每一個電磁線圈的加權平均值儲存在數(shù)組ad4[i]中;將ad4[i]逐個與ad max[i]和ad min[i]比較:當ad4[i]>ad max[i],貝ad[5]=1.0;當ad4[i]ad min[i]時,則 ad5[i];當ad min[i]ad max[i]時,采用歸一化后,e.jpg=d.jpg,進而實現(xiàn)磁感應電壓值的歸一化。歸一化可簡化三次函數(shù)算法,另外歸一化后的值可供調試過程中便于觀察電磁感應量變化的相對大小。

采用三次函數(shù)算法和固定斜率變化融合方法。在一定范圍內,三次函數(shù)計算的偏差較精確,一旦超過該范圍,則融合“一”字電感的變化,盡量使偏差的變化線性化。采用這種方法的優(yōu)點是在進行各種彎道的判斷、處理,尤其是對直角的處理,能做到穩(wěn)定、準確、快速地使系統(tǒng)做出判斷。各電磁線圈偏移賽道中心線的距離z 和歸一化后的磁感應電壓值ad5[i]的關系如圖4所示。

f.jpg

假設曲線的三次函數(shù)為

y=ax3+bx2+cx+d (1)

式(1)中y=ad5[i],x為電磁線圈偏移賽道中心線的距離,取圖2中傳感器1、4、6、9的ad5[i]作為y值;此時x分別為-12,-6,6和12,由此可解出a,b,c,d值。

對式(1)三次函數(shù)求導后為

y’=3ax2+2bx+c (2)

將上述程序中求得的a,b,c,d值代入式(2)即可得到偏差x。

上述理論計算得出的偏差與實際的偏差總會因為機械等原因存在一定的誤差,為了減小該誤差,加入了偏差曲線擬合環(huán)節(jié)。再通過對偏差擬合進行補償,使得曲線擬合得到改進。這樣大幅減小了偏差,最大限度地提高了擬合的精度。將小車實際的偏差x和理論計算得出的偏差y,使用Matlab曲線擬合工具箱做曲線擬合便可得到相應的曲線擬合方程。偏差擬合曲線曲線擬合情況如圖5所示。

g.jpg

3 智能小車速度控制

3.1 增量式PID控制

上述曲線擬合補償出的偏差又實時快速地變化著,正可用于小車速度的控制。小車系統(tǒng)采用增量式PID控制算法,其結構簡單,具有高適應性、易調整參數(shù)性,對于控制模型不準確、參數(shù)變化大的控制對象,此方法可得到滿意的結果。因其輸出每次只有控制變量,可通過簡單的邏輯判斷來降低故障的輸出,以避免了系統(tǒng)故障的發(fā)生。其控制方法如下

h.jpg

3.2

為使智能小車在過彎道時的路線更佳、速度更快、平穩(wěn)性更高,小車在上述增量式PID控制算法中加入了,即采用閉環(huán)有差反饋式調節(jié)系統(tǒng)實現(xiàn)小車的差速策略。為達到差速電機的目的,將小車差速電機的數(shù)學模型搭建如圖6所示。

i.jpg

假設V1為左電機速度;V2為右電機速度;R為彎道半徑;L為前后輪的間距,最優(yōu)路徑的轉向角為αu,則小車的平均速度為

j.jpg

這樣便可根據(jù)實際情況需要,來調整預設的期望速度大小。編碼器通過采樣電機轉過的齒輪數(shù)轉化成電信號,即可當做單片機脈沖的觸發(fā)信號,單片機通過對脈沖計數(shù)就可得到轉速的具體數(shù)值,再將該轉速減去期望轉速,然后乘以對應系數(shù),得出脈沖寬度調制的占空比。根據(jù)上述三次函數(shù)擬合出的偏差大小,單片機就可用增大或減小占空比反饋的方法實現(xiàn)對電機的加減速控制,從而實現(xiàn)電機的差速運行。

4 結束語

介紹了一種智能小車在磁導航過程中磁感應信號的處理方法,采用了“五橫二豎加八字”排列的電磁線圈,通過三次函數(shù)算法算出小車相對路徑中心的偏差,輔之以差速電機算法,在高速運行的情況下仍能保持平穩(wěn)精確的運行狀態(tài)。測試表明,該算法具有良好的實時跟蹤性和準確性。



評論


相關推薦

技術專區(qū)

關閉