已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工业系统驱动与控制综合设计题题目:在某工业系统中,需要一个由计算机精确控制的施力装置,用来对某系统进行力加载试验,请设计一个能够精确控制输出力为180公斤的工业控制系统。请结合本门课所学知识,设计上述控制系统。附录:传感器型号为XYL-1,指标如下:量程:0200kg 工作电压为10V,输出为020mV 传感器是线性的电压/力转换器:输入010V,输出0200kg,满足线性关系。具体要求:画出系统组成框图,并注明各个环节的输入和输出信号的形式;(30分)简单描述系统的工作原理或过程;(15)列出系统及调试所用的仪器设备和主要器件;(10)画出软件流程框图;(15)改写CONTOL_D.C程序,实现控制;(将本课程所用采集卡的位数改为10位,选用13路AD采集通道,2路DA控制输出通道)。(30)【注意事项】将作业完成在A4纸上,手写或者打印均可,请装订后上交,封面写明学院、班级、学号、姓名,作业名称;请各班学委收齐于结课后两周内交给各任课教师; 请勿相互抄袭,否则计0分。期末作业工业系统驱动与控制设计题一、系统总体框图采集卡工控机实际输出FKP eaaeKI 电压/力转换器ruD/A-yKD de/dtXYL-1放大器bbA/D偏差信号 e 数字量 期望量 r 数字量 被控量 F 模拟量控制信号 u 数字量 反馈信号 y 数字量 输出信号 aa 模拟量 中间信号 bb 模拟量 二、工作原理和工作过程1) 要利用到电压/力转换器将9V的电压转换为180kg的力,令期望量r的为(E64)H,即可最终得到180kg的力。在转换过程中可以采用闭环PID控制方式,先由期望量与实际的反馈信号相减的到偏差信号,偏差信号经工控机计算处理后得到控制信号。在合适的PID参数下,由控制信号可以快速输出180kg的力。2) 工控机部分,主要进行PID控制,令期望量r为9V对应的数字量(E64)H,与即时的反馈信号y相减得到偏差信号e,对e进行比例运算,积分运算和微分运算并相加得到控制信号u。该部分所以信号均为数字量。在实际运行中, PID控制中的三个系数需要不断进行调试才可以得到很快的转换速度。3) 采集卡部分,进行数模转换和模数转换。在工控机部分中,均使用数字量信号;在其他电路中,使用模拟量信号。采集卡部分对两个部分进行互相转换。4) 其他电路为传感器和电压/力转换部分。传感器部分对力进行实时测量,首先通过传感器将0200kg转换为020mV范围的电压,再通过放大器将020mV放大至010V之间。电压/力转换部分,将010V的电压值转换为0200kg的力。三、主要器件和仪器设备示波器 端子板 放大器采集控制卡 直流稳压电源 电压/力转换器工业控制计算机 传感器XYL-1 四、软件流程框图开始kp,ki,kd赋值检测反馈信号y(k)计算偏差e(k)=r-y(k)初始化图形方式,绘坐标系计算控制信号u(k)u(k)=KPe(k)+KIe(n) Ts+KD(e(k)-e(k-1)/Ts输出控制信号u(k)计算绝对偏差积分IAE显示IAE绘u(k),e(k),y(k),r 波形延时值Ts, k=k+1计算各变量初值写数据文件结束 工 业 系 统A/DD/A满足结束条件?N Y五、程序重点和修改程序的部分介绍在/* */里边和相关范围,改成了厚黑色主要改变在control函数,可是要求参数180公斤在parameter函数#include #include #include #include #include #include #include #include #include #define BASE_ADDRESS 0x220int sum=0; /*定义全局变量并初始化sum */int r400,y400,yy400;e400,c400,u400;float ext_in1010,w1010,meane10,sigmae10,meanc10,sigmac10;double net,temp,tempee,tempe10,tempc10;int iad,ida;int w_mark,con_mark,flex,curve;int t,sample_time,amplitude,init_v;int i,j=1,n,rate_mark;float tf,fai,fre,umin=-2047,umax=2047;float Ke=1.,eta,eta_min,eta_max,atek,Eng;float eta_R,iae;long int randseed=568731L;char *string;char w_filename30;void graph_r(int *t,int *r, int *y, int *e, int *c,int *u) int xmax, ymax, xmin, ymin; float dx, dy, u_max, r_max; int i, j; int xx, yy; int gdrive, gmode; char str30; *c=*c; *t=*t; detectgraph(&gdrive, &gmode); if (gdrive0) printf(There is not graphics displayern); exit(1); initgraph(&gdrive, &gmode, e:turboc2.0); cleardevice(); setbkcolor(7); xmin = 19; rectangle(0, 0, 639, 479); rectangle(19, 39, 619, 439); line(19,239,619,239); r_max = 10; dx = 2; dy= -200./r_max;/* draw Y axis */ for (i=0; i12; i+) yy = 39+i*40; line(xmin, yy, xmin+3, yy); sprintf(str,%-4d,(10-i*2); outtextxy(xmin-18), yy-3, str); /* draw X axis */ for (i=1; i6; i+) xx= xmin+100*i; line(xx, 239, xx, 236); sprintf(str,%-5d,50*i); outtextxy(xx-6, 243, str); /* draw Y curve */ setcolor(BLUE); line(450,300,500,300); outtextxy(520,297,y); moveto(xmin, 239); for (i=0; in+1; i+) xx= i* dx+ xmin; yy= (*(y+i) )* dy/409.+ 239; lineto(xx, yy); /* draw r curve */ setcolor(YELLOW); moveto(xmin, 239); for (i=0; in+1; i+) xx= i* dx+ xmin; yy= (*(r+i) )* dy/409.+ 239; lineto(xx, yy); line(450,320,500,320); outtextxy(520,317,r);/* draw u curve */ setcolor(RED); moveto(xmin, 239);/* u_max = sort_max(u);*/ u_max = 4096; for (i=0; in+1; i+) xx= i* dx+ xmin; yy= -(*(u+i) )* 200./u_max+ 239; lineto(xx, yy); line(450,340,500,340); outtextxy(520,337,u);/* draw e curve */ setcolor(WHITE); moveto(xmin, 239);/* u_max = sort_max(u);*/ u_max=2047; for (i=0; i8)&0x0f; lbyte=Outputdata&0xfc;/*低八位中最后两位不用,则精度为10位*/ outportb(2*(channel-1)+BASE_ADDRESS+4,lbyte); outportb(2*(channel-1)+BASE_ADDRESS+5,hbyte); return;/* * * FUNCTION AD(channel,gain,trigger_moder) TYPE int* * AD Gain is can be selected in 0,1,2,4,8; InputData=OInputData/Gain; */int AD(channel)unsigned short int channel; unsigned short int DRDY; int hbyte,lbyte; outportb(BASE_ADDRESS+10,channel); outportb(BASE_ADDRESS+9,0); outportb(BASE_ADDRESS+11,1); DRDY=1; outportb(BASE_ADDRESS+12,1); while(DRDY!=0) DRDY=inportb(BASE_ADDRESS+5)&0x10; hbyte=inportb(BASE_ADDRESS+5)&0x0f; lbyte=inportb(BASE_ADDRESS+4)&0xfc; return(hbyte8)+lbyte);/* void create_datafile(char *filename) */ void create_datafile(void) FILE *fp; if (fp = fopen(d.dat, w+)= NULL) perror(n cannot open data file); exit(0); fprintf(fp,Sample_time= %d n,sample_time); fprintf(fp, n= %d n,n); fprintf(fp, Amplitude= %d n,amplitude); fprintf(fp, IAE= %6.3f n,iae); fprintf(fp, n r y e c u n); for (i=0; i4095)ui=4095; /*限制最大控制电压*/If(ui0)ui=0; /*限制最小控制电压*/ ida=ui; DA(2,ida); /*用2路DA通道*/* show the time */ itoa(i,string,10); gotoxy(20,20); cputs(string);void parameter(void) DA(2,0); iae=0; n=400; i=0; iad=0; e0=0; amplitude=9; /*目标为180kg时,电压设为9V*/ amplitude=amplitude*4095/10.0; for (i=0; in+1; i+) r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 河南 综合管理岗事业单位结构化面试易错点巩固训练卷含答案解析
- 2026 四川 退役军人岗事业编结构化面试含解析
- 2026 四川 市场监管岗事业单位结构化面试考前模拟训练卷含答案
- 2026 河南 水利岗事业编易错点巩固训练卷含答案
- 医院医疗质量(安全)不良事件管理考试试题及答案
- 浙教版数学2026-2027学年九年级上册期中模拟临考冲刺卷
- (2026版)学校收退费管理制度
- 北京体育考编试题(含答案)
- 2026年ICU 胸部创伤重症护理试卷及答案
- 2026年ICU 室早房颤心电图判读试卷及答案
- 2026年新疆新业国有资产经营集团有限责任公司人员招聘笔试参考题库及详细答案解析
- 大体积混凝土冷却水管安装施工工艺
- 2026年仓库安全培训考试题及答案
- 2026年上海市中考真题历史试题【含答案解析】
- 中国石油天然气股份有限公司辽宁盘锦销售分公司大洼新开加油站项目水土保持方案报告表
- 邮政相关基础知识考试题库及答案2025年
- 变电所分列运行管理制度培训课件
- 肥料登记证申请办理流程
- 《新能源专业导论》新能源相关专业全套教学课件
- 2026航天科工十院校园招聘笔试历年难易错考点试卷带答案解析
- 陕煤电力略阳有限公司招聘笔试题库2026
评论
0/150
提交评论