<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32 PWM驅動舵機實驗

CHANBAEK ? 來源: 想啥做啥 ? 作者: 想啥做啥 ? 2023-11-29 16:30 ? 次閱讀

實驗環境

Matlab版本: 2021b

操作系統 :Win10專業版

硬件平臺 :YF-STM32-ALPHA 1R4

實驗內容 :硬件在環修改參數控制舵機轉動

模型與原理圖

STM32 simulink驅動舵機效果如圖5.1所示,本次實驗用到的Simulink簡易模型如圖5.2所示,電路圖接法如圖5.3所示,YF-STM32-ALPHA開發板舵機接口位置如圖5.4所示,通過改變“Constant”的值實現舵機不同角度轉動,數值2.5~12.5對應0°~180°(或-90°~90°)。

圖片

圖5.1 硬件在環舵機轉動效果

圖片圖5.2 PWM 驅動simulink模型

圖片

圖5.3 STM32舵機驅動電路

圖片

圖5.4 舵機接口位置

基礎模型介紹與分析

PWM簡介

PWM的全稱是脈沖寬度調制(Pulse-width modulation),是通過將有效的電信號分散成離散形式從而來降低電信號所傳遞的平均功率的一種方式;所以根據面積等效法則,可以通過對改變脈沖的時間寬度,來等效的獲得所需要合成的相應幅值和頻率的波形;

PWM實現不是單片機的專屬,使用信號發生器產生的鋸齒波結合LM393比較器,然后用一個可調電阻輸出的電壓作為參考電壓,可以得到一個脈沖寬度可以調節的電路,如圖5.5所示。

圖片

圖5.5 信號發生器與比較器組成PWM電路

但是實際使用過程中,讀者朋友不可能帶著信號發生器走,所以實際電路中一般使用555定時器來產生脈沖寬度可調電路,如圖5.6所示。

圖片

圖5.6 555定時器PWM可調電路

專用名詞解釋

頻率: 是指每秒鐘信號從高電平到低電平再回到高電平的次數,為一個PWM波周期的倒數。如圖5.7和圖5.8所示,頻率=1/(高電平時間+低電平時間)。

圖片

圖5.7 單個脈沖周期

圖片

圖5.8 1S內相同脈沖的個數代表頻率

占空比 :是指高電平持續時間占比一個周期持續的時間。如圖5.9所示,占空比=高電平時間/(高電平時間+低電平時間),可以通過控制占空比,來控制輸出的等效電壓。

圖片

圖5.9 同頻率下不同占空比波形等效電壓

SG90舵機外觀實物與引腳定義如圖5.10所示,其本質是一個脈寬控制的伺服電機,通過接收不同占空比脈沖從而實現不同角度轉動,其固有驅動頻率為50Hz(周期20ms),脈沖占空比與角度對應關系為5ms(2.5%)->-90°,1ms(5%)->-45°,1.5ms(7.5%)->0°,2ms(10%)->45°,2.5ms(12.5%)->90°,括號里面內容對應實際“Constant”變量值,百分百表示高電平占空比,對應的角度如圖5.11所示。

圖5.10 SG90舵機實物與引腳定義

圖片

圖5.11 SG90舵機脈沖寬度對應的角度

注 意 :實際使用中建議使用時電壓不低于5V,并確保電流是否可以滿足舵機驅動,≥500mA為宜,使用多個舵機同時工作時,確保足額的電流供給。

表5.1 SG90舵機參數表

產品型號使用電壓工作扭矩反應轉速使用溫度轉動角度
SG903~7.2V1.6kg/cm0.12-0.13秒/60°-30℃~60℃180°

“PWM Output”STM32專用模塊與參數設置如圖5.12所示,“Pin”參數欄用于配置PWM引腳,示例中使用"PA_7"對應到STM32的PA7引腳,“Initial frequency”用于設置初始頻率,“Initial duty cycle”用于設置初始占空比。

圖片

圖5.12 “PWM Output”模塊

