历史上的今天
返回首页

历史上的今天

今天是:2025年03月22日(星期六)

2018年03月22日 | 基于atmega32单片机专家系统的智能PID控制方案解析

2018-03-22 来源:eefocus

    本系统以AVR系列的atmega32单片机为核心,通过设置atmega32的PWM控制寄存器产生脉宽可调的PWM波,对比例电磁阀的输入电压进行调制,从而实现了对气体流量的变量控制。单片机通过均速管流量计采集实际流量信号,根据该信号在其内部采用数字PID算法对PWM控制寄存器的值进行修改,从而达到精确的变量控制。为了防止外界干扰信号进入控制系统,单片机和均速管之间采用光电隔离,提高了系统的可靠性。

 

    由均速管流量计对气体额流量进行监测,该种流量计属差压式流量计,由单点测速的皮托管演变发展而来,基于流体力学能量守衡原理,遵从伯努利定律,控制气体流量采用比例电磁阀。通过4×4键盘和128×64液晶模块实现人机对话,便于用户操作。

    流量控制算法

    考虑气动泵泵气过程的非线性等因素,采用了人类专家的知识和求解问题的启发式规则来构造专家控制器,从而实现流量的智能控制,保证气动泵供气的稳定性。

    1 基于专家系统的智能PID控制简介

    专家系统主要有五部分:知识库、数据库、推理机、解释部分和知识获取部分。本系统的被控对象具有比较大的非线性、滞后性等特性,考虑到对其控制性能、可靠性、实时性的要求,将专家系统简化,不设人机自然语言对话,将知识库、规则集缩小,于是专家系统变成了专家控制器,从而能使专家系统在控制器上实现。

    基于专家系统的智能PID控制器。专家知识库是根据熟练操作工或专家的经验和知识,把各种工况下被控对象特性所对应的PID参数记录在数据库中而形成;数据库存放被控对象的输入和输出信号、给定信号(即获得了偏差和偏差变化率);逻辑推理机则从数据库中取出实际运行数据,根据给出的推理机制,从专家知识库中选择合适的参数,实现参数自整定PID控制。

    2  流量的专家PID控制

    在军工业生产中,当我们不完全了解一个系统和被控对象,或被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,这个时候往往采用PID控制技术最为方便。PID算法以其结构简单、稳定性好、工作可靠、高速方便而成为工业控制的主要技术之一。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。系统控制器的结构和参数必须通过经验和现场调试来确定。

    模拟PID控制器的控制规律为:

    (1)

    式中,KP—比例系数;TI—积分常数;TD—微分常数;u0—控制常量。

    由于单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,而不能像模拟控制那样连续输出控制量,进行连续控制;并且,单片机处理数据的量有限,综合考虑该系统采用增量式PID控制,其算式为:

    u(k)=u(k-1)+Δu(k)        (2)

    Δu(k)=KP[e(k)-e(k-1)]+KIe(k) +KD[e(k)-2e(k-1)+e(k-2)]      (3)

    气体流量值经过比例换算之后作为气泵的给定值,通过PID控制器的输出来控制气泵的流量。e(k)为气泵给定流量与实际测量值的偏差;e(k-1)为上一时刻的误差值;e(k-2)为上一采样时刻的误差值。KP是解决幅值震荡,KP大了会出现幅值震荡的幅度大,但震荡频率小,系统达到稳定时间长;KI是解决动作响应速度快慢的,KI大了响应速度慢,反之则快;KD是消除静态误差的,一般KD设置都比较小,而且对系统影响比较小。

    由于气体流量测量的特殊性以及气体控制过程中的非线性、时变、滞后等特性,采用上述PID控制算法不能达到令人满意的效果,由此采用辅以专家控制规则来进行补偿控制。根据气泵偏差及其变化率,本文提出的控制器按以下6种情况进行设计:

    ①当|e(k)|>M1(PWM波的幅值)时,说明误差绝对值已经很大。不论误差变化趋势如何,都应考虑控制器的输出应按最大(或最小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。

    Δu(k)=Δumax或者Δu(k)= -Δumax                        (4)

    此时,系统相当于实施开环控制。

    ②当e(k)·Δe(k)≥0时,误差在朝绝对值增大方向变化,或误差为常值,未发生变化。如果此时|e(k)|>M2(设定的误差界限),说明误差也较大,可考虑由控制器实施较强的控制作用,以达到使误差绝对值朝减小方向变化,并迅速减小误差的绝对值,调节器输出可为

    Δu(k)=KI{KP[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]}  (KI>1)        (5)

    如果|e(k)|

    ③当e(k)·Δe(k)<0、Δe(k)·Δe(k-1)>0或者e(k)=0时,说明误差在朝减小的方向变化,或者已经达到平衡状态。此时可考虑采取保持控制器的输出不变,输出为

    Δu(k)=0                  (6)

    ④当e(k)·Δe(k)<0、Δe(k)·Δe(k-1)<0时,误差处于极值状态,系统出现振荡现象。如果此时误差的绝对值较大,即|e(k)|≥M2,则采用较强的控制作用。

    Δu(k)=K2KPe(k)  (K2<1) (7)

    反之则考虑实施较弱的控制作用。

    Δu(k)=K3KPe(k)  (K3<1)(8)

    ⑤当|e(k)|<&epSILon;,ε为一任意小的正数,可取为0.001。此时误差很小,考虑加入积分环节,减少稳态误差。控制算法为普通比例加积分控制

    Δu(k)=KP[e(k)-e(k-1)] +KIe(k)                      (9)

    ⑥当e(k)=0时,说明系统已经达到平衡状态,此时可考虑维持当前控制量不变。调试发现当误差达到控制精度要求后可维持当前控制量不变,从而避免小范围的波动使被控对象更快稳定下来。

    综上所述,系统调节器控制规律实际相当于变结构PID控制器,根据误差及误差变化情况选择不同的控制规律,以便使系统迅速达到给定流量值。


    硬件部分

    1  PWM控制原理

    PWM控制功率输出级为开关型结构,功耗小。在功率驱动放大电路中需要将PWM输出的电压信号转换为比例电磁铁的电流控制信号。因此,可采用大功率场效应晶体管IRF540,它能够提供足够大的电流驱动比例阀的比例电磁铁等效线圈,通过调整单片机的PWM波就可以实现电磁阀输入电压占空比的调节,从而实现对流量的调节。

 

    PWM控制系统是非线性、非连续控制系统。其控制原理:先给被控参数设定一个期望值,接着该参数与测得的实际值经比较环节得出误差信号,误差信号再与一个三角波信号经比较器进行比较,当误差信号大于三角波信号时,就输出脉冲,反之不输出,因此,比较器输出一系列等振幅不等宽的矩形波,其脉冲宽度与误差信号成线性关系。根据该原理,采用PWM控制器输出的脉冲去触发开关,开关再去触发执行机构,执行机构按脉冲宽度的时间动作,从而达到自动控制参数的目的。

    式中,M为PWM波的幅值;T为PWM的脉冲周期;Tk为PWM波的采样时间,k=0,1,2,3,…;b为比例系数。

    2  比例电磁阀

    比例电磁阀在20世纪60年代末就已经得到了应用,最初是用于液压控制系统,随着单片机和集成电路的发展,其逐渐应用到各种气体的流量控制中。比例型电磁铁的工作原理如下:线圈通电后,轭铁和衔铁内部产生磁通并产生电磁吸力,将衔铁吸向轭铁,同时衔铁上的弹簧受到压缩,当衔铁上的电磁力和弹簧力平衡时,衔铁停止位移。比例型电磁铁的衔铁运动时,气隙保持恒定,即衔铁在有效行程范围内,吸力保持恒定,而电磁铁的吸力在有效行程范围内和线圈的电流大小成正比。目前,过程控制用比例电磁阀均为单级阀,和普通单级电磁阀区别不大,如图4所示。控制信号进入控制器放大后,在比例电磁铁线圈的两端加上一定的电压,转换成一定的电流信号,驱动衔铁(即阀芯)开启,阀芯上的电磁力和弹簧力平衡后,阀门的开度不变;输入信号变化,阀门的开度也发生变化,从而达到控制所需参数的目的。

    软件部分

    1 PWM波的产生

    设计采用单片机atmega32产生PWM信号。atmega32的定时/计数器的PWM模式可以分成快速PWM和频率(相位)调整PWM两大类。本设计采用快速PWM模式,快速PWM可以得到比较高频率的PWM输出,响应比较快,因此具有很高的实时性。此时计数器仅工作在单程正向计数方式,计数器的上限值决定PWM的频率,而比较匹配寄存器的值决定了占空比的大小。快速PWM模式的控制寄存器设置如下:

    //输出端口初始化

    PORTD=0x44;

    DDRD=0x20;

    //T/C1初始化

    TCCR1A=0xC3;/*比较匹配时OC1A输出高电平,在top值时清零ICP下降沿捕捉,

    时钟1/8分频(暂定),即工作在反相pwm模式*/

    TCCR1B=0x0A;//10位快速pwm模式

    TCNT1H=0x00;//start at 0

    TCNT1L=0x00;

    2 控制系统的程序流程

    3 PID子程序流程

    将系统误差e(k)和误差变化率Δe(k)变化范围定义为e(k),e(k)={NB,NM,NS,O,PS,PM,PB},各元素分别代表流量差值及流量差值变化率。根据不同的e(k),Δe(k)的量化取值和控制器数学模型,选择相应的控制器计算公式进行PID运算,从而完成流量的智能控制。


    Matlab下的仿真

    Matlab是控制系统的一种分析和仿真软件,利用它可以方便准确地对控制系统进行仿真,为了验证数字PID算法的可靠性,采用Matlab6.5下的simulink组件对增量数字PID算法进行了仿真。仿真结果表明运用PID对PWM方波进行调解具有良好的动态性和稳定性,从而证明了该气体流量控制系统得可行性。

 

    结语

    本设计采用了西门子的专用PID模块,大大简化了程序。同时,采用了图形编程方式,使程序更直观,交互界面更加友好。运用数字PID算法结合AVR单片机的PWM功能实现了气体流量的控制,利用PWM信号控制比例电磁阀开口的大小,实现了流量的连续控制,减少了滞后性,同时采用了增量式数字PID算法调节,实现了闭环控制,使系统调节更准确、更稳定。此外,运用Matlab软件进行了仿真,证明了系统的可行性。


推荐阅读

史海拾趣

泰科天润(GPT)公司的发展小趣事

机顶盒,全称数字视频变换盒,是连接电视与外部信号源的重要设备,其专业性与科普性均不容忽视。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,它们承担着将各种信号源转换为电视可识别并播放的格式的重要任务。

机顶盒的核心功能在于接收、解码和显示。它能接收来自有线电缆、卫星天线、宽带网络及地面广播等多种传输介质的数字电视信号,并通过内置的解调器和解码器,将这些信号转换为电视能够播放的视频和音频流。这一过程中,机顶盒展现了其强大的技术实力,确保用户能够享受到高质量的视听体验。

随着技术的发展,机顶盒不断进化。从最初的模拟频道增补器、解码器,到如今支持高清、4K乃至8K超高清播放的智能网络机顶盒,机顶盒的每一次升级都带来了更加丰富的内容选择和更加便捷的使用体验。同时,网络机顶盒的出现更是将电视与互联网紧密相连,使得用户能够通过电视屏幕浏览网页、观看在线视频、下载应用程序、享受交互式娱乐等多元化服务。

此外,机顶盒还具备强大的扩展性和可定制性。通过搭载不同的软件和硬件设备,机顶盒可以满足不同用户的个性化需求,如家庭影院功能、社交媒体互动、语音控制等。这些功能的加入不仅提升了机顶盒的实用性,也使其成为了现代家庭娱乐的重要组成部分。

综上所述,机顶盒作为连接电视与外部世界的桥梁,其专业性与科普性在不断提升中。随着技术的不断进步和市场的不断扩大,机顶盒将继续为用户带来更加优质、便捷、智能的视听体验。

GETEDZ ( HVGT)公司的发展小趣事
电路设计要便于维护和检修,方便在设备出现故障时能够迅速定位并解决问题。
台湾固锝(GD)公司的发展小趣事
根据应用需求确定所需的增益范围。
Goldentech Discrete Semiconductor Inc公司的发展小趣事

在20世纪90年代末,Goldentech Discrete Semiconductor Inc.(以下简称“Goldentech”)由一群来自顶尖学术机构的半导体专家创立。公司从成立之初就专注于研发高性能的离散半导体器件,特别是针对当时迅速发展的移动通信市场。Goldentech的创新团队成功开发出了一种新型的低功耗、高频率的晶体管,这一技术突破迅速吸引了多家手机制造商的注意。凭借这一技术优势,Goldentech在短时间内成为移动通信领域离散半导体器件的主要供应商之一,推动了公司业务的快速增长。

Hi-Tech Resistors Pvt Ltd公司的发展小趣事

随着物联网、可穿戴设备等新兴领域的兴起,Goldentech敏锐地捕捉到了市场的新机遇。公司迅速调整战略方向,加大在微型化、低功耗半导体器件的研发投入。通过引入先进的制造工艺和封装技术,Goldentech成功推出了一系列适用于物联网和可穿戴设备的高性能离散半导体产品。这些产品凭借出色的性能和稳定性,在市场中获得了广泛认可,为公司的持续发展注入了新的动力。

GS Yuasa Battery Sales UK Ltd.公司的发展小趣事

为了进一步提升国际竞争力,Goldentech制定了明确的国际化战略。公司通过设立海外研发中心、销售网络和服务中心,加强与国际市场的联系和沟通。同时,Goldentech还积极参与国际标准的制定和推广工作,提升其在全球半导体行业的话语权和影响力。经过多年的努力,Goldentech已经成功在多个国家和地区建立了完善的业务体系和服务网络,为全球客户提供更加便捷、高效的服务和支持。

问答坊 | AI 解惑

别让你的简历15秒后被扔掉

今天帮公司筛选简历,感受颇多!我所在的是一家大型企业。从收到的简历数量可以看出来 1200+份简历,从中选出150+份进行笔试。   比例:8选1  机缘凑巧去帮老总们筛选简历,感受颇多。   觉得有必要跟还在找工作的师弟师妹们说说一些需要注 ...…

查看全部问答>

求助 :最近学习uc/os-ii 用的任哲写的《嵌入式实时操作系统uc/os-ii原理及应用》编译无法通过

最近学习uc/os-ii  用的任哲写的《嵌入式实时操作系统uc/os-ii原理及应用》,把他书中的源码在网上找到了。书中是用的BORLAND C++ 3.1编译的,我用borland c v3.1 dos 界面下直接建立工程文件编译,可是搞了很久编译都无法通过,而且试了 ...…

查看全部问答>

求助 AT89S51与C8051F单片机有什么区别啊?(急)

   各位前辈,我是一名学生菜鸟,要用单片机做采集器,遇到了这么一个问题,AT89S51与C8051F单片机有什么区别,请各位帮忙解决,谢谢!…

查看全部问答>

EmbestSTM32板(199元)不包含的模块

8MB SPI FlashIC卡读卡控制芯片和卡座由于成本控制原因,199元销售的板子里不包含上述模块,对于此消息发布较晚,给部分网友造成了误解,我们深表歉意,希望大家能够继续给我们指正,谢谢!…

查看全部问答>

LaunchPAD新配件-音频电容触摸套件

C5000音频电容触摸套件套件具体指标如下:MP3 Encode & DecodeSD Card File SystemUSB Mass Storage ClassOLED, CodecUART client interface可使用该套件配合launchpad制作音乐播放器:MP3 PlayerVoice RecorderFire Alarm – MSP430 detects tem ...…

查看全部问答>

MSP430 LaunchPad学习笔记之uart

一、摘要本应用报告介绍了如何使用Timer_A实现UART功能。该包括例子是专门为MSP430x11x家庭,但他们能适应任何MSP430家族成员纳入Timer_A。使用硬件UART的功能在Timer_A功能和软件。执行是半双工的,事件驱动,它支持的8N1波特率协议从1200到115200 ...…

查看全部问答>

MSP430F149的定时器A的连续计数模式的CCR0

MSP430F149的定时器A的连续计数模式的CCR0的作用?增计数模式是从0增加到CCR0就复位,增减计数模式是从0增加到CCR0,在减到0。可是连续计数模式呢?CCR0的作用?…

查看全部问答>

ADI 技术指南合集 第一版 电路仿真和 PCB 设计

ADI 技术指南合集  第一版  电路仿真和 PCB 设计 …

查看全部问答>

大学堂新课上线:《 CC1120 Sub1G 开发套件动手实践》

大学堂有新课程上线啦! 《 CC1120 Sub1G 开发套件动手实践》:https://www.eeworld.com.cn/training/2014/wuxian_0117/382.html 该视频系列基于芯威科技CC1120开发套件,演示了如何使用SmartRF控制软件实现简单的数据包收发,如何理解和 ...…

查看全部问答>

【已出】出港版ipad mini2 16G

本帖最后由 shower.xu 于 2014-1-24 11:03 编辑 港版ipad mini2 16G,2300未拆封,包邮顺丰。支付宝交易。 …

查看全部问答>