410 likes | 610 Views
计 算 机 控 制 系 统 教 学 图 片. 计算机控制系统教学片. 图补 26 : DAC0832 的结构框图. 计算机控制系统教学片. 图 63 : DAC0832 的结构框图. V REF. D7. 8 位 DAC 寄存器. 8 位 D/A 转换器. IOUT2. 8 位 数据输入锁存器. IOUT1. D0. Rfb. Rfb. LE1. LE2. I LE. AGND. VCC. DGND. CS. +. WR1.
E N D
计 算 机 控 制 系 统 教 学 图 片 计算机控制系统教学片
图补26:DAC0832的结构框图 计算机控制系统教学片
图63:DAC0832的结构框图 VREF D7 8位 DAC 寄存器 8位 D/A 转换器 IOUT2 8位 数据输入锁存器 IOUT1 D0 Rfb Rfb LE1 LE2 ILE AGND VCC DGND CS + WR1 LE=1,输出数据跟随输入。 LE=0,数据被锁存,输出数据 不变 WR2 + XFER 计算机控制系统教学片
图64:DAC0832单缓冲器输入接口电路1 +5V ● VCC ILE P2.6 CS Rfb WR WR1 8031 P0.7 D7 TOUT1 - Uo ● TOUT2 + P0.0 D0 ● WR2 AGND ● XFER ● ● DGND DAC0832 计算机控制系统教学片
图65:DAC0832单缓冲器输入接口电路2 +5V ● VCC ILE P2.5 XFER Rfb WR WR1 8031 P0.7 D7 TOUT1 - Uo ● TOUT2 + P0.0 D0 ● WR2 AGND ● CS ● ● DGND DAC0832 计算机控制系统教学片
图66:DAC0832单缓冲器输入接口电路3 +5V ● VCC ILE P2.5 ● XFER CS Rfb 8031 TOUT1 - WR1 Uo WR ● WR2 A ● TOUT2 + ● P0.7 D7 AGND P0.0 D0 ● DGND DAC0832 计算机控制系统教学片
图67:DAC0832双缓冲器输入接口电路 +5V ● VCC VREF -5V ILE Rfb 1# P2.7 CS TOUT1 - P2.6 ● XFER WR1 ● TOUT2 + WR ● ● ● WR2 8031 P0.7 D7 AGND ● 图形显示器 DGND X DAC0832 P0.0 D0 +5V Y ● VCC VREF -5V 2# ILE Rfb XFER TOUT1 - P2.5 CS WR1 ● TOUT2 + ● ● WR2 D7 AGND ● DGND DAC0832 D0 计算机控制系统教学片
图68:双极性输出方式 +5V VCC R1 R3 VREF DAC 0832 I1 I3 Rfb I2 TOUT1 - R2 - ● TOUT2 + Vout2 ● Vout1 + AGND R4 ● 注:R1=2R,R2=R,R3=2R 计算机控制系统教学片
图69:12位DAC1208系列接口芯片 VREF DI11 IOUT2 高8位 数据输入锁存器 IOUT1 DI4 Rfb 12位 DAC 寄存器 12位 乘法 DAC Rfb BYTE1/BYTE2 LE1 AGND DI3 VCC 4位输入锁存器 DGND DI0 ● LE2 CS + LE=1,输出数据跟随输入。 LE=0,输出数据被锁存。 WR1 WR2 + XFER 计算机控制系统教学片
图70:DAC1208与CPU接口电路 DAC1208 P0.7 D11 5~+15V VCC VREF -5V P0.0 D4 Rfb P0.3 D3 TOUT1 - 8031 ● TOUT2 + P0.0 D0 ● P2.7 AGND CS ● P2.0 DGND ● XFER BY1/BY2 WR ● WR1 WR2 计算机控制系统教学片
图71:不同原理的ADC 电荷再分配型ADC 逐次逼近型ADC 直接ADC 反馈比较型ADC 跟踪计数式ADC 串联方式ADC ADC 非反馈比较型ADC 并联方式ADC (闪烁型ADC) 串并联方式ADC (半闪烁型ADC) 单积分ADC 双积分ADC 电压 时间变换型ADC 四重积分ADC 间接ADC 五重积分ADC 脉宽调制积分型ADC 电压 频率变换型ADC 计算机控制系统教学片
图72:各类ADC 性能比较表 计算机控制系统教学片
图72补1:在零刻度有1/2LSB偏移的ADC转移曲线 输出数码 100 011 010 001 000 输入 模拟电压 计算机控制系统教学片
图72补2:偏移误差示意图 理想 输出数码 100 实际 011 010 001 000 输入 模拟电压 计算机控制系统教学片
图72补3:满度误差示意图 理想 输出数码 100 实际 011 010 001 000 输入 模拟电压 计算机控制系统教学片
图73:ADC0809的结构框图 START CLOCK (转换结束) ADC部分 EOC 控制逻辑 IN7 模拟输入 8通道多路模拟开关 三态输出锁存缓冲器 D7 逐次逼近型寄存器SAR IN0 比较器 树状开关 地址选择 A B 地址锁存器和译码器 256R 电阻网络分压器 D0 C OE ALE D/A转换器 (输出允许) VREF(-) VCC VREF(+) GND 计算机控制系统教学片
图74:ADC0809与CPU接口电路1 ADC0809 D Q CK Q ALE CLK REF(+) REF(-) P0.7 D7 Q7 A2 C IN7 8031 A1 B P0.0 A0 D0 Q0 A D7 D0 WR P2.7 RD INT1 + START ALE IN0 + OE EOC (a)中断方式 计算机控制系统教学片
图75:ADC0809中断接口方式程序框图 中断服务子程序 主程序 读取A/D转换结果 中断初始化 结果放指定单元 N 设置初值 8路都读取完吗? 启动A/D 修改地址指针 重置初值 模拟主程序 启动A/D 启动A/D 中断返回 计算机控制系统教学片
图76:ADC0809与CPU接口电路2 ADC0809 D Q CK Q ALE CLK REF(+) ● REF(-) P0.7 D7 Q7 A2 C IN7 8031 A1 B P0.0 A0 D0 Q0 A D7 D0 WR P2.7 RD P1.0 + ● START ALE IN0 ● + OE EOC (b)查询方式 计算机控制系统教学片
图77:AD574的结构框图 12/8 CS A0 R/G CE DB11(MSB) DB0(LSB) VCC 27---24 23---20 19---16 VL A B C 逻辑控制 DGND 12位三态输出缓冲器 VEE 转换结束 时钟 20VIN 复位 时钟 10VIN + ● ● 12位三态输出缓冲器SAR STS A - 状态标志 AGND ● 比较器 ● BIPOFF ● DAC out REF IN REF IN D/A转换器(AD565) 10V REF REFout ● AGND 计算机控制系统教学片
图78: AD574控制信号组合表 计算机控制系统教学片
图79:AD574与CPU接口电路 VCC +15V ALE VEE -15V G +15V D7 Q7 P0.7 REFIN ● REFout A1 R/G A0 P0.0 A0 D0 Q0 BIPOFF ● 8031 DB11 DB4 10VIN P0.7 DB3 -15V 20VIN P0.4 DB0 AGND WR RD P1.0 12/8 ● CE CS ● STS DGND ● AD574 计算机控制系统教学片
图79补1:顺序查表子程序框图 顺序查表子程序 CHEACD 关键字 R4 表长度 取表中的数 N 与关键字等吗? 地址+1 R2R3 (DPTR) 全查完了吗? R2R3 00H 中断返回 计算机控制系统教学片
图79补2:计算查表的表格排列 计算机控制系统教学片
图79补3:中值滤波子程序框图1 ORG 8000H 中值滤波子程序 INTER: MOV R2, #04H SORT: MOV A, R2 中值滤波子程序 R2 大循环次数 MOV R3, A MOV R0, #SAMP R3 小循环次数 LOOP: MOV A, @R0 Y INC R0 ((R0))<((R0)+1)? 书中程序及框图 MOV R1, A CLR C ((R0)) ((R0)+1) SUBB A, @R0 指向下一个数 MOV A, R1 JC DONE (R3) (R3)-1 MOV A, @R0 DEC R0 N (R3)=0? XCH A, @R0 INC R0 (R2) (R2)-1 MOV @R0, A (R2)=0? DONE: DJNZ R3, LOOP DJNZ R2, SORT INC R0 取中值 MOV @R0, A RET 返回 计算机控制系统教学片
图79补3:中值滤波子程序框图2 中值滤波子程序 中值滤波子程序 R2 大循环次数 R0 数据首地址 R0 数据首地址 R3 R2 Y ((R0))<((R0)+1)? A ((R0)) ((R0)) ((R0)+1) 返回 指向下一个数据 R3 (R3 )—1 N (R3)=0? DEC R2 (R2)=0?
图79补3:中值滤波子程序框图3 ORG 8000H INTER: MOV R2, #04H SORT: MOV A, R2 MOV R3, A MOV R0, #SAMP LOOP: MOV A, @R0 INC R0 MOV R1, A X CLR C SUBB A, @R0 MOV A, R1 X JC DONE MOV A, @R0 DEC R0 XCH A, @R0 INC R0 MOV @R0, A DONE: DJNZ R3, LOOP DJNZ R2, SORT INC R0 MOV A, @R0 RET
图79补3:中值滤波子程序框图4 例:某温度控制系统,测温范围为0℃~500℃,如温度经变送器线性变换为1~5V,假定选用输入为0~5V的8位ADC,试求出由数字量为80H时对应的温度T。 ℃
图80:模拟PID算法 1、理想化PID算法: P(t)=KP[e(t)+ ∫e(t)dt+TD ] 5.1--1 2、PID参数变化对控制系统性能的影响: 性能 变化趋势 参数变化 计算机控制系统教学片
图81:常用PID控制器适用场合 场合 条件 控制器类型 计算机控制系统教学片
图82:两种理想化的数字PID算法 1、普通位置式PID控制算法: P(k)=KP{[E(k)+ +[ E(k)-E(k-1)] 5.1--2 2、递推式位置式PID控制算法: P(k)=P(k-1)+KP [ E(k)-E(k-1)]+KI E(k)+ 5.1—3 KD[E(k)- 2E(k-1) +E(k-2)] 3、增量式PID控制算法: ΔP(k)=KP [ E(k)-E(k-1)]+KI E(k)+KD[E(k)- 2E(k-1) +E(k-2)] 5.1—4 计算机控制系统教学片
图83:位式PID浮点运算子程序框图 位式PID浮点运算子程序 取采样值R(k),M(k) 计算E(k)=R(k)-M(k) 计算PP(k)=KPE(k) 计算PI(k)=KIE(k)+PI(k-1) 计算PD(k)=KD[E(k)-E(k-1)] 计算P(k)= PP(k)+PI(k)+ PD(k) 将P(k)转成双字节整数 R2R3 E(k-1) E(k) , P(k-1) P(k) 返回 计算机控制系统教学片
图84:增量式PID浮点运算子程序框图 增量式PID浮点运算子程序 取采样值R(k),M(k) 计算E(k)=R(k)-M(k) 计算ΔPP(k)=KPE(k) 计算Δ PI(k)=KIE(k) 计算Δ PD(k)=KD[E(k)-2E(k-1)+E(k-2)] 计算Δ P(k)= Δ PP(k)+Δ PI(k)+Δ PD(k) 将Δ P(k)转成双字节整数 R2R3 E(k-2) E(k-1) , E(k-1) E(k) 返回 计算机控制系统教学片
图85:不完全微分的PID算式 1、完全微分的缺点:容易引入高频干扰 2、解决办法:加入低通滤波环节。 3、不完全微分的PID算式: P(k)=KP E(k)+ +(1-α)KD[E(k)- E(k-1) ]+ α PD(k-1)] 5.1—5 计算机控制系统教学片
图86:完全和不完全微分PID控制器阶跃响应输出曲线图86:完全和不完全微分PID控制器阶跃响应输出曲线 PPID(k) PPID(k) (a)完全微分式 (b)不完全微分式 计算机控制系统教学片
图87:积分分离PID算法 Y(t) 2ε t P(k)= KP E(k)+KD[E(k)- E(k-1) ] |E(k)|≥ε KP E(k)+ +KD[E(k)- E(k-1) ] |E(k)|≥ε 5.1—6 计算机控制系统教学片
图88:积分分离PID程序框图 积分分离PID子程序 取采样值R(k),M(k) 计算E(k)=R(k)-M(k) 计算Δ PPD(k)=KP[E(k)-E(k-1)]+ KD[E(k)-2E(k-1)+E(k-2)] Y Δ PI(k)=KIE(k) |E(k)|<ε? Δ P(k)= Δ PPD(k) Δ P(k)= Δ PPD(k)+ Δ PI(k) P(k)=P(k-1)+ Δ P(k) 将P(k)转成双字节整数 R2R3 E(k-2) E(k-1), E(k-1) E(k), P(k-1) P(k) 返回 计算机控制系统教学片
图89:带手/自动的PID子程序框图 带手/自动的PID子程序 手动后援处理 M/A=0? N 计算Δ PPD(k) N 是刚切换过来吗? P(k)=Δ P(k)+P手 P(k)=P(k-1)+ Δ P(k) 返回 计算机控制系统教学片
图90:遇限削弱积分法PID程序框图 遇限削弱积分法PID子程序 计算E(k) 计算PP(k)+PD(k) Y P(k-1) ≥Pmax? Y P(k-1) ≤Pmin? N N E(k)<0? E(k)>0? 计算积分项PI(k) PI(k) = PI(k-1) PI(k) = PI(k-1) P(k)= PP(k)+PI(k)+ PD(k) 返回 计算机控制系统教学片
图91:带限位的PID算法程序框图 带限位的PID子程序 计算P(k) Y P(k) ≥Pmax? Y P(k) ≤Pmin? P(k) = Pmin P(k) =Pmax 输出P(k) 返回 计算机控制系统教学片