做輛電賽小車,電路代碼全開源!
我用立創(chuàng)·梁山派開發(fā)板做了輛電賽小車,采用全國產(chǎn)化設(shè)計(jì)。
本文主要分享小車的“電路原理”與“PCB設(shè)計(jì)技巧”。
PS:軟件部分已開源,有需要可在“開源資料下載”章節(jié)查看。
全文導(dǎo)航
工程電路描述、引腳分配、元器件選型+電路原理、PCB設(shè)計(jì)、開源資料下載、視頻教程。
一、工程電路描述
我做了一輛智能送藥小車,基于立創(chuàng)·梁山派開發(fā)板設(shè)計(jì)。

這是小車?yán)?span id="s0sssss00s" class="color-blue-02 font-size-20">最主要的板子。
它板載國產(chǎn)姿態(tài)傳感器和磁力計(jì),擁有驅(qū)動(dòng)電機(jī),舵機(jī),蜂鳴器,攝像頭、屏幕、CAN電路等模塊。

詳情電路圖設(shè)計(jì)請(qǐng)前往立創(chuàng)開源平臺(tái)查看:
https://oshwhub.com/li-chuang-kai-fa-ban/21-dian-sai-f-ti-zhi-neng-song-yao-xiao-che

二、引腳分配
電路設(shè)計(jì)中,最開始,最重要的,就是引腳分配。
引腳分配不好可能會(huì)造成資源豐富的MCU沒接口可用,或布線異常麻煩,從而降低設(shè)計(jì)效率!
由于送藥小車是基于立創(chuàng)·梁山派開發(fā)板設(shè)計(jì)的,因此我們可以通過【梁山派原理圖】和【GD32F470的Datasheet中的2.6.2中的硬件定義】獲得下面的引腳分配表。





如上圖所述,我是按照?qǐng)D片排列順序進(jìn)行引腳資源分配的——UART,SPI,正交編碼器接口,PWM,IIC(優(yōu)先硬件,軟件的也可以),CAN,ADC,LED,KEY,灰度傳感器接口。
三、元器件選型及原理圖設(shè)計(jì)
本章節(jié)將講解【小車拓展板原理圖】中的9個(gè)電路模塊。
01電源路徑的選型及設(shè)計(jì)
這里選用SGM6132,3A,28.5V,1.4MHz Step-Down Converter進(jìn)行設(shè)計(jì)。

并參考官方的典型應(yīng)用來設(shè)計(jì)原理圖。

這是上述芯片各個(gè)參數(shù)的推薦選型數(shù)值。

由于我需要的是5V的輸出,因此可以直接參考官方數(shù)值。
注意!如果需要自己算阻值,電阻阻值不要超過他它的最大值。比如這個(gè)芯片的R2最大值是100kΩ,那阻值超過100kΩ它就不能工作了。
最簡單可靠的還是用官方推薦的圖來設(shè)計(jì)。
其他的XT30接口,自恢復(fù)保險(xiǎn)絲,波動(dòng)開關(guān)電路,TVS過壓保護(hù)等選型就比較簡單了。這里簡單講一下。
XT30公頭可以隨便選。

考慮到兩個(gè)直流減速電機(jī)在啟動(dòng)時(shí),瞬時(shí)電流會(huì)很大,所以這里選擇的是最大5A的自恢復(fù)保險(xiǎn)絲。

這里選擇的撥動(dòng)開關(guān),最大可以過6A的電流,妥妥的足夠用了。

當(dāng)工作在正常電壓下時(shí),TVS保護(hù)電路的電阻很大,不會(huì)對(duì)電路產(chǎn)生影響;
在瞬態(tài)電壓出現(xiàn)時(shí),TVS保護(hù)電路的電阻會(huì)迅速變小,將電壓限制在設(shè)定的安全范圍內(nèi),從而保護(hù)電子設(shè)備不受損壞。

不過鋰電池的電壓是非常穩(wěn)定的,這個(gè)保護(hù)主要通過調(diào)試開關(guān)電源供電時(shí),防止電壓超標(biāo)。
02電機(jī)驅(qū)動(dòng)電路選型及設(shè)計(jì)
一個(gè)AT8870可以驅(qū)動(dòng)一個(gè)直流電機(jī)正反轉(zhuǎn),我們要驅(qū)動(dòng)兩個(gè)直流電機(jī),所以這里要用兩個(gè)驅(qū)動(dòng)芯片。

