无传感器BLDC驱动控制系统的设计
扫描二维码
随时随地手机看文章
近年来,国内市场上电动车使用的电机主要有三种:有刷电机、有位置传感器无刷电机和无位置传感器无刷电机。使用有刷直流电机容易解决换相问题,但是噪音大,而且碳刷容易磨损或损坏,这会增大维护、维修难度,增加使用成本;使用有传感器无刷直流电机容易确定转子位置,解决换相问题,但却增大了电机的设计、制造和安装难度,也增加了成本,并且传感器容易损坏,导致电机的使用寿命缩短;无传感器无刷直流电机换相虽然在技术上有难度,但在成本和寿命上更容易满足消费者需求。
综合以上特点,本文讨论的方案选择了性价比较高的无传感器无刷直流电机,以HT46R6?为主控芯片,用反电势法(back electromotive force)实现电机正常换相,软硬结合,使电动车驱动系统工作在最佳状态,从而提高产品的可靠性和使用寿命。
系统工作原理
控制系统结构框图如图1所示,主要由MCU、直流无刷电机、LCD液晶显示屏、键盘、电源、时钟等模块组成。其中MCU采用台湾Holtek公司生产的HT46R6?微处理器,以它作为系统核心,连同一些外围硬件,并配合软件共同控制直流无刷电机,从而实现该驱动系统的优良性能。例如通过MCU指令控制电机的正反转、调速、刹车或制动等。根据电机所转圈数计量行程,并以数字形式呈现在液晶屏上,通过键盘操作方便查看行程以及其它系统信息。电源模块主要用于在不需要显示时切断相应部分电路,同时保存关键信息,以降低系统功耗。
图1:驱动系统结构框图。
由图1可以看出,本驱动控制器的主要功能大致分为三个部分:电机部分、行程计量以及LCD显示,本文主要围绕无传感器电机的换相问题展开。
1. 反电势换相原理
霍尔传感器在电机中使用广泛,带位置传感器直流无刷电机就是靠霍尔传感器来确定转子位置,以使定子各相绕组顺序导通实现换相;而无传感器直流无刷机则是利用电子线路代替位置传感器(图2),通过检测电机在运行过程中产生的反电势过零点来确定转子位置,实现换相,下面以星形绕组为例进一步说明。
图2:用电子线路代替传感器结构框图。
电机在运行过程中要经过6次换相,每次换相时总有一相绕组未通电,此时可以在该相绕组端口检测到绕组产生的反电势,反电势在60°电角度内是连续的。由于电机的规格、制造工艺有差异,导致相同电角度的反电势值不同,如果要通过检测反电势的数值来确定转子位置,难度非常大,因此必须找到该反电势与转子位置的关系,才能确定转子位置。由图3可知,反电势在60°的电角度过程中总有一次经过坐标横轴(过零点),而此处的电角度和下一次换相点的电角度正好相差30°,故可通过检测反电势过零点,再延时30°换相。本设计是从被检测相断电开始计时等待反电势过零点,再延时等待相应时间,实现换相。
图3:电机运行时各相产生的反电势示意图。
以正向反电势检测为例,假设之前是CB通电,测A相反电势过零点,有过零点信号后等待相应时间,由139译码器开通A+,同时自动关闭C+,就转换成了AB通电;再测C相反电势,用同样的方法,开通C-,自动关闭B-,转换成AC通电;再测B相反电势,开通B+,关闭A+,转换成BC通电;再测A相反电势,开通A-,关闭C-,转换成BA通电;接着测C相反电势,开通C+,关闭B+,转换成CA通电;然后测B相反电势,开通B-,关闭A-,转换成CB通电。经过AB→AC→BC→BA→CA→CB六次换相实现直流无刷电机的连续正转;同理,反电势法经过CA→BA→BC→AC→AB→CB六次换相可实现电机的连续反转。
2. 反电势过零方案
在无位置传感器直流无刷电机模型推导的基础上,可以采用图4所示的方法,对无传感器直流无刷电机不导通相绕组产生的反电势进行过零检测。图4中的电阻R 起分压作用,可以看出进入比较器LM339正端的A、B、C三相电压与过零点检测相(参考相)电压明显成两倍关系,对于星形电机绕组,零点是两相通电电压的一半,经过电压比较给出零点信号到单片机,收到信号后再在程序中进行换相处理,以确保电机正常运行。LM339的出端信号就是所谓的电机转子位置信号,相当于传感器信号,实质上是发出换相通知。
图4:反电势过零检测电路。
3. 行程计量和液晶显示原理
本设计中行程计量采用纯软件数据处理。由于电动车电机转子在外面,车上的辐条是固定在转子上的,因此转子转一圈车轮就转一周,所走过的路程就是车轮的周长。这样只要电机转一圈,采用内部中断,数据处理部分就做一次加法,通过累加的办法存储总路程数据,然后进行十进制转换。由于HT46R6?自带LCD驱动,因此只需将转换后的结果直接写入其RAM存储区1,即可在液晶屏上显示里程。其中数据处理部分的加法采用浮点数,这是因为HT系列单片机不支持小数操作。
系统硬件结构
驱动部分:74HC139译码器的输入端连接到单片机HT46R6?上,其使能控制位接HT46R6?的PWM1(即PD1口),其它输入接普通I/O,译码器的输出直接驱动IR2132,IR2132的输入均是低电平有效,以产生输出电平去驱动MOS管P60N06的栅极,外加48V漏极电压使MOS管导通,通过这种驱动方法顺序导通各MOS管,以便给直流无刷电机连续供电。需注意的是当IR2132高于8.9V的电压时才能开通,一般采用12V或15V作为驱动,器件内带有欠电压和过电流保护;当电压低于8.9V,IR2132自动断开不工作,即没有输出,此时整个控制系统也就无法正常运作。
反电势部分:采用原理部分叙述的过零方案,通过电阻取三相反电势电压,将其送往比较器LM339中每个比较器的正端,为减小干扰,正端输入需加电容滤波,而负端(参考相)电压采用48V电源的1/22。通过比较,若正端电压高于负端,则LM339的出端信号为+5V;若正端电压低于负端,则出端信号为0V,从而给出转子位置信号,即传感器信号。
LCD部分:本文中的设计采用两行显示的10位液晶屏与HT46R6?的SEG0-SEG19脚和4个COM脚相连,通过向内部LCD存储区写数即可在屏幕上显示行程,自带驱动,简易直观且便于操作。选择R型偏压,则不需要连接外部电容或电阻,如果VDD大于VLCD引脚上的电压,那么VMAX连接至VDD,否则连接到VLCD,这样可以防止因电压太强造成不该点亮的液晶段选信号点亮,避免乱码的出现;若选择C型偏压,需在单片机的V1与V2之间连接0.1μF滤波电容,C1与C2之间也需要连接0.1μF充电泵电容。本文选择的是R型偏压,整体硬件原理见图5。
图5:驱动控制器硬件结构图。
用HT-IDE3000的仿真效果极佳,制成PCB板如图6、图7所示,主控板和驱动板之间用跳线连接,如果时间允许,通常将两块电路板合在一起,并附带散热片。
图6:主控制板。
图7:电机驱动板。
系统软件流程
打开电源开关,程序上电运行,系统进入初始化。初始化程序主要对各控制口设定初值,包括I/O输入输出、A/D转换、PWM控制和中断处理等。初始化完毕,判断控制开关打到正向还是反向,在非巡航模式下,等待车用转把(相当于一个电位器)给定PWM值,开始以低速同步起动,若未给定PWM值,则一直停在程序初始部分,电机不运行。
一旦电机同步起动稳定后,就会有反电势产生,立即跳入反电势运行阶段。在这一阶段,可以对电机进行加速或减速,根据A/D采集电位器电压给定PWM值,平滑调速,无抖动。众所周知,车用转把是弹簧做的,松手会回弹,如果不加控制,电机就会立即停转,为解决这一问题,控制器加入了巡航功能,即PWM值给到一定程度,只要开关指向巡航,电机就以那一时刻采到的转速固定运行,即使转把回弹,电机仍以固定转速正转或反转。所以在巡航模式下,调速不起作用,当取消巡航模式,则又回到PWM随时改变的状态。
在电机正常运行的同时,记录换相次数。根据电机磁极对数不同有异,本驱动系统所对应的电机换一次向才转过10°,所以换36次向才转过一圈,即正转或反转的顺序导通要循环6次。此时,执行一次内部中断,程序跳入行程计量部分,累加一次车轮的周长。
当浮点数累加完毕,由键盘察看判断。若需要察看,立即跳入LCD部分,将累加完的总和转换成十进制数,此处以km为单位,保留一位小数。再调用LCD显示子程序,并使用查表的办法将转换结果写入HT46R6?单片机的RAM存储区1,即可在液晶屏上显示里程,然后中断返回到主程序。若不需要察看行程,则累加完毕就直接返回主程序。
图8:系统程序流程图。
注意,本文中控制器的主程序中,正反转两部分程序完全对称,只不过正转计量行程,而反转没有,其它细节处理上没有差别。系统软件流程如图8所示,其中反电势模块流程见图9。
图9:反电势程序流程图。
本文小结
实验证明,本驱动控制系统的设计方案具有可行性。反电势检测换相很正常,无级调速系统平滑,有巡航功能;刹车及时,制动柔和,完全能实现单片机对无传感器直流无刷电机的基本控制。行程计量采用浮点数累加,结果在LCD上显示,简易直观。该控制器成本低廉,操作简单,可靠性高。本设计虽在BLDC反电势控制上取得一些进步,但功能仍需完善,IR2132要通过电阻分流设定过流值,遇到异常情况,根据过流值大小判断是否切断电路;因电机低速运行时,反电势值小,经比较器可能得不到换相信号,若将该参考端固定电压做成可变的,可增大调速范围。