无刷电机控制器软件设计经验_林志琦
第27卷第2期
Vol127 No12长春师范学院学报(自然科学版)JournalofChangchunNormalUniversity(NaturalScience)2008年4月Apr.2008
无刷电机控制器软件设计经验
林志琦,刘 涛,逄 林
(长春工业大学电气与电子工程学院,吉林长春 130012)
[摘 要]无刷直流电机已广泛应用到计算机硬盘、电动自行车等领域,本文以MICROCHIP公司的
PIC16F72作为电动自行车无刷电机控制器的软件编程经验为基础,研究了电动自行车无刷电机控制器
的单片机控制的程序设计的方法,分析了无刷电机控制器的采样时间确定方法。研究了电动自行车调
速的平滑型问题,分析了控制器的PWM分辨率及限流驱动和减小换相噪声的方法;给出了堵转保护
和欠压保护的程序设计方法。
[关键词]无刷直流电机;PIC单片机;无刷电机控制器
[中图分类号]TP312 [文献标识码]A [文章编号]1008-178X(2008)02-0036-03
虽然专用的无刷马达驱动芯片如摩托罗拉的MC33035加上适当的外围电路均可以构成电动自行车无刷电机控制器。但随着竞争加剧,很多厂商都增加了不少附加功能如无级调速、刹车断电、限速、EBS柔性电磁刹车、定速巡航、1+1助力航、消除换相噪音、倒车、限流驱动、过流保护、堵转保护、电池欠压保护、附加防盗锁,附加故障检测等功能。
这些功能用硬件来实现比较困难,因此目前市面上的电动自行车的无刷电机控制器都是使用单片机来做控制的。但是硬件控制和软件控制有很大的区别,硬件控制的反应速度仅仅受限于逻辑门的开关速度,而软件的运行则需要时间。要使软件跟得上电机控制的需求,就必须要求软件在最短的时间内能够正确处理换相、电流限制等各种复杂动作,这就涉及到一个对外部信号的采样频率、采样时机、信号的内部处理判断及处理结果的输出,还有一些抗干扰等措施。本文根据开发电动自行车无刷电动机控制器的经验对电动自行车无刷电机控制器的程序设计进行了深入的研究。
1 电动自行车无刷电机控制器的采样时间确定
无刷电机要对转子永磁体位置进行精确检测,并用电子开关切换不同绕组通电以获得持续向前的动力,在目前的绝大多数电动自行车三相无刷电机中均使用三个开关式的霍尔传感器检测永磁体相对于定子线圈的位置,控制器根据三个霍尔传感器输出的六种不同信号输出相应的控制信号驱动电子开关向马达供电。这就是所谓六步换相法。从电机原理可以看出,换相必须及时,否则会导致电机失步,从而使电机噪音增大,效率降低,严重的还会导致烧毁电机和控制器。电动自行车在最高转速时,每112mS左右换相一次,根据实际的使用效果,软件的反应时间必须在0112mS左右检测到换相信号的改变并且输出换相驱动信号。考虑到输入到单片机的换相信号容易受干扰,加上线路上滤波电容的影响,单片机程序在读取换相信号时应至少连续读取3次,以3次信号完全一致时才采用该值作为换相信号的真值,这就是鉴相。取得换相信号后,我们将其与上次读到的值做对比,如果相同,则表示没有换相,如果不同,则要根据这个值去取得一个相对应的驱动信号,从而驱动电子开关动作。这个过程可以使用逐项比较法、查表法等来实现。由于查表法速度快,因此,在编程时常用查表法。
在硬件资源分配上,综合考虑单片机的处理速度,采用定时中断去检测相位变化,中断周期采用128LS,中断源可使用TMR0,或者PWM本身的TMR2中断。PR2决定PWM的工作周期,也就是PWM的调制频率,工作中其值不断地与TMR2中的值相比较,当TMR2的值等于PR2时TMR2归零重新开始另一个周[收稿日期]2008-01-02
[作者简介]林志琦(1964-),男,吉林长春人,长春工业大学电气与电子工程学院副教授,博士研究生,从事应用电子、
开关电源、嵌入式系统应用研究。
期,由于用到TMR2,所以TMR2的预分频器也同样影响到PWM的工作周期。CCPR1L及CCP1CON的第4,5位:决定PWM的占空比,单片机在运行时TMR2的值不断与CCPR1L中的值比较,当TMR2=CCPR1L时,PWM输出脚输出低电平。当CCPR1L中的值大于PR2时,PWM输出脚持续输出高电平。CCP1CON中的第4,5位在电流调节中可以用来微调PWM的占空比。T2CON决定TMR2的预分频器和后分频器的分频比,预分频器和前面讲过的PR2共同决定PWM频率,后分频器决定TMR2的中断周期。
2 电动自行车调速的平滑性问题
由于使用直流电源,电机的速度得依靠调节加在电机两端的电压来调整,简单的办法是使用PWM脉宽调制来调节加到电机两端的电压。PWM的工作周期根据电机的使用环境选择,通常采用64LS,频率大约15KHz,频率太低了会产生人耳能明显感觉到的高频噪声,电流也不容易控制,太高了又增加电子开关的开关动态损耗。PWM脉冲的最大宽度,这个直接影响到电机的最高速度,则由手柄输出的电压决定。
手柄电压检测简单,由于惯性,电动自行车的驾驶者对速度的感觉迟钝,所以手柄的检测不需要很频繁,这个AD检测与电源电压,刹车等检测均不需要很快的速度,每隔10-50mS检测一次便足够,AD的检测在定时中断中只需要将采样值存到缓冲单元中,中断结束后返回主程序再进行处理。这样减小了占用中断的时间。由于目前大多数电动自行车采用线性霍尔作为手柄调节速度方案,这种方案优点是无触电、故障率极低。缺点是在5V供电的情况下,电压只能在111-413V的范围内变化,因此软件的编成上需要去掉零点并乘以一定的系数扩大动态范围,将这期间的AD数值转换成PWM占空比的值即可。虽然讲是无级调速,实际上分32级驾驶者已经感觉很平滑了。
3 限流驱动
为了提高整个控制器的可靠性必须加入限流驱动功能,如果没有限流驱动,其他功能再好也避免不了烧坏控制器。电动自行车控制器的电子开关均使用功率VMOS管控制,VMOS的最大允许电流、最大允许功耗都有其限制,如果没有电流控制,或者电流控制不好,均会导致功率VMOS管损坏,从而导致整个控制器报废,因此电流控制是程序设计的关键,限流驱动要做到准确、及时。电流信号经采样之后通常分两路,一路送至放大器,一路送至比较器。放大器用来实时放大电流信号,放大后的信号提供给单片机进行AD采样转换,转换所得数字用来控制电流不超过我们所允许的值。另一路信号送至比较器,当电流突然由于某种原因大大超过允许值,比如一只VMOS击穿或误导通时,比较器翻转送出低电平,触发单片机的INT0外部中断,使单片机能够快速关断驱动,从而保护VMOS避免更大损坏。准确、及时是针对放大器放大之后的信号处理过程来表述的。在用PWM脉冲驱动时,这种脉冲驱动导致的直接结果是放大后的电流信号与PWM脉冲频率相同,相位上滞后一定时间的脉动电流波形,这种波形如果没有经过滤波处理,将会类似于一个梯形,如果我们要获得准确的电流AD转换值,最好的办法就是在梯形波的上边中间采样电流信号,这样所获得的电流AD值才能较为准确地反应电流的实际大小。在PIC单片机上,AD转换的采样开始时间由ADCON0中的ADON位控制开始,AD转换则由ADGO位启动,采样的时间一般采用10-20LS。
确性可以设通过定时中断和PWM周期同步,预先设定好AD的通道,将AD转换器切换到检测电流的那个通道,当进入定时中断处理完现场保护,中断源判断等一系列动作之后,开启ADON时刻刚好落在电流梯形波的中央,采样完毕之后马上进行转换来实现。如果要及时准确地控制电流,采样次数也是要求越多越好,因为电流的变化相当快,在一个PWM周期中变化量可能会很大,所以最好是在一个PWM周期里采样数次,但是受PIC单片机的速度限制,PWM的占空比在一个周期中只能采样一次,而且要到下一个采样周期才能转换完,为了更好地处理其它事情,可以两三个周期才对电流采样一次。采样转换之后的工作,就是处理了。在处理上只需要在电流没达到限制值时逐渐增加CCPR1L的值,直到等于手柄设定值为止,如果在此过程中电流接近限制值,那么应该不再增加CCPR1L的值,直到电流减小。如果电流超过了限制值,则根据超过的量,找一个比较合适的减少量,比如CCPR1L减1或减3,一切以电流比较稳定为准,不要有太大的波动,但波动越小,要求PWM占空比调整精度越高。
4 PWM分辨率
PIC16F72单片机在16M时钟的工作频率和151625K的PWM频率前提下,PWM的占空比调整有10BIT的分辨率,但10BIT的数据需要进行2个字节的运算,为了提高速度采用8BIT的调整精度,实践证明,8BIT的精度对调整电流来说足够了。只对CCPR1L进行操作就可以,前提是TMR2预分频值为1:1。大多数控制器的最大电流并没有出现在堵转的时候,这是因为上面我们所检测到的是电流的即时值,我们在电流表上看到的是电源电流的有效值,当PWM占空比不是100%的情况下,电流有效值U电流即时值*PWM占空比,也就是说,占空比越小,要保证电流有效值达到期望值时,电流的即时值要提高。
5 减小换相噪声
在电动自行车刚刚起步时电机会发出很大换相的突突声,这是由于电机起步时电流比较大,而电机是个感性负载,换相后由于电机线圈电流不会一下增大到换相前的水平,这样就造成换相前后电流反差非常大,从而导致牵引力的急剧变化,这种变化便会引起电机强烈振动,可在换相后的一段时间使PWM脉冲占空比达到100%来使电流增长快一点,从而减轻振动噪声。需要注意在程序设计过程中需要随时监测电流变化,电流一达到换相前的水平就可以恢复换相前的PWM占空比。如果电流始终达不到以前的水平,那么最多延时十多个PWM周期即可,时间长了也没用,以不影响到鉴相等其它重要工作为度。
以上电子换相,电流检测处理等大部分重要的工作均在同一个128LS的定时中断中完成。另外中断中还要完成计时工作,由于单片机的AD模块是复用的,所以每隔一段时间还要照顾一下其他需要AD转换的功能,比如手柄、电源电压等,其它对时间、时机要求不严格的则放在中断外空余时间处理。当有VMOS击穿或VMOS误导通时,会造成上下桥直通将电源直接短路,这样会有很大的电流,为避免更大的伤害,在电流信号引起比较器翻转时触发外中断,由于PIC16F72没有中断嵌套,因此在整个定时中断中均要随时检测外中断标志,防止短路发生。
6 堵转保护的程序设计
为了防止电机发生堵转时电流始终通过同一组VMOS而造成损坏,因此有必要在堵转发生之后数秒钟之内切断电机的供电。一般时间是2秒。若电机虽然发生堵转,但刚好在换相的临界点,此时会产生频繁的换相动作,这对VMOS也是有害的,所以也应当作堵转来对待。
7 欠压保护的程序设计
这是针对电池的保护动作,如果电池过放电,将导致电池的永久损坏。注意欠压保护和电池电压上升后再恢复供电这两个电压应有一定回差,比如48V电池欠压点在42V,而恢复供电点在45V,当电池电压回到45V时还应延时数秒,避免控制器频繁进入保护状态使驾驶者感到不适。另一点要注意的是,由于电池具有一定的内阻,因此在大电流放电的情况下应适当调低欠压值。电压值的检测也是不需要非常频繁的,所以和手柄、刹车一道,在中断中每隔10-50ms轮流检测一次AD输出值即可,检测后的结果保存起来放在全局变量中,等到退出中断后再进行处理。
8 结论
根据本文的方法设计的电动自行车无刷电机控制器,经小批量中试证明达到了良好的效果,满足了用户对电动自行车无刷电机控制器的要求。
[参考文献]
[1]张淑梅.基于DSP的直流电机数字控制系统[J].微电机,2006(5):38-41.
[2]陈永.基于dsPIC的无刷直流电机调速系统方案[J].电机与控制应用,2006(8):32-34.
[3]刘军,李天舒.无刷直流电机的反电势法研究[J].日用电器,2006(8):39-41.
[4]龚春雨.无刷直流电动机的发展现状和质量特点[J].微特电机,2006(8).
[5]路如旃,张继伟,方千山.无刷直流电机的控制系统设计[J].福建工程学院学报,2006(4):415-418.
[6]刘辉.基于DSP控制的直流无刷电机伺服系统的研究[J].电器工业,2006(8):64-66.
TheProgrammeDesignExperienceofBrushlessMotorController
LINZhi-qi,LIUTao,PANGLin
(CollegeofElectricsandElectronicsEngineering,ChangchunUniversityofTechnology,Changchun130012,China)Abstract:BrushlessdirectcurrentmotorhasbeenwidelyusedintheareasofcomputerHD,electricbicycleandsoon.BrushlessdirectcurrentmotorcontrollerwhichisusedinelectricbicyclebasedontheexperienceofPIC16F72whichisfromMICROCHIPcompanyanditsprogrammeofSCMcontrollerwerediscussedinthisarticle.Then,furthermore,thewayhowtomakesurethesamplingtimeofbrushlessdirectcurrentmotorandtheproblemofspeedajustingwasanalyzed.Intheend,PWMresolutionofcontrollerandthemethodoflimitingcurrentdriveandreducingphasechangingnoisewereanalyzed,andtheprogrammeofrotation-cloggingprotectionandunder-volatgeprotectionweregiven.
Keywords:brushlessdirectcurrentmotor;PICSCM;brushlessmotorcontroller