使用实验9 PWM输出实验的源码改编,仅main函数改动。
战舰板,STM32F103ZE ,采用TIM3输出PWM2波形,SG90电压5V,信号接PB.5口,
0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 买的360°舵机 https://detail.tmall.com/item.htm?id=41248626148&spm=a1z09.2.0.0.7ac72e8dnWat3h&_u=vk4p85h3e01 问题1:占空比调节大部分都是一直转个不停,去掉while(1)循环也会一直转,不知道是不是因为一个计数周期会产生多个波形叠加起来了? 问题2:偶尔也会出现45°、90°转动,但是占空比数值和20000的arr也无法成比例,不知道各位大神怎么配置的??我只想做成转一次,转指定角度。 问题3:用KEil仿真调试的波形占空比是处于正常的。比如90° 1.5ms,在20ms的周期里,占空比7.5%,20000-(20000*7.5%)=18500,设置上这个数值,第一次可以转大约90°,后面再擦除后重写就没反应了。
int main(void)
{
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
TIM3_Int_Init(1999,719);;
TIM3_PWM_Init(1999,719); // 20ms定时器
while(1)
{
TIM_SetCompare2(TIM3,Compare_value);
delay_ms(500);
delay_ms(500);
/*
当Compare_value=18100-18700 逆时针旋转,每+100,速度减慢;
当Compare_value=19200-18500 顺时针旋转,速度基本不变;
*/
}
}
|