找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2632|回復(fù): 0
收起左側(cè)

stm32按鍵控制mg90s數(shù)字舵機(jī)、pwm調(diào)節(jié)舵機(jī)轉(zhuǎn)動(dòng)角度

[復(fù)制鏈接]
ID:948737 發(fā)表于 2021-8-19 10:01 | 顯示全部樓層 |閱讀模式
昨天做了一個(gè)簡(jiǎn)答的小實(shí)驗(yàn),我感覺(jué)挺有意思的跟大家分享一下。

我用了按鍵控制mg90s數(shù)字舵機(jī),前不久一直研究模擬舵機(jī),數(shù)字舵機(jī)與模擬舵機(jī)的控制方式是一樣的pwm時(shí)序。
數(shù)字舵機(jī)接線方面:

與模擬舵機(jī)一樣紅線接vcc,棕線接GND,黃線接定義的板子引腳。

具體的對(duì)應(yīng)角度如圖所示:

20191122152315910.png

我的板子引腳規(guī)定是
舵機(jī)信號(hào)線接PB5,key0引腳是PC5,key1引腳是PA15

在這里大家看一下我的程序:
main.c
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "timer.h"
#include "usart.h"


int main(void)
{       
         
        u8 t=0;          
         
        delay_init();                     //延時(shí)函數(shù)初始化          
        LED_Init();                                   //初始化與LED連接的硬件接口
        KEY_Init();                  //初始化與按鍵連接的硬件接口
        LED0=0;                                        //點(diǎn)亮LED
         
        u16 pwm_val=0;



           TIM3_PWM_Init(199, 7199);//50hz
         
       
        while(1)
        {
                if(KEY1==0)
                {
                                        pwm_val=190;//45

                                        TIM_SetCompare2(TIM3,pwm_val);

                                        delay_ms(2000);
                       
                                        pwm_val=195;//0

                                        TIM_SetCompare2(TIM3,pwm_val);

                }
                else if(KEY0==0)
                {
                                        pwm_val=185;//90

                                        TIM_SetCompare2(TIM3,pwm_val);

                                        delay_ms(2000);
                       
                                        pwm_val=195;//0

                                        TIM_SetCompare2(TIM3,pwm_val);

                }
                else if(WK_UP==0)
                {
                                        pwm_val=180;//45

                                        TIM_SetCompare2(TIM3,pwm_val);

                                        delay_ms(2000);
                       
                                        pwm_val=195;//0

                                        TIM_SetCompare2(TIM3,pwm_val);

                }
        }
}
```
/**************************************

PB5——PWM信號(hào)線(黃線)
+5v——+5v(紅線)
GND——GND(棕線)
0度——195
45度——190
90度——185
135度——180
180度——175
**************************************/

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表