這里重點(diǎn)要看的參數(shù)是——主供電要求,邏輯供電要求,邏輯輸入要求,連續(xù)輸出電流,峰值輸出電流,最大PWM頻率等。
了解上面以上參數(shù)后我們就可以選電機(jī)了。
我選的是輪趣科技的MG513P20_12V,這個(gè)電機(jī)減速比是20,工作電壓是12V,額定電流是0.36A,堵轉(zhuǎn)電流是3.2A。
可以確?!半姍C(jī)的工作電流電壓”在“電機(jī)驅(qū)動(dòng)芯片”的工作范圍以下。
但是注意了!
由于AT8870峰值輸出電流是3.6A,很有可能在長時(shí)間堵轉(zhuǎn)的情況下燒毀!
于是我后續(xù)找到了一個(gè)更好的,就是AT8236。
它的最大峰值驅(qū)動(dòng)輸出可達(dá)6A,連續(xù)輸出驅(qū)動(dòng)可達(dá)4A,還是PINtoPIN的,實(shí)際焊接的時(shí)候直接替換就好了。
03姿態(tài)傳感器選型及設(shè)計(jì)
姿態(tài)傳感器可以通過測量物體的“加速度”,“角速度”等參數(shù)計(jì)算出物體的姿態(tài)信息。

我選擇的六軸姿態(tài)傳感器是QMI8658A。
它的封裝和國外大廠的部分型號(hào)PINtoPIN的,后續(xù)可以替換測試其他廠家的imu。
參考QMI8658A的datasheet中第八頁(可以在立創(chuàng)商城下直接預(yù)覽),他給出了三線SPI,四線SPI,IIC的應(yīng)用圖。
查看手冊(cè)中的表15,可以了解這款芯片SPI最高時(shí)鐘支持15Mhz,IIC時(shí)鐘最高支持400Khz。
為了在單位時(shí)間內(nèi)獲得更多的數(shù)據(jù),就選用SPI協(xié)議了。
04磁力計(jì)傳感器選型及設(shè)計(jì)
姿態(tài)傳感器分為6軸和9軸,9軸的就是帶磁力計(jì)的。
在姿態(tài)解算中,磁力計(jì)可以提供重要的地磁信息,能更準(zhǔn)確的定位設(shè)備的方向和位置。
此外,磁力計(jì)還可以幫助校正陀螺儀的漂移誤差,提高姿態(tài)解算的精度。
這里我使用的是國產(chǎn)磁力計(jì)QMC5883P。
參考其datasheet可以了解到,它最高支持400Khz的IIC速率,不支持SPI,結(jié)合第七頁的建議外部連接可以設(shè)計(jì)出以下原理圖。

05蜂鳴器選型及設(shè)計(jì)
蜂鳴器可以將電信號(hào)轉(zhuǎn)化為聲音信號(hào),提供各種聲音反饋或警報(bào)信號(hào)。
蜂鳴器從構(gòu)造類型分為——電磁式和壓電式兩種。
從驅(qū)動(dòng)方式分為——無源(由外部方波驅(qū)動(dòng))和有源(由內(nèi)部驅(qū)動(dòng),外部給電就行)兩種。
按封裝分為——插針式和貼片式。
我選擇的是無源電磁式貼片蜂鳴器,工作電壓2-4v,頻率4000Hz,這里的頻率是指他在這個(gè)頻率下最響的聲音。

D2的主要作用是保護(hù)驅(qū)動(dòng)的MOS管。
蜂鳴器和電機(jī)一樣,是感性元件,它的電流是不能瞬變的。必須有一個(gè)“續(xù)流二極管”提供續(xù)流。
如果沒有這個(gè)續(xù)流二極管,停止給蜂鳴器供電的時(shí)候,在蜂鳴器兩端會(huì)有反向感應(yīng)電動(dòng)勢,產(chǎn)生高達(dá)幾十伏的尖峰電壓,會(huì)損壞驅(qū)動(dòng)電路。
R26是限流電阻,防止電流太大損壞芯片的PWM輸出引腳。
R4是一個(gè)簡單的下拉電阻。
06按鍵及藥物檢測開關(guān)設(shè)計(jì)
通常,按鍵內(nèi)部使用的是機(jī)械彈性開關(guān)。
當(dāng)它按下彈起的時(shí)候,機(jī)械觸點(diǎn)會(huì)因?yàn)閺椥宰饔?,在閉合和斷開的瞬間,產(chǎn)生一連串的抖動(dòng)。這種抖動(dòng)會(huì)導(dǎo)致輸入信號(hào)在高低電位之間彈跳,有不正確的輸入。
因此,要在芯片內(nèi)部設(shè)置一個(gè)下拉。

這里面電阻的作用是限流(害怕初學(xué)者不小心給設(shè)置成推挽輸出了)。電容的作用是硬件去抖。當(dāng)然,軟件消抖也是必須的,硬件去抖只能改善不能消除。

這里的按鍵改為了碰撞開關(guān)。我準(zhǔn)備設(shè)計(jì)一個(gè)3D打印結(jié)構(gòu),當(dāng)藥物放下的時(shí)候,會(huì)碰撞開關(guān),檢測到藥物是否安裝成功。
碰撞開關(guān)的商品編號(hào):C87120。
07ADC電壓采集電路設(shè)計(jì)
左邊第一路ADC是采集電池過來的12V電壓是否正常。
其他三路給用戶使用。

