微型计算机控制技术答案文档格式.docx
《微型计算机控制技术答案文档格式.docx》由会员分享,可在线阅读,更多相关《微型计算机控制技术答案文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
(2)环境适应性强
(3)控制的实时性好
(4)晚含的输入输出通道
(5)丰富的软件
(6)适当的计算精度和运算速度
第二章(输入输出接口与过程通道)作业
2.1什么是接口、接口技术和过程通道?
接口是计算机与外设交换信息的桥梁,包括输入接口和输出接口。
接口技术是研究计算机与外部设备之间如何交换信息的技术。
过程通道是计算机与
生产过程之间设置的信息传送和转换的连接通道。
2.2采用74LS244和74LS273与PC总线工业控制机接口,设计8路数字量(开关量)输入接口和8路数字量输出接口。
请画出接口电路原理图,并分别编写数字量输入与输出程序。
电路原理图见书本第19页(图2.1和图2.2)。
数字量输入程序(设片选端口地址为port):
MOVDX,port
INAL,DX
数字量输出程序:
MOVAL,DATA
MOVDX,port
OUTDX,AL
2.3用8位A/D转换器ADC0809通过8255A与PC总线工业控制接口,实现8路模拟量的采集,请画出接口原理图,并设计出8路模拟量的数据采集程序。
原理图见书本上第28页(图2.15)。
8路模拟量采样程序:
ADC0809PROCNEAR
MOVCX,8
CLD
MOVBL,00H
LEADI,DATABUF
NEXT:
MOVDX,02C2H
MOVAL,BL
OUTDX,AL
INCDX
MOVAL,00000111B//输入启动信号
DECDX
NOSC:
INAL,DX
TESTAL,80H
JNZNOSC//
NOEOC:
INAL,DX
TESTAL,80H
JZNOEOC//EOC=0,等待
MOVDX,02C0H//读转换结果
INAL,DX
STOSDATABUF
INCBL//修改模拟通道地址
LOOPNEXT
RET
ADC0809ENDP
2.5请分别画出一个有源I/V变换电路和一个无源I/V变换电路图。
并分别说明各个器件的作用。
有源变换电路见书本上第32页(图2.19):
同相放大器电路把电阻上的输入电压变成标准的输出电压(放大倍数为);
极性电容C能起到滤波作用,防止高频的干扰;
为平衡电容。
无源变换电路见书本上第31页(图2.18):
极性电容C起滤波的作用;
二极管D起限幅保护作用(当输出电压大于5V时,D导通减少流过的电流从而降低上的电压,保证输出不超过5V);
2.6什么是采样过程?
量化,孔径时间?
采样过程:
按一定的时间间隔T,把时间上连续和幅值上也连续的模拟信号转变成在时刻0,T,2T,、、、、、、kT的一连串脉冲输出信号的过程称为采样过程。
量化:
采用一组数码来逼近离散模拟信号的幅值,将其转换为数字信号。
孔径时间:
在模拟输入通道中,A/D转换器将模拟信号转换成数字量总需要一定的时间,完成一次A/D转换所需要的时间称为孔径时间。
2.7采样保持器的作用是什么?
是否所有的模拟量输入通道中都需要采样保持
器?
为什么?
为了提高模拟量输入信号的频率范围,以适应某些随时间变化较快的信号的要求,可以采用带有保持器电路的采样器。
当被测信号变化很慢时,若A/D转换器时间足够短,可以不加采样保持器。
2.8一个8位A/D转换器,孔径时间为100。
如果要求转换误差在A/D转换精度(0.4%)内,求允许转换的正弦波模拟信号的最大频率是多少?
解:
2.9试用8255A、AD574、LF398、CD4051和PC总线工业控制机接口设计出8路模拟量采集系统,请画出接口电路原理图,并编写相应8路模拟量数据采集程序。
原理图见书本上第36页(图2.25)。
数据采集程序如下:
设8255A的地址为2C0H—2C3H,主过程已对8255A初始化,且已装填DS、ES(两者段基值相同),采样值村入数据段中的采样值缓冲区BUF。
其8通道数据采集的程序见书本上第37(图2.26)。
AD574APROCNEAR
LEADI,BUF
MOVBL,00000000B//
ADC:
MOVDX,2C2H
NOP
ORAL,01000000B
ANDAL,10111111B
MOVDX,2C0H
PULLING:
JNZPULLING
ORAL,00010000B
MOVDX,2C2H
OUTDX,AL
ANDAL,0FH
MOVAH,AL
INAL,DX
STOSW
INCBL
LOOPADC
MOVAL,00111000B
MOVDX,2C2H
ADC574AENDP
2.10采用DAC0832和PC总线工业控制机接口,请画出接口电路原理图,并编写D/A转换程序。
原理图见书本上第41页(图2.29)。
若DAC0832的片选地址为200H,则8位2进制数6DH转换为模拟电压的接口程序为:
MOVDX,200H
MOVAL,6DH
OUTDX,AL
HLT
2.12请分别画出D/A转换器的单极性和双极性电压输出电路,并分别推出输出电压与输入数字两之间的关系式。
D/A转换器的单极性和双极性输出电路见书本上第44页(图2.33)。
为单极性输出,若D为输入数字量,为基准参考电压,且为n位D/A转换器,则有;
为双极性输出,可以推出:
2.
13采用DAC0832、运放、CD4051等元件与PC总线工业控制机接口,设计8路模拟量输出系统,请画出接口电路原理图,并编写8路模拟量输出的程序。
原理图见书本上第48页(图2.40)。
设8个输出数据存放在内存数据段BUF0—BUF7这8个连续单元中,主过程已经填装DS,输出子程序如下:
DOUTPROCNEAR
MOVBX,OFFSETBUF
NEXT:
MOVAL,[BX]
OUTDX,AL
INCDX
CALLDELAY
INCAH
DECDX
LOOPNEXT
RET
DOUTENDP
其中DELAY是一段延时程序。
第四章(常规及复杂控制技术)作业
4.1数字控制器的连续化设计步骤是什么?
1、设计家乡的连续控制器D(S)
2、选择采样周期T
3、将D(S)离散化为D(Z)
4、设计由计算机实现的控制算法
5、校验
4.2某系统的连续控制器设计为
试用双线形变换法、前向差分法、后向差分法分别求出数字控制器D(Z),并分别给出三种方法对应的递推控制算法。
双线形变换法:
由带入D(s)表达式中得到:
进一步利用得到:
所以:
前向差分法:
将代入D(s)中得到:
后向差分法:
4.3什么是数字PID位置控制算法和增量型控制算法?
试比较它们的优缺点。
数字PID位置控制算法的数学表达式为:
数字PID增量型控制算法的数学表达式为:
这种数字PID算法的比较如下:
增量型算法不需要做累加,控制量增量的确定仅与最近几次误差采样值有关,计算误差对控制量的计算影响较小。
而位置型的算法要用到过去的误差的累加值,容易产生大的累加误差。
增量型算法得出的是控制量的增量;
而位置型算法得到的控制两的全量输出,误动作影响很大。
采用增量型算法,易于实现手动到自动的无冲击切换。
4.4已知模拟调节器的传递函数为:
,试写出相应数字控制器的位置型和增量型控制算法,设采样周期T=0.2S并以C语言实现。
根据,得到
令:
m=0.085
4.5什么叫积分饱和?
它是怎么样产生的?
如何消除?
(1)由于长时间的偏差或偏差过大,控制量超过执行机构的极限位置,导致控制量虽然在增大但是执行机构已无动作的现象称为积分饱和。
(2)执行机构的非线性和偏差的长时间存在时导致积分饱和现象的原因。
(3)消除方法:
对控制量限幅:
例如令:
过限削弱积分PID算法:
若则只有当时才将计入积分项;
若则只有当时才将其计入积分项。
第四章补充题1:
求z变换
(1)
(2)
(1)离散化:
(2
)
离散化:
第四章补充题2:
求z反变换
(1)因为Z变化的特殊性,所以先要确定收敛域才能进行反变换,从而与一个特定的信号相对应起来。
对于控制系统中假定信号为因果序列,用部分分式展开发:
第四章补充题3:
求初值和终值。
第四章补充题4:
用z变换求差分方程
第四章补充题5:
求脉冲函数的z变换
4.6采样周期的选择需要考虑什么因素?
(1)根据香农定律可以计算出采样周期的上限,其下限为计算机执行控制程序和输入和输出及A/D,D/A转换时间。
(2)给定值的变化频率。
(3)被控对象的特性。
(4)执行机构的特性。
(5)控制算法的类型。
(6)控制的回路数。
4.7试叙述试凑法,扩充临界比力度法,扩充响应曲线法整定PID参数的步骤。
试凑法:
只整定比例部分,将比例系数由小变大直至反应快,超调小的曲线;
若
(1)步不能满足设计要求(静差),加入积分环节,将积分时间由较大值开始调整,并将
(1)步得到的比例系数调味原来的左右,见效直至静差消除;
若动态过程性能不好,先置微分时间为0,然后增大至其满意的结果。
扩充临界比力度法:
选择采样周期为被控对象纯滞后的以下;
用选定的采样周期使系统工作。
去掉积分和微分作用,减小比例度直至系统发生等幅振荡。
记下此时的临界比例度与临界振荡周期;
选择控制度,以模拟调节器为基准,将DDC的控制效果与之比较
根据选定的控制度查表求得的值。
扩充响应曲线法:
数字控制器不接入控制系统中,手动将被调量稳定在给定值附近,突然改变给定植,给对象一个阶跃信号;
用记录仪表记录被调量在节约输入下的整个变化过程的曲线
在曲线最大斜率处作切线,求得滞后时间,被控对象时间参数以及它们的比值。
查表得到的值。
4.8数字控制器的离散化设计步骤是什么?
(1)根据系统性能的指标要求和其他约束条件确定所需的闭环脉冲传递函数
(2)根据式求出广义对象的脉冲传递函数
(3)根据式求得数字控制器的脉冲传递函数
(4)根据求取控制器算法的递推形式
4.9已知被控对象的传递函数为,采样周期为,采用零阶保持器。
要求:
(1)针对单位速度输入信号设计最小拍无纹波系统的,并计算输出响应、控制信号、误差序列,画出它们对时间的波形。
(2)针对单位阶跃输入信号设计最小拍有纹波系统的,并计算输出响应、控制信号、误差序列,画出它们对时间的波形。
解:
(1)广义对象传递函数:
对于单位速度输入信
号
选择:
对时间的波形见下图:
对于单位阶跃信号
;
《8088系列十六位微机实验指导书》
========================软件实验程序清单==============================
----------------------实验一清零程序---------------------------
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3000H
start0:
MOVBX,4000H
MOVAX,0000H
MOVCX,007FH
L1:
MOV[BX],AX
INCBX
LOOPL1
JMP$
---------------------实验二拆字程序-----------------------------
ORG3020H
MOVBX,4000H
MOVAL,[BX]
MOVAH,AL
MOVCL,4
SHRAH,CL
MOV[BX],AH
ANDAL,0FH
MOV[BX],AL
----------------------------实验三拼字程序------------------------------
ORG3040H
MOVAX,[BX]
SHLAL,CL
ANDAH,0FH
ORAL,AH
ADDBX,2
--------------------------实验四数据区移动---------------------------
ORG3060H
MOVCX,0010H
MOVSI,4100H
MOVDI,4200H
CMPSI,DI
JAA42
ADDSI,CX
ADDDI,CX
A41:
DECSI
DECDI
MOVAL,[SI]
MOV[DI],AL
LOOPA41
A42:
MOVAL,[SI]
INCSI
INCDI
LOOPA42
---------------------------实验五数据排序实验--------------------
ORG3090H
MOVCX,000AH
A53:
PUSHCX
A52:
MOVAX,[BX]
CMPAL,AH
JCA51
A54:
INCBX
LOOPA52
POPCX
LOOPA53
A51:
XCHGAL,AH
MOV[BX],AX
JMPA54
-------------------------实验六找&
quot;
零&
个数-------------------
ORG30B0H
MOVBX,4100H;
COUNT
MOVAX,0000
MOVDI,4000H
CLD
A62:
SCASB
JZA61
A63:
LOOPA62
A61:
INCBYTEPTR[BX]
JMPA63
------------------------实验七32位二进制乘法-------------------
ORG30D0H
JMPSTART
N1DW?
N2DW?
N3DW?
N4DW?
M1DW0
M2DW0
M3DW0
M4DW0
START:
MOVAX,N2
MULN4
MOVM4,AX
MOVM3,DX
MOVAX,N4
MULN1
ADDM3,AX
ADCM2,DX
MOVAX,N3
MULN2
ADCM1,0
ADDM2,AX
ADCM1,DX
------------------------实验八多分支程序设计----------------------
ORG3130H
JMPA81
TABDWLED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7
DWLED8,LED9,LEDA,LEDB,LEDC,LEDD,LEDE,LEDF
A81:
MOVBX,OFFSETTAB
MOVSI,4000H
SHLAL,1
MOVAH,00H
ADDBX,AX
JMP[BX]
LED0:
MOVAL,0C0H
JMPLEDX
LED1:
MOVAL,0F9H
LED2:
MOVAL,0A4H
LED3:
MOVAL,0B0H
LED4:
MOVAL,99H
LED5:
MOVAL,92H
LED6:
MOVAL,82H
LED7:
MOVAL,0F8H
LED8:
MOVAL,80H
LED9:
MOVAL,90H
LEDA:
MOVAL,88H
LEDB:
MOVAL,83H
LEDC:
MOVAL,0C6H
LEDD:
MOVAL,0A1H
LEDE:
MOVAL,86H
LEDF:
MOVAL,8EH
LEDX:
MOVDX,0FFDCH
OUTDX,AL
MOVCL,20H
MOVDX,0FFDDH
LEDX1:
MOVAL,CL
CALLDLL
RORCL,1
JMPLEDX1
DLL:
MOVBX,0020H
DL1:
DECBX
CMPBX,0000
JZDL3
MOVCX,04FFH
LOOP$
JMPDL1
DL3:
RET
-------------------------实验九显示子程序----------------------------
ORG31E0H
JMPSTART9
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB?
?
START9:
MOVCX,0005H;
&
dais88&
ON/OFFLED,COUNT
A90:
PUSHCX
A91:
MOVBX,OFFSETBUF
MOVAX,0A0DH
MOVAX,0501H
MOVAX,0808H
MOVCX,0050H;
ONLED,TIME
A92:
CALLDIS
LOOPA92
MOVCX,0003H
MOVAX,1010H
MOVBX,OFFSETBUF
A93:
LOOPA93
MOVCX,0020H;
OFFSET,TIME
A94:
LOOPA94
LOOPA90
-------------------
MOVCX,0005H;
good&
ON/OFFLED-COUNT
A99:
A95:
MOVAX,0009H
MOVAX,0D00H
ONLED-TIME
A96:
LOOPA96
MOVBX,OFFSETBU