小功率随动系统设计报告_第1页
小功率随动系统设计报告_第2页
小功率随动系统设计报告_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、数控系统设计任务1. 依据动态指标要求,设计系统参数,并选择校正方法;2. 得到离散域的校正算法;3. 用单片机实现控制算法及显示等要求。二、实验设备及软件环境1. MATLAB 仿真?对系统建模、仿真?得到阶跃、脉冲等响应图形?根轨迹绘制2. uVision2 编程环境?启动 uVision2, 创建一个项目?创建新的源文件?添加配置启动代码?为目标设置工具选项? 编译项目 ,创建 hex 文件3. S51ISP 软件? S51 系列单片机的在线编程软件。? 安装软件后,1)打开 S51ISP 下载软件,右侧方框显示:初始化并口完成;2)单击擦除器件,显示擦除器件完成;1xxxxx3)单

2、击打开文件,装载.hex文件或 .bin文件,显示读入文件 xxxxxxx 到缓冲区 字节;4)单击(自动)写器件,显示写器件完成。5)至此,程序正常下载到器件中。三、数字控制器设计与仿真1. 原系统模型系统闭环传递函数:2. 根据经验设计 PID 校正环节由于以前做过 PID 相关控制环节,对 PID 各项意义比较了解,故根据经验及实际系统 调试得到 PID 校正器: D(z) 3.4-2z-1(一阶后差变换法 D(s)=1.4+0.032s)对应比例系 数 Kp=1.4 、微分系数 Kd=2 、积分系数为 0调试依据:? 比例 P 项增大使开环增益提高,调节作用变强,上升时间变小,闭环中产

3、生恒定 的稳态误差,而且 P 值越大,稳态误差越大。但是在此系统中 P 项增大会使系统 静态误差减小(即增大 K1 )。? 微分项增大使上升时间变大,产生一定延时,但是可以消除振荡;? 积分项增大使上升时间变小,并且消除控制器的稳态误差,但是会加大系统的振 荡性。系统未加 PID 校正器时, K1 2 上升时间较小,静态精度均满足要求,但是有一定振 荡,系统动态参数不满足要求。故不加积分 I 校正,只采用 PD 校正,经调试得比例系数 Kp=1.4 、微分系数 Kd=2 时,控制效果较好。(s) s2721.3179s.5s313616664. 仿真结果:未加校正未加采样阶跃响应 未加校正加采

4、样阶跃响应调节时间 ts=389ms、超调 =19.76% 调节时间 ts=624ms、超调 =43.12 , 对应 =0.4587 、 n= 25.2220对应 = 0.2586 n= 27.8819加 PD 校正阶跃响应调节时间 ts=227ms、超调 =0% 满足 0.9 n20 rad/s对应调节时间 ts<250ms,超调 <0.1524% 的动态特性要求。5. 根轨迹验证: 未加校正开环根轨迹及 K=1 时系统闭环极点位置加 PD 校正后开环根轨迹及 K=1 时系统闭环极点位置可得未加校正时系统根轨迹有处于实轴外部分, 且当 K1 时有闭环极点 -23.6±

5、41.5i, 动态参数不满足要求,有较大超调。 PD 校正环节为在原系统两极点之间加入一零点-43.7,使得根轨迹均处于实轴上,故无论 K 取多少系统都没有超调。加入 PD 校正后系统动态参数满 足要求。四、数字控制系统组成和工件原理单片机系统硬件框图如下图1.CPU? 定时 /计数器:1) 做定时器使用时,对振荡源的 12 分频的固定脉冲计数。2) 与之相关的特殊功能寄存器包括:计数寄存器 TH 和 TL 、控制寄存器 TCON 、 方式控制寄存器 TMOD 、等。3) 定时 /计数器工作方式:方式 0、方式 1、方式 2、方式 3。4) 定时 / 计数器的初始化: 初始化步骤:a) 确定工

6、作方式 编成 TMOD 寄存器;b)计算计数初值,并装载到 TH 和 TL 寄存器;c)定时/计数器在终端方式工作时,开 CPU中断和源中断 编程 IE 寄存器;d)启动定时 /计数器 编程 TCON 中的 TR1 或 TR0 位。5)计数初值的计算:a)计数功能: X= 2n - 计数值 n:8/13/16b)定时功能: X= 2n - t/Tt:定时时间( s) T :机器周期 12/晶振频率? 中断入口表:编号中断源入口地址0外部中断 00003H1定时 /计数器 0000BH2外部中断 10013H3定时 /计数器 1001BH4串行口中断0023H5定时 /计数器 2002BH1)中

7、断响应条件:a)有中断请求信号b)系统处于开中断状态2)中断响应过程:c)保护断点:将断点地址压入堆栈保存,即当前PC 值入栈。d)寻找中断源:中断服务程序硬件入口?PC ,转入中断服务。e)中断处理:执行中断源所要求的程序处理段。f)中断返回:执行 RETI 指令,栈顶内容 ?PC ,程序跳转回断点处。2. A/D 转换? 使用 ADC0809 采集两路信号,一路为位置信号,采集后送到显示器显示;另一路为误 差信号,用于进行控制算法的输入。? ADC 0809 为 8 路输入通道、 8 位逐次逼近式 A/D 转换器,可分时转换 8 路模拟信号 其结构如下图所示。A/D 转换器 0809 的内

8、部结构ADC 0809 与单片机连接? 操作过程1)连线:片选端 CS5接 20-27DAC 0832 与单片机连接? 也可 PWM 方法完成 D/A 输出。AOUT ;1B28)写数据;1)2)1B201B27 )写数2) 选中通道及片选和地址所存使能软件操作:向端口(地址为 据(虚写)启动转换;收到转化结束信号后读取数据。3. D/A 转换? 使用 DAC 0832 完成控制算法计算值的输出;? DAC 0832 是 8 位双缓冲器结构的 D/A 转换器, 其输入寄存器和转换寄存器分别分配各 自的地址,可分别选通同时输出多路模拟信号;DAC0832 内部结构图? 操作过程 :1) 连线:片

9、选端 CS6 接 28-2f ,输出端为2) 软件操作:向输入寄存器端口(地址为3) 向 DAC 寄存器(地址为 1B29)写数据启动转换。4. 显 示? 使用由发光二极管组成的 LED 显示器 不同的发光段亮可组成不同的字型(字型表在后) 。 电流大,耗电量大;电流小,发光量不够。一般设计时,其工作电流一般选为 10mA 。3)LED 数码管显示器一般分为共阳极和共阴极。? 使用 8279 作为显示器的控制芯片。特点:1) 8279 是可编程的键盘显示接口芯片;2) 自动完成键盘的扫描输入,自动清除按键抖动;3) 自动完成 LED 扫描显示。组成:1) I/O 控制和数据缓冲器 ;2) 控制

10、和定时寄存器及定时控制部分 ;3) 扫描计数器 ;4) 回送缓冲器与键盘去抖动控制电路 ;5) FIFO (先进后出)寄存器和状态电路 ;6) 显示器地址寄存器及显示 RAM 。 ? 数码管原理图、外形图及段码表字型共阳极段选码共阴极段选码字型共阳极段选码共阴极段选码0C0H3FH880H7FH1F9H06H990H6FH2A4H5BHA88H77H3B0H4FHB83H7CH499H06HCC6H39H592H6DHDA1H5EH682H7DHE86H79H7F8H07HF8EH71H数码管原理 数码管外形段码表? 8279 与 CPU 的连接1)连 线:片选端 CS7 接 30-37; 地

11、址口 1B31 ,数据口 1B30 连接 LED 与 8279的 A0A3 和 B0B3 ;2)软件:a) 初始化: 总清除命令送命令口 (); 等待清除结束; 送键盘显示方式命令; 送时钟分频命令b) 显示数据: 送显示位置命令向数据口送数据。 ;图 10 8279 与 CPU 的连接五、数字控制器硬件电路设计1. A/D 外围硬件电路A/D 采样为对给定电位器和反馈电位器输出电平之差, 由两电位器输出范围均为± 12V , 得两电位器输出电平之差范围为± 24V ,但是考虑到随动系统中两电位器输出电平之差一般 不会太大同时出于灵敏度及 A/D 采样精度考虑,认为两电位器

