国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32輸出PWM波控制180°舵機(jī)

這篇具有很好參考價(jià)值的文章主要介紹了STM32輸出PWM波控制180°舵機(jī)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

時(shí)間記錄:2024/2/8

一、PWM介紹

(1)脈沖寬度調(diào)制
(2)占空比:高電平時(shí)間占整個(gè)周期時(shí)間的比例
(3)STM32通過定時(shí)器實(shí)現(xiàn)PWM時(shí)具有兩種模式
PWM1模式:向上計(jì)數(shù)模式下,CNT當(dāng)前計(jì)數(shù)寄存器的值小于CCR比較寄存器的值時(shí)輸出有效電平,大于時(shí)輸出無效電平,向下計(jì)數(shù)模式下,CNT當(dāng)前計(jì)數(shù)寄存器的值小于CCR比較寄存器的值時(shí)輸出無效電平,大于時(shí)輸出有效電平
PWM2模式:向上計(jì)數(shù)模式下,CNT當(dāng)前計(jì)數(shù)寄存器的值小于CCR比較寄存器的值時(shí)輸出無效電平,大于時(shí)輸出有效電平,向下計(jì)數(shù)模式下,CNT當(dāng)前計(jì)數(shù)寄存器的值小于CCR比較寄存器的值時(shí)輸出有效電平,大于時(shí)輸出無效電平

二、180°舵機(jī)介紹

(1)以20ms為時(shí)基,通過改變不同的占空比改變舵機(jī)轉(zhuǎn)動(dòng)角度
(2)占空比對(duì)應(yīng)角度

高電平時(shí)間 角度 占空比
0.5ms 0 2.5
1ms 45° 5
1.5ms 90° 7.5
2ms 135° 10
2.5ms 180° 12.5

三、示例代碼(以PA0-TIM2CH1為例)

(1)頭文件

#ifndef __SERVO_H__
#define __SERVO_H__
#include "stm32f10x.h"

void vServoInit(void);
void vSetAngle(float angle);

#endif

(2)源文件

#include "servo.h"
#include <math.h>

void vServoInit(void)
{
    //1.使能定時(shí)器x和相關(guān)IO口時(shí)鐘
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//PAO - Timer2CH1
    
    //4.初始化定時(shí)器 
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
    TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上計(jì)數(shù)
    TIM_TimeBaseInitStruct.TIM_Period=20000-1;
    TIM_TimeBaseInitStruct.TIM_Prescaler=72-1;//20ms
    TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;
    //TIM_TimeBaseInitStruct.TIM_RepetitionCounter = 0;//高級(jí)定時(shí)器使用
    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);
    
    //2.初始化IO口的復(fù)用功能
    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;//復(fù)用推挽輸出模式
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA,&GPIO_InitStruct);
    
    //5.初始化輸出比較參數(shù)
    TIM_OCInitTypeDef TIM_OCInitStruct;
    TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;//PWM模式,模式1 向上計(jì)數(shù)時(shí):CNT < CCR1 則輸出有效電平,否則輸出無效電平
    TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;//比較輸出極性,設(shè)置有效電平為高電平還是低電平
    TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable;//比較輸出使能
    TIM_OCInitStruct.TIM_Pulse = 500;//比較值,寫CCRx
    TIM_OC1Init(TIM2,&TIM_OCInitStruct);//CH1使用OC1
    
    //6.使能預(yù)裝載寄存器
    TIM_OC1PreloadConfig(TIM2,TIM_OCPreload_Enable);
    
    //7.使能自動(dòng)重裝載的預(yù)裝載寄存器允許位,使比較寄存器ARR立即生效,否則下個(gè)比較周期生效
    TIM_ARRPreloadConfig(TIM2,ENABLE);
    
    //8.使能定時(shí)器
    TIM_Cmd(TIM2,ENABLE);
}

void vSetAngle(float angle)
{
    int ccrCount;
    ccrCount = (int)round(11.111111*angle+500);
    TIM_SetCompare1(TIM2,ccrCount);
}

四、MDK5配置邏輯分析儀觀察端口輸出波形

