树莓派Pico直流电机接口技术及PWM电机调速控制MicroPython编程
內容目錄:
一、樹莓派Pico開發板直流電機接口技術
1.H橋驅動電路的基本工作原理
2.典型H橋驅動電路分析
3.DRV8833雙H橋電機驅動模塊介紹
4.Pico開發板與直流電機接口
二、Pico開發板擴展口PWM電機調速控制MicroPython編程實現
1.DRV8833模塊電機驅動及PWM電機調速控制真值表
2.Pico開發板GPIO擴展口PWM電機調速控制MicroPython編程實現
一、樹莓派Pico開發板直流電機接口技術
由于直流電機的驅動電流較大(往往大于幾百mA),大大超出了Pico等嵌入式開發板GPIO接口單根口線能直接驅動的最大幾十mA電流,因此必須在GPIO接口和電機控制對象之間增加驅動電路。我們可以采用三極管或MOSFET管等分離電子元件自行設計電機驅動電路,也可以購買現成的驅動電路模塊。在實際應用場景中,我們常采用H橋(H Bridge)功率驅動電路驅動直流電機。
1.H橋驅動電路的基本工作原理
H 橋驅動電路是為直流電機而設計的一種常見電路,它主要實現直流電機的正反向驅動,其簡化電路原理見圖1所示。
圖1
從圖1可以看出,其形狀像字母“H”,而作為負載的直流電機像“橋”一樣架在上面,因此稱之為“ H 橋驅動”。4個開關所在位置稱為“橋臂”。
H橋電機驅動基本原理:設開關 A、D接通,電機為正向轉動;若開關B、C接通,直流電機將反向轉動。從而實現了電機的正反向驅動。
借助這 4 個開關還能產生電機的另外 2 種工作狀態:(1)剎車—將B 、D開關(或A、C)接通,則電機慣性轉動產生的電動勢將被短路,形成阻礙運動的反電動勢,形成“剎車”作用;(2)惰行— 4個開關全部斷開,則電機慣性所產生的電動勢將無法形成回路,從而不會產生阻礙運動的反電動勢,電機將慣性轉動較長一段時間。
圖1所示的H橋驅動電路只是原理上的,實際H橋驅動電路的4個開關須用三極管、MOSFET等元件取代,見圖2所示。
圖2
2.典型H橋驅動電路分析
為了分析H橋電路,先討論 H 橋的性能指標:
(1)效率:所謂驅動效率高,就是要將輸入的能量盡可能多地輸出給負載,而驅動電路本身最好不消耗或少消耗能量,具體到H橋上,就是4個橋臂在導通時最好沒有壓降,或者是越小越好。
(3)安全性:不能同側橋臂同時導通,在PWM電機控制上采用帶死區的PWM (或采用邏輯電路)控制可以確保這一點;
(3)電壓:能夠承受的驅動電壓;
(4)電流:能夠通過的驅動電流。
可以看出,指標(2)不是H橋本身的問題,而是控制部分要考慮的問題。最后兩個指標,只要不是特別大的負載需求,通過選擇合適參數的器件就能滿足,如智能小車控制等應用。
只有指標(1)是由不同器件的性能所決定的,而且是運行中最應關注的性能指標,因為它直接影響電機驅動的效率。故分析的重點應放在效率上,也就是橋臂的壓降上。
為使分析簡單且便于比較,設H 橋的驅動電流為2A ,電壓在 5~12V。三極管H橋和MOSFET管H橋器件選擇如下:
(1)雙極性晶體管-D772、D882
D772的壓降指標 :
D882的壓降指標:
(2)MOS管-2301、2302
2301的壓降指標:
因為MOS管是以導通電阻來衡量的,這里須進行換算;實際應用中,通常智能小車采用電池供電,設小車的控制電壓為4.5V(電池電壓),根據上表給出的導通電阻參數,驅動電流2A時的最小壓降為2* 0.093 V= 0.186V,最大壓降為2 * 0.13 V= 0.26V。
2302的壓降指標:
若是智能小車的控制電壓是4.5V,按上表給出的導通電阻參數,2A驅動電流時的壓降為2* 0.045 V=0.09V,最大壓降為2 * 0.06 = 0.12V。
如果均以2A電流驅動計算,兩種H驅動自身所消耗的功率如下:
三極管H橋: D772、D882 –(0.5V+0.5V)*2A = 2 W
MOS管H橋:2301、2302-- (0.26V+0.12V)2 A= 0.76 W
以驅動一個 4.5V 、2A 的直流電機為例,電機得到的功率是 4.5V 2A= 9W;采用三極管 D772、D882 需要5.5V供電,效率為 9/(5.52)= 81% ;采用 MOS管2301、2302 需要4.88V供電,效率為9/(4.882)= 92%。
從這組數據可看出兩者的散熱需求。同時還可解釋智能小車使用三極管 D772、D882作為H橋驅動時為何要選用3V電機,這是因為智能小車是4節1.2V充電電池供電,電源電壓只有4.8~5V,三極管H橋壓降為1V,因此只能使用3V的電機;而改用MOS管H橋驅動后, MOS 管H橋只有不到0.4V的壓降,故可選用4.5V的電機。
要使電機運轉,必須使對角線上的一對三極管導通。見圖3所示,當Q1管和Q4管導通時,電流就從電源正極經Q1從左至右穿過電機(或線圈),然后再經Q4回到電源負極。按圖中電流箭頭所示,該流向的電流將驅動電機順時針轉動。當三極管Q1和Q4導通時,電流將從左至右流過電機,從而驅動電機按特定方向轉動(電機周圍的箭頭指示為順時針方向)。
圖3
圖4所示為另一對三極管Q2和Q3導通的情況,電流將從右至左流過電機。當三極管Q2和Q3導通時,電流將從右至左流過電機,從而驅動電機沿另一方向轉動(電機周圍的箭頭表示為逆時針方向)。
圖4
需要強調說明的是,盡管我們理論上可以使用2個NMOSFET和2個PMOSFET來構建H橋電路,但實際應用中一般使用4個N型MOSFET管來搭建H橋電路。之所以大多不使用2個NMOS管+2個PMOS管用來搭建H橋電路,主要原因是:一是現有型號的PMOS管較難做到高耐壓大電流,且導通電阻大;二是同樣性能的MOS管,NMOS管比PMOS更加便宜。
對于NMOS,當外部給的柵源極Vgs電壓大于芯片的Vgs閾值(大部分在2V~10V之間)時,漏極D和源極S之間直接導通。如果外部加的Vgs電壓小于閾值,漏極D和源極S之間截止。可簡單地認為,其實NMOS就是一個由柵極G電壓控制的一個開關。圖5是我們自行設計電機驅動電路可參考的一種NMOS型號。
圖5
3.DRV8833雙H橋電機驅動模塊介紹
在實際的電機驅動應用中,使用分立元件設計制作H橋較為麻煩,目前市場上有很多封裝好的H橋集成電路電機驅動模塊,在額定電壓和電流允許的范圍內使用只需將其接通電源、電機和控制信號即可。常見的直流電機驅動模塊有ULN2003(達林頓三極管陣列驅動)、L298N(雙H橋驅動)、TB6612(雙H橋驅動)、DRV8833(雙H橋驅動)等。其中,DRV8833是TI公司出品的一款雙通道H橋電機驅動芯片(可完全取代TB6612),采用該芯片設計的典型直流電機驅動電路原理圖見圖6所示。
圖6
以DRV8833芯片為基礎,許多電子廠家推出了相應的DRV8833驅動模塊解決方案。圖7是博主在X東電商平臺采購一款DRV8833驅動模塊,本文Pico開發板與直流電機接口將采用該模塊驅動直流電機。
圖7
針對圖7所示的DRV8833雙H橋直流電機驅動模塊,該模塊各信號引腳符號說明如下:
1)VM: 電源 (2.7V~10.8V);
2)GND: 地;
3)AIN1: 電機A H橋輸入1;
4)AIN2: 電機A H橋輸入2;
5)BIN1: 電機B H橋輸入1;
6)BIN2: 電機B H橋輸入2;
7)FLT: 故障輸出;
8) AOUT1: 電機A H橋輸出1;
9) AOUT2: 電機A H橋輸出2;
10) BOUT1: 電機B H橋輸出1;
11) BOUT2: 電機B H橋輸出2;
12)AS1: 橋A接地(用于橋A,可連接到電流檢測電阻;若不需要電流控制,可連接到GND);
13)AS2: 橋B接地;
14)SLP: 睡眠模式輸入,SLP=1(如果嵌入式開發板的GPIO口是LV TTL邏輯,SLP可接到+5V電源或3.3V電源,則SLP=1) 時,H橋驅動電機工作;SLP懸空或接GND時,H橋不能驅動電機工作。
DVR8833有兩個H橋驅動器,可用于驅動兩個DC(直流)電刷電機、一個雙極性步進電機,也可用于驅動其他感性負載。DVR8833每個H橋輸出驅動器模塊由4個N溝道MOSFET組成,這些MOSFET被配置成一個H橋,以驅動電機繞組。每個H橋可連續提供1.5A的電流(在25°且供電電源電壓VM=5V時),能支持高達2A的峰值電流。
DVR8833電機驅動模塊主要參數:電機電壓范圍2.7V~10.8V(即VM電源電壓范圍),峰值電流2A,MOSFET導通電阻360mΩ(因全部采用NMOS,導通電阻低)。
再補充說明一點,如果遇到的實際問題是使用大功率電機的話,則可改用DRV8302大功率電機驅動模塊,DRV8302驅動模塊主要參數:電機電壓范圍5.5V~45V,峰值電流15A。
4.Pico開發板與直流電機接口
DVR8833可以接兩個小型直流電機,本文Pico開發板與一個直流電機接口原理圖見圖8所示。
圖8
對應于圖8的Pico開發板與直流電機接口原理圖, 圖9是通過面包板接線的Pico開發板與直流電機接口拍照實物圖。這里使用了配風扇葉片、電機型號為R300C的微型直流電機,該電機主要參數:電源電壓1.5V~6V,3V電壓3500轉,6V電壓7000轉。
圖9
對應于圖8的Pico開發板與直流電機接口原理圖, 圖9是通過面包板接線的Pico開發板與直流電機接口拍照實物圖。這里使用了配風葉片、電機型號為R300C微型直流電機,該電機的主要參數:電源電壓1.5V~6V,3V電壓3500轉,6V電壓7000轉。
二、Pico開發板擴展口PWM電機調速控制MicroPython編程實現
1.DRV8833模塊電機驅動及PWM電機調速控制真值表
表1 DRV8833模塊H橋驅動控制真值表
表2 DRV8833模塊PWM控制電機轉速真值表
2.Pico開發板GPIO擴展口PWM電機調速控制MicroPython編程實現
MicroPython編程實現1:Pico開發板GPIO擴展口的GP14和GP15控制直流電機正反轉,程序清單如下:
結合本程序對應的圖8和圖9硬件接口及表1的真值表分析可知:本程序運行后,電機將依次正轉2秒、反轉2秒,最后停轉(驅動模塊H橋的AOUT1和AOUT2輸出為高阻,電機慣性運行停轉)。
MicroPython編程實現2:將Pico開發板GPIO擴展口的GP14設置為PWM輸出口,GP15設置為輸出口,并用不同占空比的PWM信號控制直流電機正反轉調速,程序清單如下:
結合參考文獻[1]中的PWM技術及MicroPython樹莓派Pico實現、本程序對應的圖8和圖9硬件接口、表2的PWM電機調速真值表和程序注釋不難看出:本程序執運行后,電機將先按5擋從快到慢的不同的速度(100%,75%,50%,25%,0%)各正轉2秒,然后再按5擋從快到慢的不同速度(100%,75%,50%,25%,0%)各反轉2秒;當電機快速轉動時,將同步帶動風扇葉片快速旋轉[圖10(c )]。
圖10
參考文獻:
[1]博主CSDN博文.運用PWM技術及MicroPython實現樹莓派Pico板上LED呼吸燈視覺效果.
發布日期:2021年07月08日
總結
以上是生活随笔為你收集整理的树莓派Pico直流电机接口技术及PWM电机调速控制MicroPython编程的全部內容,希望文章能夠幫你解決所遇到的問題。