實驗環(huán)境
Matlab版本: 2021b
操作系統(tǒng) :Win10專業(yè)版
實驗內(nèi)容 :硬件在環(huán)修改參數(shù)控制舵機轉(zhuǎn)動
模型與原理圖
STM32 simulink驅(qū)動舵機效果如圖5.1所示,本次實驗用到的Simulink簡易模型如圖5.2所示,電路圖接法如圖5.3所示,YF-STM32-ALPHA開發(fā)板舵機接口位置如圖5.4所示,通過改變“Constant”的值實現(xiàn)舵機不同角度轉(zhuǎn)動,數(shù)值2.5~12.5對應0°~180°(或-90°~90°)。
圖5.1 硬件在環(huán)舵機轉(zhuǎn)動效果
圖5.2 PWM 驅(qū)動simulink模型
圖5.3 STM32舵機驅(qū)動電路圖
圖5.4 舵機接口位置
基礎(chǔ)模型介紹與分析
PWM簡介
PWM的全稱是脈沖寬度調(diào)制(Pulse-width modulation),是通過將有效的電信號分散成離散形式從而來降低電信號所傳遞的平均功率的一種方式;所以根據(jù)面積等效法則,可以通過對改變脈沖的時間寬度,來等效的獲得所需要合成的相應幅值和頻率的波形;
PWM實現(xiàn)不是單片機的專屬,使用信號發(fā)生器產(chǎn)生的鋸齒波結(jié)合LM393比較器,然后用一個可調(diào)電阻輸出的電壓作為參考電壓,可以得到一個脈沖寬度可以調(diào)節(jié)的電路,如圖5.5所示。
圖5.5 信號發(fā)生器與比較器組成PWM電路
但是實際使用過程中,讀者朋友不可能帶著信號發(fā)生器走,所以實際電路中一般使用555定時器來產(chǎn)生脈沖寬度可調(diào)電路,如圖5.6所示。
圖5.6 555定時器PWM可調(diào)電路
專用名詞解釋
頻率: 是指每秒鐘信號從高電平到低電平再回到高電平的次數(shù),為一個PWM波周期的倒數(shù)。如圖5.7和圖5.8所示,頻率=1/(高電平時間+低電平時間)。
圖5.7 單個脈沖周期
圖5.8 1S內(nèi)相同脈沖的個數(shù)代表頻率
占空比 :是指高電平持續(xù)時間占比一個周期持續(xù)的時間。如圖5.9所示,占空比=高電平時間/(高電平時間+低電平時間),可以通過控制占空比,來控制輸出的等效電壓。
圖5.9 同頻率下不同占空比波形等效電壓
SG90舵機外觀實物與引腳定義如圖5.10所示,其本質(zhì)是一個脈寬控制的伺服電機,通過接收不同占空比脈沖從而實現(xiàn)不同角度轉(zhuǎn)動,其固有驅(qū)動頻率為50Hz(周期20ms),脈沖占空比與角度對應關(guān)系為5ms(2.5%)->-90°,1ms(5%)->-45°,1.5ms(7.5%)->0°,2ms(10%)->45°,2.5ms(12.5%)->90°,括號里面內(nèi)容對應實際“Constant”變量值,百分百表示高電平占空比,對應的角度如圖5.11所示。
圖5.10 SG90舵機實物與引腳定義
圖5.11 SG90舵機脈沖寬度對應的角度
注 意 :實際使用中建議使用時電壓不低于5V,并確保電流是否可以滿足舵機驅(qū)動,≥500mA為宜,使用多個舵機同時工作時,確保足額的電流供給。
表5.1 SG90舵機參數(shù)表
產(chǎn)品型號 | 使用電壓 | 工作扭矩 | 反應轉(zhuǎn)速 | 使用溫度 | 轉(zhuǎn)動角度 |
---|---|---|---|---|---|
SG90 | 3~7.2V | 1.6kg/cm | 0.12-0.13秒/60° | -30℃~60℃ | 180° |
“PWM Output”STM32專用模塊與參數(shù)設(shè)置如圖5.12所示,“Pin”參數(shù)欄用于配置PWM引腳,示例中使用"PA_7"對應到STM32的PA7引腳,“Initial frequency”用于設(shè)置初始頻率,“Initial duty cycle”用于設(shè)置初始占空比。
圖5.12 “PWM Output”模塊
STM32F103RBT6在simulink模型中有多個引腳支持PWM脈沖輸出,可以采用圖5.13所示方式同時測試或使用多個PWM脈沖控制舵機或其他脈沖設(shè)備,表5.2為該芯片的PWM脈沖具體對應的引腳和通道,內(nèi)容來參考自“Pinmap_NUCLEO_F103RB”圖,表中已標示的證明已經(jīng)測試過,其他的由于本開發(fā)板限制,請讀者朋友自行測試。
圖5.13 同時多個PWM工作簡易模型
注 意:此表主要針對型號為STM32F103RBT6整理,其它芯片請參考此表自行測試或參考Pinmap圖
表5.2 PWM對照表(F103RBT6)
STM32引腳編號 | 通道 |
---|---|
PA1 | PWM2/2 |
PB0 | PWM3/3 |
PA15 | PWM2/1 |
PC9 | PWM3/4 |
PC8 | PWM3/3 |
PC6 | PWM3/1 |
PA11 | PWM1/4 |
PB11 | PWM2/4 |
PA6 | PWM3/1 |
PA7 | PWM3/2 |
PC7 | PWM3/1 |
PA9 | PWM1/2 |
PA8 | PWM1/1 |
PB10 | PWM2/3 |
PB4 | PWM3/1 |
PB5 | PWM3/2 |
PB3 | PWM2/2 |
PA10 | PWM1/3 |
PA2 | PWM2/3 |
PA3 | PWM2/4 |
PB1 | PWM3/4 |
PB15 | PWM1/3N |
PB14 | PWM1/2N |
PB13 | PWM1/1N |
圖5.14~圖5.16是作者輸入不同值通過示波器測量到的實際脈沖占空比,供讀者朋友參考。
圖5.14 50Hz-5%占空比PWM模型與示波器實際顯示波形
圖5.15 50Hz-10%占空比PWM模型與示波器實際顯示波形
圖5.16 50Hz-15%占空比模型與示波器實際顯示波形
總結(jié)
本節(jié)實驗通過一個簡單的PWM模型驅(qū)動舵機旋轉(zhuǎn),并驗證多通道情況下PWM脈沖輸出控制的可行性,為讀者朋友下一步使用舵機驅(qū)動提供參考價值,大家可以思考下通過多個舵機的組合可以實現(xiàn)哪些好玩的東西?為使用舵機驅(qū)動的場合,其中好幾個制作純使用舵機完成,大家結(jié)合已有設(shè)備自行去實現(xiàn)下。
拓展延申
本節(jié)其實只使用到簡單的PWM脈寬調(diào)制方式,其實在生活中還有一種用的非常廣泛的脈沖電機也是使用PWM來控制的,那就是步進電機,只不過該電機接收的不是脈寬控制而是脈沖控制,即每接收一個脈沖,步進電機轉(zhuǎn)動固定的角度,圖5.21為工業(yè)常用步進電機參考測試電路,有條件的讀者朋友可以結(jié)合本節(jié)內(nèi)容實現(xiàn)下如何控制步進電機轉(zhuǎn)動固定步數(shù)。另外讀者朋友還可以結(jié)合前面小節(jié)學到的A/D采集知識或I/O輸入知識制作一些好玩的東西,例如“追光向日葵”,“數(shù)字可調(diào)電源”等。
圖5.21 步進電機驅(qū)動測試電路
-
原理圖
+關(guān)注
關(guān)注
1297文章
6338瀏覽量
233813 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355743 -
Simulink
+關(guān)注
關(guān)注
22文章
533瀏覽量
62380 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97375 -
舵機
+關(guān)注
關(guān)注
17文章
268瀏覽量
41013
發(fā)布評論請先 登錄
相關(guān)推薦
評論