RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32基礎(chǔ)知識(shí):PWM控制舵機(jī)

CHANBAEK ? 來(lái)源:上下求索電子er ? 作者:上下求索電子er ? 2023-10-24 15:36 ? 次閱讀

PWM控制舵機(jī)

1 舵機(jī)簡(jiǎn)介

伺服電機(jī)通常被稱為舵機(jī),它是一種帶有輸出軸的小裝置。當(dāng)我們向伺服器發(fā)送一個(gè)控制信號(hào)時(shí),輸出軸就可以轉(zhuǎn)到特定的位置。只要控制信號(hào)持續(xù)不變,伺服機(jī)構(gòu)就會(huì)保持軸的角度位置不改變。如果控制信號(hào)發(fā)生變化,輸出軸的位置也會(huì)相應(yīng)發(fā)生變化。日常生活中,舵機(jī)常被用于遙控飛機(jī)、遙控汽車、機(jī)器人等領(lǐng)域。

舵機(jī)在機(jī)器人領(lǐng)域非常有用。因?yàn)槎鏅C(jī)有內(nèi)置的控制電路,它們的尺寸雖然很小,但輸出力夠大。像Futaba S-148這樣的標(biāo)準(zhǔn)舵機(jī)能提供 0.3牛/米的扭矩,相對(duì)于它的外形大小來(lái)說這已經(jīng)足夠強(qiáng)大了。同時(shí),舵機(jī)消耗的能量與機(jī)械負(fù)荷成正比。因此,一個(gè)輕載的舵機(jī)系統(tǒng)不會(huì)消耗太多的能量。

2 舵機(jī)結(jié)構(gòu)

舵機(jī)主要由以下幾個(gè)部分組成:外殼、舵盤、直流電機(jī)、減速齒輪組、角度傳感器、控制驅(qū)動(dòng)電路接口線纜等。常見的舵機(jī)內(nèi)部結(jié)構(gòu)如下圖所示。

圖片

圖片

舵機(jī)的輸入有三根線,一般的中間的紅色線為電源正極,咖啡色線的為電源負(fù)極,黃色色線為控制線號(hào)線。

3 舵機(jī)控制

圖片

控制線用于傳輸角度控制信號(hào)。這個(gè)角度是由控制信號(hào)脈沖的持續(xù)時(shí)間決定的,這叫做脈沖編碼調(diào)制(PCM)。舵機(jī)的控制一般需要一個(gè)20ms左右的時(shí)基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍,總間隔為2ms。脈沖的寬度將決定馬達(dá)轉(zhuǎn)動(dòng)的距離。

例如:1.5毫秒的脈沖,電機(jī)將轉(zhuǎn)向90度的位置(通常稱為中立位置,對(duì)于180°舵機(jī)來(lái)說,就是90°位置)。如果脈沖寬度小于1.5毫秒,那么電機(jī)軸向朝向0度方向。如果脈沖寬度大于1.5毫秒,軸向就朝向180度方向。以180度舵機(jī)為例,對(duì)應(yīng)的控制關(guān)系是這樣的:

0.5ms0度
1.0ms45度
1.5ms90度
2.0ms135度
2.5ms180度

4 任務(wù)實(shí)踐

通過按鍵控制舵機(jī)角度,當(dāng)KEY1按下后, 減少占空比,當(dāng)KEY2按下后,增加占空比,并在串口輸出此時(shí)的角度。

  1. PWM參數(shù)計(jì)算
    PWM信號(hào)周期Period=20ms,采用STM32內(nèi)部8MHz的時(shí)鐘,計(jì)算可得(ARR+1)*(PSC+1)=160000,故可取ARR=199,PSC=799。舵機(jī)為0度時(shí),高電平持續(xù)時(shí)間為0.5ms,即占空比Duty=0.025,則CCR初始值可以設(shè)為5.

PWM參數(shù)計(jì)算在STM32基礎(chǔ):定時(shí)器的PWM輸出功能中有詳細(xì)講解。

  1. 在CubeMX中配置PWM(采用定時(shí)器3通道1)、串口以及按鍵1和按鍵2對(duì)應(yīng)GPIO為中斷模式并使能.
    圖片
    圖片

