
使用stm32对pwm进行舵机转动控制。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
通过PWM驱动舵机实现不同角度转动,具体代码位于main.c:包含“sys.h”、“delay.h”、“usart.h”、“led.h”和“pwm.h”头文件。主函数中,设置了LED0 PWM值的初始值为1950;配置NVIC优先级分组为2,并初始化延时器为168Hz。同时,初始化串口通信,以115200波特率进行数据传输。接着,初始化TIM14 PWM模块,其频率设定为2000-1 / 840-1 = 2kHz (84M/84=1MHz, 计算舵机转动速度约为 1M/500 = 2kHz)。程序进入无限循环,延时10毫秒后,检查LED0 PWM值。如果PWM值小于1900,则递增PWM值并更新TIM14的比较值;否则,如果PWM值大于1900,则递减PWM值并更新TIM14的比较值。当PWM值达到或超过1900时, 将其重置为1950, 并将out_led0pwmval恢复到初始值。通过调整转动角度参数,可以实现所需的舵机转动效果。理解此原理后,可以灵活地应用于其他类似场景。
全部评论 (0)
还没有任何评论哟~


