在联合机传动控制中,超喂、欠喂都属于同步运行,只是速差不同,显然用微机来实现这种控制具有更大的灵活性。
1.微机控制同步运行原理
图8-13为这种系统的原理框图,图中,M1为主令单元,M2为从动单元,KZ1、KZ2为原双闭环调速系统,MCS为单片机同步控制板。Fl、F2为装在导布辊上的光电脉冲发生器,它将织物的实际线速度v1、v2转换成相应的频率f1、f2,单片机不断地检测两路频率值,并根据差值f1-f2输出一个控制量Uk,控制从动机M2跟随主令机M1。根据算法的不同,可实现无差跟随,或实现“超喂”、“欠喂”跟随。
图8-13 单片机预缩量控制框图
2.单片机控制的硬件电路
用8031单片机构成的用户系统硬件框图如图8-14所示。
图8-14 单片机构成的用户系统硬件框图
图中,用8031内部的定时计数器T0、T1分别对给定频率fg和反馈频率ff进行计数,并定时把fg与ff的值读入单片机,然后求取频差Δf=fg-ff,并进行适当运算后,从D-A输出控制电压Uk,从而控制电动机的转速,使ff=fg,实现频率跟踪或织物长度控制,所以8031需扩展外部存储器,扩展D-A芯片。同时为了显示电动机实际转速或显示瞬时频差Δf,8031还扩展了键盘、显示专用接口芯片8279,相应地还扩展了8253可编程定时/计数器芯片,用来产生秒脉冲定时中断信号,以得到正确的转速值。图中的其他环节在下面叙述中逐一介绍。
(1)片外程序存储器 8031本身没有片内存储器,外接一片2764作片外存储器,其地址的高8位接8031的P2口,低8位经地址锁存器74LS373与单片机的P0口相连,8031的地址锁存允许端ALE与74LS373的S端相连,用来传递锁存命令,ALE的下降沿把P0口送来的地址锁入74LS373,而74LS373的输出允许端是接地的,所以其输入输出之间是直通的。8031的PSEN接存储器的输出允许端OE,用来传递存储器读选通信号。
(2)DAC 0832与8031的接口 DAC 0832是一个具有两级输入数据寄存器的8位D-A转换芯片。这里仅一路模拟量输出,所以采用单缓冲器工作方式,输出转换时间为1ms。0832与8031的接口逻辑如图8-15所示。
0832为电流输出,图中,Iout1为电流输出端1,Iout2为电流输出端2,R fb为反馈信号输入端。VCC为0832主电源,可取5V~15V,VREF为基准电源,为简单起见,这里VREF与VCC连在一起,用同一电源供电。这里把模拟地AGND与数字地DGND连在一起。片选端接系统地址译码器74LS139的Y4端,这里D-A芯片的口地址为8400H。其余控制端:数据允许锁存端ILE、DAC寄存器写选通端
以及数据传送端
直接接成有效状态。
图8-15 0832与8031的接口点电路
(3)8279及其与8031的接口 8279与8031的接口如图8-16所示。本系统中,只利用了8279的显示功能,所以只介绍与显示有关的模块功能,没有用到的引脚与模块不再说明。
8279的显示部分按扫描方式工作,可显示8位或16位LED显示块。按8279的内部结构,与显示有关的内部电路有如下几个部分,这里简单叙述其功能及使用方法。
1)I/O控制及数据缓冲器:数据缓冲器是三态双向缓冲器,它连接着内部与外部总线,用来传送CPU与8279之间的命令或数据。I/O控制线是CPU实现对8279进行控制的引线,其中是8279的片选信号,当
时,8279才被允许读出或写入信息;
、
为来自CPU的读、写控制信号;A0被用来区分信息特性,当A0=1时,表示数据缓冲器输入为指令,而输出为状态字,当A0=0时,输入、输出均为数据。
2)时序控制逻辑:控制与定时寄存器用来存放键盘与显示的工作方式,以及由CPU编程决定的其他操作方式。寄存器接收并锁存送来的命令,通过译码即产生相应的控制功能。
3)基本计数器:定时控制包含了基本计数器,其首级计数器是一个可编程的N分频器,分频系数N可编程为2~31之间的任一数,这样可对CLK上输入的时钟进行N分频,以得到内部所需的100kHz时钟,然后将100kHz再进行分频可得到键扫描频率和显示扫描时间。
4)扫描计数器:扫描计数器有两种工作方式。一种是编码工作方式,这时计数器以二进制方式计数,4位计数器的状态直接从扫描线SL0~SL3上输出,所以必须由外部译码器对SL0~SL3进行译码,以产生对键盘和显示器的扫描信号。另一种是译码工作方式,这时对计数器的低两位进行译码后从SL0~SL3上输出,作为4位显示器的扫描信号,所以只有RAM的前4个字符被显示出来。编码方式中扫描输出线高电平有效,译码方式中则低电平有效。
图8-16 382793与8031的接口电路
5)显示RAM和显示地址寄存器:显示RAM用来存储显示数据,容量为16×8位,显示过程中,存储的显示数据轮流从显示寄存器输出,显示寄存器的输出与显示扫描相配合,不断从显示RAM中读出显示数据,同时轮流驱动被选中的显示器件。显示地址寄存器用来寄存由CPU进行读/写显示RAM的地址,它可以由命令设定,也可以设置成每次读出或写入后自动递增。
(4)8279的软件编程 8279的初始化程序框图及显示器更新的程序框图如图8-17所示。
图8-17 8279的初始化程序框图
系统通过对8279编程写入8279的控制命令来选择其工作方式。8279在编程中设置的控制命令有如下4条。
1)键盘/显示方式设置命令字:该命令字用来设定键盘与显示的工作方式。该命令字的格式为
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 D D K K K
其中,D7D6D5=000为命令字特征位;D4D3为显示器工作方式选择位;D2D1D0为键盘、显示方式选择位。
这里D4D3显示方式定义如下:
0 0 为8个字符显示,左入口;
0 1 为16个字符显示,左入口;
1 0 为8个字符显示,右入口;
1 1 为16个字符显示,右入口。
所谓左(右)入口是指显示位置从最左(右)一位开始,依次输入显示字符逐个向右(左)排列。
命令字中的D2D1D0键盘、显示方式定义在本系统中没有用到,在此不介绍。
本系统中该命令字设置为10H,为8×8字符显示,右边输入。
2)程序时钟命令;该命令用来设定对外部输入CLK端的时钟进行分频的分频系数N。N取值为2~31。8279需要100kHz的内部时钟信号。该信号来自8031的ALE端,8031的晶振频率为6MHz,而ALE的输出频率为晶振的1/6,所以本系统中取分频系数为10。
该命令字格式为
D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 P P P P P(www.daowen.com)
其中,D7D6D5为命令字特征位;D4D3D2D1D0为分频系数。
本系统中该命令字设置为2AH。
3)写显示RAM命令:在CPU将要显示的数据写入8279的显示RAM之前,必须先用该命令来设定将要写入的显示RAM的地址。
该命令格式为
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 AI A A A A
其中,D7 D6 D5为命令字特征位;D4为自动增量特征位,AI=1,则每次写入后地址自动增1,指向下次写入地址;D3D2D1D0为显示RAM缓冲单元。
本系统中该命令字为90H。
4)清除命令:当CPU将清除命令写入8279时,显示缓冲器被清成初始状态,同时也能清除键输入标志和中断请求标志。命令字格式为
D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 CD CD CD CF CA
其中,D7D6D5为命令字特征位;D4D3D2为设定清除显示RAM的方式。当D4D3D2=100时,将显示RAM全部清零;D1用来置空FIFO存储器,当D1=1时,在执行清除命令后,FIFO RAM被置空,使中断输出线复位;D0为总清特征位,D0=1为总清。
本系统中该命令字为0D1H。
(5)8253的接口与编程 8253与8031的接口比较简单,硬件电路这里不再单独画出。8253是可编程的定时/计数器,它有3个独立的16位计数器。计数频率为0~2MHz,每个计数器有两个输入和一个输出线,它们分别是时钟CLK、门控GATE和输出OUT。当计数器减为零时,OUT输出相应信号。从门控线输入的信号用来起动计数器或禁止计数。
每个计数器都有6种工作方式,这6种方式的计数减量、门控作用、输出信号的波形都不同。计数器的工作方式及计数常数分别由软件编程来设定,可进行二进制或二至十进制计数或定时操作。工作方式的设定由CPU向控制寄存器写入控制字实现。
控制字格式为
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC2 RL1 RL0 M2 M1 M0 BCD
(6)接口芯片的地址分配 上述接口的地址经74LS138译码器统一分配。8031与138之间的连接如图8-18所示。
可见,74LS138译码后的地址为8000H~87FFH。各芯片的地址分配为:8279芯片8000H;8253芯片8200H;0832芯片8400H。
图8-18 8031与138之间的连接图
(7)其他硬件电路 除上述硬件电路外,系统中还有时钟电路、复位电路、整形电路和防干扰电路等。
时钟由石英晶体与其外接电容构成并联谐振回路,接到8031的XTALl、XTAL2端构成自激振荡器。
图8-19为系统开关复位电路,图中,R1、C构成上电自动复位电路,SB为手动复位按钮。为使输入脉冲宽度和前、后沿符合要求,采用CD40106作整形电路。
在系统设计中,为了防止受到干扰,系统设计了相应硬件电路,如图8-20所示。这是一个由单稳态电路构成的漏脉冲检测电路,在系统主程序中加入了相应的语句,使8031的P1.7引脚每隔Δt的时间输出一个脉冲,去触发单稳电路CD4528,即8031的P1.7输出一个频率为的脉冲列。显然,当系统受到某种干扰,程序不能正常执行或出现“非”运行时,P1.7的输出脉冲将丢失或消失。
图8-19 复位电路
图8-20 漏脉冲检测电路
该系统中,系统程序正常执行一个循环的时间为4~6ms,即P1.7输出脉冲的周期Δt=4~6ms,为此设计单稳电路的延迟时间为7ms,一旦系统程序运行失控,延迟超过7ms仍没有触发脉冲到来,则单稳电路输出正跳变信号,使系统复位。
3.系统软件设计
运行过程中,单片机以一定的采样间隔采集给定脉冲f1(或主令机编码脉冲)和被控电动机的反馈脉冲f2,对其偏差信号Δf=(f1-f2)进行一定运算后,输出控制量Uk去控制从动机跟随给定值或跟随主令机。常用的控制算法是PI运算,可实现无差调节。
采用不同的偏差算式可获得不同的同步方案。例如:若对偏差Δf进行PI运算,则最后偏差为零,实现f1=f2的同步方式;若对Δf=[f1-(f2+x)]进行PI运算,则控制的结果是f1=f2+x,实现f1>f2的超喂运行。根据x的取值、采样周期以及编码器每周的脉冲数,可计算得相应的超喂量。反之,根据工艺上所要求的超喂量及已知其他参数,可折算出偏差值x。同理,若对算式Δf=[f1-(f2-x)]进行PI运算,则可获得欠喂运行。
实际控制中,由于8031单片机字长和运行速度的限制,以及编码器周脉冲数的限制,在编程中采用可变采样周期的运行方式,提高了系统稳定性。具体采样时间由调试确定,一般确定采样周期不大于10ms。高速时,根据分段范围缩短采样周期;低速时,以自然累计方式自动延长采样周期。实验表明,这种设计思想使系统运行稳定。系统主程序软件流程如图8-21所示。
图8-21 系统主程序软件流程图
图中“转速高位值”是指电动机转速“百”位值,如“7”指700r/min。为避免计数器溢出,程序中设计了满位保护,一旦计数器计满255,将产生中断申请,在中断服务程序中将8031的T1、T0计数器同时清零。系统有两个中断服务程序:一个是显示车速或速差中断服务程序;另一个是满位保护中断服务程序。两个中断服务程序的流程如图8-22所示。
图8-22 中断服务程序的流程如图
显示程序究竟显示从动机转速还是主令机与从动机之间的速差,可由操作人员按动与8031 P1.6相连的按钮来切换。计算机在运行中巡检到P1.6=“0”,则显示速差,否则显示转速。为节省篇幅,这部分软、硬件在前面硬件图及软件流程中均未画出。
上述两个中断服务程序中,设定T0、T1满位中断为高级中断,以保证系统正常运行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。