1前言
医学治疗仪的服务对象是人,由此决定了对其传动控制系统要求的严格性,尤其是用于治疗颈椎病和腰椎间盘突出症的治疗设备,对传动系统的安全性和准确性提出了更高的要求:绝对不允许失速,不允许越位,且停车准确。同时为了简化机械部分的设计及减少相关的传感器,从机电一体化的原则考虑,将大部分控制功能由电气控制来完成。
治疗仪传动系统要求电机转速控制在100~250r/min之间,再通过50∶1的机械减速器减速,传动扭矩>1.5Nm。摆动幅度要求为颈椎:±30°~±60°;腰椎:±60°~±100°;起终点均应控制在中心位置。转速及摆幅均应根据具体病例可调。
2智能化全数字式专用变频器的设计
(1)考虑到医学治疗仪的特殊要求,为了提高变频器的工作可靠性和控制精度,采用智能化数字化设计,同时也结合小型化的特点,主功率器件采用日本三菱电机的IGBT智能功率模块(IPM)PM20CSJ060。输入为单相220V交流,经单相全桥整流器整流后供给智能功率模块,输出为三相220V交流,接0.5kW三相异步电动机(改为△接法)。
(2)采用INTEL公司的16位单片机80C196KC作为系统CPU,它具有运算速度快,精度高,指令功能强等特点。并带有8路10位A/D转换器,可以完成模拟量和数字量信号的检测。控制运算及数据处理,保护功能的逻辑判断,给PWM产生电路SA4828送设定和控制数据,以及管理键盘和数码显示等功能。
(3)SPWM波发生器采用英国MITEL公司的增强型运动控制大规模集成电路SA4828。该芯片作为一种独立于微处理器的外设形式工作,但它可以受控于任何类型的微处理器而几乎不需要附加任何逻辑电路。管脚的配置使其能适用于大部分总线格式,包括复用的地址/数据总线格式和RD/WR或R/W控制模式。由于仅在改变运行状态时需要微处理器的介入,因此工作时芯片几乎不占用CPU的资源。
SA4828采用全数字化操作,载波频率可达24kHz。内部ROM中存有三种可选的输出电源波形,谐波抑制技术可减少功率器件的损耗。16位频率控制精度,三个独立的幅值寄存器可进行三相不平衡补偿。利用SA4828设计的变频器硬件结构图如图1所示。
图1 采用SA4828的变频器硬件结构框图
3SA4828的功能特点及工作原理
3.1SA4828管脚图及管脚功能说明
SA4828管脚图如图2所示。管脚功能说明见表1。
图2 SA4828管脚图
表1 SA4828管脚说明
3.2SA4828内部结构框图及工作原理
图3为SA4828的内部结构框图,从图中可以看到SA4828主要由三部分构成:
(1)接收并存储微处理器命令(控制字)的部分,它主要由总线控制、总线译码、暂存器R0、R1…R5,虚拟寄存器R14、R15及32位初始化寄存器和48位控制寄存器构成;
(2)从波形ROMS读取调制波形的部分,它由地址发生器和波形解压缩缓冲器构成;
(3)三相输出控制电路及输出脉冲锁存电路,每相输出控制电路又由脉冲删除电路和脉冲延迟电路组成。
图3 SA4828芯片内部框图
SA4828芯片具有并行的接口与微处理器进行通信。该接口和几乎所有工业标准的微处理器诸如8051、8096、6805、68000和TMS320等兼容而不需要考虑总线的宽度及增加额外的逻辑电路。大多数的数据总线结构可分为复用地址/数据总线和独立的地址/数据总线,而大部分的微处理器不是WR/RD结构就是R/W结构;而该芯片设计成可以与上述四种组合中的任一种配合使用。通过一个配置引脚(MUX)和一个寄存器选择引脚(RS)的状态来区别所有的总线格式。
更重要的是,在系统异常情况(过流或过压)下,一个紧急关断输入(SETTRIP)能不受微处理器的控制而迅速关断所有的PWM输出,这很好地解决了变频器的快速保护,避免了因CPU中断服务指令周期所造成的延误。
3.3SA4828芯片的控制功能
对SA4828芯片的控制是通过微处理器接口将数据送入内部的两个寄存器来实现的。它们是初始化寄存器和控制寄存器。
初始化寄存器用于设定和电机及逆变器有关的一些基本参数,这些参数在电机工作前就被初始化,并且在电机工作时一般不允许改变。
控制寄存器在电机工作过程中控制脉宽调制波的状态,从而进一步控制电机的运行,比如转速,正/反转,起动和停止等。通常在电机工作时寄存器的内容经常被改写以实现对电机的实时控制。
由于受到8位数据接口的限制,数据需首先读入六个临时寄存器R0、R1…R5中,这些数据随即被送入相应的初始化寄存器或控制寄存器。新的数据只有在写入对应的寄存器中时才能真正地发挥作用。
数据的传送是通过写入虚拟寄存器的操作来实现的。如写寄存器R14是将初始化数据传送到初始化寄存器中,写寄存器R15则是将控制数据传送到控制寄存器中。由于R14、R15并不是实际的寄存器,因此什么数据被写入并不重要,往这里写数据的操作才真正执行往初始化寄存器或控制寄存器中传送数据的操作。
(1)初始化寄存器的编程
初始化寄存器将确定如下参数:载波频率,电源频率范围,脉冲延迟时间,脉冲取消时间,波形选择,医学治疗仪专用变频器的研制幅值控制,计数器复位(这个功能可使SA4828内部将调制频率计数器置为0,此时禁止正常的频率控制操作,每一相输出占空比为50%的脉冲),软件复位等。这些参数由相应的控制字确定,而这些控制字在送到32位初始化寄存器之前,先要分别送到4个8位寄存器R0、R1、R2和R3中。其内容如表2所示:
表2 寄存器内容
注:不用的位(×)应该写入0,这样可与以后的产品保持代码兼容。
①载波频率选择
R0中的CFS字称为载波频率选择字,设n为与CFS字相对应的十进制数,则实际载波频率fc为:fc=
式中fk为外部时钟频率。
②输出电源频率范围选择
R0中的FRS字称为电源频率范围选择字,设m为与FRS字相对应的十进制数,则实际的输出电源频率fr范围为:fr=
③脉冲延迟时间选择
R2中的PDY字为脉冲延迟时间选择字,设x为与PDY字相对应的十进制值,则实际的脉冲延迟时间Tpdy由下式确定:Tpdy=
④脉冲取消时间选择
R1中的PDT字为脉冲取消时间选择字,设y为与PDT字相对应的十进制值,则实际的脉冲取消时间Tpdt由下式确定:Tpdt=
应该指出的是,由于脉冲延迟电路跟在脉冲删除电路之后(见图3),故输出的PWM脉冲的实际最小宽度将比设定的脉冲取消时间为窄,这个实际的最小脉冲宽度为Tpdt、Tpdy。
⑤波形选择
R3中的WS1、WS0两位用于确定输出的电源波形,详见表3。波形可由具体的数学表达式来表示,具体的形状见图4。
表3 WS1、WSO确定的输出电源波形
⑥幅值控制(AC)
R3中的幅值控制位(AC)定义了三相波形幅值的受控方式。当AC=0(芯片默认值)时,控制寄存器内红色相幅值,寄存器用于控制所有三相调制频率的幅值。而当AC=1时,采用三个独立的幅值寄存器分别控制对应相调制频率的幅值。
⑦计数器复位(CR)
当R3中的计数器复位CR=1时,红色相相位计数器设置为0,此时禁止正常的频率控制操作,每一相输出占空比为50%的脉冲.
⑧软件复位(RST)
R3中的RST=1时,将整个芯片复位为初始化默认状态,它的效果与硬件复位脚RST等同。
(2)控制寄存器的编程
控制寄存器是一个48位寄存器,控制寄存器的数据以8位为一个单元分别读入临时寄存器R0~R5中,然后通过写虚拟寄存器R15将R0~R5中的数据传送到控制寄存器。其内容如表4所示。
(a)正弦波(b)基波加三次谐波(c)带有死区的基波加三次谐波
图4 SA4828的内部调制波形
①电源频率选择
输出电源频率可在最大电源频率范围内线性地调节,它由一个16位的电源频率选择字"PFS"决定,整个电源频率范围被划分为65536等分。由于PFS字跨越两个临时寄存器R0、R1,所以当改变输出电源频率时,必须在写虚似寄存器R15之前同时刷新这两个临时寄存器的值。
电源频率fp由下式决定:fp=Pfs
式中:Pfs为16位PFS选择字的十进制值。
②电源幅值选择
输出电源的幅值正比于内部ROM中的采样值和8位幅值选择字(RAMP、BAMP、YAMP)的值。幅值的百分比计算公式如下:APOWER=100%
式中:A为8位幅值选择字的十进制值。
值得注意的是,初始化寄存器中的幅值控制位(AC)决定了红色相幅值寄存器的值是否用于控制所有的三相输出幅值。
③正/反转选择
三相PWM输出的相位决定于R2中的F/R选择位:
F/R=0正转相序为红黄兰;
F/R=1反转相序为兰黄红。
在正反转切换时,输出波形仍保持连续。
④输出禁止选择
当R2中的输出禁止位(INH)有效(为1)时,所有的PWM输出变为低电平状态,而芯片内部其他操作并不受影响。该位被释放后所有的输出立即恢复原状。
需要注意的是,输出禁止电路在脉冲删除和脉宽延迟电路之后,因此在输出禁止的初期有可能产生一些过窄的脉冲。
3.4 SA4828芯片编程实例
本例的变频器采用12.288MHz时钟。初始化寄存器设计的具体参数如下:
载波频率3kHz
电源频率15Hz
脉冲取消时间10μs
脉宽延迟时间5μs
电源波形抑制了三次谐波的波形
幅值控制三相幅值对称
(1)初始化寄存器编程实例
①设定载波频率由fc=得2n==8
则n=3R0中的CFS字为011H
②设定输出电源频率范围由fr=2m得2m==2
则m=1,R0中的FRS字为001H。
③设定脉宽延迟时间由Tpdy==5μs
可得x=64- (Tpdy×fc×512)=56.32
取整数56,则R2中的6位PDY字为111000H
④设定脉冲取消时间
由于实际输出PWM脉冲的最小脉宽为Tpdt、Tpdy,所以在设定最小脉冲取消时间时,应加上脉宽延迟时间。
因此在本例中实际最小脉冲宽度应为10μs+5μs=15μs由Tpdt=
可得y=128- (Tpdt×fc×512)
=128-(15.2×10-6×3×103×512)
≈104.65
取整数104,则R1中的PDT值为01101000H
⑤设定波形选择,幅值控制等
选择输出波形为基波加三次谐波,故WS1=0,WS0=1,无用户输出选择,故OPT1=0, OPTO="0"。设定幅值控制位AC=0,选择三相平衡幅值控制方式,正常工作时计数器复位和软件复位均无效,故 CR="RST"=0。所以R3中的二进制代码为00000001。综上所述,初始化寄存器中:
R0=0010001123H
R1=0110100068H
R2=0011100038H
R3=0000000101H
(2)控制寄存器编程实例
根据治疗仪控制的具体要求,变频器输出频率最高不超过10Hz,相应电机转速为280r/min。由于输出频率需要随时调整,利用80C196KC单片机的模拟量输入通道CH0,输入经5.1kΩ电阻和10kΩ电位器将+5V电源电压分压后提供的电压信号。80C196KC的模拟量转换为10位精度,给分压电位器提供的最高电压约3.3V左右,采样码为680。由于SA4828的输出电源频率精度为16位,必须将10位采样值左移6位,然后将其低位送入临时寄存器R0,高位则送入R1。
由于采用VVVF控制,幅值与电源频率成正比,可得频率设定电位器的采样值,A×15/50,再右移2位后送入临时寄存器R3。由于采用三相平衡幅值,R4、R5可以不赋值。
输出禁止无效,故INH=0,正反转F/R是周期性改变的,开始半摆为正转,F/R=0,故R2=0,以后每次要改变方向时,将R2的D0位取反即可。
摆幅控制则可通过一只10kΩ电位器将+5V电源电压分压后送入80C196KC的模拟量输入通道CH1实现。
4治疗仪控制功能的实现
4.1失速控制
通过将SA4828的最高调制频率设定为10Hz,其转速为280r/min,稍高于250r/min,留有一定的调节余量。
4.2摆幅控制
当电机以最高转速250r/min旋转时,经1/50减速器后,转速为5r/min=1800°/min=30°/s。100°/(30°/s)=3.33s。200°/(30°/s)=6.67s。若以100ms为控制周期,则全摆幅周期T为:T=67×
式中:t为摆幅输入采样值;
f则为转速输入采样值。
刚开始的第一次摆动应从中间开始正转,故T1=T/2。经过以上处理,就将位置控制变成了定时时间控制,不仅省去了不易调整的位置开关,也使转速及摆幅的控制方便多了。通过两只电位器就可实现快速、便捷的控制。停车时,由操作人员根据目测,到中心位置时按下转/停开关即可准确停车,且每次转动时均从中心位置开始正转半幅,然后全幅往复运行。由于通过SA4828实现了0Hz直流制功,即实现了准确停车,又不会将电机制动时产生的再生能量反馈回直流环节的极性电容,避免了泵升电压的产生。
5结论
(1)用SA4828设计的变频器,接口简单,功能强,控制精度高,使用方便,能构成高性能的变频调速系统,SA系列PWM控制器在变频调速领域具有很好的应用前景。
(2)16位单片机控制提高了系统的智能化,控制速度快,系统性能改变方便,控制、保护、人机界面功能强。
(3)通过在医学治疗仪上的实际应用证明,变频控制系统工作安全可靠,频率控制精度及稳定度高,输出谐波含量小,低速运行特性好,起动转矩大,停车准确、迅速。转速及摆幅调节极其方便。作为特殊应用的专用变频器设计,具有推广价值。