直流电机的启动与停止程序,大家有什么思路吗?

2019-07-15 11:16发布

     采用占空比可调pwm波控制正反转的电机,初始转动设定30%占空比,怎么让我在按下启动按键时让这个占空比从0开始上升到30%,并且松开按键停止时先减速再停止?现在的程序是一按按键直接以30%占空比启动,停止一样瞬间停。这样减速电机(250W轮椅电机)齿轮磨损很厉害并且卡得齿轮声音很大,特别是高速时。
     大家有什么思路的说一下吧,我去试试,谢谢。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
zeng10119
2019-07-16 00:15
本帖最后由 zeng10119 于 2017-4-19 19:11 编辑
1030402679 发表于 2017-4-19 18:08
也许可以在pwm产生函数中加个增速减速判断  也就是俩函数  1的时候是增速函数   0的时候是减速函数
  1. /******************************************************************/
  2. /* 右电机调速 */
  3. void pwm_out_right_moto(void)
  4. {
  5. if(Right_moto_stop)
  6. {
  7. if(pwm_val_right<=push_val_right)
  8. {
  9. Right_moto_pwm=1;
  10. }
  11. else
  12. {
  13. Right_moto_pwm=0;
  14. }
  15. if(pwm_val_right>11)
  16. pwm_val_right=0;
  17. }
  18. else
  19. {
  20. Right_moto_pwm=0;
  21. }
  22. }
  23. /********************************************************/

  24. /***************************************************/
  25. ///*TIMER1中断服务子函数产生PWM信号*/
  26. void timer1()interrupt 3
  27. {
  28.      TH1 = 0x0FF;
  29.     TL1 = 0x0FA;
  30. pwm_val_left++;
  31. pwm_val_right++;
  32. pwm_out_left_moto();
  33. pwm_out_right_moto();
  34. }
复制代码
这就是我的pwm啦,里边push_val_left就是占空比,15Khzpwm波应该是这样的吧,0~11调速等级。怎么加一个判断,我是要按按键,电机启动时让占空比慢慢上,这块能做到。就是不懂停的时候慢慢降下来。因为电机一接收到{IN1=0,IN2=0}这个信号就立马停了的

一周热门 更多>