




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 数控系统设计任务1. 依据动态指标要求,设计系统参数,并选择校正方法;2. 得到离散域的校正算法;3. 用单片机实现控制算法及显示等要求。二、 实验设备及软件环境1. MATLAB仿真 对系统建模、仿真 得到阶跃、脉冲等响应图形 根轨迹绘制2. uVision2编程环境 启动uVision2,创建一个项目 创建新的源文件 添加配置启动代码 为目标设置工具选项 编译项目,创建hex文件3. S51ISP软件 S51系列单片机的在线编程软件。 安装软件后,1) 打开S51ISP下载软件,右侧方框显示:初始化并口完成 ;2) 单击擦除器件,显示擦除器件完成;3) 单击打开文件,装载.hex文件
2、或.bin文件,显示读入文件xxxxxxx到缓冲区1xxxxx字节;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项增大使开环增益提高,调节作用变强,上升时间变小,闭环中产生恒定的稳态误差,而且P值越大,稳态误差越大。但是在此系统中
3、P项增大会使系统静态误差减小(即增大K1)。 微分项增大使上升时间变大,产生一定延时,但是可以消除振荡; 积分项增大使上升时间变小,并且消除控制器的稳态误差,但是会加大系统的振荡性。系统未加PID校正器时,K12上升时间较小,静态精度均满足要求,但是有一定振荡,系统动态参数不满足要求。故不加积分I校正,只采用PD校正,经调试得比例系数Kp=1.4、微分系数Kd=2时,控制效果较好。3. 加入PD校正环节后系统模型系统闭环传递函数:4. 仿真结果:未加校正未加采样阶跃响应 未加校正加采样阶跃响应调节时间ts=389ms、超调=19.76% 调节时间ts=624ms、超调=43.12,对应=0.4
4、587、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±41.5i,动态参数不满足要求,有较大超调。PD校正环节为在原系统两极点之间加入一零点-43.7,使得根轨迹均处于实轴上,故无论K取多少系统都没有超调。加入PD校正后系统动
5、态参数满足要求。四、 数字控制系统组成和工件原理单片机系统硬件框图如下图1. CPU 定时/计数器:1) 做定时器使用时,对振荡源的12分频的固定脉冲计数。2) 与之相关的特殊功能寄存器包括:计数寄存器TH和TL、控制寄存器TCON、方式控制寄存器TMOD、等。3) 定时/计数器工作方式:方式0、方式1、方式2、方式3。4) 定时/计数器的初始化: 初始化步骤:a) 确定工作方式编成TMOD寄存器;b) 计算计数初值,并装载到TH和TL寄存器;c) 定时/计数器在终端方式工作时,开CPU中断和源中断编程IE寄存器;d) 启动定时/计数器编程TCON中的TR1或TR0位。5) 计数初值的计算:a
6、) 计数功能:X= 2n -计数值 n:8/13/16 b) 定时功能:X= 2n - t/T t:定时时间(s) T:机器周期12/晶振频率 中断入口表:编号中断源入口地址0外部中断00003H1定时/计数器0000BH2外部中断10013H3定时/计数器1001BH4串行口中断0023H5定时/计数器2002BH1) 中断响应条件:a) 有中断请求信号b) 系统处于开中断状态2) 中断响应过程:c) 保护断点:将断点地址压入堆栈保存,即当前PC值入栈。d) 寻找中断源:中断服务程序硬件入口®PC,转入中断服务。e) 中断处理:执行中断源所要求的程序处理段。f) 中断返回:执行RE
7、TI指令,栈顶内容®PC,程序跳转回断点处。2. A/D转换 使用ADC0809采集两路信号,一路为位置信号,采集后送到显示器显示;另一路为误差信号,用于进行控制算法的输入。 ADC 0809为8路输入通道、8位逐次逼近式A/D转换器,可分时转换8路模拟信号。其结构如下图所示。A/D转换器0809的内部结构 ADC 0809与单片机连接 操作过程 :1) 连线:片选端CS5接20-272) 选中通道及片选和地址所存使能软件操作:向端口(地址为1B201B27)写数据(虚写)启动转换;收到转化结束信号后读取数据。3. D/A转换 使用DAC 0832完成控制算法计算值的输出; DAC
8、0832是8位双缓冲器结构的D/A转换器,其输入寄存器和转换寄存器分别分配各自的地址,可分别选通同时输出多路模拟信号; 也可PWM方法完成D/A输出。DAC0832内部结构图 DAC 0832与单片机连接 操作过程 :1) 连线:片选端CS6接28-2f,输出端为AOUT;2) 软件操作:向输入寄存器端口(地址为1B28)写数据;3) 向DAC寄存器(地址为1B29)写数据启动转换。4. 显 示 使用由发光二极管组成的LED显示器1) 不同的发光段亮可组成不同的字型(字型表在后)。2) 电流大,耗电量大;电流小,发光量不够。一般设计时,其工作电流一般选为10mA。3) LED数码管显示器一般分
9、为共阳极和共阴极。 使用8279作为显示器的控制芯片。 特点: 1) 8279是可编程的键盘显示接口芯片;2) 自动完成键盘的扫描输入,自动清除按键抖动;3) 自动完成LED扫描显示。 组成:1) I/O控制和数据缓冲器; 2) 控制和定时寄存器及定时控制部分; 3) 扫描计数器; 4) 回送缓冲器与键盘去抖动控制电路; 5) FIFO(先进后出)寄存器和状态电路; 6) 显示器地址寄存器及显示RAM。 数码管原理图、外形图及段码表 数码管原理 数码管外形字型共阳极段选码共阴极段选码字型共阳极段选码共阴极段选码0C0H3FH880H7FH1F9H06H990H6FH2A4H5BHA88H77H
10、3B0H4FHB83H7CH499H06HCC6H39H592H6DHDA1H5EH682H7DHE86H79H7F8H07HF8EH71H段码表 8279与CPU的连接1) 连线:片选端CS7接30-37; 地址口1B31,数据口1B30 连接LED与8279的A0A3和B0B3;2) 软件:a) 初始化:总清除命令送命令口(); 等待清除结束; 送键盘显示方式命令; 送时钟分频命令b) 显示数据:送显示位置命令 向数据口送数据。 ;图10 8279与CPU的连接五、 数字控制器硬件电路设计1. A/D外围硬件电路A/D采样为对给定电位器和反馈电位器输出电平之差,由两电位器输出范围均为
11、77;12V,得两电位器输出电平之差范围为±24V,但是考虑到随动系统中两电位器输出电平之差一般不会太大同时出于灵敏度及A/D采样精度考虑,认为两电位器输出电平之差范围为±12V。A/D采样的电平范围为0-5V,因此有必要增加一电平转换电路,将±12V线性转换为0-5V。 A/D采样电平转换电路:实际电路中A/D通道1用来对给定电位器和反馈电位器输出电平之差采样,通道0用来对反馈电位器输出电平即位置进行采样。调试时发现通道0加入电平转换电路后对主电路干扰很大(静态精度很大幅度降低),经分析得出是电平转换电路对原电路分流使反馈电位器输出电平下降,因此对通道0加入输入
12、阻抗极大的电压跟随器:通道0电压跟随器2. D/A外围硬件电路给定电位器和反馈电位器输出电平之差范围为±24V,经过控制器增益后约±30V,而D/A输出电平范围为0-5V,所以应该加入电平转换电路。但是考虑到随动系统中给定电位器和反馈电位器输出电平之差一般在一个小范围内变化,所以此系统中D/A不选用电平转换电路。另外即使出现给定电位器和反馈电位器输出电平之差很大的情况,没加电平转换电路只是相当于加入了限幅环节,对系统静态参数没有影响,而对动态参数影响不大可以忽略。故本系统不加D/A电平转换电路。六、 软件设计及实现D(s)=1.4+0.032s由一阶后差变换法得D(z)3.
13、4-2z-11. 编程算法的实现: 数字控制器的形式:写成如下形式:其对应的差分方程为:得2. 编程算法改进:实际调试中发现使用控制时,存在两个问题:一、调节时间接近250ms;二、稳态时反馈电位器指针有些微抖动,经分析得出原因是稳态时A/D采样误差(不是稳定值,而是±1范围跳动)使稳态时比例项P几乎为零而微分项D不为零导致抖动。解决方法:一、分段比例P控制,在偏差大时P取4.5,偏差小时P取1.4。(如此既不会产生超调,又减小调节时间,同时满足静态精度1.5°要求)二、分段微分D控制,仅在偏差变化较小时加入微分项,稳态时不加入微分环节,即当微分项小于一定值时,将微分项置0
14、。(如此既消除超调,又不怎么影响调节时间,同时还消除稳态时的抖动)实验结果:两个问题得到很好解决。3. 系统仿真:数字控制器设计完成后,用MATLAB仿真,得到系统的仿真动态响应图,求出系统指标。 调节时间ts=227ms、超调=0% 满足0.9 n20 rad/s对应调节时间ts<250ms,超调<0.1524%的动态特性要求。软件流程图:子程序流程图:七、 数控系统调试和结果分析实际系统调试电路:1. 静态: 未加校正环节1) 反馈电位器完全跟随给定电位器;2) 静态角度几乎没有偏差,静态精度<1.5度;3) D/A输出120mv时,电机转动;4) D/A输出±
15、5V时达到转速26弧度/秒左右。 加入设计的PD控制器1) 反馈电位器完全跟随给定电位器;2) 静态精度<1度;3) D/A输出120mv时,电机转动;4) D/A输出±5V时达到转速26弧度/秒左右。2. 动态 未加校正环节算得调节时间ts=860ms、超调=38.33,算得对应= 0.2919 n= 17.1267 加入设计的PD控制器算得调节时间ts=200ms、超调=0,对应= 0.2919 n= 17.1267满足0.9 n20 rad/s对应调节时间ts<250ms,超调<0.1524%的动态特性要求。总之,系统静态特性和动态特性均满足要求,而且位置显示
16、正常。八、 参考书籍1. 自动控制原理程鹏2. 数控小功率随动系统孙丹3. 测控系统原理与设计孙传友九、 体会建议数字校正器我们选用PID校正,根据实测系统调试结果决定不用积分环节(系统本身超调已经较严重)。使用传统的PD校正时发现了增大比例项P后调节时间和稳态精度满足要求(P越大ts越小),但是超调量不满足要求(P越大即K1越大,K1越大超调越大稳态精度越高),而减小P后超调量满足要求但是调节时间和稳态精度的矛盾。为此我们不使用传统的PID校正,而采用分段PID校正法,即偏差大时P大,偏差小时P小,调试结果发现调节时间、稳态精度和超调量均满足要求。另外,实际调试过程中发现稳态时反馈电位器指针
17、有些微抖动,经分析得出原因是稳态时A/D采样误差(不是稳定值,而是±1范围跳动)使稳态时比例项P几乎为零而微分项D不为零导致抖动。我们同样通过分段微分D控制,仅在偏差变化较小时加入微分项,稳态时不加入微分环节,即当微分项小于一定值时,将微分项置0。结果发现系统既没有消除超调,又不怎么影响调节时间,同时还消除稳态时的抖动。理论上单片机系统的电源为5V、A/D采样范围为05V、D/A输出±5V,实际测量中发现电源为4.86V,所以在A/D电平转换电路中应该适加调整以使输入为0V时,A/D采样输出为128;D/A输出时发现128对应的输出电压不并为0V,132对应的输出电压才为0
18、V,所以在程序中D/A输出对应的0V并不是128,而是132。由于之前做过几次PID校正,所以对PID较熟悉,因此我们并不是先对系统仿真再设计控制器,而是直接对系统进行PID调试,调试好后,再通过根轨迹验证等验证。结果发现调试得到的PID控制器,在根轨迹等仿真中也是很合理的。通过这次课设,我们将之前学习到的很多知识应用上,同时在实验过程中我们发现不少实际问题(稳态抖动、电源实际电压和理论电压不一致等等),经过分析我们一一找到了解决方法,这使我们实践动手能力有一个很大的提高。实际实验中我们并没有完全按照指导书的内容按部就班地做,而是根据以往实践加入不少自己的想法,最后发现较快且较好地完成了这次课
19、程设计。附:程序/头文件 #include <AT89X52.H> /89C52寄存器定义头文件#include <ABSACC.H> /存储器分配宏定义/全部变量定义#define add_8279 XBYTE0x1b30 /定义8279的数据口地址#define command_8279 XBYTE0x1b31 /定义8279的命令口地址#define add_adc0809_in0 XBYTE0x1B20 /address of adc0809 in0#define add_adc0809_in1 XBYTE0x1B21 /address of adc0809 i
20、n1#define add_buffer_dac0832 XBYTE0x1B28 /address of buffer of dac0832#define add_data_dac0832 XBYTE0x1B29 /address of inable of dac0832unsigned char adc_read_data,adc_read2_data; /一通道adc_read_data unsigned char add_write_data; /da输出unsigned char i,j;int adc_read3_data,adc_read4_data,adc_read5_data;
21、/平均滤波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,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c; /LED显示用void init_all(void); /初始化函数 void pid(void);void dis_8279(in
22、t num2); /8279显示函数 void timerr1(); /Timer1中断程度 PWM控制void main(void)/主程序 init_all(); /初始化8279 while(1) /waittimer1 interrupt void init_all(void)/初始化程序 command_8279 = 0xd1; command_8279 = 0x00; command_8279 = 0x2a; EA=1; ET1=1; /timer1开中断 ES=1; TMOD=0x15; /T1 counter model 1 T0 timer modetl 1 TH1=0xc6
23、;TL1=0x00; /TH1=0xa6;TL1=0x00;time 25ms foc=11.0592MHz here time 16.1ms TR1=1; / 初始化T1, 并启动T1 start T0 EX0=0;void dis_8279(int num2) unsigned char hun=0,ten=0; command_8279 = 0x82; add_8279=dis_numnum2/100;ten=num2%100;command_8279 = 0x81; add_8279=dis_numten/10;command_8279=0x80;add_8279=dis_numten
24、%10;/show the sita void pid() en=adc_read_data; en_p=(en-128); /the p 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; /the d 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 out_d=0; if(pn>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度美甲店整体转让合同含技术培训及品牌使用权
- 二零二五年度农村宅基地租赁管理合同(农村电商平台)
- 蔬菜采购框架合同
- 果树买卖合同标准简易模板
- 运动员经纪合同
- 规范的租赁合同
- 死亡赔偿合同样本
- 技术合作合同保密条款模板
- 企业垫资居间经纪合同
- 共有房屋产权买卖合同范文
- 2025年网格员考试题及答案湖北
- 2025年徐州生物工程职业技术学院单招职业技能测试题库含答案
- 2025年广东江门中医药职业学院单招职业适应性测试题库参考答案
- 2025年阜阳职业技术学院单招职业适应性测试题库带答案
- 小学生羽毛球课课件图片
- 2025年新公司法知识竞赛题库与答案
- 2025年新人教版物理八年级下册全册教案
- 2024年铁岭卫生职业学院高职单招语文历年参考题库含答案解析
- 2024年哈尔滨应用职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 形象设计师三级习题库及答案
- 2025届高考英语复习读后续写练习+男孩与爱犬:失而复得的温暖+课件
评论
0/150
提交评论