pwm输出控制直流电机。在软启动时占空比是变化的,每10毫秒输出一次?为什么pwm是每10毫秒输出一次?
时间:10-02
整理:3721RD
点击:
程序大概是这样的:
motor_duty=2;
sum_duty=1;
if(timer_10ms++>=2)// 定时器中断时间为5毫秒
{
motor_duty + = sum_duty;// 这种简单粗暴的pwm占空比算法,有人知道吗?
sum_duty+=8;
pwm( motor_duty);// 我想知道pwm为什么是每10毫秒输出一次
}
motor_duty=2;
sum_duty=1;
if(timer_10ms++>=2)// 定时器中断时间为5毫秒
{
motor_duty + = sum_duty;// 这种简单粗暴的pwm占空比算法,有人知道吗?
sum_duty+=8;
pwm( motor_duty);// 我想知道pwm为什么是每10毫秒输出一次
}
输出PWM的操作都是在if(timer_10ms++>=2)// 定时器中断时间为5毫秒,这条语句的判断成立的基础上的,这里现在是10毫秒满足条件,如果改成timer_10ms++>=4,那就是20毫秒输出一次了
我想知道的是为什么要10毫秒输出一次?这是怎么得来的。
这个10ms只是经验的东西吧,软启动就是占空比逐渐增大
软启动时间,您清楚吗?程序里面怎么控制?
程序里面只是设定了一个值而已,你用个8ms什么的关系都不大,重要的是这个过程