(1)小扳手修改“Debug”的一些參數(shù)
STM32輸出PWM波控制180°舵機(jī),STM32,stm32,單片機(jī),pwm,舵機(jī)
(2)打開Debug界面,打開Logic Analyzer邏輯分析儀界面
STM32輸出PWM波控制180°舵機(jī),STM32,stm32,單片機(jī),pwm,舵機(jī)
STM32輸出PWM波控制180°舵機(jī),STM32,stm32,單片機(jī),pwm,舵機(jī)
(3)點(diǎn)擊setup設(shè)置要觀察的端口,輸入PORTA.0表示PA0端口,會(huì)自動(dòng)轉(zhuǎn)換為PORTA&0x00000001形式,顯示類型選擇Bit位
STM32輸出PWM波控制180°舵機(jī),STM32,stm32,單片機(jī),pwm,舵機(jī)
STM32輸出PWM波控制180°舵機(jī),STM32,stm32,單片機(jī),pwm,舵機(jī)
(4)關(guān)閉設(shè)置界面,全速運(yùn)行程序觀察波形
STM32輸出PWM波控制180°舵機(jī),STM32,stm32,單片機(jī),pwm,舵機(jī)文章來源地址http://www.zghlxwxcb.cn/news/detail-832718.html

到了這里,關(guān)于STM32輸出PWM波控制180°舵機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32單片機(jī)PWM控制實(shí)現(xiàn)電機(jī)調(diào)速度(小車運(yùn)動(dòng),STM32F103C8T6&TB6612&TT電機(jī))

    STM32單片機(jī)PWM控制實(shí)現(xiàn)電機(jī)調(diào)速度(小車運(yùn)動(dòng),STM32F103C8T6&TB6612&TT電機(jī))

    作者:公子易平 時(shí)間:2023/6/6 前段時(shí)間做一個(gè)智能小車的相關(guān)項(xiàng)目時(shí),發(fā)現(xiàn)很少有人能夠?qū)TM32的PWM控制講清楚,故而書此文,希望對(duì)后來的學(xué)習(xí)者有所幫助。 STM32F103C8T6最小系統(tǒng)板 直流TT電機(jī) 電機(jī)驅(qū)動(dòng)芯片(TB6612) 杜邦線若干 接線情況: TB6612引腳說明: STM32主控芯片與TB6612接

    2024年02月15日
    瀏覽(30)
  • STM32CubeIDE學(xué)習(xí)筆記——使用HAL庫PWM輸出驅(qū)動(dòng)舵機(jī)

    STM32CubeIDE學(xué)習(xí)筆記——使用HAL庫PWM輸出驅(qū)動(dòng)舵機(jī)

    目錄 PWM驅(qū)動(dòng)簡(jiǎn)介 工程配置 代碼編寫 這里我采用的是STM32F103C8T6最小系統(tǒng)板,SG-90舵機(jī)實(shí)現(xiàn)功能。 舵機(jī)驅(qū)動(dòng)角度和PWM占空比有關(guān)系,具體對(duì)應(yīng)為50--0度? 150--90度? 250--180度,通過STM32的定時(shí)器功能輸出PWM波來控制舵機(jī)進(jìn)行轉(zhuǎn)動(dòng)。 ?時(shí)鐘選擇外部高速時(shí)鐘 系統(tǒng)映射配置 時(shí)鐘樹設(shè)

    2024年02月13日
    瀏覽(19)
  • STM32第七課:PWM控制SG90舵機(jī)

    STM32第七課:PWM控制SG90舵機(jī)

    ????????學(xué)習(xí)完上一課的PWM控制LED小燈實(shí)現(xiàn)呼吸燈的效果,我們就可以進(jìn)一步學(xué)習(xí)PWM控制舵機(jī)的效果了。PWM控制舵機(jī)相信會(huì)是一個(gè)更有意思的小實(shí)驗(yàn)的。 ???????? 舵機(jī)是一種位置(角度)伺服的驅(qū)動(dòng)器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前在高檔

    2024年04月17日
    瀏覽(24)
  • 學(xué)習(xí)stm32 pwm 多路舵機(jī)的控制(PWM 的頻率的理解)

    學(xué)習(xí)stm32 pwm 多路舵機(jī)的控制(PWM 的頻率的理解)

    接著上一節(jié),pwm 的使用,控制多路舵機(jī)進(jìn)行角度旋轉(zhuǎn)和設(shè)置。 參考stm32f103x中文說明時(shí)鐘樹如下圖 1.當(dāng)HSI被用于作為PLL時(shí)鐘的輸入時(shí),系統(tǒng)時(shí)鐘能得到的最大頻率是64MHz。 2.對(duì)于內(nèi)部和外部時(shí)鐘源的特性,請(qǐng)參考相應(yīng)產(chǎn)品數(shù)據(jù)手冊(cè)中“電氣特性”章節(jié)。 用戶可通過多個(gè)預(yù)分

    2024年02月13日
    瀏覽(20)
  • 12.[STM32]PWM脈寬調(diào)制-舵機(jī)控制(一篇足以)

    12.[STM32]PWM脈寬調(diào)制-舵機(jī)控制(一篇足以)

    ?? ???? 作者簡(jiǎn)介:大家好啊,我叫DW,每天分享一些我新學(xué)到的知識(shí),期待和大家一起進(jìn)步 ?? ???? 系列專欄: STM32 ?? ???? ?????? ??小實(shí)驗(yàn)?zāi)繕?biāo):控制舵機(jī)旋轉(zhuǎn)?? ??如有寫得不好的地方歡迎大家指正?? 創(chuàng)作時(shí)間:??????2022年5月2日?????? 在機(jī)器人機(jī)電控

    2023年04月15日
    瀏覽(16)
  • 單片機(jī)PWM舵機(jī)控制

    單片機(jī)PWM舵機(jī)控制

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 ? 文章目錄 一、PWM是什么? 二、如何控制舵機(jī)? ? ? PWM,英文名Pulse Width Modulation,是脈沖寬度調(diào)制縮寫,它是通過對(duì)一系列脈沖的寬度進(jìn) 行調(diào)制,等效出所需要的波形(包含形狀以及幅值),對(duì)模擬

    2023年04月25日
    瀏覽(25)
  • STM32F103RCT6開發(fā)板M3單片機(jī)教程07-TIMER1CH1輸出 PWM做LED呼吸燈

    STM32F103RCT6開發(fā)板M3單片機(jī)教程07-TIMER1CH1輸出 PWM做LED呼吸燈

    本教程使用是( 光明谷SUN_STM32mini開發(fā)板 ) ? 免費(fèi)開發(fā)板 ? 在谷動(dòng)谷力社區(qū)注冊(cè)用戶,打卡,發(fā)帖求助都可以獲取積分,當(dāng)然最主要是發(fā)原創(chuàng)應(yīng)用文檔獎(jiǎng)勵(lì)更多積分. (可用積分換取,真的不用錢,開發(fā)板免費(fèi)玩):STM32F103RCT6開發(fā)板M3單片機(jī)核芯小系統(tǒng)板學(xué)習(xí)板 ... 已經(jīng)購(gòu)買用

    2024年02月22日
    瀏覽(20)
  • 基于51單片機(jī)的舵機(jī)控制(PWM)

    基于51單片機(jī)的舵機(jī)控制(PWM)

    舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,常被用于遙控汽車、機(jī)器人等領(lǐng)域,結(jié)構(gòu)主要包括小型直流電機(jī)、變速齒輪組、可調(diào)電位器和控制電路板四個(gè)部分,如下圖,舵機(jī)的外部一般接有三根線,分別是黑(接地線)、紅(電源線)、棕(白或者黃,信號(hào)線)三種顏色進(jìn)行區(qū)分。 2.

    2024年02月16日
    瀏覽(22)
  • 藍(lán)橋杯STM32 G431 hal庫開發(fā)速成——按鍵+PWM綜合案例——按鍵控制PWM驅(qū)動(dòng)舵機(jī)

    藍(lán)橋杯STM32 G431 hal庫開發(fā)速成——按鍵+PWM綜合案例——按鍵控制PWM驅(qū)動(dòng)舵機(jī)

    適用于學(xué)習(xí)了TIM輸出比較(PWM)跟GPIO輸入(按鍵)的新手作為練習(xí)的綜合項(xiàng)目! PWM(Pulse Width Modulation,脈沖寬度調(diào)制)是一種常用的技術(shù),用于通過調(diào)節(jié)電信號(hào)的脈沖寬度(即脈沖的持續(xù)時(shí)間)來控制模擬系統(tǒng)的電源。在數(shù)字電子系統(tǒng)中,由于只能輸出固定的高(通常為

    2024年01月21日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包