采用pwm控占空比调速,现在电机启动时是直接按设定占空比转,停止时直接转速为0,很容易把电机齿轮卡坏。怎么写程序让它启动时,占空比慢慢升上去,停止时占空比慢慢降下来?
void control() //按键控制电机转动
{
if(up==0)
{Delay10ms(1);
if(up==0)
{run();} } //前进
else if(down==0)
{Delay10ms(1);
if(down==0)
{ backrun();} }//后退
else if(left==0)
{Delay10ms(1);
if(left==0)
{
leftrun();} } //左转
else if(right==0)
{Delay10ms(1);
if(right==0)
{
rightrun();} } //右转
else {Delay10ms(2);
stoprun();}//停止
}
下面是一个run函数,程序太多这里能看到大概了。
//前进
void run(void)
{
push_val_left=speed; //左电机调速,速度调节变量 0-20
push_val_right=speed; //右电机调速
Left_moto_go ; //左电机往前走
Right_moto_go ; //右电机往前走
}
åæ¥æ¯ä»runè¿éå ¥æï¼æä¸ç´ä¿®æ¹æ§å¶å½æ°é£éï¼æè¯è¯