在CubeMX中配置串口,在Keil中使用“Use MicroLIB”并在代碼中重定向printf函數(shù)的方法在STM32基礎(chǔ):定時(shí)器的定時(shí)計(jì)數(shù)功能有詳細(xì)講解。

在CubeMX中配置GPIO中斷并使能的方法已經(jīng)按鍵的相關(guān)操作在STM32基礎(chǔ):中斷系統(tǒng)中有詳細(xì)講解。

  1. 編寫代碼
/* USER CODE BEGIN PD */
#define CCR_MAX 25  // CCR最大值
/* USER CODE END PD */

/* USER CODE BEGIN PV */
uint16_t CCR = 5;   // CCR初始值
uint16_t Step = 5;  // CCR步進(jìn)值
/* USER CODE END PV */

/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  if(GPIO_Pin == KEY1_Pin)
  {
    (CCR >= CCR_MAX) ? (CCR = 5) : (CCR += Step);
    __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, CCR);
    printf("Sigle = %d", (CCR/5 - 1)*45);
    HAL_Delay(200);
  }
  else if (GPIO_Pin == KEY2_Pin)
  {
    (CCR <= 5) ? (CCR = CCR_MAX) : (CCR -= Step);
    __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, CCR);
    printf("Sigle = %d", (CCR/5 - 1)*45);
    HAL_Delay(200);
  }
}