STM32F103RBT6在simulink模型中有多個引腳支持PWM脈沖輸出,可以采用圖5.13所示方式同時測試或使用多個PWM脈沖控制舵機或其他脈沖設備,表5.2為該芯片的PWM脈沖具體對應的引腳和通道,內容來參考自“Pinmap_NUCLEO_F103RB”圖,表中已標示的證明已經測試過,其他的由于本開發板限制,請讀者朋友自行測試。

圖片

圖5.13 同時多個PWM工作簡易模型

注 意:此表主要針對型號為STM32F103RBT6整理,其它芯片請參考此表自行測試或參考Pinmap圖

表5.2 PWM對照表(F103RBT6)

STM32引腳編號通道
PA1PWM2/2
PB0PWM3/3
PA15PWM2/1
PC9PWM3/4
PC8PWM3/3
PC6PWM3/1
PA11PWM1/4
PB11PWM2/4
PA6PWM3/1
PA7PWM3/2
PC7PWM3/1
PA9PWM1/2
PA8PWM1/1
PB10PWM2/3
PB4PWM3/1
PB5PWM3/2
PB3PWM2/2
PA10PWM1/3
PA2PWM2/3
PA3PWM2/4
PB1PWM3/4
PB15PWM1/3N
PB14PWM1/2N
PB13PWM1/1N

圖5.14~圖5.16是作者輸入不同值通過示波器測量到的實際脈沖占空比,供讀者朋友參考。

圖片圖5.14 50Hz-5%占空比PWM模型與示波器實際顯示波形

圖片

圖5.15 50Hz-10%占空比PWM模型與示波器實際顯示波形

圖片

圖5.16 50Hz-15%占空比模型與示波器實際顯示波形

總結

本節實驗通過一個簡單的PWM模型驅動舵機旋轉,并驗證多通道情況下PWM脈沖輸出控制的可行性,為讀者朋友下一步使用舵機驅動提供參考價值,大家可以思考下通過多個舵機的組合可以實現哪些好玩的東西?為使用舵機驅動的場合,其中好幾個制作純使用舵機完成,大家結合已有設備自行去實現下。

拓展延申

本節其實只使用到簡單的PWM脈寬調制方式,其實在生活中還有一種用的非常廣泛的脈沖電機也是使用PWM來控制的,那就是步進電機,只不過該電機接收的不是脈寬控制而是脈沖控制,即每接收一個脈沖,步進電機轉動固定的角度,圖5.21為工業常用步進電機參考測試電路,有條件的讀者朋友可以結合本節內容實現下如何控制步進電機轉動固定步數。另外讀者朋友還可以結合前面小節學到的A/D采集知識或I/O輸入知識制作一些好玩的東西,例如“追光向日葵”,“數字可調電源”等。

圖片

圖5.21 步進電機驅動測試電路

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 原理圖
    +關注

    關注

    1272

    文章

    6183

    瀏覽量

    227282
  • STM32
    +關注

    關注

    2245

    文章

    10685

    瀏覽量

    349486
  • Simulink
    +關注

    關注

    22

    文章

    513

    瀏覽量

    61691
  • 開發板
    +關注

    關注

    25

    文章

    4542

    瀏覽量

    94723
  • 舵機
    +關注

    關注

    17

    文章

    241

    瀏覽量

    40511
