找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24192|回复: 11
收起左侧

直流电机驱动的PWM波频率确定-个人感悟

  [复制链接]
ID:225378 发表于 2017-8-7 09:49 | 显示全部楼层 |阅读模式
如何确定直流电机驱动的 PWM 频率
—— 圆梦小车改进中的个人感悟
在“圆梦小车强身健体啦”一文中,提到了新的电机在原来的驱动程序下不能正常工作
之事,本文将详述其中原委。
一、问题的来由
此问题在我第一次涉及直流电机驱动时就遇到了,可翻遍所有资料,都没有给我一个完
美的答复,因为我一直觉得应该根据电机的特性来选择 PWM 的频率。
直流小电机的特性差别很大,一般遥控玩具的电机通常为 1A 以下,这是为了降低驱动
电路的成本,通常使用 8050、8550 就可以驱动。
而遥控模型级别的电机不同,它们的目标是速度,所以电机通常动辄 10A,甚至几十安
都有,读者可以去搜索一下模型用的电调(电子调速器,也是 PWM 控制模式),那些指标都
是 50A、90A、130A 等等,第一次我看了都“晕”!看看照片,哪个不是一堆 MOS 管并联?
所以价格也不菲,通常都成百上千。
一般用于工业控制的减速电机则不然,由于有很大的减速比,且电压一般为 12V,所以
电流通常很小,在几百毫安级别,正常工作只有几十毫安,这是由于他们要求低功耗,增加
可靠性。
而电机控制的 PWM 模式讨论似乎针对第二类的较多。因为 PWM 控制对于遥控模型的
重要程度较高。而遥控玩具一般不调速,H 桥只是为了换向。工业控制由于减速后转速已很
低,不再迫切需要调速了,直接用通断控制已能满足大多数的要求。
似乎只是由于“机器人比赛”才将小电流直流电机的调速引入。由于比赛机器人的特殊
性,产生了一种中间状态的需求:
¾ 它们不像遥控模型那样追求速度,但想要类似于遥控模型的操控特性;
¾ 它们不满足于遥控玩具那种简单的控制,却要相当于遥控玩具电机那样的电流;
¾ 因为机器人比赛不像赛车,穷其全力一搏,只求瞬间辉煌;它需要有一定时间去做
一些蕴含智慧的活动,而不是四肢发达的“莽汉”,所以要有一定的“耐力”。
二、少而“模糊”的答案
在写“寻迹小车 FollowMe”一文时,我找了许多资料,但没有找到一篇可以帮我释疑
解惑的。下面就是几篇我所找到的文章摘录:
1)有的这样说:“PWM 控制的基本电路与 ON/OFF 控制相同,电路构成也很简单,施
加在电机上的 PWM 信号一般为几千赫至几十千赫”(摘自《机器人控制电子学》P76 *1)。
2)有的这样说:“PWM 控制对频率的要求一般不是太高。从 50Hz 到 1000Hz 的频段,
电机都可以正常工作。”(摘自《机器人探索 —— 工程实践指南》P129 *2)
3)只有这篇描述的略详细(摘自《机器人设计与控制》P183 *3):
此段文字提到了我所关注的问题: 电机特性对 PWM 频率的影响。可是它的结论和建议
却给我带来了更多的困惑!(看红线所标注的)
读者可以对照一下,这三篇内容就相互“冲突”的厉害,也许读者认为我是断章取义,
作者也许在前或后有先决条件,那可以帮我仔细看看原作,但愿能有所发现。
4)我以前文章中推荐过多次的《电动机的单片机控制》一书对直流电机驱动描述的相
当详细,可唯独没有阐述如何确定 PWM 的频率,只是留了一道思考题:
“4、PWM 频率如何选择? ”(摘自书中 P149 *4)。
郁闷!是否此问题简单到不用描述了?!
5)还有一本我推荐过的书 ——《直流电动机实际应用技巧》,书中也只是泛泛的说了
一下:(摘自书中 P122 *5)
文中所说“脉冲列驱动”就是指 PWM; 电器时间常数 te 为电机等效电感 La 与等效电
阻 Ra 之比(摘自书中的描述,P121 *5),至于如何确定这两个值不太清楚。
这段和第三篇中所描述的比较一致。似乎都是说 PWM 频率越高越好。我在网上还看到
有这样的言论: 频率越高的 PWM 调速器档次越高!
正是这些“模糊、混乱”的概念导致我“无所适从”,所以在“寻迹小车 FollowMe”中,
编写程序时将 PWM 值和 PWM 的频率都交给使用者确定,期望读者能摸索出合适的选择,
并找出选择的依据。

