标题: 学到了pwm,想通过pwm控制电机,51单片机 [打印本页]

作者: 小白学51i    时间: 2020-4-22 22:30
标题: 学到了pwm,想通过pwm控制电机,51单片机
学到了pwm,想通pwm控制电机速度,也查了好多资料,看了很多视频,就是感觉差了一点火候,电机实现功能:长按按键电机加速,松开,保持速度不变,再次按下,速度下降,求各位指点!!!!!

作者: 小白学51i    时间: 2020-4-22 23:40
有没有大神给给思路
作者: fendouzhe    时间: 2020-4-22 23:45
主要是PWM的配置,PWM原理理解清楚
作者: hotpet    时间: 2020-4-23 01:36
只有一个键的话,不太好搞,主要是控制逻辑不清,如果电机加速键松开前发生抖动,下次再按就不知道应该是加速还是减速了。或者按键的人忘记上次是加速还是减速,也会有问题。最好是2个键,1个加速,一个减速。如果只能一个键至少要加一个指示灯说明上次按时是加速还是减速。
作者: wulin    时间: 2020-4-23 08:20
简单易懂的单键控制PWM示例,只要入门一看就懂。
单键控制PWM 仿真.zip (127.06 KB, 下载次数: 68)


作者: wulin    时间: 2020-4-23 08:22
占空比0~100%
作者: 小白学51i    时间: 2020-4-23 11:19
wulin 发表于 2020-4-23 08:22
占空比0~100%

自定义一个占空比,然后扫描条件,逐步加,减是这个思路吗
作者: 小白学51i    时间: 2020-4-23 11:21
hotpet 发表于 2020-4-23 01:36
只有一个键的话,不太好搞,主要是控制逻辑不清,如果电机加速键松开前发生抖动,下次再按就不知道应该是加 ...

一个按键不好判断顺序逻辑,那么两个按键,是否需要调节占空比,逐级加,减
作者: hhh402    时间: 2020-4-23 11:47
你差在时间的控制上,你要一个定时器定时1ms,开中断,中断中要加入:ms++;(ms变量要定义成全局变量),当有按键按下时,ms=0;if(ms>100)  {PWM=PWM+1;ms=0;}//当按键按下每100ms后PWM增加1.


作者: 权威人物    时间: 2020-4-23 14:15
看来你看的资料不够多,按键处理就当你搞定了,例如PWM0-100则首先按下按键,定时器开始计时,每Xms增加一次PWM的占空比,X代表多少毫秒决定你按下时增加或减少PWM的速度,然后用一个标志位来控制按下到底是加还是减PWM的占空比,每次按下改变一次标志位,则每次按按键后可知下次加还是减PWM。懂?
作者: 时间苍白了誓言    时间: 2020-4-23 15:31
可以用定时器来实现软件PWM,占空比0-100,控制电机的通断就可以的
作者: Apo    时间: 2020-4-23 16:15
调节PWM占空比大小
作者: 小白学51i    时间: 2020-4-23 22:13
hhh402 发表于 2020-4-23 11:47
你差在时间的控制上,你要一个定时器定时1ms,开中断,中断中要加入:ms++;(ms变量要定义成全局变量), ...

谢谢,我这边在改一下
作者: 小白学51i    时间: 2020-4-23 22:24
权威人物 发表于 2020-4-23 14:15
看来你看的资料不够多,按键处理就当你搞定了,例如PWM0-100则首先按下按键,定时器开始计时,每Xms增加一 ...

还是有点蒙,您看是这样吗,我要设置一个定时,比如1ms增加一次占空比,每次占空比是多少,然后用一个检测来判断我每次按下是增减 ,是这个意思吗
作者: 小白学51i    时间: 2020-4-23 22:25
时间苍白了誓言 发表于 2020-4-23 15:31
可以用定时器来实现软件PWM,占空比0-100,控制电机的通断就可以的

谢谢您
作者: 小白学51i    时间: 2020-4-23 22:28
Apo 发表于 2020-4-23 16:15
调节PWM占空比大小

pwm占空比是需要分级别,然后来定时检测往上增加或减,是吗?
作者: 小白学51i    时间: 2020-4-24 10:41
感谢各位,已经做出来了
作者: cgy695662855    时间: 2020-4-24 16:41
一个按键可以做到的,用标志位的方式判断,提供个思路,按一次再长按是增加, 按两次再长按是减小,不用延时消抖,类似状态机一样的小程序
作者: 598651219898321    时间: 2020-5-6 17:19
小白学51i 发表于 2020-4-24 10:41
感谢各位,已经做出来了

能不能把代码借我参考一下, 或者跟我讲解一下
作者: 598651219898321    时间: 2020-5-6 17:20
小白学51i 发表于 2020-4-24 10:41
感谢各位,已经做出来了

能告诉我一下怎么做的嘛?
作者: shirayuki_lumi    时间: 2020-5-6 22:03
可以参考PWM调制原理,通过改变占空比来控制转速
作者: TTQ001    时间: 2020-5-7 02:05
如果程序未检测到按键的状态转换,则视为连续按键,然后将PWM输出增加或减少预定步长。 如果程序检测到键状态转换,请停止递增或递减。
作者: 小白学51i    时间: 2020-5-9 17:21
598651219898321 发表于 2020-5-6 17:19
能不能把代码借我参考一下, 或者跟我讲解一下

这两天没上论坛,我注意看,你要代码,还是给我讲一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1