控制器电流采样处理的问题
1. 逐周限流 跟基准值比较就可以
例如:
假设堵转电机,当前电流=15A ,当前PWM值=60%,单片机A/D采集的值假设是120(以8位A/D 255)是不是120这个值就可以设置为15A电流的限制基准点,只要A/D采集到的值大于120就要限制电流递减PWM至致回到A/D的基准点120也就是15A电流范围内,我这样理解你的解答对吗?
这个理解对,千万别用PID调节,用不着,电动车惯性大,反应速度慢。
这个理解不对, PWM=50%和PWM=100%时采集的A/D值相等假设都等于120,那么PWM=100%时的驱动电流是PWM=50%的两倍. 因为在A/D是积分变换器的情况下。是平均电流。如果这 2 种情况下都是4 A (120)的话。那一定是40%的限流值是100%的2。5倍。
普通即时值限流算法,不牵涉到乘除运算,缺点是负载不同时限流值有变动.
恒流算法,则必须要求MCU资源有硬件乘法器,同时对即时值也要进行限制,恒流算法的好处在于不同负载下其限流值基本不变.
2. 先确定采样到的电流是即使值,还是平均值 参考如下:
以下是示波器显示的康铜丝两端电压波形,左为未加换相电流补偿的波形,右为加了换相电流补偿时的波形
,从数码示波器对康铜丝二端的采样图形来看,是PWM脉冲波.送入AD的是即时值.
测量的是即时值(最大值),平均值只能通过计算得出.
在对时间要求高的系统中一般不采用软件算法,有时也不能,至少会降低运转可靠度。查表法就简捷得多,不存在不可预见的超时问题,但比较死,占程序也多。其实对于电动车电机来说,不是一定要在当前周波就要100%达到限流效果,一方面超流现象是个缓变过程,另一方面驱动部分与执行部分都是允许(有能力)短时超载的,所以只要做到后续周波能够达到限流的效果就能满足要求。因此可以用循环递减语句来微控制pwm,满足限流要求或设定时间就跳出循环,同时记忆当前值,用于下一相对周波的继续循环(增减)基准。总之,用相对的手段达到绝对的控制是节省运转时间、程序量的一个有效方法。这里每步增减量的多少与pwm的产生方式(原始依据)、性能相关。关断不可取,无平滑控制能力,非自控原则
用上大的RC常数后,AD测到就是平均值了,程序里就不用换算,然后外面再用个比较器做逐周限流,接到中断脚 ,这样也能做到,老的PIC方案几乎都这么用。
“电流超过设定值,就减小PWM,思路是正确的,可以根据这个思路去优化编程。简单的优化是,你每个AD周期测到的值是每个电流波形的最大值(接近),然后你还要乘以当前的占空比D,那才是接近的电机电流有效值,现在讨论的是没有硬件乘法器的单片机,那就要通过简单的算法实现,用软件乘除法要上百微秒了不太好,你可以用查表,把常见的占空比分几档查,校正你的最大电流基准。还有,降低PWM不用每次降1,你查一下表,如果电流太大就降多一些,电流小就降小一些吧。这些只是简单的,要做到很优化,要发挥你的想像力了,的确如一些网友所说,无刷控制器的限流做好的不多。
逐波电流:是为了防止电流极大值。损坏管子。因为早期的限流都是在电流采样电阻上取得的电压经过滤波电路以后。已经是平均值。这样的话。就有可以看起来 电流是10A 。没有超过限流值。如:12A。但是。电流的极大值有可能已经达到20A 。
所以。后来才提出逐波限流。就是不能叫电流在任何时间。超过一个设定的数值。以保管子安全。
一般都是有2 个限流。一个极大或的“较大瞬时值”(逐波)。一个平均。
换相电流补偿波形,其电流补偿基准值几乎都是取的即时值,根据我实际测量结果发现测试品中只有晶汇控制器是做的平均值,当然,我们单位的产品也是采用了平均值算法.
晶汇之所以做的是平均值,原因是这样的,24423的ADC模块不适合采样峰值电流,用比较器模块来做换向电流补偿的话太麻烦。
不过换用533的话,则SAR8采瞬时电流没有任何问题了。
用423做均值限流时,选用某种合适的ADC模块可以实现低通的效果,这样的话,均值限流没有问题了。
至于峰值限流,比较器可以做到逐周限流。
至于均值电流补偿比峰值补偿适应性更好,我个人持相反观点。设想:如果换向时,电流波形同换向前一样,没有过渡段,那么声音一定好的不得了。要做均值电流补偿,如果要得到你发的曲线后面部分一样的效果,会不会出现如下的问题呢?
比如,峰值电流为50A,占空比为50%,均值为25A,补偿时,占空比全开,采样到均值电流25A时退出补偿,那么因为此时占空比是100%的,则将在峰值电流的1/2处就退出补偿,此时效果肯定差。 当然,也许你的补偿曲线或者补偿算法不一样。
我个人认为:可以说,峰值电流补偿适应性更好,更好操作。
下面简单地拍一下软件逐周限流的屁股:
当峰值电流超过40A时,软件关掉PWM模块,低于40A或者低于一个滞环值时,使能PWM模块。8位MCU不便过于频繁地做这样的判断处理(中断要做的事情太多了),但判断处理频率不快的话,又会带来电流不连续的问题。
而且不论如何,mos管的开关次数将要增加,开关损耗增加。
如果这个40A的峰值并非因为短路引起的,而是负载等效电阻小而引起,那么其时间常数是ms级别的,用64us周期去逐周限流有必要吗?
而且,工作正常的情况下,什么时候才会出现最大的峰值?在电机停止时。有人会说如果电机在高速运行中,突然停止,那么逐周限流就可能发挥“威力”了。这样说的同志,没有考虑到运动力学,要想让一个高速运转的电机在1ms里(且不说64us)停下来,需要多大的加速度?
且不说磁钢,然后计算一下轴承的轴向和径向载荷,选用SKF的轴承来计算,看有没有能过得关的?然后校核一下电机轴的机械参数,看行不行?
呵呵,yjz同志的逐周限流,说轻一点,恐怕大多数是个摆设和拖累。
如果是短路的话,每64us甚至每32us做检测,也是来不及的,还是靠硬件。
MOS管的峰值电流最大允许多少?上百A(75管是320A)。这个40A的,甚至50A的逐周限流有什么用处?
如果某人敢说要逐周限制均值电流,则更加要被我拍得得稀巴烂。
结论:我目前觉得,在电动车上的软件逐周限流,不论峰值还是均值限流,都是没有好处,反而有害处。8位MCU资源有限,为何不让他既轻松又简单地工作?
左:
1.均值电流补偿并非因为pwm全开而只需补偿至峰值的1/2,你观察一下补偿区的波形就不难明白了.
2.逐周限流不一定非得关pwm,关不关pwm与电流上升速率有关,大多数情况下通过改变占空比来调节电流更为合适.
3.逐周限流也不是摆设,它在处理因霍尔故障或电机局部短路造成的电流异常是十分有效的.
4,逐周限流既可以是峰值型的也可以是平均值型的,或两者兼有之.
右:
1.关PWM输出究竟靠硬件来实行还是由软件来实施
只要把握住非迫不得巳尽量不要打断程序正常运行的原则,我认为即使两者同时具备也并不矛盾.在这方面方案设计者也往往是这么做的,把由硬件实施的保护参数定在器件的极限参数附近.因为硬件保护是器件安全的最后一道防线.我们既希望它安全可靠又不想见到它动作过于频繁.
而用软件来在这方面就没有这个顾虑,它完全可以随时随地进行而保护参数也往往定在比正常运行的上限稍高一点就行了.
2.均值限流
有人以为因为电机线圈的时间常数在ms级就不必对平均值作过快的调节,这是错误的.
我们在进行换相电流补偿时往往在1ms时间以内就可以把一相电流从零增加到额定值,其时间跨度也就十几个pwm周期而已.电机正常工作时不会允许电流有这么大的剧烈变动,为了使电机工作电流稳定,逐周限流是一个好的方法之一.即使你真正做到了逐周限流,其使电流稳定的动作周期也将占用2个pwm或以上周期.
3.峰值限流
说峰值限流其实应该称之为峰值斩波或峰值断流,因为峰值电流其实不是由你可以通过增加或减少pwm占空比来进行限制的,峰值电流只决定于电源电压和负载.对峰值进行保护我们只能选择关断pwm这一条途径
一款极具性价比的无刷电机控制器
WZK350AT系列电动车辆专用无刷电机控制器
主要参数
1: 额定电压:DC 24V/ 36V/ 48V;
2: 额定功率:150W ~ 350W;
3: 欠压保护:DC 21V ±0.5V / DC 31.5V ±0.5V / DC 42V ±0.5V;
4: 限流电流:限流值为10A~20A (±0.5A);
5: 静态功耗:﹤3W;
6: 刹车电平:高低电平刹车自动适应;
7: 电机匹配:60°/120°相位自动兼容,150W~350W,各种结构电机;
功能介绍
1: 限速控制
2: 1:1助力控制
3: 刹车断电/柔性EABS电磁刹车
4: 自动/手动巡航
5: 倒车/三档速度(超速)控制
6: 欠压保护
7: 过流保护
8: 堵转保护
9: 飞车保护
10: 电机霍尔缺相保护
11: 关键电路故障保护
12: 输出显示
13: 故障自诊断
14: 智能电机锁
性能特点
1: 限速功能:最高车速可达35km/h~45km/h(根据电机而定),限速时行驶速度控制在20km/h以内;
2: 1:1助力功能:控制器根据骑车者踩脚蹬力的大小(速度快慢并识别正反转),给出相应比例的电机动力,实现了在骑行中助力,让骑行者感觉更轻松。除了转速传感器外,可选配力矩传感器。此功能可供客户选配;
3: 刹车模式:刹车信号输入电路通过优化算法自动识别刹车电平,实现了高、低电平刹车自动适应。可以选择普通刹车断电与柔性EABS电磁制动两种模式,在柔性EABS电磁制动过程中实时检测电池电压,既解决了现有EABS刹车时带来的噪音和对电机的冲击,又避免了一般EABS能量回馈制动时给电池的反充电电压过高,且制动迅速,平稳。标准配置为柔性EABS电磁制动模式;
4: 巡航模式:具有自动巡航和手动巡航两种功能可选。自动巡航时手把不动约8秒进入稳定行驶速度的巡航状态,无须手柄控制。手动巡航则由巡航按钮控制。此功能可供客户选配;
5: 三档控制:通过按钮循环变换三档动力模式,即在不同档位有不同的电流控制和速度控制,有机解决了延长续行里程和强劲动力性之间的矛盾。此功能可供客户选配;
6: 欠压保护:软欠压功能,在电池电压降低至接近欠压保护值时自动降低输出功率,低于欠压保护值时则关闭控制器输出以避免蓄电池过放电。当电池电压回升时延时接通电路,避免一般欠压保护在临界状态时的频繁动作,在保证骑行舒适性的同时大大延长蓄电池的使用寿命;
7: 多重限流保护:在软件对电流平均值、电流峰值进行限流的同时硬件又对危及功率管安全的峰值电流实施冗余保护。平均值限流使控制器能够在额定功率下各种不同的电机上保持相同的限流值,而且轻、重负载,甚至堵转情况下限流值都不变;峰值检测电路则对控制器输出电流进行全程监控,如电机处于短路状态,控制器立即关闭输出,确保控制器及电池的安全;
8: 堵转保护功能:电机堵转或极低速运行2秒以上控制器自动关闭输出,防止功率管过热损坏,及时保护电机;
9: 防飞车功能:解决了无刷控制器由于转把或线路故障引起的飞车现象,提高了系统的安全性;
10: 输出显示:可配接各种电动车仪表,提供速度显示,模式/巡航显示,充电显示等多种输出;
11: 滑行充电功能:电动车自由滑行时将一部分滑行动能转化成电能对电池进行充电,通过实时检测电池充电电压调控滑行充电量,此功能可供客户通过控制器功能选择线束选择;
12: 超静音技术:采用独特的电流补偿算法,启动及全程行驶过程中噪声极低,大大超越了传统的无刷控制器,减小电机振动,延长电机使用寿命;
13: 同步续流技术:采用先进的同步续流技术,大幅度降低控制器的热损耗,提高了整车的能量使用效率,延长了续驶里程;
14: 开关电源技术:控制器内部电源采用了MCU控制的开关电源,在提高电源转换效率的同时对电源电压及负载情况进行实时调节监控,出现故障时快速切断电源以防止故障扩大。
15: 故障自诊断功能:MCU在控制器上电时刻及运行过程中对电路关键点进行监控,一旦发现异常立即切断输出并以LED闪烁次数显示故障部位;
16: 电机锁功能:当防盗警报动作时,控制器根据推动电机外力的大小自动调节锁电机电流,使车子无法推行,当外力消失时锁电机电流自动减小为零。标准配置为报警接口低电平有效,客户可选配高电平有效模式;
一.性能及功能检测
连接好控制器相关连线,通上电源后控制器红色LED常亮后进入下面步骤,否则检错。
1.用电压表测量控制器驱动电压及5V主电压应在13V+0.5V、5V+0.1-0.1额定误差范围内,否则断电检错。
2.缓慢转动调速手柄电机应开始转动,用示波器连接H_PWM测量点应观察到PWM波形占空比由小到大, 当调速手柄全开时
PWM 波形占空比应达到100%即全导通状态。
3.用示波器连接L_PWM测量点并缓慢对电机施加阻转力矩,当电源输出电流大于4A时应出现同步续流的PWM波形。
4.对各功能接口施加额定有效电平其动作应有效可靠。
二.欠压点调整
调整电源输出电压至控制器额定工作电压,调速手柄至1/2全开位置:
1.缓慢降低电源输出电压至控制器无输出,如果至控制器无输出时的电源电压在规定的欠压保护值误差范围内说明欠压点正确,否则必须调整。
2.如果欠压保护电压过高,则焊上R50电阻并调整其阻值使欠压保护电压值符合规定;
3.如果欠压保护电压过低,则调整R48电阻阻值使欠压保护电压值符合规定。
4.调整电阻值完成后重复第一步骤复验。
三.限流值调整
调整电源输出电压至控制器额定工作电压,调速手柄至全开位置:
1.对运行中的电机缓慢增加阻转力矩,观察电源输出电流寻找电流输出最大值。
2.如果电流输出最大值小于额定的限流设定值则减小康铜丝的电阻值至电流输出最大值符合规定;
3.如果电流输出最大值大于额定的限流设定值则增加康铜丝的电阻值至电流输出最大值符合规定。
4.调整康铜丝电阻值完成后重复第一步骤复验。
一 早期的堵转保护
电动车无刷控制器的调速技术,基本上也是最适合的调速算法是 “转速开环--电流截止负反馈”,加上电流截止负反馈的好处不仅仅是启动电流、堵转电流的限制,也可以使得电机的机械特性更好一些。
最早做72的时候,那时的堵转算法基本上如此:电机停转后,平均电流控制限流值(比如16A),2~3秒后,按一定斜率的pwm减速线“缓慢”降到0。
这样做的原因不外乎:
a)防止电机堵转时电流一直最大而损坏MOS管;
b)防止爬坡时电动车爬不上停转,让用户能够从容下车推行。
于是,很多人都会这样来测试控制器:
1)先让电机空载高速旋转,然后缓慢加负载使电机慢慢停转,读取此时电流表的电流值,记为Ia;
2)事先让电机处于堵转状态(比如高强度机械刹车、卡死电机等),然后迅速拧大转把,记下电流表的最大值,记为Ib。
通常有人会比较Ia、Ib的值,试图从其中找出什么关系来看看控制器好不好,有些人认为差值小,控制器好,有些人认为有一些差值更好云云,至于为什么,也说不出过所以然来。
二 趋于发展的堵转保护
后来,有人想到:电机停转后,是否一定要维持2~3秒这样长的时间吗?试车时发现,如果在平路上,如果给电机施加16A的电流,不到100ms,电机将会启动,如果100ms内,电机仍然启动不了的话,时间哪怕是16A的启动电流维持20s,电机将仍然难以启动。
既然如此,那么看来,没有必要将16A的电流维持2~3秒这样长的时间,只要能防止“防止爬坡时电动车爬不上停转,让用户能够从容下车推行。”这个现象。于是,设计算法的人,就想到,降低16A电流堵转时间,比如改为1秒,0.5秒,甚至更低,只要不影响启动,电机超过0.5秒后仍然没有正确的换向动作,那么可以得知,启动阻力太大,放弃启动,并将电流降低一档,防止电动车在阻力下(比如爬坡)后退过快,实验表明,电流降低一档,比如降到10A~12A,对骑行者上坡时下车没有影响。
这样看来,这种堵转保护的算法是比较科学的,有减少控制器和电机发热、延长电池寿命等优点,衍生开来,还有很多的堵转保护算法,但主要目的是,尽最大限度保护控制器,不影响骑行者爬坡。
三 被误解了的堵转保护
新的堵转保护算法更加科学合理,但是一些测试人员,因为技术素养相对较低或者没有及时更新,于是在测试这种堵转保护算法时,将会发现:在电机转动时加负载至堵转时,电流为Ia=16A,但是先卡死电机在拧大转把,却发现电流表大多数停在10A~12A(由于电流表存在刷新周期和滞后,若控制器最大堵转电流16A的停留时间较短的话,电流表读数难以跟上),于是他们要么认为控制器不正常,要么认为控制器没力。
那么怎么办呢?一种方法是仍然按照他们的性子来,做成最早的那种堵转保护,另一种是给客户讲述新堵转算法的好处。
欣喜的是,越来越多的客户慢慢接受了新的堵转算法。
一管之间,供大家参考,欢迎拍砖!
00000000000000000000000000000000000000
现在有一款适合维修市场的控制器
由于mos管选的便宜,内阻偏大,必须对堵转加以特殊处理
在堵转开始的头3秒是10a限流,3秒后主动上升为18a。5秒后若还是处于堵转,自动停机保护
0000000000000000000000000
控制器堵转电流先大后小是为了保护MOS管,
-----------------------------------------------
堵转保护,一种堵转就是电机根本不动,也就是不换一次相,还有就是电机在抖动,这种的话,应该是电机在两个相位之间转换把,第二种情况,怎样判断电机不是在正常运转呢?
-----------------------------
另外霍尔开路短路保护的问题这么处理是有原因的,因为现在线束质量差 颠簸中很容易出现暂时缺相
不可能做到一发现霍尔异常就立即保护的,因此大多采用延时等容错方法,如果一定时间内不恢复 再保护掉
当然这个过程中也有其他保护参数在起作用,一旦发生危险情况也还是能够保护的。
-----------------
包括系统监控,转矩脉动的抑制(换向时、加速时)等
一 如何控制电流?
电流控制是无刷控制器最基本的功能,优秀的电流控制算法能尽最大可能保证MOS管的安全。
控制好电流的一个前提是,如何采样准确的电流?
一句话:AD转换应在PWM波形的有效段的中点完成最好。
有了准确的电流采样后,然后剩下的事情就是控制电流不要超过限制值。
控制电流有几种方法,比如超过了就减占空比等等,需要注意的是,不仅需要控制绕组的平均电流,还需要控制MOS管的瞬时电流。
二 怎么降低启动时的噪音?
启动时的噪音来源于转矩的脉动,一种解决办法是,在换向时,将占空比设一个比较大的值,使电机绕组平均电流迅速上升,一方面电机能较快地转过过渡态,另一方面降低转矩脉动量,从而降低因为转矩脉动引起震动而带来的噪音。
---------------------
三 同步整流是怎么回事?
同步整流常用于高级开关电源中,目的是让续流回路流经MOS管的导通电阻而不是并联的反向二极管。
当电机工作在大电流时,由于此时转速低,反电动势小,软件中的限流使得PWM占空比较少,这样同步整流就有用武之地了.
在没有同步整流的情况下,一个PWM周期里,当PWM为低时,上桥MOS管关断,此时绕组中电流不能反向,而是通过导通的下管和另一个关闭的下管内部的并联二极管进行续流.
二极管正向导通的压降太大,高温下可到1~1.5v,此时,设30A的电流流过,其功率损耗达30A*1.25v=37.5W.
若在续流的时候,打开续流通道的这个原本关闭的下桥臂MOS管,由于其Rds在10毫欧左右(75管),可以推算此时的功率损耗为30A*30A*0.01ohm=9W.
可想而知,同步整流在理论上,要大大降低MOS管的热耗.在实际的应用中,同步整流对降低MOS管的温升也是有好处的.
市面上有部分厂家不理解同步整流的作用,自以为懂一点硬件,于是改了电路,省掉两颗IC,也敢将产品投放市场,电动车厂家则更是不懂了,越便宜越喜欢.
由于同步整流仅在启动和爬坡时发挥作用,而这段时间不长,所以目前来看没有大面积翻修,但最后很可能就会出问题,害人害己的.
------------------------
关于E-ABS的一个建议.
大家知道现在市面上大都数的带E-ABS的控制器,都是通过关上管,然后通过控制下管通过的电机短路电流来进行能耗制动的。
(当然还有所谓反充制动的,暂不提。)
控制下管通过的电机短路电流大部分的方法都是通过PWM控制,也即是大家所熟知的10%。我对此表示很大疑问。是谁定的这个标准,还是天下文章一大抄。
我想了好久,感觉是如下几点造成的。
1.因为担心MOS会反向击穿。所以不敢全开甚至不敢开大。这是设计人员从产品质量的可靠性及考虑到自身的名誉而做出的结论。
2.担心因全开时电机短路是产生的“巨大”电流进而产生的“巨大”磁场会使磁钢退磁。这样想的初衷和前面说的原因一样。
3.担心因全开时电机短路是产生的“巨大”电流会烧断线圈。
4.担心因全开时电机短路是产生的“巨大”电流进而产生的“巨大”磁场会包死电机,更有甚会如有人说的还会拉掉钢片。
好了如此等等。我的感觉好像都是一个担心在发生作用,有没有实际的数据。
我对如上几点的想法。只是想法,不对不要笑话。
1.想想反向电压来自何处,是电机最高转速时的自发电动势。这时电机是作为一发电机工作的。这时所产生的电压高低完全取决于它的转速。而它的转速又是由电池的电压决定的。呵呵,明眼人以看出来了。这个反向电压是不会超过电池电压的。所以担心反向击穿MOS这个有些牵强了。
2、3.我们假想在电机在骑行至最大速度时MOS全开也就是说将电机直接短路,那么它的电流到底有多大,我没有测试过无权发言,但我要纠正大家一个错误就是它不是大家所认为的,是反向电压直接加到直流负载上的。还是有一感性负载的问题。这两点最终解释是由通过的电流到底大到什么程度决定的。不能靠想象。我不知有没有生产厂家或是设计人员进行过测试,是什么数值。
4.关于包死这个有些可笑了,有一个逻辑上的错误,包死的力来自转动的“发动机”,包死了就是不转了,不转了哪来的力。呵呵。
最后我想用一简单的比喻来说明一下我认为的E-ABS控制原理,比如说现在车子行驶在最高速,假想它没有任何阻力,然后我们拿掉电池(关闭电源),然后我们假想这时电机(发电机)所产成的电压是等于电池组的电压(实际应该要小一点),这时我们把电机发的电看作是我们的另一组电池(电源),我们把它拿过来作为控制器的输入,好了,一个新的电源重新接入,如果控制器继续控制电机正向运动(因为我们假想它没有任何阻力),车了将会保持最高速度一直跑下去。再来说E-ABS,这时如果控制器控制电机反转,实际上相当于发电机短接,对于MOS而言耐压绝对没有问题,到是电流好像有问题,太大了是不是要烧坏了,呵呵,不要担心啊,PWM是个好动西,采样控制在30A以内不就OK了吗。
相信如果是这样,应该不会有人说,什么E-ABS啊,没有感觉吗。呵呵。有点杂。
另外我想有没有现实一点的办法把我现在的控制器改一下呢,比如说加个电位器让我自己调一下占空比。不要把10%做在程序里做死了。要求有点过分是吧,不过谁叫它没什感觉呢。OVER。
恒流这个提法不是一个科学的提法,我们先看一下为什么我们要做这个设计。
这个设计并不是电动车厂提出的要求,而我们这些控制器设计者提出的,为什么会产生这个想法呢?
这是因为我们遇到一个问题,比如,我设计生产的这个控制器是350W的,但用户载很重,当骑行到最高速度时,实际的功率就可能达到800W甚至更高,也就是说,我设计了一个载重1吨的汽车,但使用者载了3吨,那控制器就非常容易坏,而骑行里程会大幅下降,但这不是我设计的问题,是用户超载的问题,所以,我必须在设计中加入一段防超载的代码,你要超载是不是,那我就只给你350W的输出功率,我看你怎么超,反正我的输出功率不超,控制器就安全了,而且骑行里程受负载影响也会减小。