這里電阻的選擇是簡單的電阻串聯(lián)分壓。
比如,12V從上面過來,那到單片機(jī)IO的電壓就是這樣計(jì)算的:
12V*(R15/(R11+R15))=1.09V
ADC引腳進(jìn)來的電壓最大不能超過3.3V,所以這里我用了一個(gè)D3-雙向TVS管。
大于3.3V這個(gè)D3-雙向TVS管就會(huì)保護(hù)單片機(jī)引腳。
08CAN芯片選型及設(shè)計(jì)
控制器局域網(wǎng)總線(CAN,Controller Area Network)是一種串行通訊協(xié)議總線,它可以使用雙絞線來傳輸信號(hào),是世界上應(yīng)用最廣泛的現(xiàn)場總線之一。
這里我選擇的是?SIT(芯力特)的SIT65HVD230DR,3.3V供電,速率最高1Mbps。

Rs是模式選擇引腳,強(qiáng)下拉至GND=高速模式;
強(qiáng)上拉至VCC=低功耗模式;
通過10kΩ至100kΩ電阻下拉至GND=斜率控制模式。
其他連線參考手冊(cè)就可以知道。
但是注意!
這里的TXD、RXD、串口的標(biāo)注方式有點(diǎn)不一樣——RX接R,TX接D。
在CAN總線的兩端必須連接120Ω的終端電阻才可以正常工作。電阻的作用是為了匹配總線阻抗,提高數(shù)據(jù)通信的可靠性。
09S-BUS電路設(shè)計(jì)
SBUS是一種串行通訊協(xié)議,常用于遙控端。可以通過單個(gè)信道傳輸多個(gè)通道的數(shù)據(jù)。
可以把它理解為串口協(xié)議,采用100k波特率,數(shù)據(jù)八位,兩位停止位,偶校驗(yàn)。
因?yàn)?strong>它采用的是反向電平輸出,所以必須要硬件取反,除非你的芯片串口外設(shè)自帶硬件取反。

搞定了原理圖部分,就要開始進(jìn)行PCB設(shè)計(jì)了!
四、PCB設(shè)計(jì)
本章節(jié)主要講解——PCB布局教程、DC-DC降壓電路的布局技巧、電機(jī)驅(qū)動(dòng)電路的布線技巧、其他說明。
01PCB布局
我想讓PCB和梁山派的大小保持一致。
因此,要先把梁山派的板框和定位孔坐標(biāo)復(fù)制過來。

①確定一下兩個(gè)40P排母座子的坐標(biāo)。
因?yàn)橄朐?strong>背面放置GH1.25帶鎖扣臥式連接座,所以這里的排母需要選貼片的。

②把尺寸面積比較大的元件先擺好。
這里連接件比較大的有——XT30電源接口,大電流撥動(dòng)開關(guān),兩個(gè)電機(jī)連接座,兩路舵機(jī)接口。
③姿態(tài)傳感器和磁力計(jì)
為了姿態(tài)傳感器更能反應(yīng)板子的姿態(tài),所以把它放在底板的正中心,磁力計(jì)就放到姿態(tài)傳感器旁邊。

紅圈中,左邊是姿態(tài)傳感器,右邊是磁力計(jì)。
上下的兩條開槽主要有兩個(gè)作用:一個(gè)是降低板材變形對(duì)姿態(tài)傳感器的應(yīng)力影響;一個(gè)是降低DCDC降壓和電機(jī)驅(qū)動(dòng)芯片工作時(shí)產(chǎn)生的干擾。
④各種連接座子和按鍵的布局
到背面了。
GH1.25連接座子、側(cè)按按鍵要靠近板邊。
為了防止側(cè)按按鍵被誤觸,我將其設(shè)計(jì)為了只有用指甲才能按下。

⑤其他元件的布局
這里采用就近原則。


02DC-DC降壓電路
電源可以說是一個(gè)電路的心臟,一個(gè)不穩(wěn)定的電源會(huì)讓系統(tǒng)沒法正常工作。
在布局的時(shí)候一般要注意以下幾點(diǎn):

當(dāng)然有些要求可能沒法完美滿足,盡量達(dá)到就行,例如:
①SW回路越小越好

②反饋電阻距離越靠近芯片引腳越好。

03電機(jī)驅(qū)動(dòng)電路
電機(jī)是大功率用電器,堵轉(zhuǎn)的時(shí)候能達(dá)到2,3A的電流。
有時(shí)芯片都還沒燒壞呢,電路板的銅皮直接被燒斷了。
因此,需要注意一下這些布線技巧:


04其他


五、開源資料下載
智能送藥小車是一道電賽題(21年F題),本項(xiàng)目的電路代碼資料已全部開源!
如果你需要【軟件部分】的開源資料用于參考學(xué)習(xí),請(qǐng)戳文章評(píng)論區(qū)置頂?shù)逆溄?/span>獲取。
六、視頻教程
智能送藥小車精簡版視頻教程一共3節(jié),點(diǎn)擊即可查看。
PS:后續(xù)還會(huì)有相關(guān)精品課程更新,旨在手把手教會(huì)你做一輛小車!可以期待一下~
就算是小白,也可以趁著暑假做一輛這樣的小車,增長項(xiàng)目經(jīng)驗(yàn)!