行波超声电动机驱动控制系统设计
扫描二维码
随时随地手机看文章
摘要:提出基于8254的行波超声电动机驱动计算机控制系统。控制系统电路简单,对二个相差90°的方波驱动信号控制相当方便。实验结果表明:系统不仅可实现频率和相位控制,并具有角度控制精确和克服温度漂移频率自动跟踪性能。
关键词:超声电动机;同步信号;计算机控制系统
超声电动机是近年来出现的一种集电机、精密机械、电子技术、计算机技术和功能材料等于一体的新型高科技产品。它以无噪声、大转矩、响应速度快、不受磁场影响、控制性能好等特点,不仅可用于工业设备、仪器仪表、计算机外设、办公自动化和家用电器上,而且可用于机器人、汽车、生物医学工程、航空学工程、航空航天和军事设备上。因此,超声电动机被誉为新世纪的“绿色电动机”[1]。
由于超声电动机是利用摩擦传动的,定子和转子之间的滑差率不能完全确定,其谐振频率会随着温度而变化,因此,实际应用时需要对位置、速度和力矩进行控制。另外,超声电动机驱动电路是在高频、高压条件下驱动的容性负载,故效率比较低,致使超声电动机的工作频率比较低。定子谐振频率非常敏感于负载、环境条件,以及定子和转子之间的摩擦特性。因此,驱动控制系统中必须有自动跟踪谐振频率变化电路,以保持驱动频率总处于最佳的范围[2]。本文提出基于计算机常用8254芯片的行波超声电动机的驱动控制方法,将变频、变相控制方案有机地结合在一起,通过计算机实时控制,实现了行波超声电动机的精确角度控制和运行速度控制。
1 计算机控制系统组成及其原理
行波超声电动机要求输入二相交流电以产生定子环内部的行波运动,由于行波超声电动机的一相等效电路为容性电路,故可将方波信号中的高次谐波滤掉而形成正弦波。因此,要求所构成的系统能够产生二相电压有效值相等、频率相同的方波信号以驱动行波超声电动机,控制系统如图1所示。
图1 驱动控制系统框图
根据二路方波信号相位差与定子环表面质点运动轨迹的关系可以确定,如果二路信号相位差90°(电角度)时,电动机处于最佳工作状态。通过改变相位差,可对位置、速度和力矩进行控制;为了防止谐振频率随环境温度的变化而发生漂移,可通过对输出方波信号频率进行控制,达到抑制谐振频率的漂移[3]。
方波发生器在单片机控制下,可产生两路相同频率、一定相位差的方波信号,作为驱动电路的输入控制信号;同步电路根据变频、调相的时序要求,单片机按序启动方波发生器,使两路信号具有一定的相位差;频率、相位差选择电路作为系统与操作者的人机接口;驱动部分为一推挽式逆变电源,提供超声电动机所需的驱动电流;单片机可对反馈频率检测,使驱动信号频率保持与压电振子固有频率一致。
2 方波发生器设计
8254是一种常用的可编程定时/计数器,具有三个独立的16位计数器,每个计数器有六种工作方式,其计数速度可达10MHz[4]。系统硬件电路的原理如图2所示。硬件电路是以8254产生二路方波信号及二路方波信号相位差的控制信号。计数器0和计数器1工作于方式3,即方波频率发生器方式。以产生二路同频率方波信号,并通过改变计数器数值实现变频控制。计数器2工作于0方式,即终止计数中断方式,用来控制计数器1允许与停止计数,使其滞后于计数器0数个时钟脉冲才开始计数,以便获得具有一定相位差的二路方波信号,且通过改变计数器2的计数值实现二路方波信号相位差的控制。工作于最小模式时,8254的WR由微机WR和IOWC通过或门产生;工作于最大模式时,8254的WR与IOWC连接。
图2 方波发生器硬件框图
读写控制逻辑接受来自CPU的读写信号,依此确定对三个计数器和控制寄存器中个进行工作并控制内部总线数据传送方向,可接受的控制信号如表1所示。
表1 控制信号表
CS | A1 | A0 | RD | WR | 功能 |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 写入计数器0 |
0 | 0 | 1 | 1 | 0 | 写入计数器1 |
0 | 1 | 0 | 1 | 0 | 写入计数器2 |
0 | 1 | 1 | 1 | 0 | 写入控制寄存器 |
0 | 0 | 0 | 0 | 1 | 读入计数器0 |
0 | 0 | 1 | 0 | 1 | 读入计数器1 |
0 | 1 | 0 | 0 | 1 | 读入计数器2 |
0 | 1 | 1 | 0 | 1 | 非法操作 |
0 | X | X | 1 | 1 | 无操纵 |
1 | X | X | X | X | 无操纵 |
N0=N1=(1)
N2=·N0(2)
为使计数器0、1所产生方波信号具有精确相位差,同步信号S可控制GATE0和GATE2,使计数器0、2同步计数。当计数器2完成计数时,OUT2=1控制计数器1的GATE1,使GATE1=1,计数器1则开始计数,故可以产生具有一定相位差的二路方波信号。
随着计数器2的计数值N2改变,计算机在选中8254时开始对计数器2写入新的计数值,同步信号S由1置为0,三个计数器均停止计数。当计数器2写入计数值结束时,同步信号S置为1,并保持使GATE0=1、GATE2=1,计数器0、2开始同步计数,计数器2计数结束,GATE1=1,计数结束,GATE1=1,计数器1开始计数。从而完成方波信号的变相位控制。
当计数器0、1、2写入新的计数值,计算机选中8254时,同步信号S由1置为0,计数器均停止计数,程序按顺序对各计数器写入计数值。计数器2写入计数值结束,同步信号S置1,并保持计数器0、2开始计数,计数器2计数结束时,计数器1开始计数,完成方波信号的变频控制。
同步信号S的特征方程为
S=(CS+WR)·
=AIN(3)
=AON
同步信号S只是在对计数器写入计数值完成后才由0置为1,并保持至下次对8254任一计数器重新写入计数值。同步信号S的真值表如表2所所示。
表2 S的真值表
CS | WR | Q1 | Q0 | S |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 0→1 |
1 | 1 | X | X | 1 |
3 软件设计
本系统软件设计以CPU对I/O的读写操作为主,整个软件包括启动、变频、变相、ADC0809数据转换、控制转向和中断等程序。由于ADC0809要完成二个模拟量的数字转换,在A/D转换器对一个模拟量转换结束后,才可对另一个模拟量进行模拟转换,该时段CPU可执行其他程序或插入等待程序,以免造成CPU资源浪费。因此,采用二片A/D转换器分别对二个模拟量转换。程序采用C语言和汇编语言混合编写。
设fOSC=10MHz,f0=833kHz,相位差为π/2时,系统硬件电路的时序如图3所示。
(a)变频控制框图 (b)调相控制框图
图3 软件控制流程
4 实验结果与结论
当时钟脉冲频fOSC=10MHz,N0=500,N1=124时,系统硬件电路上机实验,计数值写入后产生二路频率为20kHz,相位差为90°的方波信号。变相步长和精度为0.72°,频率的变化范围为0~10MHz。当f0增大时,变相步长增大,精度降低;当f0>5MHz时,电路只能输出二路同相方波信号。实验结果表明,本文设计的驱动控制方案具有以下特点:
(1)系统硬件电路结构简单,数字化程度高,控制性能良好;
(2)软件采用C语言和汇编语言混合编程,既使程序设计、简洁明快,又使控制系统响应速度快;
(3)本系统具有较高的控制精度,将为超声电动机的驱动控制提供一种新的方法。