微型计算机配置调研计划书,微型计算机控制技术实验报告.doc

微型计算机控制技术实验报告.doc

1.2信号的采样与保持实验目的1熟悉信号的采样和保持过程2学习和掌握香农 采样 定理3学习用直线插值法和二次曲线插值法还原信号实验设备PC 机一台,TD-ACC实验系统一套,SST51 系统板一块实验内容1编写程序,实现信号通过 A/D 转换器转换成数字量送到控制计算机,计算机再把数字量送到 D/A 转换器输出。2编写程序,分别用直线插值法和二次曲线插值法还原信号。实验原理1采样与保持()香农 采样 定理若对于一个具有有限频谱 |W|Wmax的连续信号 f t进行采样,当 采样频率满足 Ws2Wmax 时,则采样函数 f*t 能无失真地恢复到原来的连续信号 ft。 Wmax 为信号的最高频率,Ws 为采样频率。()实验线路图本实验中,我们将具体来验证香农定理。可设计如下的实验线路图,图中 画“o”的线需用户在实验中自行接好,其它线系统已连好。图1.2-1中,用 P1.7 来模拟 1定时器的输出,通过“OUT1”排针引出,方波周期定时器时常2,“IRQ7”表示 51 的外部中断 1,用作采样中断。 这里,正弦波单元的“OUT”端输出周期性的正弦波信号,通过模数转换单元的“IN7”端输入,系统用定时器作为基准时钟 初始化为 10ms,定时采集“IN7”端的信号,转换结束 产生采样中断,在中断服务程序中读入转换完的数字量,送到数模转换单元,在“OUT1” 端输出相应的模拟信号。由于数模转换器有输出锁存能力,所以它具有零阶保持器的作用。采样周期 T TK 10ms,TK 的范围为 01 FFH,通过修改 TK 就可以灵活地改变采样周期,后 面实验的采样周期设置也是如此。7.()参考程序流程基于上面的实验线路,可以设计如下的参考程序流程。()直线插值法参考程序/*文件名ACC1-2-2.C功能描述定时100ms采样,利用当前的采样值和上次的采样值进行直线差值,并送D/A输出*/include reg51.hinclude absacc.h/*宏定义*/define uchar unsigned chardefine uint unsigned intdefine ADC_7 XBYTE0 x0600定义模数转换IO地址define DAC_1 XBYTE0 x0640定义D/A第一路的IO地/*全局变量定义*/sbit str P17;uchar data ad10;声明变量,用于存储转换结果uint data time;声明变量,用于定时uchar data t0_h,t0_l;用于存储定时器0的初值uchar TK;声明采样周期变量uchar TC;TK的变量uchar KK;斜率变量char UK;当前的D/A输出值char UK_1;上一次的输出值/*主函数*/void mainvoid TMOD 0 x01;time 10;定时1mst0_h 65536-500*time/256;计算定时器0初值t0_l 65536-500*time256;t0_l t0_l20;修正因初值重装而引起的定时误差TH0 t0_h;TL0 t0_l;IT1 1;边沿触发中断EX1 1;开外部中断1ET0 1;开定时中断0TR0 1;启动定时器TK 100;采样周期TK10msTC 1;DAC_1 0 x80;D/A清零UK 0;变量清零UK_1 0;KK 0;EA 1;开总中断while1;/函数名INT1功能 1号外部中断服务程序 参数 无* 返回值无 * */void int1 interrupt 2 using 2int i;uchar j;TC;判采样周期到否 ifTC0 UK_1 UK; UK ADC_7-128;读取A/D转换结果 DAC_1UK_1128;送D/A输出 TCTK;采样周期变量恢 KK0; else KK; iUK-UK_1*KK; ii/TK;计算差值点 j i UK_1; DAC_1j128;送D/A输出/函数名Timer0功能 定时器0中断服务程序参数 无 返回值无 */void Timer0 interrupt 1 using 1str str;产生A/D启动信号TH0 t0_h;重新装入初值TL0 t0_l;2信号的还原1 实验原理 从香农定理可知,对于信号的采集,只要选择恰当的采样周期,就不会失去信号的主要特征。在实际应用中,一般总是取实际采样频率 Ws 比 2Wmax 大,如Ws10Wmax。但是如果采用插值法恢复信号,就可以降低对采样频率的要求,香农定理给出了采样频率的下 限,但是用不同的插值方法恢复信号需要的采样频率也不相同。直线插值法 取 Ws5Wmax。利用式 1.2 -1 在点 X0,Y0 和 X1,Y1 之间插入点 X,Y。Y Y0 KX X01.2-1其中 x1-x0为采样间隔,y1-y0分别为x1和x0采样时刻的AD采样值。二次曲线插值法(取Ws3Wmax)。其中 , (2)二次曲线插值法参考程序 /*文件名ACC1-2-3.c功能描述定时100ms采样,利用当前采样值和前两次的采样值进行二次曲线插值*/include reg51.hinclude absacc.h/*宏定义*/define uchar unsigned chardefine uint unsigned intdefine ADC_7 XBYTE0 x0600定义模数转换IO地址define DAC_1 XBYTE0 x0640定义D/A第一路的IO地/*全局变量定义*/sbit str P17;uchar data ad10;声明变量,用于存储转换结果uint data time;声明变量,用于定时uchar data t0_h,t0_l;用于存储定时器0的初值uchar TK;声明采样周期变量uchar TC;TK的变量uchar KK;斜率变量char UK;当前的D/A输出值char UK_1;上一次的输出值char UK_2;上上一次的输出值/*主函数*/void mainvoid TMOD 0 x01;time 10;定时1mst0_h 65536-500*time/256;计算定时器0初值t0_l 65536-500*time256;t0_l t0_l20;修正因初值重装而引起的定时误差TH0 t0_h;TL0 t0_l;IT1 1;边沿触发中断EX1 1;开外部中断1ET0 1;开定时中断0TR0 1;启动定时器TK 10;采样周期TK10msTC 1;DAC_1 0 x80;D/A清零UK 0;变量清零UK_1 0;UK_2 0;KK 0;EA 1;开总中断while1;/函数名INT1功能 1号外部中断服务程序 参数 无* 返回值无 * */void int1 interrupt 2 using 2int i,p;uchar j;TC;判采样周期到否 ifTC0 UK_2 UK_1; UK_1 UK; UK ADC_7-128;读取A/D转换结果 DAC_1UK_2128;送D/A输出 TCTK;采样周期变量恢 KK0; else KK; iUK-UK_2*KK-TK; ii/TK/2;计算差值点 pUK_1-UK_2*KK-TK; pp/TK; ii-p*KK; ii/TK; pUK_1-UK_2*KK; pp/TK; j ucharpi UK_2; DAC_1j128;送D/A输出/函数名Timer0功能 定时器0中断服务程序参数 无 返回值无 */void Timer0 interrupt 1 using 1str str;产生A/D启动信号TH0 t0_h;重新装入初值TL0 t0_l;实验步骤及结果1. 采样与保持1 按照实验线路图 1.2-1 接线,用示波器的表笔测量正弦波单元的“OUT”端,调节正 弦波单元的调幅、调频电位器及拨动开关,使得“OUT”端输出幅值为 3V,周期 1S 的正弦 波。2 参考流程图 1.2-2 编写零阶保持程序,汇编、链接,点击“”图标,使得系统进 入“Start/Stop Debug Session”模式。3 点击“”图标,运行程序,用示波器观察数模转换单元的输出,如图1.2-3所示图1.2-3零阶保持2. 信号的还原1 按照线路图 1.2-1 接线,使正弦波单元输出幅值为 3V,周期 1S 的正弦波。2 参考流程图 1.2-3 分别编写直线插值和二次曲线插值程序,并编译、链接。3 点击“”图标,使得系统进入“Start/Stop Debug Session”模式。点击“”图 标,运行程序,用示波器观察数模转换单元的输出,和零阶保持程序的运行效果进行比较。 图1.2-4 直线插值法 图1.2-5 二次曲线插值法实验结果分析由上述结果可以看出在采样频率 Ws 10Wmax 时,用三种方法还原信号,直线插值要好于零阶保持,二次曲线插值好于直线插值。采用合理的插值算法可以降低信号的失真度,在允许的范围内可以有效地降低对采样频率的要求。1对于零阶保持来说当采样频率信号频率的10倍时,即Tk1*S,Tk0 AH 信号的还原效果较好。 2对于直线插值来说当采样频率信号频率的5倍时,即Tk1*1S,Tk14H 信号的还原效果较好。3对于二次曲线插值来说当采样频率信号频率的3倍时,即 Tk1*1S,Tk21H 信号的还原效果较好。实验心得体会通过这次实验,对TD-ACC实验教学系统的构成、D/A转换的基本原理及51芯片的性能以及A/D转换的基本原理及ADC0809器件的性能有了初步的了解与认识,因为做实验的时候都是按照实验指导书按部就班的,与真正的理解和掌握还是有些距离的。但是这也为我们日后运用这些知识打下了基础,我觉得实验中遇到的问题,不要急于问老师或者同学,先自己想办法分析原因,想办法解决,这样对自身的提高更多吧。通过做实验,把学习的知识利用起来,也对这门课程更加有兴趣了。2.1数字脉冲分配器和步进电机调速控制实验目的1了解步进电机的工作原理。2用程序实现脉冲分配器,并对步进电机进行顺序控制。实验设备PC 机一台,TD-ACC实验系统一套,SST51 系统板一块实验原理步进电机是工业控制中的主要控制元件之一,具有快速启停、精确步进及直接接收数字量的特点。步进电机实际上是一个脉冲/角度转换器,它是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。1本实验使用 35BYJ46 型四项八拍电机,电压为 DC12V,励磁线圈及励磁顺序如下图2.1-1。参照步进电机的节拍表,DOUT0 DOUT3 输出电平和步序的对应表如下表所示 表2.1-1步序DOUT3DOUT2DOUT1DOUT0对应输出值100011H200113H300102H401106H501004H61100CH710008H810019H3实验线路图图中画“o”的线需用户在实验中自行接好,其它线系统已连好。上图中,控制计算机通过程序控制“DOUT0DOUT3”对应C51的I/O 管脚 P1.4P1.7的输出步进电平,并经过驱动电路使步进电机步进。驱动电路采用ULN2803A 达林顿反相驱动器,驱动电流可达500mA,其作用是将控制计算机输出的控制脉冲进行功率放大,产生电机工作所需的激励电流。4 步进电机控制的实验程序 /*文件名ACC2-1-1.C功能描述顺序输出步进电机的步序值,使其安规定步骤步进*/include reg51.hinclude absacc.h/*宏定义*/define uchar unsigned chardefine uint unsigned int/*函数声明*/void td_delayint time;/*全局变量定义*/uchar a80 x1f,0 x3f,0 x2f,0 x6f,0 x4f,0 xCf,0 x8f,0 x9f;p1.4p1.7作为输出/*主函数*/void mainvoid uchar i;while1 fori0;i7;i P1ai;输出步序值 td_delay10000; 延时 /函数名td_delay 功能 设置延时时间参数 time 返回值 无*/void td_delayint time int i; fori0;itime;i return;实验步骤1按图 2.1-2 接线,检查无误后开启设备电源开关。2编写程序,检查无误后编译、链接。3点击“”图标,使得系统进入“Start/Stop Debug Session”模式。点击“”图标, 运行程序,观察电机转速。4点击“”图标,停止程序运行,按“SST51 系统板”上的“复位”键,使得系统 退出“Start/Stop Debug Session”模式,进入到程序编辑模式,改变程序中的延时时间,再重复步骤3,观察电机转速变化。实验结果及分析1从试验箱上可以明显的看到步进电机的指针按照设定的顺序,每次前进一个固定的角度,即一个步距角。改变程序中设定的延时时间,可以看到步进电机的转速随之发生改变。随着延时时间的缩短,步进电机的转速逐渐上升。当延时时间缩短到一个很小的值时,步进电机的转速进入一个“过转”的状态,从而导致步进电机出现左右摆动的“停转”状态。反之,随着延时时间的增加,步进电机的转速会越来越慢,当延时时间到达某一高值时,步进电机的转动几乎难以察觉,进入“停转”状态。如果要改变步进电机的转动方向,有两种方法可以实现。第一种是通过改变步进电机四相接线的方式,即将步进电机正转时候的接线进行反接(原来接的是改为接为)。第二种是通过改变程序里面1.4P1.7的控制顺序,例如原本是P1.4P1.7的顺序输出为正转,反转的时候则按照P1.7P1.4的输出顺序就可以了。具体的实现方法如下/*void mainvoid uchar i;while1 fori7;i0;i P1ai;输出步序值 td_delay10000; 延时 */3.4 扩充响应曲线法整定PID参数实验目的学习并掌握扩充响应曲线法整定 PID 参数。实验设备PC 机一台,TD-ACC实验系统一套,SST51 系统板一块实验原理及内容扩充响应曲线法1 实验原理 扩充响应曲线法是模拟调节器的响应曲线法的一种扩充,是一种常用的工程整定方法。其参数整定步骤如下1 使数字调节器不接入系统,让系统处于手动操作状态,当系统稳定在某一值处后, 给对象一个阶跃输入。2 用仪表记录下被调量在阶跃输入下的整个响应曲线, 图3.4-1 阶跃输入的响应曲线图中“ ”表示对象的时间常数;“ ”表示对象的纯滞后时间常数。4 根据所得的 、 ,查表 3.4-2 计算出采样周期 T 和 KP、TI、TD实验设计图 3.4-4是一个 PID 闭环控制系统的实验电路原理及接线图,图中画“o”的线 需用户在实验中自行接好,对象需用户在运放单元搭接。图中用 P1.7 来模拟 1定时器的输出,通过“OUT1”排针引出,方波周期定 时器时常2,“IRQ7”表示 51 的外部中断 1,用作采样中断,“DIN0”表示 C51 的 I/O 管脚 P1.0,在这里作为输入管脚用来检测信号是否同步。实验中,参考程序中的参数取值范围规定为程序流程图如下所示,图.4-2实验程序/*文件名ACC3-4-2.C功能描述此程序可以作为扩充响应曲线法整定PID参数的验证程序,可把整定后的PID参数写入程序中。*/include reg51.hinclude absacc.hinclude math.h/*宏定义*/define uchar unsigned chardefine uint unsigned intdefine ADC_7 XBYTE0 x0600定义模数转换IO地址define DAC_1 XBYTE0 x0640定义D/A第一路的IO地址/*全局变量定义*/sbit str P17;定义A/D启动信号sbit DIN0 P10;声明同步信号uint data time;声明变量,用于定时uchar data t0_h,t0_l;用于存储定时器0的初值char TK13.2;声明采样周期变量,采样周期TK*10mschar TC;TK的变量float kp3.3;比例系数char ti33;积分系数char td18.4;微分系数char IBAND32;积分分离值char EK;当前采样的偏差值char EK_1;上一次采样的偏差值char AEK;偏差的变化量char UK;当前时刻的D/A输出int ZEK;/*主函数*/void mainvoid TMOD 0 x01;time 10;定时10mst0_h 65536-500*time/256;计算定时器0初值t0_l 65536-500*time256;t0_l t0_l20;修正因初值重装而引起的定时误差TH0 t0_h;TL0 t0_l;IT1 1;边沿触发中断EX1 1;开外部中断1ET0 1;开定时中断0TR0 1;启动定时器TC 1;DAC_1 0 x80;D/A清零EKEK_10;变量清零 AEKUK0;ZEK0;EA 1;开总中断while1;/函数名INT1功能 1号外部中断服务程序 参数 无* 返回值无 * */void int1 interrupt 2 using 2float P,D,I,TEMP;DIN0 1;读取输入前,先输出高电平 ifDIN0判同步信号到否 EKEK_10;变量清零UKAEK0; ZEK0; DAC_1 0 x80;D/A输出零TC1; else TC;判采样周期到否 ifTC0 EK ADC_7-128;采样当前的偏差值,并计算偏差的变化量 AEK EK-EK_1; EK_1EK; ifabsEK IBAND I0;判积分分离值 else ZEKEKZEK; 计算积分项 IZEK*TK;II/ti; PEK; DAEK*td;计算微分项 DD/TK; TEMPPID*kp;计算比例项 ifTEMP0判控制量是否溢出,溢出赋极值 ifTEMP127 UK127; else UKcharTEMP; else ifTEMP-128 UK-128; else UKcharTEMP; DAC_1UK128;D/A输出控制量 TCTK;采样周期变量恢复/函数名Timer0功能 定时器0中断服务程序参数 无 返回值无 */void Timer0 interrupt 1 using 1str str;产生A/D启动信号TH0 t0_h;重新装入初值TL0 t0_l;实验步骤1 参照图 3.4-5接线,调节器先不接入系统中。图中画“o”的线需用户在实验中自行接好,对象需用户在运放单元搭接。 2 调节信号源使其“OUT”输出幅值为 2V,周期 12S 的方波。3 用示波器测量系统输出“C”,并记录下波形。在响应曲线最大斜率处作切线,用游 标测量,作图求得滞后时间和对象时常。计算出/,查表 3.4-2,控制度选择2.0 时可求得数字调节器的 KP、TI、TD 以及采样周期 T 的初始值。4 按照图 3.4-4 接线,将数字调节器接入系统,将以上得到的参数 KP、TI、TD 和 T 重 新写入程序中,然后编译、链接。5 点击“”图标,使得系统进入“Start/Stop Debug Session”模式。6 点击“”图标,运行程序,用示波器测量系统输出“C”,观察数字调节器在这组参数下的控制效果,若不理想,点击“”图标,停止程序运行,按“SST51 系统板”上的“复位”键,使得系统退出“Start/Stop Debug Session”模式,进入到程序编辑模式,适当调 整参数,重新编译链接后,点击“”图标,重复步骤6,直到控制效果满意为止。实验结果及分析1 当系统中没有接入控制器时,用示波器输出的波形如下, 2当系统接入控制器后,输出的波形如下,PID 参数的整定根据系统未接入控制器时,示波器上所得到的波形进行测量。得到整定前的滞后时间,根据表格3.4-2选择控制度为20可以求得t13.2,kp3.3,ti33,td18.4。将计算所得的t,kp,ti,td,重新输入到程序中。编译,链接,运行得到整定后的响应曲线如上图所示。思考题如何利用扩充响应曲线法实现PID参数自整定实验凑试法 实验凑试法是通过闭环运行或模拟,观察系统的响应曲线,然后根据各参数对系统的影响,反复凑试参数,直至出现满意的响应,从而确定PID控制参数。整定步骤(1)整定比例控制 将比例控制作用由小变到大,观察各次响应,直至得到反应快、超调小的响应曲线。(2)整定积分环节 若在比例控制下稳态误差不能满足要求,需加入积分控制。先将步骤(1)中选择的比例系数减小为原来的5080,再将积分时间置一个较大值,观测响应曲线。然后减小积分时间,加大积分作用,并相应调整比例系数,反复试凑至得到较满意的响应,确定比例和积分的参数。(3)整定微分环节 若经过步骤(2),PI控制只能消除稳态误差,而动态过程不能令人满意,则应加入微分控制,构成PID控制。先置微分时间TD0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至获得满意的控制效果和PID控制参数。 实验经验法扩充比例度法整定数字PID控制器参数的步骤是(1)预选择一个足够短的采样周期TS。一般说TS应小于受控对象纯延迟时间的十分之一。(2)用选定的TS使系统工作。这时去掉积分作用和微分作用,将控制选择为纯比例控制器,构成闭环运行。逐渐减小比例度,即加大比例放大系数KP,直至系统对输入的阶跃信号的响应出现临界振荡(稳定边缘),将这时的比例放大系数记为Kr,临界振荡周期记为Tr。(3)选择控制度。控制度,就是以连续-时间PID控制器为基准,将数字PID控制效果与之相比较。通常采用误差平方积分作为控制效果的评价函数。采样周期TS的长短会影响采样-数据控制系统 的品质,同样是最佳整定,采样-数据控制系统的控制品质要低于连续-时间控制系统。因而,控制度总是大于1的,而且控制度越大,相应的采样-数据控制系统的品质越差。控制度的选择要从所设计的系统的控制品质要求出发。(4)查表确定参数。根据所选择的控制度,查表3一2,得出数字PID中相应的参数TS,KP,TI和TD。(5)运行与修正。将求得的各参数值加入PID控制器,闭环运行,观察控制效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值