找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[基础电路] 直流电机的PWM冲调速控制技术

[复制链接]
admin 发表于 2013-2-23 11:22:05 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
直流电机的PWM冲(宽度调变)调速控制技术
  为调节马达转速和方向需要对其直流电压的大小和方向进行控制。目前,常用大功率晶体管脉宽调制(PWM)调速驱动系统和可控硅直流调速驱动系统两种方式。可控硅直流(SCR)驱动方式,主要通过调节触发装置控制SCR 的导通角来移动触发脉冲的相位,从而改变整流电压的大小,使直流电机电枢电压的变化易平滑调速。由于SCR本身的工作原理和电源的特点,导通后是利用交流过零来关闭的,因此,在低整流电压时,其输出是很小的尖峰值的平均值,从而造成电流的不连续性。由于晶体管的开关响应特性远比SCR 好,因此前者的伺服驱动特性要比后者好得多。
  所谓脉冲宽度调变(Pulse Width Modulate 简称 PWM)信号就是一连串可以调整脉冲宽度的信号。脉宽调变是一种调变或改变某个方波的简单方法。在它的基本形式上,方波工作周期(duty cycle)是根据输入信号的变化而变化。在直流电机控制系统中,为了减少流经电机绕线电流及降低功率消耗等目的,常常使用脉冲宽度调变信号(PWM)来控制交换式功率组件的开与关动作时间。 其最常使用的就是借着改变输出脉冲宽度或频率来改变电机的转速 。
   20121119052454277524587.jpg
  图1 PWM 脉冲宽度调变信号图
  若将供应电机的电源在一个固定周期做ON及OFF的控制,则ON的时间越长,电机的转速越快,反之越慢。此种ON与OFF比例控制速度的方法即称为脉冲宽度调变,ON的期间称为工作周期(duty cycle),以百分比表示。若直流电机的供应电源电压为10伏特,乘以20%的工作周期即得到2伏特的输出至电机上,不同的工作周期对应出不同电压让直流电机转速产生不同的变化。若直流电机的供应电源电压为10伏特,乘以20%的工作周期即得到2伏特的输出至电机上,不同的工作周期对应出不同电压让直流电机转速产生不同的变化。PWM产生器方块图如下图所示,计数器采下数计数器与上数计数器的两种PWM讯号。
   20121119052454340024588.jpg
  图2、PWM 产生器方块图
  与SCR 调速单元相比,PWM 调速控制有如下的特点:
  1. 电机损耗和噪声小。晶体管开关频率很高,远比转子能跟随的频率高,也即避开了机械共振。由于开关频率高,使得电枢电流仅靠电枢电感或附加较小的电抗器便可连续,所以电机损耗、发热小。
  2. 系统动态特性好,响应频率宽。PWM 控制方式的速度控制单元与较小惯量的电机匹配时,可以充分发挥系统的性能,从而获得很宽的频带。频带越宽,伺服系统校正瞬态负载扰动的能力就越高。
  3. 低速时电流脉动和转速脉动都很小,稳速精度高。
  4. 功率晶体管工作在开关状态,其损耗小,电源利用率高,并且控制方便。
  5. 回应很快。PWM 控制方式,具有四象限的运行能力,即电机能驱动负载,也能制动负载,所以响应快。
  6. 功率晶体管承受高峰值电流的能力差。
  
  
  二、DC 电机的转向控制
  一般在做DC Motor 驱动时,如果只要单一向转动,只要在电机两端加上正负电压即可达成。但是在需要有反向旋转能力时,就必须在电路运作中将电机电压反向, 除了H-bridge可以达成外也可以使用继电器(Relay)来达成。
  1.H-bridge 动作原理
  
   20121119052454402524589.jpg
  图3、H-Bridge 电机驱动电路
其动作原理如下图:
  (1) 当Q1,Q4 晶体管ON 而Q3,Q2为OFF,即可使电机正转。
  
   20121119052454449394590.jpg
  图4、电机正转
  (2) Q3,Q2 为ON 而Q1,Q4为OFF,则会造成电机反转
  
   20121119052454511894591.jpg
  图5、电机反转