/* USER CODE END 4 */
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 直流電機(jī)
    +關(guān)注

    關(guān)注

    36

    文章

    1710

    瀏覽量

    70156
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5181

    瀏覽量

    213795
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355725
  • 伺服電機(jī)
    +關(guān)注

    關(guān)注

    85

    文章

    2043

    瀏覽量

    57808
  • 舵機(jī)
    +關(guān)注

    關(guān)注

    17

    文章

    268

    瀏覽量

    41013
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電機(jī)控制基礎(chǔ)知識(shí)1—定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    轉(zhuǎn)速等。 本篇先介紹 定時(shí)器的基礎(chǔ)知識(shí) ,然后對(duì)照這些知識(shí)介紹一下 定時(shí)器輸出PWM的基本原理 ,以及 編程實(shí)現(xiàn)與代碼分析 。 首先來(lái)看一下定時(shí)器的基礎(chǔ)介紹。 1 定時(shí)器基礎(chǔ)知識(shí) 1.
    的頭像 發(fā)表于 06-17 00:11 ?1.2w次閱讀
    電機(jī)<b class='flag-5'>控制</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>1—定時(shí)器<b class='flag-5'>基礎(chǔ)知識(shí)</b>與<b class='flag-5'>PWM</b>輸出原理

    STM32PWM控制舵機(jī)

    摘自:STM32 PWM控制舵機(jī)作者:三速何時(shí)sub20發(fā)布時(shí)間: 2021-02-27 14:54:01網(wǎng)址:https://blog.csdn.net/weixin_4423429
    發(fā)表于 06-30 07:02

    STM32控制舵機(jī)

    STM32控制舵機(jī)文章目錄STM32控制舵機(jī)前言一、PWMPWM是什么?如何實(shí)現(xiàn)
    發(fā)表于 08-04 06:26

    STM32是如何控制舵機(jī)

    PWM是什么?如何實(shí)現(xiàn)PWM信號(hào)輸出?什么是舵機(jī)?STM32是如何控制舵機(jī)的?
    發(fā)表于 10-19 06:19

    如何利用PWM信號(hào)去控制舵機(jī)

    【K210+micropython】PWM信號(hào)控制舵機(jī)文章目錄【K210+micropython】PWM信號(hào)控制
    發(fā)表于 01-14 09:19

    定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理是什么

    轉(zhuǎn)速等。本篇先介紹定時(shí)器的基礎(chǔ)知識(shí),然后對(duì)照這些知識(shí)介紹一下定時(shí)器輸出PWM的基本原理,以及編程實(shí)現(xiàn)與代碼分析。首先來(lái)看一下定時(shí)器的基礎(chǔ)介紹。1 定時(shí)器基礎(chǔ)知識(shí)1.1 定時(shí)器種類以
    發(fā)表于 01-25 08:16

    STM32 CubeMX學(xué)習(xí):5. 其他PWM設(shè)備

    :5. 其他PWM設(shè)備0 前言1 基礎(chǔ)知識(shí)1.1 蜂鳴器1.2 舵機(jī)控制2 程序?qū)W習(xí)2.1 蜂鳴器的CubeMX配置2.1.1 有源蜂鳴器2.1.2 無(wú)源蜂鳴器2.2
    發(fā)表于 11-23 17:51 ?1次下載
    <b class='flag-5'>STM32</b> CubeMX學(xué)習(xí):5. 其他<b class='flag-5'>PWM</b>設(shè)備

    STM32—TIM3輸出PWM信號(hào)驅(qū)動(dòng)MG996R舵機(jī)(按鍵控制

    MG996R舵機(jī),按鍵控制。相關(guān)知識(shí):TIM定時(shí)器基本原理,TIM輸出PWM信號(hào)、MG996R舵機(jī)驅(qū)動(dòng)原理二、MG996R
    發(fā)表于 11-23 18:21 ?58次下載
    <b class='flag-5'>STM32</b>—TIM3輸出<b class='flag-5'>PWM</b>信號(hào)驅(qū)動(dòng)MG996R<b class='flag-5'>舵機(jī)</b>(按鍵<b class='flag-5'>控制</b>)

    電機(jī)控制基礎(chǔ)——定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    轉(zhuǎn)速等。本篇先介紹定時(shí)器的基礎(chǔ)知識(shí),然后對(duì)照這些知識(shí)介紹一下定時(shí)器輸出PWM的基本原理,以及編程實(shí)現(xiàn)與代碼分析。首先來(lái)看一下定時(shí)器的基礎(chǔ)介紹。1 定時(shí)器基礎(chǔ)知識(shí)1.1 定時(shí)器種類以
    發(fā)表于 11-30 14:21 ?38次下載
    電機(jī)<b class='flag-5'>控制</b>基礎(chǔ)——定時(shí)器<b class='flag-5'>基礎(chǔ)知識(shí)</b>與<b class='flag-5'>PWM</b>輸出原理

    STM32控制舵機(jī)講解,從入門到放棄。

    STM32控制舵機(jī)文章目錄STM32控制舵機(jī)前言一、PWMPWM是什么?如何實(shí)現(xiàn)
    發(fā)表于 12-24 19:26 ?24次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>控制</b><b class='flag-5'>舵機(jī)</b>講解,從入門到放棄。

    STM32控制舵機(jī)的方法及實(shí)例

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

    【K210+micropython】PWM信號(hào)控制舵機(jī)

    【K210+micropython】PWM信號(hào)控制舵機(jī)文章目錄【K210+micropython】PWM信號(hào)控制
    發(fā)表于 01-14 12:28 ?12次下載
    【K210+micropython】<b class='flag-5'>PWM</b>信號(hào)<b class='flag-5'>控制</b><b class='flag-5'>舵機(jī)</b>

    pwm控制SG90舵機(jī)資料分享

    pwm控制SG90舵機(jī)資料分享
    發(fā)表于 07-10 09:22 ?33次下載

    德晟舵機(jī)PWM信號(hào)控制原理

    現(xiàn)在常用的舵機(jī)控制信號(hào)主要有 PWM 信號(hào)和串口總線信號(hào)兩種:其中?PWM?信號(hào)控制比較簡(jiǎn)單,但是功能只有一個(gè)即
    的頭像 發(fā)表于 10-16 15:51 ?1181次閱讀
    德晟<b class='flag-5'>舵機(jī)</b><b class='flag-5'>PWM</b>信號(hào)<b class='flag-5'>控制</b>原理

    PWM信號(hào)控制舵機(jī)原理

    PWM信號(hào)控制舵機(jī)原理
    發(fā)表于 09-21 09:32 ?4次下載
    RM新时代网站-首页