2012-2013(2)计算机控制技术考题A - 标准答案全

更新时间:2023-09-24 12:24:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南昌航空大学2012—2013学年第二学期期末考试

课程名称:计算机控制技术 闭卷 A卷 120分钟

题号 满分 实得分 一 20 二 10 三 18 四 20 五 20 六 12 合计 100 姓名----------------- 重修标记 评阅人 得分 一、计算题(共20分,每小题10分)

1、用8位DAC芯片组成基本的双极性电压输出电路,其参考电压为+5V, 求对应以下偏移码的输出电压:(1)10000000;(2)11111111。

解:双极性电压输出的公式是VOUT2???2VOUT1?VREF??VREF??2N?256?? (4分)

256??班级------------------- 学号-------------- 1)10000000B,即N=128,当VREF=+5V时,VOUT2=0V,输出电压0V (3分)

2)11111111B,即N=255,当VREF=+5V时,VOUT2=4.961V,输出电压+4.961V (3分)

按照单极性解答的且正常直接扣6分

如果错,但N的十进制算对,至少得2分

2、设ADC0809的输入电压为0~+5V,求出当输入模拟量为下列值时输出的数字量。 (1)2.5V; (2)5V

解:由于输入电压为0~+5V,说明参考电压Vref=5V,ADC0809是8位A/D转换,有

N?VXV?256?X?256 , 且取整数,但不能等于256。 (4分) Vref5.02.5?256?128?80H (3分) 5.05?256?256,超限,取N?255?FFH (3分) (2) Vx=5V,则N?5.0(1) Vx=2.5V,则N?

没专门写公式的,直接在(1)和(2)计算中隐含了公式的,公式分要给; 公式中,256写成255,扣5分;

计算N=256,然后取N=255或者FFH或者0xFF不写,扣1分。

第 1 页 共 6 页

二、分析计算题(共10分)

梯度炉温度变化范围为0~1600°C,经温度变送器输出电压为1~5V,

再经ADC0809转换,ADC0809的输入范围为0~5V,试计算当采样数

值为99H时,所对应的梯度炉温度是多少?

解:由于测量下限0°C对应温度变送器输出电压为1V,而ADC0809的输入范围为0~5V,故测量下限0°C对应ADC0809的A/D转换值是256*(1/5)=51.2,取整N0=51 (2分) 测量上限1600°C (1分) 对应ADC0809的A/D转换值是256*(5/5)=256,超过8位数表达范围,取Nm=255。 (2分) 故利用(7-15)公式进行标度变换Ax??Am?A0? 评阅人 得分 Nx?N0?A0

Nm?N0由于A0?0,则Ax?AmNx?N0 (2分) Nm?N0当采样数值为99H时,其十进制数是153,代入公式得 (1分)

Ax?1600153?51?800

255?51故当采样数值为99H时对应的梯度炉温度是800°C。 (2分)

按照变通的计算方法计算的Ax直接扣4分

原则上不连续扣分!!

第 2 页 共 6 页

评阅人 得分 三、硬件电路连线及程序填空题(共18分)

图1所示电路是51系列兼容的AT89S52单片机与A/D转换芯片 ADC0809的接口电路,已经有部分引脚通过网络标号进行了连接,1)

完成图1中未连接的信号线,要求单片机工作在大系统,但不扩展完整地址总线,采用线选法决定端口地址,写3FFFH端口为启动给定信号VS2的A/D转换,写7FFFH端口为启动反馈信号VS4的A/D转换,要求查询P3.3引脚了解A/D转换的状态,转换结束时从3FFFH端口读入A/D转换的数据(提示:未用地址均设为1;假设单片机的晶体是12MHz,要求ADC0809的CLOCK是500KHz);2)填空完成A/D转换的子程序。

图1 某A/D转换电路原理图

答: 通道对应输入模拟量 十六进制地址 二进制地址A15~A0 0 VS2 1 VS4 3FFFH 7FFFH 结论 0011 1111 1111 1111B A14连ADD-A以便选通道 0111 1111 1111 1111B A15作AD0809线选地址线 标注网络标号后的连线图如图1所示。具体包括A14、/RD、A15、/WR、ENABLE、START、P33、CLOCK、ALE、GND 1线1分(10分)

初始化部分程序

#define AD0 XBYTE[0x3FFF] #define AD1 XBYTE[0x7FFF] sbit EOC = P3^3;

unsigned char r_kT,m_kT; 采样工作部分程序 AD0=0x00;

while(EOC == 0); r_kT = AD0 ; AD1=0x00 ; while(EOC == 0);

m_kT = AD1 ; (8分,每空2分)

第 3 页 共 6 页

评阅人 得分 四、算法分析题(20分)

已知某连续PID控制器的传递D(s)= 3?5?0.5s, 欲用数字PID s算法实现之,1)该连续PID的控制参数KP、TI、TD;2)设采样周期T=0.2秒,离散化后的数字PID的参数KP、KI、KD;3)写出其相应的增量型PID算法输出表达式。 解:1)由于PID控制器传递函数

??115D?s??K1??Ts?K?K?KTs?3??0.5s

