之前智能車系列已經(jīng)做了一個比較詳細的解析,但是美中不足是知識點被拆的太零散,可能對于新手來說不太友好,所以借著有空就再寫一點能讓車跑起來的方案。當(dāng)然,也就僅僅限于可以跑起來,元素以及高級算法就需要車友們自己去整了,主要還是方便新手上道,當(dāng)然也歡迎大佬們提出建議。本文以電磁四輪為例進行講解。
材料準備
作為剛接觸電磁車的同學(xué),咱們要想跑起來需要四大件,車模、電磁及運放模塊、主控及母板、電機驅(qū)動;這里筆者打算分成兩種組別來推薦方案,一類是手頭沒有現(xiàn)成車模而且不是今年參賽的練習(xí)組,另外一類是今年的參賽組。
備賽組
車模
這里以基礎(chǔ)電磁四輪組為例,建議使用C車模,B車的傻蛋5舵機以及機械差速還是有些許的頭禿,當(dāng)然官方今年好像已經(jīng)宣布了換掉SD5舵機,由于C車是雙電機可以使用主動差速,所以建議大家上手選擇C車。車模的機械結(jié)構(gòu)搭建可以去參考往屆優(yōu)秀隊伍的技術(shù)報告,至于怎么找到技術(shù)報告,比賽官網(wǎng)有,卓大博客也有——第十六屆全國大學(xué)智能車競賽技術(shù)報告與總決賽視頻下載。
硬件
主控:電磁車今年參賽要求是使用STC的單片機來參賽,所以就可以選購龍邱或者逐飛STC母板來作為主控;
電機驅(qū)動:目前比賽常用的有HIP4082、DRV8701、BTN7971或者IR系列加MOS全橋等;
電磁組所需的電感和運放模塊:目前較多的是OP2350、LM358、OPA4377等;
電源模塊:整個小車系統(tǒng)所需的電源種類一般是5V、3.3V、12V,需要有一個系統(tǒng)的電源管理方案,這個需要積累,BUCK、BOOST的電路,網(wǎng)上方案也很多,筆者之前使用的是德州儀器的TPS系列。
硬件設(shè)計的注意事項可以參考筆者抗干擾技術(shù)的那篇博客。
練習(xí)組
車模
對于不是急于參賽而是平時訓(xùn)練的練習(xí)組,手頭如果沒有現(xiàn)成的車模和往屆的方案的,建議去淘寶找平價車模代替,因為自己一套買下來得個大幾千塊,都是學(xué)生黨,這也不是個小數(shù)目。可以參考下圖這種使用舵機轉(zhuǎn)向而且后輪電機帶編碼器的車模,加上鋰電池這些一套下來300左右。(圖片來源于某寶,VANBOT教育機器人自營店)
由于原理都差不多一樣的,練習(xí)使用這種車模性價比極高,而且還可以留下來參加其他的比賽。
硬件方案
電機驅(qū)動:購買了這種車模的同學(xué)也可以直接用配套的電機驅(qū)動,或者使用L298N、TB6612這些電驅(qū)都可以。
主控:建議使用帶片內(nèi)ADC的主控,STM32,STC32、STC16、MSP430都可以反正選一個自己熟悉的就行了。
電源:選用兩節(jié)18650加一個LM2596的降壓模塊即可。
如果覺得麻煩,可以直接選購輪趣科技的學(xué)習(xí)版小車,如下圖:
當(dāng)然,手頭有往屆的芯片和方案更好,這樣可以無縫銜接到比賽,比如K66、K60這些方案只是現(xiàn)在不用了,但是網(wǎng)上資料多啊,而且這些處理器性能拿來練手綽綽有余。
整車原理
在準備好上面的硬件后,再來捋一下整個小車的運行原理。小車要正常行駛在賽道上,必定是需要實時根據(jù)賽道的狀態(tài)來調(diào)整車身姿態(tài)的,那么,電磁車是怎么樣獲取到賽道信息,又是怎樣實現(xiàn)轉(zhuǎn)向的呢。
賽道信息獲取及轉(zhuǎn)向原理
電磁車是通過獲取賽道信號發(fā)生器產(chǎn)生的信號來來獲取賽道信息的,在賽道正中間會有一條磁感線,用來產(chǎn)生交變電磁信號。小車通過前瞻上的電感即可獲得到賽道信息,為啥可以電感可以獲取賽道信息呢,其實很好理解,電磁感應(yīng)都映像吧,導(dǎo)體切割磁感線會產(chǎn)生感應(yīng)電動勢,工字電感內(nèi)部的導(dǎo)線切割信號線產(chǎn)生的磁場,在電感引腳就會有感應(yīng)電動勢。電感距離磁場越近,產(chǎn)生的感應(yīng)電動勢越大,距離越遠,產(chǎn)生的感應(yīng)電動勢越小。
(有關(guān)電感配頻以及信號在各個節(jié)點的狀態(tài)可以去筆者的硬件篇查看)。
運放模塊
經(jīng)過工字電感產(chǎn)生的感應(yīng)電動勢是交流小信號,單片機是無法采集和處理這種小電壓的交變信號,所以需要在后面增加一個峰值檢測以及放大的運放電路,將交變信號進行選頻、檢波然后放到適當(dāng)倍數(shù),輸出單片機ADC可以采集的直流信號,將感應(yīng)電動的大小轉(zhuǎn)換成為單片機ADC采集的數(shù)字作為輸入量。
轉(zhuǎn)向原理
了解了單個電感獲取賽道信息的原理后,為了讓小車能夠在賽道上行駛,至少會使用左、右兩個電感,通過ADC采集經(jīng)過運放處理的感應(yīng)電動勢值來計算偏差,方法是直接左右電感采集值之差(或者差比和計算)來判斷賽道信息,將差比和計算出來的偏差以一定的比例關(guān)聯(lián)到舵機的pwm占空比來控制舵機打角,進而控制小車進行轉(zhuǎn)向。參考下表
其中系列1是左右電感直接作差的波形,系列2是經(jīng)過差比和計算出來的波形,可見系列2的波形比系列1更加平滑,這有利于控制系統(tǒng)的跟隨。
具體原理:
如下圖,小車位于2號位置時,左右兩個電感距離信號的距離一樣,周圍磁場強度也基本一致,產(chǎn)生的感應(yīng)電動勢也是大差不差,左右電感值差比和計算出來的偏差也是0,舵機位于正中間,保持小車直行。
小車位于3號位置時,由于彎道,左邊電感距離信號線近,磁場更強,產(chǎn)生的感應(yīng)電動勢要大于右電感的感應(yīng)電動勢,左右電感差比和計算偏差就很大了,將這個偏差輸出到舵機,讓小車左轉(zhuǎn)來消除這個偏差。
當(dāng)小車遇見右轉(zhuǎn)賽道時,兩個電感的狀態(tài)剛好相反,此時需要右轉(zhuǎn)來抵消二者偏差。
詳細描述參考此文——《學(xué)做智能車–電磁探究篇》。
元素判斷
從此圖可以看出理論上小車在經(jīng)過三叉、環(huán)島和十字時,左右兩個電感的電感值都會接近磁感線,檢測這個特征就可以識別到了,為了防止誤判還可以增加一個中間電感或者斜放置電感來輔助判斷。電感只有線圈切割磁場時才能產(chǎn)生感應(yīng)電動勢,線圈和磁場平行時是沒有感應(yīng)電動勢的,但是在這些特殊元素是,原本沒有切割磁場的電感可能突然就切割了磁感線,這里留給大家自己去發(fā)揮。
此處提供一個思路,直接看圖:
電機及舵機控制原理
舵機和電機都是通過PWM來控制的,只不過舵機控制的PWM的頻率是固定的(50-60HZ),通過改變占空比來實現(xiàn)打角角度。
而電機的頻率沒有指定范圍,但速度也是通過調(diào)節(jié)占空比來控制的,通過調(diào)節(jié)電機pwm輸出占空比完成對電機速度的調(diào)整,電磁組需注意電機對電磁信號會有干擾,建議電機控制的pwm頻率設(shè)置為13-19khz,以盡可能的消除干擾。具體可以參考卓大“電磁信號檢測|本是同根生,相煎何太急”。
具體的PWM控制原理以及H橋的講解之前已經(jīng)寫過了,需要的同學(xué)去前面方向篇和電機控制篇查看。
代碼實現(xiàn)
在了解了上述原理后,我們就可以開始寫程序控制我們的小車,實現(xiàn)一個可以跑的狀態(tài)了。
首先,綜合上面的原理,需要初始化PWM來控制舵機和電機,其中舵機的PWM使用的是50-60hz的pwm進行控制(筆者用的50HZ進行控制),而電機的頻率是13-19Khz。
然后是獲取賽道信息的ADC,需要至少開啟兩路來實現(xiàn)信息采集。
還有為了保證系統(tǒng)的計算和輸出周期固定,需要開啟一個定時器中斷來保證輸出的周期穩(wěn)定。
其他:根據(jù)自己的需求初始化IO控制屏幕,按鍵,蜂鳴器LED燈。
有了這個思路,任何一款處理器都可以實現(xiàn)功能了。筆者這里以STC為例。
總結(jié)
有關(guān)電磁車的介紹就到此為止,這篇主要是串了一下整個車的思路,細節(jié)還需要去看筆者之前的介紹。不提供方案,也不賣資料。文章如有不足歡迎指出,祝大家的小車可以拿到滿意的成績,筆者在評論區(qū)等待你們賽后的分享。
————————————————
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
原文鏈接:https://blog.csdn.net/qq_41954556/article/details/123611226
-
電機驅(qū)動
+關(guān)注
關(guān)注
60文章
1302瀏覽量
87675 -
電磁
+關(guān)注
關(guān)注
15文章
1158瀏覽量
52573 -
智能車
+關(guān)注
關(guān)注
21文章
409瀏覽量
77485
發(fā)布評論請先 登錄
評論