收藏 人收藏

    評論

    相關推薦

    STM32驅動舵機時的問題???????

    STM32PWM信號驅動舵機時,為什么TFT屏一直白屏,舵機工作有時正常,有時處理器一直復位。我是直接連接的,該怎么連接,需要隔離嗎?求指點
    發表于 02-16 22:21

    STM32PWM波信號只有3.3V怎么驅動需要5V信號驅動舵機

    新買了個舵機是5V電壓信號驅動的,但是STM32F103C8T6的定時器3的IO口配置復用推挽輸出的PWM波信號只有3.3V,加上拉電阻也只有3.8V左右,怎么才能
    發表于 10-11 15:40

    STM32PWM控制舵機

    摘自:STM32 PWM控制舵機作者:三速何時sub20發布時間: 2021-02-27 14:54:01網址:https://blog.csdn.net/weixin_44234294/article/details/1141
    發表于 06-30 07:02

    如何stm32pwm驅動舵機

    不同的信號,來控制其旋轉到不同的角度。舵機接收的是PWM信號,當信號進入內部電路產生一個偏置電壓,觸發電機通過減速齒輪帶動電位器移動,使電壓差為零時,電機停轉,從而達到伺服的效果。簡單來說就是給舵機一個特定
    發表于 06-30 07:11

    使用cube配置定時器產生PWM驅動舵機

    STM32CubeMX-使用cube配置定時器產生PWM驅動舵機
    發表于 08-11 07:55

    STM32產生PWM才能驅動舵機

    舵機可分為哪幾類?STM32產生PWM才能驅動舵機嗎?
    發表于 10-18 09:53

    STM32_PWM實驗

    STM32 PWM實驗,很好的學習資料,快來下載啊
    發表于 02-16 15:46 ?55次下載

    使用STM32單片機實現16路PWM舵機驅動的程序和工程文件

    本文檔的主要內容詳細介紹的是使用STM32單片機實現16路PWM舵機驅動的程序和工程文件免費下載。
    發表于 11-11 08:00 ?26次下載
    使用<b class='flag-5'>STM32</b>單片機實現16路<b class='flag-5'>PWM</b><b class='flag-5'>舵機</b><b class='flag-5'>驅動</b>的程序和工程文件

    STM32F4 PWM-DAC實驗例程

    STM32F4 PWM-DAC實驗例程(電源技術是sci嗎)-STM32F4 PWM-DAC實驗
    發表于 09-16 10:14 ?43次下載
    <b class='flag-5'>STM32</b>F4 <b class='flag-5'>PWM</b>-DAC<b class='flag-5'>實驗</b>例程

    STM32—TIM3輸出PWM信號驅動MG996R舵機(按鍵控制)

    文章目錄**一、前言****二、MG996R舵機簡介****三、通用定時器TIMx****四、TIM3輸出PWM信號代碼詳解**一、前言利用STM32的TIM3的通道1輸出PWM信號,
    發表于 11-23 18:21 ?57次下載
    <b class='flag-5'>STM32</b>—TIM3輸出<b class='flag-5'>PWM</b>信號<b class='flag-5'>驅動</b>MG996R<b class='flag-5'>舵機</b>(按鍵控制)

    實驗4——STM32PWM和DAC練習

    文章目錄實驗要求一、用STM32F103輸出一路PWM波形(1)PWM簡介(2)STM32F1 PWM
    發表于 12-09 16:21 ?12次下載
    <b class='flag-5'>實驗</b>4——<b class='flag-5'>STM32</b>的<b class='flag-5'>PWM</b>和DAC練習

    STM32控制舵機講解,從入門到放棄。

    STM32控制舵機文章目錄STM32控制舵機前言一、PWMPWM是什么?如何實現PWM信號輸出?二、舵機
    發表于 12-24 19:26 ?24次下載
    <b class='flag-5'>STM32</b>控制<b class='flag-5'>舵機</b>講解,從入門到放棄。

    STM32控制舵機的方法及實例

    STM32控制SG90舵機 在這篇博客中,我講解的是SG90的180°型號的舵機。其它型號的舵機也可以參考。首先,舵機的控制方式
    發表于 12-24 19:30 ?127次下載
    <b class='flag-5'>STM32</b>控制<b class='flag-5'>舵機</b>的方法及實例

    stm32控制舵機——以stm32F103C8T6為例

    舵機是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統。使用stm32控制機器時,經常要用到舵機,如使某個部位轉到特定的角度,或者在行進過程中的方向控制,這
    發表于 12-24 19:35 ?107次下載
    用<b class='flag-5'>stm32</b>控制<b class='flag-5'>舵機</b>——以<b class='flag-5'>stm32</b>F103C8T6為例

    智能車方向控制舵機PWM技術

    舵機 舵機是一種位置(角度)伺服的驅動器,我們可以通過給信號腳不同的占空比來讓舵機進行打角進而控制小車方向。 例如C車的S3010舵機,它需
    的頭像 發表于 11-14 16:54 ?506次閱讀
    智能車方向控制<b class='flag-5'>舵機</b><b class='flag-5'>PWM</b>技術
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>