P??TIsD??PPTIsPDs?KP?3.0?KP?3???KP?5 解得?TI?0.6 ?TI?T?1/6??D??KPTD?0.5显然该PID控制的比例系数KP=3.0,TI=0.6秒,TD=1/6秒 (6分,可

以不写公式直接计算)

2)离散化后的数字PID的参数如下: KP=3.0

KI=KP*(T/TI)=1

KD=KP*(TD/T)=2.5 (6分) 3)增量型PID控制输出表达式为

?P?k??3??E?k??E?k?1???1?E?k??2.5??E?k??2E?k?1??E?k?2?? 或者?PP?k??3??E?k??E?k?1??

?PD?k??2.5??E?k??2?E?k?1??E?k?2??

?P?k???PP?k???PI?k???PD?k? (8分) 算法错误扣6分

?PI?k??E?k?

原则上不连续扣分!!

第 4 页 共 6 页

评阅人 得分 五、程序设计和程序填空题(共20分,每小题10分)

1.试用C51设计位置型PID子程序,假设已经定义的变量和参数如表1所示,要求该子程序包含迭代操作,并且说明资源占用和运算量情况。

表1 PID控制中使用的资源情况 定义 float e_kT,e_kT_T; float p_P_kT,p_I_kT,p_D_kT,p_I_kT_T, p_kT; float Kp,Ki,Kd; 说明 误差有关量定义 控制有关量定义 参数有关定义 答:编写程序如下: void PID(void) (1分) { p_P_kT=Kp*e_kT; (1分) p_I_kT=p_I_kT_T+Ki*e_kT; (1分) p_D_kT=Kd*(e_kT-e_kT_T); (1分) p_kT=p_P_kT+p_I_kT+p_D_kT; (1分) e_kT_T=e_kT; (1分) p_I_kT_T=p_I_kT; (1分) } 多写了程序行也扣分!!! 资源占用情况:变量10个,具体e_kT,e_kT_T, p_P_kT,p_I_kT,p_D_kT,p_I_kT_T, p_kT, Kp, Ki, Kd。

或者变量7个,具体为:e_kT,e_kT_T, p_P_kT,p_I_kT,p_D_kT,p_I_kT_T, p_kT。

常量3个,具体为:Kp,Ki,Kd。 (2分) 运算量情况:

乘法3次,加法3次,减法1次,移位2次。 (1分) 2.图2所示是误差电压越限报警示意图,要求对未完成程序填空并且加注释,具体各常数、变量定义和程序如下:

#define delta 2 //上、下限误差限常数定义 #define H 0.2 //误差上限带常数定义 #define L 0.2 //误差下限带常数定义

#define HH 2.1 //HH = delta + H / 2 上限报警值

#define HL 1.9 //HL = delta – H / 2 上限报警复位值 #define LH -1.9 //LH = -delta + L / 2 下限报警复位值 #define LL -2.1 //LL = -delta – L / 2 下限报警值 sbit ALARM_S = P3^5; //蜂鸣器,为0表示蜂鸣器发声

bit over_flag=0,below_flag=0; //越上限报警标志、越下限报警标志定义,为1表示报警 float ekT; //误差电压 void Alarm(void)

{ if( ekT>=HH ) //超过HH { if(over_flag==0) //首次(A点)

{ over_flag=1 ; //置标志

ALARM_S =0; //蜂鸣器报警 }

}

else if( ekT

第 5 页 共 6 页

{ if(over_flag!=0) //已报警 (B点)

{ over_flag=0 ; //清除标志

ALARM_S =1; //关闭报警 }

else if( ekT

{ below_flag=1; //置标志

ALARM_S =0; //蜂鸣器报警 } }

else if( ekT>LH ) // 超过LH { if(below_flag!=0) // 已报警(D点)

{ below_flag=0; //清除标志

ALARM_S =1; //关闭报警 } }

}

} 评分标准:每空

1分,共计6分,注释4分,酌情给分

六、测试实验题(共12分)

图3所示照片是某种PID算法控制得到的波形照片反色后的图片,水

评阅人 得分 平方向每小格5个数据刷新点,数据刷新周期是10ms,用稳态值的±

5%作为允许误差范围,试从图3的曲线测量出上升时间、峰值时间、调节时间、最大超调量、振荡次数、稳态误差(包括在图上标注刻度)。

0.9 0.2 4.0 7.3 3.2 14

图3 某种PID改进算法控制得到的波形照片反色后的图片

答:画出坐标见图3中上图,允许有±0.5的作图误差; (6分) 下列读数允许有±0.5的读数误差。

超调量σ=0.9div/4.0div=0.22.5=22.5% (1分) 调节时间ts=0.01s/dot*5dot/div*14div=0.7s (1分) 上升时间tr=0.01s/dot*5dot/div*3.2div=0.16s (1分) 峰值时间tp=0.01s/dot*5dot/div*7.3div=0.365 (1分) 振荡次数N=1 (1分) 稳态误差ess=0 (1分)

第 6 页 共 6 页

本文来源:https://www.bwwdw.com/article/iu0d.html

Top