伺服运动控制器的控制系统设计
1.1 系统方案设计
位置控制主要是对数控机床的进给运动的坐标轴位置进行控制。例如:工作台前后左右移动,主轴箱的上下移动,围绕某一直线轴旋转运动等。轴控制是数控机床上要求最高的位置控制,不仅对单个轴的运动和位置精度的控制有严格要求,而且在多轴联动时,还要求各移动轴有很好的动态配合。位置伺服控制不同于普通电动机调速系统,它是以足够的位置控制精度(定位精度)、位置跟踪精度(位置跟踪误差)和足够快的跟踪速度作为主要的控制目标。系统工作原理框图如图3-1 所示。
该系统是以光电编码器作为位置检测元件的闭环位置伺服系统。编码器输出的脉冲必须由伺服控制卡的计数器进行加僐计数,计算机在每个采样周期内,首先读取计数器的值作为坐标轴实际运动增量,然后与坐标轴的位置增量命令相比较,算出当前坐标轴的偏差,接着,对偏差进行数字PID 控制运算,得到进给速度指令的数字量,通过D/A 转换,电压放大,为伺服装置提供速度指令电压,去驱动坐标轴
运动,实现偏差的位置控制。
位置控制功能由软件和硬件两部分共同实现,软件负责偏差和进给速度指令数值的计算。硬件主要由伺服控制卡组成,接收进给指令,进行D/A 转换,为速度单元提供命令电压;同时位置反馈信号被处理,与指令值进行比较。伺服控制卡硬件实现框图如图3-2 所示。从该图可以看出,系统的硬件设计主要有以下部分组成:
ISA 总线、总线驱动、数据锁存及译码电路、中断定时电路、使能报警I/O 电路、倍频辨向电路、脉冲接收电路、数模转换电路以及零点检测电路。
1.2 I SA 总线
ISA 总线是对XT 总线的扩展,以适应8/16 位总总线的要求。ISA 总线共有98 根信号线,它在XT 总线62 根线的基础上向前延伸了36 根,它的插头、插槽有两部分组成:一部分为62 根总线连接器,分A、B 两面,每面31 线;另一部分是新增的36 线连接器,分C、D 两面,每面18线。62 线与36 线之间有凹槽隔开,如此保证了与XT 总线的兼容性。
1.ISA 总线的特点:
(1)ISA 总线能支持16 位I/O 端口地址,24 位存储地址,8/16 位数据存取,15 级可屏蔽中断,7 级DMA 通道及能产生I/O 等待状态。ISA 总线的数据传送率为8MB/s。
(2)ISA 总线是一种多主控(Multi master)总线,除CPU 外,其他主控设备可以是DMAC、DRAM 刷新控制器和一个代处理器的智能接口卡。
(3)ISA 总线可以支持8 种类型的总线周期,即8/16 位存储器读周期,8/16位存储器写周期,8/16 位I/O 读周期,8/16 位I/O 写周期,中断响应周期,DMA 周期,存储器刷新周期和总线仲裁周期。
目前,ISA 总线的接口逻辑已有原多个独立功能芯片发展到大规模单片控制集成电路为主芯片,这种多功能芯片称为芯片组,如486SLC 系统主板上使用的208 脚的PC-chip2,该芯片组包括DMA 控制器、存储器管理器、计数/定时器、中断控制器、总线控制器及支持CPU 所需的各种控制逻辑及所有的总线缓冲、奇偶校验电路等。
该控制系统采用ISA 总线(PC/AT 总线)实现计算机与控制卡之间的信息传递。
ISA(Industry Staridard Architecture)的意思是工业标准结构。ISA 总线就是IBMPC/AT 机的系统总线,所以也称IBM AT 总线,后被推荐为IEEE P996 标准。ISA 总线是针对80286 CPU 在原IBM PC 总线的基础上修改扩展而成的16 位系统总线。
ISA 总线设计成前62 引脚和后36 引脚的两个插座。它既可以利用前62 引脚的插座插入与工BM PC 总线兼容的8 位接口电路卡,也可以利用整个插座插入16 位接口电路卡。ISA 总线的前62 引脚的信号分布与功能基本同IBM PC 总线,仅有两处改动。另外,ISA 总线修改了部分总线信号的名称,但它们与原IBM PC 总线信号保持完全的兼容。ISA 总线的后36 引脚扩展了8 位数据线、7 位地址线以及存储器和I/O 设备的读写控制线,并有中断和DMA 控制线、电源和地线等。所以,总线信号共包括数据线16 根、地址线24 根,支持16 级中断和7 个DMA 通道。该标准的数据宽度为16 位,工作频率为8MHz,数据传输率最高为8MHz。
1.3 总线驱动、数据锁存及译码电路
当应用系统规模过大,扩展所接的外接芯片过多,超过总线的驱动能力时,系统将不能可靠工作,此时应加用总线驱动器来僐少读数据的持续时间。而且,总线驱动器除了起到驱动作用外,还能对其后的负载的变化起隔离作用。总线驱动可以僐少主机的负担,不管驱动器后面接多少块插件板或集成电路芯片,都能消除驱动器后的负载电路对主机芯片的影响。
1.系统数据总线
数据总线用的驱动器必须具有双向性,地址总线用的只单方向即可。系统数据总线通过三态双向缓冲器74LS245 形成和驱动。双向总线驱动器74LS245 有16 个三态锁存器。每个方向是8 个,是为在数据总线之间的异步双路通信设计的,应用其控制功能可使外部时间要求僐至最小。在控制端G 有效的情况下,由DIR 端控制驱动方向,DIR=l 时,方向A 到B(允许输出),DIR=0 时,方向B 到A(输入允许)。三态双向缓冲器74LS245 的控制端由读写命令和一系列地址选择产生的信号控制。
2.系统地址和控制总线
系统地址总线采用一个三态单向缓冲器74LS244 来驱动A0~A4、IOR、IOW、RESET。
3.译码电路
一路为片选译码。译码电路的核心器件采用一片集成译码器74Lsl38。A0~A2经74LS244 驱动后分别连接138 译码器的3 个编码输入端A、B、c,控制输入端G1接+5V,瓦接读写命令,瓦接A2,当3 个控制端同时有效时,译码器才进行正常译码。
另一路译码电路为线选译码。A2、A3 与从比较器出来的信号经基本逻辑与非门74LS38和74L,S00 共同完成译码,决定选中两个8254 定时器芯片中的一个。它们的可用地址选择范围如表3—1 所示。
1.4 中断定时电路
在数控加工中,需要进行多任务的实时处理,包括输入、输出、插补运算、位置控制和数据传输等,都必须在确定时刻开始,在有效的截止时间内完成。因此,要完成实时控制任务,首先就是要能获得准确的时间。Windows 98 环境下获得定时时钟的方法有利用Windows 系统时钟和利用多媒体定时等方法。但是由于在wi r132 多任务抢占式工作方式下,应用程序不能完全占有CPLJ,因此,wirldows环境下软件定时不准确。所以在实际应用中,常常采用外界专门的硬件时钟电路来获取可靠的时间触发信号,将外界的定时触发作为一个硬件中断,采用中断的方式来进行实时系统中各种任务的处理。这种方式既能够保证精确定时,又可随任务的不同而通过编程的方式将它们的定时周期进行更改。
2MHz 晶振经74LS74 两分频产生1 脉冲/微秒信号接入计数器8254 的CLKO 端,8254 通道0 工作在方式3 下,OIJT0 端输出方波信号至带预置端和清除端的D 型触发器74LS74 时钟端,再输出到ISA 插槽的中断请求端IRQn。
1.5使能报警I/0 电路
使能报警I/O 主要任务就是完成电机的控制与状态的检测,这些功能由特殊的电机控制I/O 部件实现。与常规工/O 接口相比,应具有更高的可靠性,能够阻断或抑制工业现场的各种干扰经由I/0 通路进入计算机,保证计算机的稳定工作。而且必须能在计算机与输入输出装置之间进行必要的信息形式转换。如电动机的启、停信号,开关量的开闭信号,零点检测信号等就必须经过信息形式的转换。通过使能控制电路可以接通和关断至伺服驱动器的模拟量输出,从而在紧急情况出现时停止电动机的运行。
使能报警I/O 部件主要由一片74LS244,一片74LS273 加上光电隔离TLP52-4 构成,主CPU 可通过写命令接通和关断使能,并可查询使能状态。TLP52-4 是TOSHIBA公司生产的16 引脚DIP 封装,能提供4 个单独隔离电路。其主要作用有:(1)为了防止强电干扰以及其它干扰信号通过信号I/O 控制回路进入计算机,将输入与输出端两部分电路的地线分开,各自使用一套电源供电。(2)可以进行电平转换。
1.6倍频辨向电路与脉冲接收电路
倍频鉴向电路的功能有两个:一是鉴别方向,即根据整形环节输出的两路方波信号A 和B 的相位关系确定出电机的旋转方向;二是将A 和B 两路信号进行脉冲倍频,即将一个周期内的一个脉冲(方波)变为四个脉冲,这四个脉冲两两相距1/4 周期。因一个周期内的一个脉冲表示工作台移动了一个栅距,这一个周期内的四个脉冲中的每一个则表示了工作台移动了1/4 栅距,这样就提高了光栅测量装置的分辨率。
图3-2 是脉冲接收电路、倍频鉴向电路和零点
检测电路的框图,实现脉冲接收电路、倍频鉴向电路和零点检测电路如图3—3 所示。
脉冲接收电路主要由带有3 个输出通道的单片四路线性接收器75175 构成,能满足RS-423,RS-485 等标准协议。75175 接收电机传来的A、A、B、B、Z、Z 脉冲,同时输出A、B、Z 三种脉冲到倍频电路。倍频电路由两片斯施密特触发输入双单稳多谐振荡器74LS221 组成。这种倍频电路应用比较方便,工作也十分可靠。
此外,从图3-2 也可以看出,真正实现四倍频,M1,M2,M3 和M4 还需要“或”起来,这将由鉴向电路完成。鉴向线路实际上是由一个双“四选一”线路所组成。双“四选一”线路用专用的集成电路74LSl53 构成,其真值表见表3-2。A、B、Z 三种脉冲通过逻辑与门74LS21 接入到触发器74LS74 的时钟端CP 来构成零点检测电路。
表3-2 双“四选一”线路真值表
如果我们用lY 表示正向脉冲输出端,2Y 表示反向脉冲输出端,根据“四选一”
线路的真值表,可以画出方波A 滞后于B(即电机正向旋转)和A 超前于B(即电机反
向旋转)时的波形图如图3-4 所示。从图中可以看出:当电机正向旋转时,在1Y 段输出了一系列代表移动距离的数字脉冲,而2Y 端为低电平;反过来,当电机反向旋转时,在1Y 端为低电平,而2Y 端输出了一系列代表移动距离的数字脉冲。因次,只要1Y 端有脉冲,就表示电机
正向旋转,若2Y 端有脉冲,则表示电机反向旋转。
伺服控制卡上的计数电路由一片可编程定时/计数器8254 组成。8254 包含三个独立的16 位计数器。其中,通道0 工作于方式3,用于对时钟源(频率为2Mt{z)进行分频,其输出作为中断定时器;通道1、通道2 工作于方式3,用来接收倍频鉴向电路输出脉冲,进行加僐计数,计算机在每个采样周期内,首先读取计数器的值作为坐标轴实际运动位置,然后与坐标轴的期望位置命令相比较,算出当前坐标轴的偏差,接着对偏差进行PID 运算,得到进给速度的数字量,通过D/A 转换,经过电压放大输出双极性控制信号,为伺服电机提供速度指令电压,实现位置控制。
1.7 数模转换电路
数模转换的主要任务是把比较器的数字量转变为电压信号。图3-5 是数模转换电路框图。计算机将实际位置与反馈位置做僐法运算,此位置误差经数字PID 调节后送到数模转换器,经D/A 转换为直流电压送到伺服电动机的控制输入端,驱动电动机旋转到指定的位置。
本模块选用MAXIM 公司生产的MX7545A。MX7545A 是分辨率为12 的乘法型DAC转换器,内部带有两级缓冲器。由于CPU 的数据总线宽度小于D/A 转换器的分辨率,因此必须分两次送出数据,先送高字节,后送低字节。因此,在电路中加了锁存器74LS273。数模转换电路如图3-6 所示。MX7545A 输入数据线的低8 位DB7-DB0,连到数据总线的D7-D0,高4 位DB11-DB8,接到锁存器74LS273 的4Q-1Q。写信号WR直接连到系统的IOW 线上,CS 接Y4。Y3 与IOW 经过或运算接到锁存器74L8273 的时钟端。
当译码输出Y3=0,或者而矿有效(即lOW=0),则向锁存器写入高4 位数据;当Y4=0,此时若IOW=0,则12 位数据一起写入MX7545A,开始D/A 转换。
为了增强驱动能力,需运算放大器来进行电压放大,驱动伺服电机。运算放大器采用的是OP07,经过两极放大,输出双极性控制信号。另外,由于存在零点偏移、非线性误差及温度漂移等原因,为了得到一定精度的D/A 转换结果,外接了调零和调满刻度电位器。
图.数模转换电路