基于控制专用单片机的无刷直流电机控制器
2013-03-15 来源:dzsc
无位置传感器无刷直流电动机控制器采用的位置检测方法是反电势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次换相中断,使得电枢磁场再向前跳进60°,转子在电磁转矩的作用下向前旋转,到达换相位置时,由3次谐波检测出的转子位置信号向微机发出1次换相中断,使电枢又向前跳进,如此循环,可能使电机逐渐运行至稳定状态。实验证明,这种简化的起动方法完全可行。?
3 控制系统原理图[4]
由于80C196KB强大的功能,使得以往必须采用外围扩展硬件电路完成的功能,比如相位差检 测电路、A/D转换电路、转向控制电路、PWM波生成电路等,现在都可以利用80C196KB本身所 带的硬件设备或控制软件来完成,使CPU外围电路大大简化,减少元器件相互之间的电磁干 扰,可靠性也大大提高。根据以上所分析的各功能实现电路以及实现办法,可以构出如图2 所示的控制系统原理图。
在本系统中,80C196KB的P3、P4口用于作系统总线,P2口用于作为特殊功能口,P1口作为IO 口,P0口用于作A/D转换以及输入口。
4 控制软件的实现
主程序主要任务是初始化各变量及标志的值,设置CPU各设备的控制字,初始化各端 口状态及开启相应的中断,并调节电机的转速。其流程如图3所示。
HSI FIFO保持寄存器有效中断主要任务有两个,一个是在同步机运行状态时,检测 同步信号 与位置信号的相位差,当相位差满足规定的条件后,负责切换成无刷机运行状态。另一个任 务是在切换成无刷机运行状态后,还承担测周法检测电机转速的任务。
5 实验结果
本文对250W的样机进行了转速负反馈控制实验,图4是电机转速给定量分别为1 500r/min和 2500 r/min时,负载从空载至额定负载变化时的稳态转速。实验结果表明,系统可以 可靠地工 作。电机转速的稳态误差小于32r/min,产生这一误差的主要原因是由于PWM发生器占空比分 辨率只有8位。本文设计的控制系统,如果用于压缩机电机等场合,其性能已满足要求
参考文献:
[1]. GAL16V8 datasheet http://www.dzsc.com/datasheet/GAL16V8_345888.html.
[2]. 80C196KB datasheet http://www.dzsc.com/datasheet/80C196KB_74.html.
下一篇:单片机通用模拟串口C程序