但一直没有看到我想要的反馈,自己略作尝试也未能得出清晰的结论,所以在设计圆梦
小车时就放弃了 PWM 频率改变的功能,使用定频方式(7200Hz)。用在当时的 130 电机上
没有发现什么明显不妥,也就不再深究了。
三、问题再次显现
这次减速箱装配好后,我满怀希望的替换下原来的 130 电机,并且用直流电源先试了一
下,感觉不错(详见“圆梦小车强身健体啦”一文)。
立马装上控制部分,发控制命令;本想“秀”一下,用较低的 PWM 值,因为我认为减
速比加大后,力矩应该增加,低 PWM 值也应能启动。可实际效果让我大失所望,用“走直
线”模式测试,基准 PWM50 启动不了,加到 100 才勉强能走,到 200 才算比较流畅。此时,
我脑子里立马掠过一个念头:“坏了,几万块钱要打水漂了!”。
冷静一会儿才想起可能是 PWM 频率的问题。又将上面看过的资料再次研读一番,而且
拆了一个电机测量电阻和电感。但第三篇中的那段话还是让我不得其解:
如果为了满足文中的不等式,PWM 频率不是越高越好吗?何来“所允许的最高 PWM
信号频率”?应该是最低频率才对吧?不知原文是如何描述的。
但按基本的电学常识分析,不可能频率越高越好,因为电机的线圈肯定有电感,且电流
越小的电机由于匝数多,电感量会越大。基于电工学常识,电感中的电流不能突变,其感抗
与频率成正比。
所以当施加过高频率的电压后,由于感抗作用,可能电流很小。
而电机的力矩产生于磁场作用,而磁场的强弱与电流成正比,所以过小的电流将大大降
低磁力,从而导致电机“无力”。
这就像十字路口的红绿灯,假设各方向占 50%的通行时间,如果所设间隔恰当,就能保
证最佳的通行效果,如果一味缩短周期,直到小于汽车的启步时间,即使仍保持 50%的比例,
那路口也将完全无法通行。这和电机上施加过高频率的电压应该是一样的。
我觉得在新电机上遇到的现象就是这个原因,可遍寻不到依据,只是从 LEGO 的 RCX
技术资料上看到: RCX 的 PWM 频率是 125Hz!我觉得 LEGO 的电机和这次选择的电机参数
类似,所以下决心修改 PWM 频率。
上图为网页截图,注意红线所标信息以及图示,说明小于 1000Hz 的 PWM 频率还是可
以使用的。
四、实施
好在 STC12LE5412AD 所提供的 PCA 比较灵活,程序只需略作修改即实现了。
原来 PWM 信号是使用 PCA 的 PWM 模式产生的,好处是不需要软件干预,只要向相
应的寄存器中赋值即可;缺点是频率变化较单一,靠改变 PCA 计数器的信号分频,只有两种
选择 —— Fosc/12 或者 Fosc/2 。 对应 MCU 振荡器频率 22.1184MHz,只有两个 PWM
频率可选:43200Hz 和 7200Hz。
由于此次是需要降低频率,所以可以用软件干预方式实现,即:
使用 PCA 的比较器模式,允许匹配中断,在中断中产生 PWM 信号,通过不断加载新
的比较值控制 PWM 的频率。PCA 初始化如下:
按此模式,只要 PWM 信号的周期不大于:
1/(22.1184MHz/12) * 65536 = 3.5ms ,即频率不低于 28Hz 都可以实现。
中断中产生 PWM 信号的处理如下:
以上为一个电机的处理,另一个电机完全相同。
变量 g_uiMotorLTime[2] 用于存放 PWM 信号的高低电平时间,两个单元之和为 PWM
的周期。
变量 g_uiMotorLTimeCmp 是高低电平时间的累计值,作为 PCA 通道的比较值,通过
其控制 PCA 的中断。
程序中作了一些防护,主要是占空比低于一定值后输出恒为“0”,高于一定值后输出恒
为“1”。具体可看所附程序(查找“0805”即可找到所有为此修改的地方)。
以下为设置的常量,通过修改这些值,可方便的改变 PWM 频率和限定值:
读者可修改上述参数方便地实现不同的 PWM 频率,观察对电机特性的影响。
五、效果
以下所做测量只是两个 PWM 频率的对比:7200Hz vs 125Hz。
为了方便测量,在原来的 PC 机控制界面增加了一个定时输出功能,可以设定小车的运
行时间,利用 PC 定时期到时发出停止命令。界面如下:
之所以选用直接的 PWM 输出而不用原来的走直线功能,是因为走直线程序中小车会根
据偏移不断改变 PWM 值,这样的结果就不真实了。
由于电机的差异,所以左右电机的 PWM 值略有不同,以使小车走的接近直线。

