1.无刷电机控制器的基本要求
(1)功能性要求:1)电子换相,2)无级调速,3)刹车断电,4)附加功能(包括;a.限速 ,b.1+l助力,c.EBS柔性电磁刹车,d.定速巡航,e.消除换相噪音,倒车等)。
(2)安全性要求:1)限流驱动,2)过流保护,3)堵转保护,4)电池欠压保护,5)节能和降低温升,6>附加功能(防盗锁死,温升限制等),7.附加故障检测功能。
从上面的要求来看,功能性要求和安全性荽求的前三项,用专用的无刷电机驱动芯片加上适当的外围电路均不难解决,代表芯片是MC33035,早期的控制器方案均用该集成块解决。但后来随着竞争加剧,很多厂商都增加了不少俯加功能,一些附加功能用硬件来实现就比较困难,所以使用单片机来做控制的控制器迅速取代了硬件电路芯片。 控制的反应速度仅仅受限于逻辑门的开关速度,而软件的运行则需要时间。要使软件跟得上电机控制的需求,就必须要求软件在最短的时间内能够正确处理换相、电流限制等各种复杂动作,这就涉及到一个对外部信号的采样频率、采样时机、信号的内部处理判断及处理结果的输出,还有一些抗干扰措施等,这些都是软件设计中需要再三仔细考虑的。
PICl672是一款具有2k字长的FLASH程序空间,22个可用I/O口。同时又附加了3个定时/计数器、5个8位A/D口、1个比较/捕捉,脉宽调制器、8个中断源,这些优异的性能为电动车控制器控制提供了良好的硬件环境和软件基础。
要使无刷电机转起来,并且听从驾驶者的调速、刹车等基本指挥。最基本的要求就是要实现硬件所能实现的电子换向和调速、刹车等功能。实际上软件的整体设计也和硬件一样,也是一个模块化堆砌的过程,问题在于模块的合理化堆砌,使堆砌后形成的整体能够坚固、协调、高效率运行。这里先说一说各种模块功能的简单实现,然后再来讨论如何使这些模块协调运转。
2.电子换相模块
无刷电机,顾名思义就是没有了电刷,不能自动换向,因此要依靠传感器检测转手的位置、用电子开关来改变线圈中电流的方向。所以其控制器要对转子永磁体位置进行精确检测。并用电子开关切换不同绕组通电以获得持续向前的动力。
转子位置检测传感器有很多,比如光传感器、磁感应传感器等,电子开关可以用大功率三极管、功率型场效应管、IGBT管等制作,在目前的绝大多数电动车三相无刷电机中均使用三个开关型的霍尔传感器检测永磁体相对于定子线圈的位置,控制器根据三个霍尔传感器输出的六种不同信号输出相应的控制信号驱动功率型场效应管(MOSFET管)组成的电子开关向电机供电。这就是所谓六步换相法。从电机原理可以看出,这种电机是一种特别的同步电机,因此换相必须及时,否则会导致电机失步。从而使电机噪音增大、效率降低,严重的还会导致控制器、龟机烧毁。
鉴于以上要求。先必须测一下市面上普通的无刷电机在最高转速时(考虑到顺风和下坡的情况)的换向情况,这个比较简单,用示波器测量之后,得到在最高速时每相霍尔传感器输出的频率大概在140Hz左右,折合到换向的最小时间,那么应该是1.2ms左右换相一次,根据实际的使用效果,软件的反应时间必须在0.12ms左右,也就是说在检测瓢换相信号的改变并且输出换相驱动信号时的过程必须在O.1~0.2ms内完成。
另一个需要考虑的悬,电机驱动是一个大电流驱动,又是一个电感性负载,控制器在运行时不可避免有干扰引入,因此除了在硬件布局、布线上注意外,软件上也要做相应的抗干扰措施以避免错误的换向动作。考虑到输入到单片机的换相信号容易受干扰,加上线路上滤波电容的影响,单片机程序在读取换相信号时应至少连续读取3次,以3次信号完全一致时才采用该值作为换相信号的真值,如果其中一次不对,那么干脆就重新再读3次,这就是一个有抗干扰揩施的鉴相过程。取得换相信号后。将其与上次读到的值做对比,如果相同,则表示没有换相,如果不同,则要根据这个值去取得呷个相对应的驱动信号,从丽驱动电子开关动作。l这个过程可以使用逐项。比较法、查表法等来实现。鉴于查表法比较快捷,一般使用查表法。。
其中需要考虑的是,一旦获得的信号与所有的六个信号都不相同,可能表示电机中霍尔元件或者其连接线路出现故障,此时应该让电机断电以避免误操作。
市面上有两种电机,即所谓的120度和60度霍尔信号,这个角度代表三个霍尔器件输出的三相电信号其相位角相差的角度。其实这里面的区别仅仅是电平的不一样。在电机内部的安装上,位置没什么不同,只是中间一相的相位相反,所以仍然是六种信号对应六种驱动,软件上稍作调整即可。需要提一下的是。在120度的霍尔信号中,不可能出现二进制OB000和OB111的编码,所以在一定程度上避免了因霍尔零件故障而导致的误操作。因为霍尔元件是开路输出,高电平依靠电路上的上拉电阻提供,一旦霍尔零件断电,霍尔信号输出就是OBlll。一旦霍尔零件短路,霍尔信号输出就是OB000,而60度的霍尔信号在正常工作时这两种信号均会出现,所以一定程度上影响了软件判断故障的准确率。目前市面上的电机已经逐渐舍弃60度相位的霍尔排列。
编程提示:在程序上,综合考虑单片机的处理速度,采用定时中断去检测相位变化,中断周期采用128μs,中断源可使用TMRO。或者PWM本身的TMIt2中断。在同一个中断中,还将安排其他更重要的工作,这个在后面的电流控制中再作说明。