编写控制算法
① MATLAB用增量式PID控制算法编写仿真程序
你把18-20行的%去掉,就能运行出来了~
② 求模糊控制算法,汇编语言编写的,关于温度控制的!感谢
模糊控制比较常用的两种算法;普通模糊控制算法,模糊PID控制算法
普通模糊控制算法:建立在人工经验知识的基础上,需要明确控制要求,并结合人工控制经验,然后才可以做出实用的模糊控制算法。虽然有很多样板经验表可以使用,但还需要根据实际控制对象做些修改,才可使用。
模糊PID控制算法:对人工经验要求的比较少,但需要结合PID控制经验和现场试验数据,才能做出好的控制算法。
编程原理:只讲普通模糊控制算法,模糊PID自己去找资料,模糊PID太容易实现,故不再赘述。
下面一至六步,我只说了一些计算过程,它们可以使用matlab完成,实现起来比较简单,只把matlab计算得到的表格放到模糊控制程序里即可,也就是说借助matlab编写模糊控制算法只需要进行第一、二、七步的操作。
第一步:收集模糊经验,分条列出,可以暂时使用样板经验表(经验表和分条列出的经验是相通的)。
第二步:确定各模糊集合隶属度函数
第三步:取一组输入输出数据组合,它们中的各元素,按照一条模糊规则中模糊变量组合和各自隶属度函数分别模糊化,然后各变量通过模糊运算得到一个值,这个值就是当前组合对当前规则的匹配度。同样,算出这个数据组合对其余各条模糊规则的匹配程度,也就是匹配值。最后对每个匹配值,进行模糊或运算,得到的数据u
第四步:分别取各输入输出数据组合进行第三步操作,然后得到一个n维表(n为输入,输出变量个数),每个单元对应一个数据组合,单元中的取值对应数据组合的u值(u的算法参考第三步)
第五步:任取一组输入组合,遍历输出值,根据第四步的表格得到对应的一组u值,根据下面公式计算输出:y=/其中yi是第i个可能的输出量取值,ui是与yi对应的u值。
第六步:对每一组可能的输入组合,得到各自的输出值y,然后把他们列出一个表,大功即成。这个表就是输入与输出的映射表。前几步的目的就是得到这个表,我们称之为模糊控制查询表。
第七步:编写模糊控制查询表的查询程序,亦可以看成模糊控制算法计算程序,其实就是一个查表程序。到此模糊控制算法编写完成。
模糊控制过程中,首先采集数据,离散化,查表得到输出值,输出查表所得的输出值,模糊控制器工作完成。
其实对复杂控制系统,模糊控制的难点在于模糊经验的收集与修正。
③ 有C语言高手吗`怎样编写PID位置式控制算法
具体描述以下你的PID
④ 温度控制的PID算法程序如何编写
仅能给你一段例子程序去修改,对你说的具体东西不是非常清楚,要完全按你的要求写出来,不太可能
// PID算法控制子程序-------------------------------------------------------------------------
void PIDControl(int rk,int yk)
{
ek=rk-yk;
k=a*ek+b*ek1+c*ek2; // 计算控制输出
ek2=ek1; ek1=ek;
if ( k>10 ) k=3; // 幅度限制
tz=(int)k;
pwm+=tz; // 计算当前占空比
if ( pwm<0 ) pwm=0;
else if ( pwm>99 ) pwm=99;
}
⑤ PID控制算法为什么用C语言编而不用MATLAB语言
1. PID调试步骤
没有一种控制算法比PID调节规律更有效、更方便的了。现在一些时髦点的调节器基本源自PID。甚至可以这样说:PID调节器是其它控制调节算法的妈。
为什么PID应用如此广泛、又长久不衰?
因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。
由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦,特别是对初学者。下面简单介绍一下调试PID参数的一般步骤:
1.负反馈
自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。
2.PID调试一般原则
a.在输出不振荡时,增大比例增益P。
b.在输出不振荡时,减小积分时间常数Ti。
c.在输出不振荡时,增大微分时间常数Td。
3.一般步骤
a.确定比例增益P
确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。
b.确定积分时间常数Ti
比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。
c.确定积分时间常数Td
积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。
d.系统空载、带载联调,再对PID参数进行微调,直至满足要求。
⑥ 机器人控制算法怎么编写
电机控制指令的写入和状态读取对应硬件不同寄存器/地址,用中断服务程序去负责读取和写入,剩下的逻辑运算,用你的c程序去做。
⑦ labview中怎样编写各种PID控制算法
请参考Labview的PID工具包
⑧ 递推控制算法怎么写
递推控制算法写如下
递推控制算法的首要问题是得到相邻的数据项间的关系(即递推关系)。递推算法避开了求通项公式的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单运算。一般说来,可以将递推算法看成是一种特殊的迭代算法。
⑨ 机器人控制算法如何编写
基于DSP运动控制器的5R工业机器人系统设计 摘要:以所设计的开放式5R关节型工业机器人为研究对象,分析了该机器人的结构设计。该机器人采 用基于工控PC及DSP运动控制器的分布式控制结构,具有开放性强、运算速度快等特点,对其工作原理 进行了详细的说明。机器人的控制软件采用基于Windows平台下的VC++实现,具有良好的人机交互 功能,对各组成模块的作用进行了说明。所设计的开放式5R工业机器人系统,具有较好的实用性。 关键词:开放式;关节型;工业机器人;控制软件 0引言 工业机器人技术在现代工业生产自动化领域得到 了广泛的应用,也对工程技术人员提出更高的要求,作 为机械工程及自动化专业的技术人才迫切需要掌握这 一 先进技术。为了能更好地加强技术人员对工业机器 人的技能实践与技术掌握,需要开放性强的设备来满 足要求。本文阐述了我们所开发设计的一种5R关节 型工业机器人系统,可以作为通用的工业机器人应用 于现场,也可作为教学培训设备。 1 5R工业机器人操作机结构设计 关节型工业机器人由2个肩关节和1个肘关节进 行定位,由2个或3个腕关节进行定向,其中一个肩关节 绕铅直轴旋转,另一个肩关节实现俯仰,这两个肩关节 轴线正交。肘关节平行于第二个肩关节轴线。这种构 型的机器人动作灵活、工作空间大,在作业空间内手臂 的干涉最小,结构紧凑,占地面积小,关节上相对运动部 位容易密封防尘,但运动学复杂、运动学反解困难,控制 时计算量大。在工业用应用是一种通用型机器人¨。 1.1 5R工业机器人操作机结构 所设计的5R关节型机器人具有5个自由度,结构 简图如图1所示。5个自由度分别是:肩部旋转关节 J1、大臂旋转关节J2、小臂旋转关节J3、手腕仰俯运动 关节J4和在旋转运动关节J5。总体设计思想为:选用 伺服电机(带制动器)驱动,通过同步带、轮系等机械机 构进行间接传动。腕关节上设计有装配手爪用法兰, 通过不断地更换手爪来实现不同的作业任务。 1.2 5R工业机器人参数 表1为设计的5R工业机器人参数。 2 5R工业机器人开放式控制系统 机器人控制技术对其性能的优良起着重大的作用。随着机器人控制技术的发展,针对结构封闭的机 器人控制器的缺陷,开发“具有开发性结构的模块化、 标准化机器人控制器”是当前机器人控制器发展的趋 势]。为提高稳定性、可靠性和抗干扰性,采用“工业 PC+DSP运动控制器”的结构来实现机器人的控制:伺 服系统中伺服级计算机采用以信号处理器(DSP)为核 心的多轴运动控制器,借助DSP高速信号处理能力与 运算能力,可同时控制多轴运动,实现复杂的控制算法 并获得优良的伺服性能。 2.1基于DSP的运动控制器MCT8000F8简介 深圳摩信科技公司MCT8000F8运动控制器是基 于网络技术的开放式结构高性能DSP8轴运动控制器, 包括主控制板、接口板以及控制软件等,具有开放式、 高速、高精度、网际在线控制、多轴同步控制、可重构 性、高集成度、高可靠性和安全性等特点,是新一代开 放式结构高性能可编程运动控制器。 图2为DSP多轴运动控制器硬件原理图。图中增 量编码器的A0(/A0)、B0(/B0)、c0(/CO)信号作为 位置反馈,运动控制器通过四倍频、加减计数器得到实 际的位置,实际位置信息存在位置寄存器中,计算机可 以通过控制寄存器进行读取。运动控制卡的目标位置 由计算机通过机器人运动轨迹规划求得,通过内部计 算得到位置误差值,再经过加减速控制和数字滤波后, 送到D/A转换(DAC)、运算放大器、脉宽调制器 (PWM)硬件处理电路,转化后输出伺服电机的控制信 号或PWM信号。各个关节可以完成独立伺服控制,能 够实现线性插补控制、二轴圆弧插补控制。 2.2机器人控制系统结构及工作原理 基于PC的Windows操作系统,因其友好的人机界 面和广泛的用户基础,而成为基于PC控制器的首选。 采用PC作为机器人控制器的主机系统的优点是:①成 本低;②具有开放性;③完备的软件开发环境和丰富的 软件资源;④良好的通讯功能。机器人控制结构上采 用了上、下两级计算机系统完成对机器人的控制:上级 主控计算机负责整个系统管理,下级则实现对各个关 节的插补运算和伺服控制。这里通过采用一台工业 PC+DSP运动控制卡的结构来实现机器人控制。实验 结果证明了采用Pc+DSP的计算结构可以充分利用 DSP运算的高速性,满足机器人控制的实时需求,实现 较高的运动控制性能。 机器人伺服系统框图如图3所示。伺服系统由基 于DSP的运动控制器、伺服驱动器、伺服电动机及光电 编码器组成。伺服系统包含三个反馈子系统:位置环、 速度环、电流环,其工作原理如下:执行元件为交流伺 服电动机,伺服驱动器为速度、电流闭环的功率驱动元 件,光电编码器担负着检测伺服电机速度和位置的任 务。伺服级计算机的主要功能是接受控制级发出的各 种运动控制命令,根据位置给定信号及光电编码器的 位置反馈信号,分时完成各关节的误差计算、控制算法 及D/A转换、将速度给定信号加至伺服组件的控制端 子,完成对各关节的位置伺服控制。管理级计算机采用 586工控机(或便携笔记本),主要完成离线编程、仿真、 与控制级通讯、作业管理等功能;控制级计算机采用586 工控机,主要完成用户程序编辑、用户程序解释,向下位 机运动控制器发机器人运动指令、实时监控、输入输出 控制(如打印)等。示教盒通过控制级计算机可以获得 机器人伺服系统中的数据(脉冲、转角),并用于控制级 计算机控制软件中实现对机器人的示教及控制。 3 5R工业机器人运动控制软件设计 5R工业机器人控制软件采用C++Builder编程, 最终软件运行在Windows环境下。C++Builder对在 Windows平台下开发应用程序时所涉及到的图形用户 界面(GUI)编程具有很强的支持能力,提供了可视化 的开发环境,可以方便调用硬件厂商提供的底层函数, 直接对硬件进行操作,而且生成目标代码效率高。 所设计的控制软件为分级式模块化结构。 管理级主模块具有离线编程、图形仿真、资料查询 及故障诊断等功能,其结构如图4所示。 (1)离线编程模块利用计算机图形学的成果,建立 机器人及其工作环境的模型,利用规划算法,通过对图 形和对象的操作,编制各种运动控制,在离线情况下生 成工作程序。 (2)图形仿真模块可预先模拟结果,便于检查及优 化。 (3)资料查询模块可以查阅当日工作及近期工作 记录、相关资料(生产数量、班次等),并可以打印输出 存档。 (4)故障诊断模块可以实时故障诊断,以代码形式显 示出故障类型,并为技术人员排除故障提供帮助信息。 控制级主模块软件结构如图5所示。 (1)复位模块使得机器人停机时或动作异常时,通 过特定的操作或自动的方式,使机器人回到作业原点。 机器人在作业原点,机构的各运动副所受力矩最小,它 确定了机器人待机的安全位姿。 (2)系统提供两种示教方法。第一种示教方法即 “下位机+示教盒”的示教方法:示教盒和下位机操作 界面上的手动操作开关分别对应着装配机器人的各种 动作和功能。通过高、中、低速、点动等速度档次的选 择,对机器人进行大致的定位和精确的位置微调。并 存储期望的运动轨迹上机器人的位置、姿态参数。第 二种方法即离线仿真的示教方法。这种示教方法是在 计算机上建立起机器人作业环境的模型,再在这个模 型的基础上生成示教数据的一种应用人工智能的示教 方法。进行示教时使用计算机图示的方法分析机器人与作业模型的位置关系,也可以通过特定指令指定机 器人的运动位置…。 4结束语 所开发的开放式工业机器人系统具有以下特点: (1)采用分布式二级控制结构,运动控制由基于 DSP的运动控制器M'CT8000F8完成,增加了系统的开 放性,以及运行处理的快速性及可靠性。 (2)考虑到具有良好的通用性,可以作为通用机器 人使用,具有较好的产业化、商品化前景。 (3)计算机辅助软件采用基于Windows平台的 c++编程,通过调用底层函数可以对硬件进行直接操 作,可视化环境可提供良好的人机交互操作界面。 通过本机器人系统的研究开发,可极大地满足工 业现场对机器人的开放性要求,进一步提高我国工矿 企业自动化水平。同时,也可作为机器人技术训练平 台,加强工程人员能力锻炼。 [参考文献] [1]马香峰,等.工业机器人的操作机设计[M].北京:冶金工 业出版社,1996. [2]吴振彪.工业机器人[M].武汉:华中理工大学出版社, 2006. [3]蔡自兴.机器人学[M].北京:清华大学出版社,2003. [4]王天然,曲道奎.工业机器人控制系统的开放体系结构 [J].机器人,2002,24(3):256—261. [5]深圳摩信科技有限公司.MCT8000系列控制器使用手册 [z].深圳:深圳摩信科技有限公司,2001. [6]张兴国.环保压缩机装配机器人的运动学分析[J].南通 工学院学报,2004(1):32—34,38. [7]张兴国.计算机辅助环保压缩机装配机器人运动学分析 [J].机械设计与制造,2005(3):98—100, [8]本书编写委员会编着.程序设计VisualC++6[M].北京: 电子工业出版社,2000. [9]吴斌,等.OpenGL编程实例与技巧[M].北京:人民邮电出 版社,1999. [10]江早.OpenGLVC/VB图形编程[M】.北京:中国科学技 术出版社,2001. [11]韩军,等.6R机器人运动学控制实验系统的研制[J].实 验室研究与探索,2003(5):103—104.
⑩ C语言编写模拟量输入、模拟量输出和控制算法的代码!
用labview应该可以 图形化编程