中除了晶体管外没有其它任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏晶体管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制晶体管的开关。图6所示就是基于这种考虑的改进电路,它在基本H 桥电路的基础上增加了4个与门和2个非门。4个与门同一个“致能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输入,可以保证任何时候在H桥的同侧腿上都只有一个晶体管能导通。(图6所示不是一个完整的电路图,特别是图中与门和晶体管直接连接是不能正常工作的。)采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个致能信号。如果DIR-L信号为0,DIR-R信号为1,并且使能信号是1,那么晶体管Q1和Q4导通,电流从左至右流经电机(如图7所示);如果DIR-L信号变为1,而DIR-R信号变为0,那么Q2和Q3将导通,电流则反向流过电机。
  
   20121119052454574394592.jpg
  图6、具有致能控制和方向逻辑的H 桥电路
  
   20121119052454621264593.jpg
  图7、 致能信号与方向信号的使用
  
  实际使用时,用分立组件制作H桥是很麻烦的,现在市面上有很多封装好的H 桥集成电路,接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。常用的有L293D、L298N、TA7257P、SN754410 等。
  TA7257P直流电机驱动IC中文资料
  TA7279P/TA7279AP直流电机驱动IC中文资料
  3. ZXMHC3A01T8
  ZXMHC3A01T8 是一颗MOSFET H-BRIDGE IC,参数如下 :
  N-Channel = VDSS = 30V; RDS(on) = 0.12Ω; ID = 3.1A
  P-Channel = VDSS = -30V; RDS(on) = 0.21Ω; ID = -2.3A
  P-Channel = Turn-off delay time 12.1 ns
   20121119052454668144594.jpg
  图8、 ZXMHC3A01T8 之导通内阻
  
  4. 电机的回授控制
  图14 是本专题的电机控制示意图。由图14 可知10kHz 的PWM 是由MCU 内部硬件输出,再由MOSFET H-bridge 去驱动电机,之后电机会因MOSFET H-bridge 驱动后旋转,并且会回传路径 A 和 B 的两相讯号到Encoder Count ,Encoder Count 是由一颗CPLD 构成,CPLD 会自动累加计算目前电机所走的格数,以12Bit 为输出讯号给予MCU 的PID 控制程序,PID 会演算出目前该行走的速度,再加以控制MCU 内部的PWM 硬件缓存器,就这样一直反复的运算,来达到电机的伺服控制。
  
   20121119052454699394595.jpg
  图14、电机回授控制示意图
  电机回授的两相讯号A和B会传递给CPLD作为判断,CPLD利用两相讯号的相位差判断正转及反转,就如图15所示,假如channel A及 channel B 同时间信号为channel A = 1、 channel B = 0就是正转。
  
   20121119052454855634596.jpg
  图15、电机的channel A and channel B 信号(正反转)
  判断正转反转数据后再将信号切割成4 份,如图16 所示,切成4 份就会有相位改变的信号出现,之后CPLD 内会有一个12Bit 的计数器,累加相位改变的次数,去增加或者减少计数器内的数值。
  
   20121119052454886884597.jpg
  图16、电机的channel A and channel B信号(步数)
  有了这些判断信号的方式,再加上多任务器能够一次判断两颗电机数据,如图17所示,SWDATA 为多任务器,能够将分别不同组的电机输入信号所计数的数据,传递至相同的输出埠给予MCU,即可达成直流电机的速度控制。
  
   20121119052454949384598.gif
  图17、CPLD 内部规划程序图
  4.1 电机控制器的设计
   20121119052455011884599.jpg
  (1) 比例控制器
  电机的驱动力与误差成正比的回授控制方式如图18所示,比例控制的缺点是一定会存在稳态误差。此外,当比例因子k太小时,上升时间太长;比例因子太大时则会产生如图19所示的振荡现象。
  
   20121119052455058754600.jpg
  图18、比例控制器的驱动力与误差之间的关系
  
   20121119052455168124601.jpg
  图19、不同比例因子下,比例控制器的响应图与稳态误差
  (2) PD控制器
  PD 控制器在电机的驱动力与误差关系中加入微分项,如下:
   20121119052455246254602.jpg
  PD 控制器可以有效的提升系统响应的速度,但是仍然存在稳态误差的问题。
  
  (3) PID 控制器
  本计划采用如图20 所示的PID 控制器,电机的驱动力与误差的关系如下:
   20121119052455324374603.jpg
  或表示成离散的形式
   20121119052455433744604.jpg
  
   20121119052455496244605.jpg
  图20、电机PID 控制之示意图
  采用PID 控制可以有效改善稳态误差,同时降低系统达到稳态的时间,典型的P、PD 及PID 控制的响应如图21 所示。
  
   20121119052455558744606.jpg
  
  图21、P、PD 及PID 控制器的响应图与稳态误差
  4.2 输出的分辨率
  由于计算机鼠是采用脉宽调制(PWM)控制的,输出是PWM 信号的一个调整的工作周期。因此,输出的真正的分辨率是由PWM 的分辨率决定的。在另一方面,1024 的分辨率(10 位元)是太多了,因为大多数机械系统的误差超过0.1%。对于机械系统,其内在误差约为 1%,因此作为PWM 的分辨率设定为128 (7位)就足够了。我们将使用kτ代表输出的分辨率的位数。
  4.2.1 e(t)和Kp的分辨率
  我们需要确定误差项e(t) 的分辨率。让我们考虑现行系统下,速度可达到x 脉冲/秒(pps)。这意味着误差项可达到2x (pps),因为电机可向前转或向后转。接下来的因素是PID 回路逻辑的运行速度。设PID 回路的频率f。虽然实际的误差最多可以有2x (pps),由于每一次f 次执行PID,因此误差只有2x/f (pps)。例如,如果最高速度的可逆系统是1200 (pps),PID 回路的频率50Hz,范围只从-48到48,故可以用一个7 位带符号整数表示。因此,e(t)需要的位数为
   20121119052455605614607.jpg
  
  如果eτ 接近kτ ,则Kp值必须不能太大。这意谓你需要依靠Kp的分数以微调此项。因此,Kp是PID 回路的一个重要的系数。许多小型的微控制器为了加速计算,通常不使用浮点数运算,而是采用 整数/常数 的计算。例如,即使我们知道Kp值不超过4,
  我们可以用8位来表示。最不显着的(右边的) 6位成为小数部分。对于一个整数的二位模式101101012,代表的值为 20121119052455636864608.jpg
  4.2.2 Ki 的分辨率
  
  积分项Ki 是非常重要,因为它使得系统得以到达设定值。如果没有积分项, PID回路根本无法到达设定的参考信号。积分项与误差的总和成正比。误差的总和可以远大于误差项本身。因此最好限制误差的总和(上限)。积分项的范围应约为20倍误差的范围。由误差的幅度来看,积分项没有分辨率的问题。由于刚开始时误差的总和是较大的值,所以Ki 系数必须是较小的数字。这是容易做到的,只要让二进制左侧(最重要的)位代表Ki。麻烦的是,我们现在有一个很大的数字乘以另一个大数字。对于8位系统,这可能需要多费一点时间。因此,一些控制系统选择忽略一些次要数字来加快计算。
  4.2.2 KD 的分辨率
虽然此项的大小可以和误差项本身有相同幅度,但通常它是非常小的(误差项的十分之一或更小)。在一个连续系统,这不是一个问题,因为有无限的精度。然而,在数位系统,在量化微分项的值时产生问题。除了依靠行使PID 期间的脉冲数外,我们也可以依靠脉冲之间的周期。
  
  考虑实际的例子,某系统预计为1000pps,这相当于每毫秒执行1次脉冲。然而当系统速度下降依靠摩擦来完全停止,其速度会下降到一个小数目(如1)的脉冲/秒。但是使用定时器我们可以追踪脉冲之间的周期,并使用此周期推导出的实际速度。如果考虑在最坏情况下,16位的计数器和50Hz的PID执行频率,最低频率为50Hz,而下一个最低的频率(由于数字化)是
   20121119052455683744609.jpg 。分辨率增加 7%,即使在依靠行使PID 期间的脉冲数的方法失败的情况下。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 22:38 , Processed in 0.065494 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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