模块:SG90舵机
平台:STM32F103C8T6
工作原理:旋转0-180°(0-360°)舵机的控制信号为周期是20ms 的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0—180度。
重点:橙线接PA6,红线接VCC(5v),褐线接GND;(这里红线需要注意,单片机烧录程序时可能接的是3.3v)
主函数如下:
int main(void)
{
Delay_Init(72); //延时初始化
USART1_Init(115200); //串口初始化
TIM1_PWM_Init(999,1439);
//舵机需要20ms左右实际脉冲,72000/1000=72khz,72khz/1440=50hz,1/50=20ms
TIM_SetCompare1(TIM1,50);//右
Delay_ms(500);
Delay_ms(500);
TIM_SetCompare1(TIM1,75);;//中
Delay_ms(500);
Delay_ms(500);
TIM_SetCompare1(TIM1,105);//左
Delay_ms(500);
Delay_ms(500);
TIM_SetCompare1(TIM1,75);;//中
Delay_ms(500);
Delay_ms(500);
}
两个初始化函数: