工业系统驱动与控制课程设计报告.doc

工业系统驱动与控制课程设计报告.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《工业系统驱动与控制》 设计报告 By Kane@Automation91 设计内容与要求 在某工业系统中,需要一个由计算机精确控制的施力装置,用来对某系统进行力加载试验,请设计一个能够精确控制输出力为180公斤的工业控制系统。 要求: 1)使用本门课所学知识,按上述要求设计系统,画出系统组成框图, 并注明各个环节的输入和输出信号的形式; 2)简单描述系统的工作原理或过程; 3)列出系统及调试所用的仪器设备和主要器件; 4)画出软件流程框图; 5)改写DRAWINGC.C或CONTOL_D.C程序,实现控制;(将本课程所用采集 卡的位数改为10位,选用13路AD采集通道,2路DA控制输出通道) 附: 一、传感器型号为XYL-1,指标如下: 1)量程:0~200kg 2)工作电压为10V 3)输出范围0~20mV 4)传感器是线性的。 二、电压/力转换器(执行器):输入0~10V,输出0~200公斤,输出线性。 设计分析 首先针对题目进行分析可以看到,本题具体要求可以抽象成一个比较简单的工业问题,即如何通过数字控制以实现信号的稳定,快速,精确输出。结合本课程的内容,可以基本确定其主体结构为一数字PID控制系统,通过PID反馈网络对信号进行调节从而实现题设中压力的输出。故而整个系统执行流程大致如下: 图1 系统工作流程 在工控计算机中输入指定输出的压力,例如本题为180,由于题中压力转换器的参数可知,输入范围为0-10V,输出为0-200,故而根据其线性特性二者可以建立以下关系:,其中。取该值进行线形计算可知180压力对应电压为9V,即我们需要通过采集卡输出9V电压。从而工控计算机可以通过相应的数字/模拟转换函数对采集卡进行操作达到以上目的。 当系统通过采集卡输出电压至电压/压力转换器后,将产生相应的压力作用于受力物体上,但是受制于工业机械的性能问题,受力物体无法在较短时间内精确接受到相应的压力,从而影响了工业系统的性能。因此,我们在此引入反馈系统进行调节。 利用压力传感器实时采集当前受力对象所受的压力并转换成电压信号输入到采集卡中,注意,由于压力传感器的可用输出电压范围仅为0-20mV,在采集卡增益处理时需要选择比较大的增益倍数,否则无法精确地处理数据,或者可以再此处加入比例放大电路来实现电压放大功能,但是会因此产生延迟。 通过采集卡的AO通道将电压返回工控计算机中,利用指定的PID算法进行调整并再次输出,同时,在屏幕上绘制图像来判断压力信号是否在较短的时间内到达稳定的输出值。 在该系统实现之前,需要针对具体的PID系统参数进行调试,从而达到最优控制的效果。 通过以上流程可以基本实现PID程序控制。 主要设备器件 基本器件如下: IPC-610/RK-40610工控计算机1台 PCL-812PG/ACL-8112PG数据采集卡一块 PCLD-880 REV.A1或ACLD-9188 REV.B1端子板一块 20pin扁平电缆一条或37pinD形电缆一条 XYL-1压力传感器一台 电压/压力转换器一台 直流稳压输出电源一台 各色导线若干 为了实现比例放大电路,以下器件可选: 电阻,电阻各一 UA741运算放大器 通过以上放大电路,根据深反 馈原理,可以实现电压100倍放大,故而此时反馈电压范围可以扩展到0-2V。 工控软件设计 为了实现PID调节功能,在此给出其程序设计流程图以及部分核心函数的代码,但是在开始之前,需要针对PID系统的三大参数进行调试确定工作。线代PID参数确定一般采用两种方法,一是使用最为广泛的人工调试法,二是基于神经网络或是遗传算法等高级智能算法进行参数自适应调整从而达到最优效果。此处采用人工调试法。 经过调试后得合适的PID参数,即比例项,积分项,微分项参数。 图2 软件流程图 核心代码: #include math.h #include graphics.h int Base=0x220; DA(int port, int data) //数字转模拟并执行输出 { short high,low; low=data0xff; high=(data8)0x0f; outportb(Base+4+port*2,low); outportb(Base+5+por

文档评论(0)

li455504605 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档