3. ADC采样
ADC是BLDC控制的核心之一,限流控制,过流保护,电压侦测,其它模拟量的检测等都需要ADC的转换。其中电流的侦测最为关键,怎样从一个PWM的波形上测量出准确的电流呢?最好能在PWM的Duty ON的中间读取电流值。上面说了相位修正模式的PWM一个关于BUTTOM 对称的波形,所以我们利用在T/C 溢出中断,此刻触发ADC采样,保证每次都在峰值点采样。
http://bbs.21ic.com/upfiles/img/20078/200784144435615.jpg
PWM周期是64us,所以ADC速度要足够的快,必须在64us以内完成一次ADC转换。假设AVRmage48采用8MHz系统时钟,分频系数最小2,4M/13=308KHz 采样一次时间仅为3us。实际上这样会影响采用的精度,需要更多的能耗。我们使用8分频就足够了,可以在24us完成一次ADC转换。
要注意各对PWM是由不同的定时器产生的,它们是不同步的。为了在每个相位我们都能够准确地采样,可以使用两种办法:一,打开三个溢出中断TOVn,设立全局标志,当相应的PWM打开时候使用相应的定时中断TOVn触发采样;二,利用计数寄存器TCNT。我们把特定的初始值写入计数寄存器TCNT使各路PWM波形同步,这样只需要开通一路TOVn中断就保证每次都能在PWM Duty ON的中央采样。
这样采集到的是峰值电流,而平均电流就通过电流有效值≈电流即时值*PWM占空比计算得到,这只是近似值,有效值的算法相对复杂一些。
ADC通道切换时候需要注意的是,最好丢弃上次采样值两次的AD值,并不是datasheet说的一次。
4. 换相补偿
因为电机是一个感性负载,对电流是由一种惯性的响应。如何保证电流平稳,在每次换相后能快速达到换相前的水平呢?我们需要在换相后一段时间增大PWM占空比,使电流迅速增大,称作换相补偿。要使补偿恰到好处,这个过程中需要快速实时的电流侦察,换相中断马上进入换相补偿状态增大PWM占空比,此刻ADC不要切换到其他通道使用,一直检测电流值,当电流达到换相前的水平马上恢复正常的PWM占空比。实际上由于我们侦测到电流有所延迟,要稍为提早恢复正常的PWM占空比输出。
5.BOD熔丝位
作为一个正式的系统或产品,当系统基本功能调试完成后,一旦进行现场测试阶段,请注意马上改写熔丝位的配置,启用AVR的电源检测(BOD)功能。因为上下桥不能同时导通,否者马上烧毁功率管,所以我们一定要防止掉电IO口输出错乱,在5V的系统中设置掉电电压为4.3V。
6.功率管的保护
首先,开机对功率管的检测,目的是防止某一个功率管短路,连带烧毁其他功率。峰值电流的控制,峰值电流不应该超过功率的最大承受电流的70%,一旦超过马上减少PWM输出,形成一个闭环控制系统。同时还要做好过流保护和过压保护等等。
关于自动相位识别和无Hall的BLDC控制以后会讨论到。对本文由任何问题欢迎大家讨论。Email: inman#sina.com QQ: 76078044
参考:
《电动车无刷电机控制器软件设计要点》谢渊斌
我们的AVRBBS论坛
http://www.ouravr.com/《Sensor-based control of three phase Brushless DC motor》Atmel Corporation
《Sensorless control of 3-phase brushless DC motors》Atmel Corporation