请教pwm的编程思路
答案:2 悬赏:70 手机版
解决时间 2021-03-24 21:39
- 提问者网友:山高云阔
- 2021-03-23 22:15
请教pwm的编程思路
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-03-23 23:54
PWM的原理很简单,家里的开关可以控制电灯亮灭吧,假设你在一秒内,打开开关0.5秒,然后关闭0.5秒,再打开0.5秒,再关闭0.5秒——那么你将看到电灯一闪一闪是不?假如你的速度再快点,在1毫秒内,0.5毫秒开,0.5毫秒灭,那么,根据视觉暂停原理,你将看不到灯的闪烁,而是看到灯的亮度暗了一半。再设想,如果是0.1毫秒开,0.9毫秒灭,那么灯的亮度就只有1/10了。这就是PWM控制的最基本原理,也是最容易理解的。开关的时间比值叫”占空比“,英文 duty cycle。
对于控制速度嘛,原理一样,假如在1秒内,0.5秒开,那么电机就加速0.5秒,0.5秒灭,电机就减速0.5秒,这样的电机看起来是“跳”着走的,就如看到灯光闪烁一样。但是如果开关的频率的足够大,这种跳动就感觉不出来了,根据开的时间和关的时间的不同,电机就表现出不同的转速了。当然,这种电路的分析比电灯的稍微复杂点,因为电机有电感作用,开关时,电流的增加和减少不如电灯那么快,所以实际的电流可能已经不是表现出方波的形状,而是方波经过电感的“滤波”后的形状,可能已经有直流电的效果了。说到这里,附带说一下,PWM经过低通滤波后变成直流电,假设方波的电压是5V,占空比50%,那么滤波得到的直流电就是2.5V,你也可以用滤波后的直流电去驱动直流电机,效果一样。
很多单片机都集成有PWM模块,因为PWM的频率至少要10K以上,在电机领域,个人觉得至少要20K以上,频率太低会因为线圈的电感作用产生人耳可听得到的噪音。这样么高的频率,如果控制单片机的端口电平来实现,那么会占用很多单片机资源,所以很多单片机集成了PWM,编程时只需计算好对应的占空比的值就可以了。
单片机本身是不能直接控制电机的,电流太低,所以又需要驱动芯片,这个上某宝一搜,很多做好的模块可以买来直接用。如果控制的是直流电机,那么很简单,只需控制占空比的值,转速就不同了,如果是控制步进电机……嗯,如果有必要控制步进电机的话再说吧。
对于控制速度嘛,原理一样,假如在1秒内,0.5秒开,那么电机就加速0.5秒,0.5秒灭,电机就减速0.5秒,这样的电机看起来是“跳”着走的,就如看到灯光闪烁一样。但是如果开关的频率的足够大,这种跳动就感觉不出来了,根据开的时间和关的时间的不同,电机就表现出不同的转速了。当然,这种电路的分析比电灯的稍微复杂点,因为电机有电感作用,开关时,电流的增加和减少不如电灯那么快,所以实际的电流可能已经不是表现出方波的形状,而是方波经过电感的“滤波”后的形状,可能已经有直流电的效果了。说到这里,附带说一下,PWM经过低通滤波后变成直流电,假设方波的电压是5V,占空比50%,那么滤波得到的直流电就是2.5V,你也可以用滤波后的直流电去驱动直流电机,效果一样。
很多单片机都集成有PWM模块,因为PWM的频率至少要10K以上,在电机领域,个人觉得至少要20K以上,频率太低会因为线圈的电感作用产生人耳可听得到的噪音。这样么高的频率,如果控制单片机的端口电平来实现,那么会占用很多单片机资源,所以很多单片机集成了PWM,编程时只需计算好对应的占空比的值就可以了。
单片机本身是不能直接控制电机的,电流太低,所以又需要驱动芯片,这个上某宝一搜,很多做好的模块可以买来直接用。如果控制的是直流电机,那么很简单,只需控制占空比的值,转速就不同了,如果是控制步进电机……嗯,如果有必要控制步进电机的话再说吧。
全部回答
- 1楼网友:青灯有味
- 2021-03-24 01:15
简单和功能反比,你什么机器追问参加比赛的小车。。。求教追答网上找个方案吧,看来你什么单片机都不知道
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