步进电机的转动是靠不停地改变各相绕组的通电顺序实现的,若想让某相绕组通电,就要给某相绕组提供一组序列脉冲,因此步进电机有几相,就要为其提供几个脉冲序列。
步进电机需要的脉冲序列来自插补器,但对于某个单轴坐标,插补器只能按照一定线型,提供一个单序列脉冲。因此,在插补器到步进电机之间必须有一个能将插补器的单序列脉冲转换为步进电机需要的多序列脉冲的装置,这就是环行分配器。
尽管有了环行分配器就可以将插补器的单序列脉冲转换为步进电机需要的多序列脉冲,但这些序列脉冲的信号都还不足以驱动电机运转,所以驱动控制系统中还应包括功率放大装置。
步进电机的最基本的控制系统就由环行分配器和功率放大器组成。 下面只介绍环行分配器,功率放大器涉及许多电气控制问题,留待机电一体化课程介绍。
环行分配器可以由硬件构成也可以由软件构成,下面分别介绍两方面的内容。
硬件环行分配器构成 ♦ 环行分配器的工作原理
硬件环行分配器的基本构成是触发器。因为步进电机有几相就需要几个序列脉冲,所以步进电机有几相,就要设置几个触发器。每个触发器发出的脉冲就是一个序列脉冲,用来控制步进电机某相定子绕组的通、断电。而触发器工作的同步信号就是来自插补器的某个坐标轴的位移驱动信号Δx或Δy。 如图1所示
△A△B△CQARCP△X复位QASDARQBCPQBSDBRQCCPQCSDC
图1 构成环形分配器的触发器
例如,现在要控制X方向的步进电机,而这个电机采用三相单三拍方式工作,即步进电机是按照A→B→C→A这种方式通电的。这就需要A、B、C三个触发器,每个触发器的输出端QA、QB、QC都被连接到步进电机的一相定子绕组。当QA有输出ΔA,步进电机的A相就通电,同理,若QB有输出ΔB,就使步进电机的B相通电,或者QC有输出ΔC,就使步进电机的C相通电。你看,这时由触发器构成的环行分配器,其实就是一个三分频电路,而被分频的信号就是插补器的输出信号Δx。于是插补器的一路信号,就被扩展成三路信号。
每来三个Δx信号脉冲,QA、QB、QC就会各有一个输出脉冲ΔA、ΔB、ΔC,步进电机的三个定子绕组各得到一次通电,转子走了三步。如果继续得到脉冲,那么,QA、QB、QC也会继续轮流输出脉冲ΔA、ΔB、ΔC,这就实现了步进电机各相绕组A、B、C的轮流通电。
图2是按照三相单三拍方式的Δx和ΔA、ΔB、ΔC的波形图。 图3是按照三相双三拍方式的Δx和ΔA、ΔB、ΔC的波形图。
图4是按照三相六拍方式的Δx和ΔA、ΔB、ΔC的波形图。
1△△A△B
234567△C图2 三相单三拍环形分配器输出波形图
1△△A△B△C
234567
图3 三相双三拍环形分配器输出波形图
1△△A△B△C
234567
图4 三相六拍环形分配器输出波形图
上面,其实只讲了触发器的输出,触发器是有输入端的,而且输入端要控制输出端。输入端的信号由谁来提供呢?是Δx吗?,不是,Δx只能做同步信号CP。因为它是要被分频的信号。
如果用D触发器,则触发器的输入端就是D端,它的信号也取自触发器本身,不过这中间还要加一定的外接无源电路。触发器的输出和输入通过一定的外电路连接在一起,构成一个封闭的整体环形电路,只要有Δx这个单序列脉冲它就能连续不断地输出ΔA、ΔB、ΔC,这就是我们把它称为环行分配器的道理。即环行就是触发器的输入由其输出连接,分配就是根据步进电机定子绕组的通电顺序要求对Δx的序列脉冲进行再分配。所以也常直接称其为脉冲分配器。
♦ 环行分配器外电路设计
外电路设计就是设计触发器的输入端前的逻辑结构。其实质相当于:已知触发器的输出状态,求解在什么输入条件下才能得到这样的输出呢?我们就来解决这个问题。
外电路设计要满足两个要求
♠ 所选触发器逻辑特性的要求(即触发器输入输出之间的逻辑关系) ♠ 步进电机通电状态的要求(即触发器的输出) ● 所选触发器逻辑特性的要求
若选择D触发器,则触发器的逻辑特性为:
Q n + 1 = D n 据此有
QA n + 1 = DA n QB n + 1 = DB n QC n + 1 = DC n
● 步进电机通电状态的要求
♠ 满足三相双三拍通电状态时的环形分配器逻辑 正转通电顺序:AB → BC → CA → AB 真值表:
节拍 1 2 3 4
反转通电顺序:AB → AC → CB → AB 真值表:
节拍 1 2 3 4
Q端输出状态 QA 1 1 0 1 QB 1 0 1 1 QC 0 1 1 0 D端输入状态 DA 1 0 1 DB 1 0 1 DC 1 1 0 Q端输出状态 QA 1 0 1 1 QB 1 1 0 1 QC 0 1 1 0 D端输入状态 DA 0 1 1 DB 1 0 1 DC 1 1 0 分析:(以正转真值表为例)
♣ 每个节拍内的Q端输出状态,就是步进电机的通电状态,只不过在真值表中,要求通电的相就用1表示,不要求通电的相就用0表示, ♣ D端的真值就是根据D触发器的逻辑特性写出来的。 按照下面所说的做法可以快速写出D端的真值: • 只看QA和DA这两列
• 将QA和DA的逻辑关系QA n + 1 = DA n 调个,写成 DA n = QA n + 1 • 将上述关系具体化为DA 1 = QA 2 DA 2 = QA 3 DA 3 = QA 4
• 表达式中的上标就是节拍,所以就是将第2节拍中QA的内容0,填写到DA那一列中的第1节拍那一栏里;以下类推,结果如表中箭头所示。 • 仿此DA的做法写出DB、DC的真值,它们分别根据QB、QC来写。 ♣ 现在来看看DA这一列的真值,它和QC这一列的真值在每个节拍都一致,因此可以获得DA = QC,同理有DB = QA,DC = QB
注:某一个触发器的输入端的信息是由三个触发器输出端的状态共同决定的,所以这一步就是要找出DA与QA、QB、QC的关系;DB与QA、QB、QC的关系以及DC与QA、QB、QC的关系。
以DA为例,按照正逻辑来描述DA与QA、QB、QC的关系,应为: DA = (QAQBQC)(QAQBQC)
这是一个三变量的逻辑表达式,化简这个表达式的通常做法是利用卡诺图,这里因为关系简单、明确,所以直接用看的方法给出了结论。
结论:
♠ 只要三个触发器的D输入端在每个节拍都能满足:
DA = QC、DB = QA、DC = QB
那么就能保证三个触发器的输出端Q的输出状态是AB → BC → CA → AB ♠ 只要三个触发器的D输入端在每个节拍都能满足:
DA = QB、DB = QC、DC = QA
那么就能保证三个触发器的输出端Q的输出状态是AB → BC → CA → AB
通常一个实际使用的环形分配器,能同时满足两类步进电机通电方式的需要,以便用户根据步距角的要求进行选择。因此,下面给出适应三相六拍通电方式的环形分配器逻辑。
♠ 满足三相六拍通电状态时的环形分配器逻辑 正转通电顺序:A→AB→B → BC →C→ CA → A 真值表:
节拍 1 2 3 4 5 6
根据D触发器的逻辑关系和通电方式要求,按照上面介绍的快速写DA与QA、QB、QC的关系;DB与QA、QB、QC的关系以及DC与QA、QB、QC的关系的方法,有:
DAQB DBQC DCQA 结论:
♠ 只要三个触发器的D输入端在每个节拍都能满足:
DAQB DBQC DCQA
Q端输出状态 QA 1 1 0 0 0 1 QB 0 1 1 1 0 0 QC 0 0 0 1 1 1 D端输入状态 DA 1 0 0 0 1 1 DB 1 1 1 0 0 0 DC 0 0 1 1 1 0 那么就能保证三个触发器的输出端Q的输出状态是 A→AB→B → BC →C→ CA → A
反转通电顺序:A→AC→C → CB →B→ BA → A 真值表:
节拍 1 2 3 4 5 6
从表中能直接得到:
DAQC DBQA DCQB 结论:
♠ 只要三个触发器的D输入端在每个节拍都能满足:
DAQC DBQA DCQB
Q端输出状态 QA 1 1 0 0 0 1 QB 0 0 0 1 1 1 QC 0 1 1 1 0 0 D端输入状态 DA 1 0 0 0 1 1 DB 0 0 1 1 1 0 DC 1 1 1 0 0 0 那么就能保证三个触发器的输出端Q的输出状态是 A→AC→C → CB →B→ BA → A
小结
♠ 为满足三相双三拍正转通电顺序:AB → BC → CA → AB 应有: DA = QC、DB = QA、DC = QB
♠ 为满足三相双三拍反转通电顺序:AB → AC → CB → AB 应有: DA = QB、DB = QC、DC = QA
♠ 为满足三相六拍正转通电顺序:A→AB→B → BC →C→ CA → A 应有: DAQB DBQC DCQA
♠ 为满足三相六拍反转通电顺序:A→AC→C → CB →B→ BA → A 应有: DAQC DBQA DCQB
因为环形分配器既有可能工作在三相双三拍方式,也有可能工作在三相六拍方式,且无论在哪种通电方式下,都得既满足正转又满足反转。那么对这三个触发器得输入端来说,上述关系都是并列的即是相或的关系。所以有: DAQCQBQBQC DBQAQCQCQA DCQBQAQAQC
这组逻辑关系表达式仅仅是将三个触发器的输入端与输出端联系在一起,但究竟哪个反馈信号(指Q信号)和哪种状态(指通电方式或方向)对应没有表示出来,这就容易造成混乱。所以必须外加指示信号。
令:X1 表示三相双三拍正转指示信号 X1 表示三相双三拍反转指示信号 X2 表示三相六拍正转指示信号 X2 表示三相六拍反转指示信号
于是有:
DAX1QCX1QBX2QBX2QC DBX1QAX1QCX2QCX2QA DCX1QBX1QAX2QAX2QC
利用这组逻辑关系式构成器件的缺点是与门和或门都存在电平漂移问题,所以实际结构常用与非门和或非门,这需要做些变换: DAX1QCX1QBX2QBX2QC X1QCX1QBX2QBX2QC X1QCX1QBX2QBX2QC X1QCX1QBX2QBX2QC 同理: DBX1QAX1QCX2QCX2QA DCX1QBX1QAX2QAX2QC ● 环行分配器电路原理图
最后的环形分配器外电路,即Q端与D端的连接电路是按照上面推导得到的各触发器D端的输入逻辑构建的,它需要两层与非结构,底层为四组与非门,上层是将底层各输出再次进行相与。 实际环形分配器器件原理如图5所示 图中复位信号用于初始化,本例初始设为: QA = QB =1 QC = 0
即按照三相双三拍设置为A、B两相通电。
QARCP△X复位QASDARQBCPQBSDBRQCCPQCSDCX 1X 1X 2X 2QCQBQBQCQAQCQCQAQBQAQAQB
图5 硬件环形分配器电路原理图
软件环行分配器构成
♦ 软件环形分配器的定义及其硬件支持
所谓软件软件环形分配器,是指实现步进电机通电方式和通电顺序改变的功能不是用专门的硬件电路来完成,而是用编程的方式,即以指令驱动的方式来完成的。
就和计算机软硬件相互依赖一样,软环配也离不开硬件的支持。 图6 就是软件环行分配器的硬件接口电路。
CBAY2CSPA0DPA1PA2A0PA3A1PA4PA5RDWRPA6RESETPA7光电隔离光电隔离74LS373DGQ0Q18031ALE8255P0ABCABCP2.7P2.6P2.5驱动驱动 X向电机 Y向RDWRRESET电机 复位
图6 软件环形分配器的硬件接口电路
这是一个用51单片机构成的微机数控系统的一部分结构。其中采用通用接口芯片8255的PA口作为步进电机的控制口。一台三相步进电机需要三个口位。每个口位连接步进电机的一相定子绕组,这些口位代替了硬件环形分配器的触发器。按照图示结构,PA0、PA1、PA2三个口位通过隔离放大电路后分别接到X向步进电机的A、B、C三相绕组,这样,只要能够通过软件设置使PA0、PA1、PA2 三个口位按步进电机的通电方式和方向的要求分别置1和清0,就相当于给A、B、C三相绕组通电或断电。
在这个微机控制系统中,不需要用专门电路把单序列脉冲转换为多序列脉冲,也不需要把相当于硬环配的触发器输出端QAQBQC的PA0、PA1、PA2再送到什么输入端(这里的输入端是数据总线D),因此这个系统中没有硬件环形分配器。但如果步进电机也需要按照单三拍方式轮流通电,那么PA0、PA1、PA2也需要轮流置1并在需要断电时及时清0,这个使步进电机改变通电方式和方向的工作是用软件实现的,所以称之为软件环形分配器。
♦ 软件环形分配器的控制表
实现软件环形分配器的关键是要设计一个控制表。在这个控制表里要存放步进电机定子绕组通电状态字和状态字的存放单元。状态字的存放单元被称做地址指针。状态字是一个用二进制表示的数据,这个数据是按照接口电路中各个口位所对应的每个节拍中的各相绕组的通电状态,1代表通电,0代表断电得来的。如下表
口位 PA7 PA6 YC 0 0 0 0 0 0 PA5 YB 0 0 0 0 0 0 PA4 YA 0 0 0 0 0 0 PA3 X空 0 0 0 0 0 0 PA2 XC 0 0 0 1 1 1 PA1 XB 0 1 1 1 0 0 PA0 XA 1 1 0 0 0 1 绕组 Y空 节拍 1 2 3 4 5 6 0 0 0 0 0 0 ♠ 这是按照X向电机取三相六拍方式正向通电顺序节拍情况下接口各口位与绕组各相通电状态对照表。 ♠ 按照下述方法来理解这张表
横向看第1节拍:A相通电,XA = 1 PA0 = 1
此时在整个PA口得到一个数据:PA = 00000001B = 01H 横向看第2节拍:A相通电,XA = 1 PA0 = 1
B相通电,XB = 1 PA1 = 1
此时在整个PA口得到的数据:PA = 00000011B = 03H
♠ 按照上述方法对应每个节拍在PA口上,都能得到一个数据,这个数据就是步进电机通电状态控制字。 本表中对应各节拍的控制字是:
1节拍:PA = 01H 2节拍:PA = 03H 3节拍:PA = 02H 4节拍:PA = 06H 5节拍:PA = 04H 6节拍:PA = 05H
♠ 表中虽然列出了Y向电机的各相绕组名称,但并没有写出它在各节拍的通电情况,为什么? 清你思考。可以给你一个提示,这是针对逐点比较法插补思路考虑制定的控制字表结构,若按照数字积分法,这样设计表就不合适了。 得到控制字后就要把它送到存储单元中保存。这些控制字在微机数控系统中是重要的数据,必须考虑即使掉电数据也不能丢失,所以,这个控制字要存放在EPROM中。而对于用8031主芯片构成的51单片机的数控系统中,必须先扩展出EPROM才行。
下面假设系统已经扩展了EPROM,我们选择从4000H单元开始存放这些控制字,这就是控制表。
节拍 单元地址 控制字 通电状态
注意:事实上仅仅是将红色数据表示的控制字送入兰色数据表示的地址中,其
它文字内容只是为了便于你理解什么是控制表,它能做什么。
1 2 3 4 5 6 4000H 4001H 4002H 4003H 4004H 4005H 01H A 03H AB 02H B 06H BC 04H C 05H CA 将控制字与控制口对应后,只要按照节拍步骤,轮流向控制口输送各个控制字,就能使对应的步进电机各相绕组按照节拍顺序通断电了。
将控制字与内存单元地址对应之后,就能按照节拍步骤,轮流向内存单元取控制字,然后输送到控制口,实现对应的步进电机各相绕组的通断电。
从内存单元取控制字,并将控制字送到控制口的任务是用控制软件来实现的。即由控制软件实现:
指针指向第1个存储单元4000H 取控制字 01H 送PA口,实现A通电 指针指向第2个存储单元4001H 取控制字 03H 送PA口,实现AB通电 … … …
指针指向第6个存储单元4005H 取控制字 05H 送PA口,实现CA通电 一个轮回以后,步进电机只走了6步,只要总步数超过6步,步进电机就还要继续运行,就要重新从从第1个存储单元4000H 取控制字 01H 送PA口,再次实现A通电,这就是体现软件环形分配器思想的重要步骤:
要将顺序执行到表底4005H的指针重新指向表头4000H。
除此之外还有一个软件设计的重要问题需要强调:那就是指针的保存问题。保存指针,实际就是保存刚刚实现的通电状态,因为指针所指的存储单元里存放着步进电机的通电状态。
为什么要保存这个通电状态呢?
当一个零件程序段执行完毕,下一个零件程序段到来时,步进电机应该按照上一零件程序段结束的状态接着起步。即如果程序段结束时是BC通电,指针指在4003H单元,那么下一零件程序段到来时,应该是C通电,指针应该指在4004H单元。所谓保存指针,指的就是把4004H单元这个地址保护起来。
如果不保护那将会是什么结果呢? 这要从整个控制程序的设计结构来说。
整个控制程序结构(包括插补、刀补等)是按照一个零件程序段的执行过程从取零件程序段、译码、输出控制字到最后实现走步来进行设计的。所以,对每个零件程序段来说都是从头执行控制程序。这样一来,如果这个软环配控制程序不设置保存指针,待到下一零件程序段到来时,软环配控制程序又要从头开始执行,那就要返回4000H单元去取01H控制字送PA口了,这就使步进电机从BC通电一下跳到A通电,这可能是多走三步,也可能是退回三步,(具体情况与运行频率、系统惯性等诸因素有关),反正将出现异常。所以在这个软环配程序中必须考虑控制字指针的保存问题。
设计思路是每执行一遍软环配程序给PA口送一个控制字,就要对指针保护一次,因为你并不知道每个零件程序段会令步进电机停在哪个状态。
硬件环形分配器中采用的触发器是有记忆功能的,也就是QA、QB、QC是0还是1,它是保存不变的,因此只要不断电,通电状态就是保存不变的。所以不必再考虑保存什么的问题。
♦ 软件环行分配器流程图
根据上述设计思想下面给出了用文字表示的软环配流程结构,该流程没有考虑反向情况。当前状态表指针,就是前述的控制字存储单元指针。这个指针应该保存在片内RAM区中的具有掉电保护功能的存储单元里。它应该是双字节单元,因为它存的是一个地址。可以设置FE和FF两个单元来存放状态表指针。
清对照状态表自行设计该流程,并用51指令编写控制程序。
取当前状态表指针是表末址吗?YN指针加1指针改为表首从指针地址取电机状态字将状态字输出到控制口将状态表指针暂存返回
软件环形分配器流程结构
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务