STM32F407学习笔记——MG90S舵机模块(基本控制)
一、基本原理:
通过改变PWM占空比来实现舵机进行不同角度转动,下面给出旋转角度与脉冲时间及对应占空比的关系(时基脉冲=20ms)。
旋转角度 | 脉冲时间 | 比较寄存器 | 占空比 |
---|---|---|---|
0° | 0.5ms | 195 | 2.5% |
45° | 1ms | 190 | 5% |
90° | 1.5ms | 185 | 7.5% |
135° | 2ms | 180 | 10% |
180° | 2.5ms | 175 | 12.5% |
占空比计算公式:脉冲时间/20ms
比较寄存器:200-200*占空比
文章后面给出的代码只需改变比较寄存器即可控制舵机旋转 角度。
二、代码功能:
改变比较寄存器控制舵机旋转角度。
三、接线:
PA0——PWM信号线(黄线)、+5v——+5v(红线)、GND——GND(棕线)
四、代码部分:
SG90.h
#ifndef __SG90_H
#define __SG90_H
#include <stm32f4xx.h>
#include <delay.h>
#include "math.h"
void TIM2_PWM_Init(u32 arr,u32 psc);
#endif //__SG90_H
SG90.h
#include "sys.h"
#include "SG90.h"
void TIM2_PWM_In