12、输出电平之差范围为±12V 。A/D 采样的电平范围为 0-5V,因此有必要增加一电平转换电路, 将± 12V 线性转换为 0-5V。对反馈电位器输出电平即位置进行采样。调试时发现通道 0 加入电平转换电路后对主电路 干扰很大(静态精度很大幅度降低) ,经分析得出是电平转换电路对原电路分流使反馈电位 器输出电平下降,因此对通道 0 加入输入阻抗极大的电压跟随器:2. D/A 外围硬件电路给定电位器和反馈电位器输出电平之差范围为± 24V,经过控制器增益后约± 30V ,而 D/A 输出电平范围为 0-5V ,所以应该加入电平转换电路。但是考虑到随动系统中

13、给定电位 器和反馈电位器输出电平之差一般在一个小范围内变化,所以此系统中 D/A 不选用电平转 换电路。另外即使出现给定电位器和反馈电位器输出电平之差很大的情况,没加电平转换 电路只是相当于加入了限幅环节,对系统静态参数没有影响,而对动态参数影响不大可以 忽略。故本系统不加 D/A 电平转换电路。六、软件设计及实现-1D(s)=1.4+0.032s 由一阶后差变换法得 D(z) 3.4-2z-11. 编程算法的实现:数字控制器的形式:D(z) U(z) b0 b1z1bmz m写成如下形式: D(z) E(z) 1 a1z1anz nU(z) (b0 b1z1bmzm)E(z) ( a1z1a

14、nz n)U(z)其对应的差分方程为:u(k)b0e(k )b1e(k1)bme(km)a1u(k1)anu(kn)得u(k) 1.4e(k) 2e(k 1)2. 编程算法改进:实际调试中发现使用 D(z) 3.4 2z 1 控制时,存在两个问题:一、调节时间接近 250ms;二、稳态时反馈电位器指针有些微抖动, 经分析得出原因是稳态时 A/D 采样误差(不 是稳定值,而是± 1范围跳动)使稳态时比例项 P几乎为零而微分项 D 不为零导致抖动。解决方法:一、分段比例 P控制,在偏差大时 P取4.5,偏差小时 P取 1.4。(如此既不会产生超调, 又减小调节时间,同时满足静态精度1.5

15、°要求)二、分段微分 D 控制,仅在偏差变化较小时加入微分项,稳态时不加入微分环节,即 当微分项小于一定值时,将微分项置0。(如此既消除超调,又不怎么影响调节时间,同时还消除稳态时的抖动)实验结果:两个问题得到很好解决。3. 系统仿真:数字控制器设计完成后,用 MA TLAB 仿真,得到系统的仿真动态响应图,求出系统指标。调节时间 ts=227ms、超调 =0% 满足 0.9 n20 rad/s对应调节时间 ts<250ms, 超调 <0.1524% 的动态特性要求。软件流程图:子程序流程图:七、数控系统调试和结果分析实际系统调试电路:1. 静态:? 未加校正环节1) 反

16、馈电位器完全跟随给定电位器;2) 静态角度几乎没有偏差,静态精度 <1.5 度;3) D/A 输出 120mv 时,电机转动;4) D/A 输出± 5V 时达到转速 26 弧度 /秒左右。 ? 加入设计的 PD 控制器1) 反馈电位器完全跟随给定电位器;2) 静态精度 <1 度;3) D/A 输出 120mv时,电机转动;4) D/A输出± 5V时达到转速 26 弧度/秒左右。2. 动态? 未加校正环节? 加入设计的 PD 控制器20 rad/s 对应调节时间 ts<250ms,超调 <0.1524% 的动态特性要求。 总之,系统静态特性和动态特性均

17、满足要求,而且位置显示正常。n八、 参考书籍1.自动控制原理程鹏2.数控小功率随动系统孙丹3. 测控系统原理与设计孙传友九、 体会建议 数字校正器我们选用 PID 校正,根据实测系统调试结果决定不用积分环节(系统本身超调 已经较严重) 。使用传统的 PD 校正时发现了增大比例项 P 后调节时间和稳态精度满足要求( P 越大 ts 越小),但是超调量不满足要求( P 越大即 K1 越大, K1 越大超调越大稳态精度越高) , 而减小 P 后超调量满足要求但是调节时间和稳态精度的矛盾。为此我们不使用传统的 PID 校正,而采用分段 PID 校正法,即偏差大时 P 大,偏差小时 P 小,调试结果发现