测试结果如下:
PWM 频率 :125Hz PWM 频率:7200Hz
左 PWM 右 PWM 距离
cm
时间
速度
cm/s
左 PWM 右 PWM 距离 cm 时间 秒 cm/s 速度
250 235 174 4 43.5 250 235 174 4 43.5
208 195 164 4 41 205 195 140 4 35
160 140 172 5 34.4 157 143 120 5 24
110 90 151 6 25.1 108 93 86 6 14.3
77 60 150 10 15 77 67 75 10 7.5
注:小车程序中 PWM 值 250 为 100%!

从上表中可以看出,在 PWM 值比价大的时候,两个频率的速度差别不大;随着 PWM
值降低,速度差明显变大,我认为是前述原因所致,因为随着 PWM 值降低,有效驱动脉冲
宽度逐渐缩小,导致电机无法得到有效的能量,所以其出力自然不足。
可以肯定,125Hz 不是最佳频率,只能说比 7200Hz 好,什么频率更好?如何确定之?
有待读者共同探讨。
——————————
收笔于:2008 年 6 月 20 日星期五
参考资料:
1、《机器人控制电子学》 科学出版社 ISBN7-03-013168-1
2、《机器人探索——工程实践指南》 电子工业出版社 ISBN7-5053-9911-X
3、《机器人设计与控制》 科学出版社 ISBN5-03-012843-5
4、《电动机的单片机控制》北京航空航天大学出版社 ISBN 7-81077-175-2
5、《直流电动机实际应用技巧》 科学出版社 ISBN 7-03-017498-4
6、Lego RCX 电机 PWM 信息

完整的pdf格式文档51黑下载地址:
直流电机的PWM波频率确定.pdf (883.41 KB, 下载次数: 185)

评分

参与人数 1黑币 +5 收起 理由
BigWheels + 5

查看全部评分

回复

使用道具 举报

ID:216757 发表于 2017-9-12 13:27 | 显示全部楼层
写的不错,,,
回复

使用道具 举报

ID:262559 发表于 2017-12-17 09:22 来自手机 | 显示全部楼层
加油,,向你学习
回复

使用道具 举报

ID:308317 发表于 2018-4-21 09:16 | 显示全部楼层
今天碰到这个问题了。   
回复

使用道具 举报

ID:128531 发表于 2018-10-20 21:18 | 显示全部楼层
分析的够深入
回复

使用道具 举报

ID:156220 发表于 2019-3-15 09:31 | 显示全部楼层
谢谢,正在找这个资料
回复

使用道具 举报

ID:470428 发表于 2019-3-28 15:56 | 显示全部楼层
学习到了Thanks♪(・ω・)ノ
回复

使用道具 举报

ID:440128 发表于 2019-7-23 08:59 | 显示全部楼层
学到了,谢谢!
回复

使用道具 举报

ID:459560 发表于 2019-7-31 20:57 | 显示全部楼层
学习一下,码了那么多字,支持楼主。
回复

使用道具 举报

ID:601132 发表于 2019-8-18 20:01 来自手机 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:415637 发表于 2020-5-1 11:23 | 显示全部楼层
分析的很有条理,给了我思路~
回复

使用道具 举报

ID:606346 发表于 2020-8-6 13:44 | 显示全部楼层
写的真的不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表