基于控制专用单片机的无刷直流电机控制器
扫描二维码
随时随地手机看文章
1 概述[1,2] 无位置传感器无刷直流电动机控制器采用的位置检测方法是反电势3次谐波检测法,其输入 到控制器的有2路信号,1路为a相反电势过零信号,1路为转子磁通3次谐波的过零信号,利 用这2路信号控制永磁同步电机运行于自同步工作状态。所以这一控制系统有别于传统的反 电势基波法(也叫端电压法)采用3路反电势过零点信号的控制系统。? 由于3次谐波检测法相当灵敏,而且在信号处理中无需经过衰减率极大的低通滤波器,使得3次谐波检测在较低的转速下就可以正确检测出转子的位置。由于3次谐波信号的处理可以采 用在整个频率范围内都保持稳定的90°积分器电路,所以检测精度高,这带来的直接效果就 是电机的运行效率高,输出转矩大,因此,本文研究一种适合于3次谐波检测法的控制器。 2 控制器的各组成电路[1~4 无刷直流电机控制器的任务是完成位置闭环、转速闭环控制以及起动控制。位置闭环是为了 使电机运行于自同步状态,转速闭环则是为了调速。由于3次谐波检测法同样也无法检测零 速下电机转子的位置,所以同样也需要比较复杂的起动控制。 2.1 位置闭环的实现 在本控制器中采用中断方式完成位置闭环,在控制器的控制程序中预先编制三相6拍对应的 三相同步信号序列,3次谐波每一次跳变引发1次中断,控制器输出下一个同步信号序列。a 相反电势每一次上跳沿引发1次中断,使控制器指向第一个同步信号序列。 位置闭环的实现主要由译码电路、3次谐波沿脉冲生成电路。译码器电路是把微机输 出的三 相同步信号译码成逆变6个功率器件的导通信号,其功能与传统端电压法采用的译码器功能 一样。本文所研究的控制器是采用gal16v8可编程逻辑器件来完成的。 无刷机运行状态时,3次谐波位置信号每一次跳变对应着一个换相时刻,而能引起微机产生1 次外部中断的只能是外部信号发生1次上跳沿,所以这就需要1个沿脉冲生成电路,把输入的 3次谐波信号上跳沿和下跳沿都转化成具有上跳沿的窄脉宽。使用2个上升沿单稳触发器可能完成这样的功能。沿脉冲生成电路如图1所示,其中脉冲的宽度由单稳触发器的rc延时网络决定。这个脉宽要求不能大于最高转速时3次谐波位置信号的脉宽,否则在最大转速时每一 个周期将会漏掉1次换相时刻,这将会使电机运行于一种不稳定的状态。 2.2 转速闭环的实现 转速闭环的实现包括转速的测定、控制量的设定及pwm波占空比的调节。 因为3次谐波位置信号频率与电机的转速成正比,对于p=2的电机,转子每旋转1圈,3次 谐波 信号发生12次跳变。所以转速的测定可能通过测定3次谐波信号。由于3次谐波频率比较低 ,采用测频法测转速,若想在较短的时间内测出电机的转速,那么测得的转速误差太大。所以本控制器采用测周法。 由于80c196kb带有高速输入口,输入信号的每一次跳变发生时刻将被高速输入口记录下来, 这为测周法的实现提供了极大的方便。3次谐波信号通过hsi.1输入到单片机中,设定高速输 入口为记录每一次跳变的工作方式,并设定fifo为保持寄存器有效中断方式,即每发生一个 事件响应1次中断,在中断处理程序中计算2次事件的时间差,从而计算出电机的转速。 控制量的设定包括转速给定值、启动负载设定值、正反转开关以及启停开关等。其中转速给 定值和启动负载设定值可以通过philips遥控器以及红外接收头来完成数字设定,红外接收 头的输入信号可接到单片机的高速输入口,在fifo中断处理程序中识别遥控器输入的键值, 并根据键值设定输入值,也可以采用电位器模拟给定,由80c196kb的a/d转换成数字量。正 反转开关以及启停开关只需要普通的开头形成电平信号从p1口输入到单片机中,在控制器主 程序循环中,不断查询开关状态,根据不同的开关状态进行相应的处理。 80c196kb内含一个8位pwm通道,无须再扩展,此pwm通道在12m晶振下,输出的pwm频率可达2 3.6khz,超出了音频范围,不会给系统带来噪声。要改变pwm占空比只需改变pwm占空比寄存 器,使用起来相当可靠、方便。唯一不足的一点是其占空比分辨率只有8位,即1/256(0.39% ),对于要求调速精度较高的场合,需要外加高辨率的pwm波发生器。 2.3 起动控制的实现 在基于3次谐波检测法控制系统中,同样也可以采用端电压法控制系统所采用的3段式起动方 法,即整个起动过程分为转子定位、加速和切换3个阶段。对于3次谐波检测法端电压法,其检测的灵敏度大大提高。3次谐波检测法的高灵敏度使得电机的起动无须像端电压法那 样复杂,电机一开始只输入输出一个定位信号进行转子定位,然后输出下一个信号序列,使定子磁场向前跳进60°,这时电机由定位位置转到下一个位置的过程中,3次谐波信号已经有效,并向微机发出1次换相中断,使得电枢磁场再向