18、调节时间、稳态精度 和超调量均满足要求。另外,实际调试过程中发现稳态时反馈电位器指针有些微抖动,经分析得出原因是稳态时A/D 采样误差(不是稳定值,而是± 1范围跳动)使稳态时比例项 P几乎为零而微分项 D 不为 零导致抖动。我们同样通过分段微分 D 控制,仅在偏差变化较小时加入微分项,稳态时不加入 微分环节,即当微分项小于一定值时,将微分项置0。结果发现系统既没有消除超调,又不怎么影响调节时间,同时还消除稳态时的抖动。理论上单片机系统的电源为 5V、A/D 采样范围为 0 5V、D/A 输出± 5V,实际测量中发现 电源为 4.86V ,所以在 A/D 电平转换电路中应该

19、适加调整以使输入为 0V 时, A/D 采样输出为 128;D/A 输出时发现 128 对应的输出电压不并为 0V , 132 对应的输出电压才为 0V ,所以在程 序中 D/A 输出对应的 0V 并不是 128,而是 132。由于之前做过几次 PID 校正,所以对 PID 较熟悉,因此我们并不是先对系统仿真再设计控 制器,而是直接对系统进行 PID 调试,调试好后,再通过根轨迹验证等验证。结果发现调试得 到的 PID 控制器,在根轨迹等仿真中也是很合理的。通过这次课设,我们将之前学习到的很多知识应用上,同时在实验过程中我们发现不少实 际问题(稳态抖动、 电源实际电压和理论电压不一致等等) ,

20、经过分析我们一一找到了解决方法, 这使我们实践动手能力有一个很大的提高。实际实验中我们并没有完全按照指导书的内容按部 就班地做,而是根据以往实践加入不少自己的想法,最后发现较快且较好地完成了这次课程设 计。附:程序/头文件#include <AT89X52.H>/89C52 寄存器定义头文件/存储器分配宏定义/ 定义 8279 的数据口地址 /定义 8279 的命令口地址 /address of adc0809 in0 /address of adc0809 in1#include <ABSACC.H>/全部变量定义#define add_8279 XBYTE0x1b3

21、0#define command_8279 XBYTE0x1b31#define add_adc0809_in0 XBYTE0x1B20#define add_adc0809_in1 XBYTE0x1B21 #define add_buffer_dac0832 XBYTE0x1B28 /address of buffer of dac0832#define add_data_dac0832 XBYTE0x1B29 /address of inable of dac0832 unsigned char adc_read_data,adc_read2_data;/ 一通道 adc_read_dat

22、a/da 输出unsigned char add_write_data;unsigned char i,j;int adc_read3_data,adc_read4_data,adc_read5_data;/平/ 均滤波int sita=0;/ 位置变量int const_sita=0;/ 每 20 个 timer1 中断进行一次位置显示的计数标志int en_1=0,en=0,en_d=0,en_p=0; /PID 变量int Kp=9,Kd=8;int pn;int out_d=0,out_p=0;/段码表 unsigned char dis_num = 0x3f,0x06,0x5b,0x

23、4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c; /LED 显示用 void init_all(void);/ 初始化函数void pid(void);void dis_8279(int num2);void timerr1();void main(void)init_all();while(1) void init_all(void)/主程序/ 初始化 8279/wait timer1 interrupt/初始化程序8279 = 0xd1;/8279 显示函数/Timer1 中断程度 PWM 控制command command_8279 = 0x00;

24、command_8279 = 0x2a; EA=1;ET1=1;ES=1;TMOD=0x15; TH1=0xc6;TL1=0x00;TR1=1;EX0=0;/timer1开中断T0 timer modetl 1 foc=11.0592MHz 初始化 T1, 并启动 T1 start T0/T1 counter model 1 /TH1=0xa6;TL1=0x00;time 25ms /here time 16.1ms void dis_8279(int num2) unsigned char hun=0,ten=0; command_8279 = 0x82; add_8279=dis_numn

25、um2/100; ten=num2%100; command_8279 = 0x81; add_8279=dis_numten/10; command_8279=0x80; add_8279=dis_numten%10; void pid() en=adc_read_data; en_p=(en-128); if(en_p<10)|(en_p>-10) out_p=Kp*en_p/5;else out_p=(Kp*en_p/2);if(out_p>70) out_p=70;else if(out_p<-70) out_p=-70;en_d=en-en_1; if(en_d<=2)&&(en_d>=-2) out_d=0;else if(en_d>2)&&(en_d<40)|(en_d<-2)&&(en_d>-40) out_d=Kd*en_d/4;else/show the

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论