PID控制是最早发展起来的控制策略之一,是迄今为止最通用的控制方法。
目前大多数工业控制回路仍然应用着PID控制器或改进型PID控制器。
在PID控制中,控制效果的好坏完全取决于PID参数的整定与优化。
普通的PID控制在控制基本线性和动念特性不随时间变化的系统上控制效果不错,但是在控制非线性、时变的系统时,控制效果往往不佳。
温度控制具有非线性、大滞后、大惯性、时变性、升温单向性等特点,因此传统的PID控制无法对其实现有效的控制,智能PID开始应用于温度控制系统。
随着计算机技术和智能计算理论的发展,智能控制理论正越来越多的应用于PID控制器的功能改进中去。
模糊控制和神经网络各有优点,两者都能对PID控制器参数进行整定与优化,提高了PID控制器的控制功能。
  本文将模糊控制与神经网络结合起来,组成模糊神经网络对PID三个参数进行整定与优化,设计出了一种模糊神经网络PID控制器结构,在此基础上以DSP为处理器实现了具有自整定功能的PID温度控制系统。
系统主要包括:电源模块,采用TPS76833芯片进行电源转换;
温度电压测量模块,采用Ptl00温度传感器及其相应的测量电桥进行温度电压采集,应用DSP的模数转换单元将模拟量转换为数字量;
人机交互模块,运用DSP的I/O模块设计出一套键盘作为输入,LCD显示器采用点阵式液晶显示器MG.12232,与PC机的交互方面,采用支持RS.232标准的MAX一232作为驱动芯片,驱动DSP与PC机的串行通信;
温度控制模块采用控制量控制PWM波占空比信号的策略,输出占空比信号来控制功率模块的导通,达到控制温度的目的。
最后设计并实现了基于自整定PID控制器的温度控制系统的主要程序。
2020/6/3 4:32:06 3.01MB 控制器/处理器
1
关于Proteus仿真ADC0809,说明以下几点:1、在Proteus中,ADC0809是不可仿真的。
但可以用ADC0808代替ADC0809进行仿真。
ADC0808与ADC0809有相同的引脚,功能极为相似。
在Proteus中,可以认为:ADC0808就是ADC0809。
2、说明几个关键引脚的输出信号:1)OE数据输出允许信号,高电屏有效(意思就是,当OE接高电屏时才允许将转换后的结果从ADC0808的OUT1~OUT8引脚输出,否则,在内部锁存)。
2)ADC0808的ALE信号(22引脚),以及START信号(6引脚)ALE称为“地址锁存允许信号”,高电屏有效。
就是说:ALE=1时,允许将ADDA~ADDC的地址输入到ADC0808的内部译码器,经过译码后选定外部模拟量的输入通道。
START信号,这是一个必须重点掌握的信号,向START送入一个高脉冲,其上升沿使ADC0808内部的“逐次逼近寄存器SAR”复位,其下降沿可以*启动A/D转换,并同时使EOC引脚为低电平*(两个*之间的内容必须牢记!)。
应注意到:ALE是高电屏有效,而START的有效部分只是上升沿和下降沿,所以在连接电路时可以将ALE信号与START信号连接到一起,使它们在同一个脉冲上各取所需。
3)EOCAD转换结束的标志信号,在AD转换结束时成现高电屏。
不能通过以下方式使EOC恢复低电屏:假设EOC连到P1.0口上,企图通过CLRP1.0使EOC恢复低电屏是不可行的。
在Proteus仿真时,会出现黄色信号,表示短路。
在实际当中,短路是非常可怕的事情。
千万注意:EOC是靠START的下降沿清零的!4)在Proteus中,ADC0808的时钟信号要用DCLOCK产生(应该知道啥是DCLOCK吧?),因为在Proteus仿真中,当不外接扩展ROM时,单片机的ALE信号(注意,不是ADC0808的ALE信号!)在Proteus仿真中不会出现,因此即使外接74LS74作分频也不会得到时钟信号。
发点牢骚:很多高校都以ADC0809作为AD转换的代表芯片来讲解,但却不细说其工作过程和工作原理。
我们杨红梅老师上课这样说的:“当程序执行到MOVX@DPTR,A的时候,会启动AD转换”。
我不理解为什么执行到这里就启动AD转换了,于是说道:“老师,这里我不理解。
”作为一名十分有责任感的副教授,她是这样回答的:“就是执行到这里就启动了,你还想理解到什么程度?”……令我实在无语。
于是我到校图书馆翻阅了一些相关的高校教材,其各书所述大同小异,也没什么收获,现在的高校教材呀!不得不令人怀疑有抄袭之嫌。
后来,在清华大学出版社出版的《单片机原理与应用及C51程序设计》一书中获得了一些启发,又亲身动手做了仿真,才略懂一二。
对于希望学好单片机的同仁,我有一点小常识奉送,就是:务必学会读懂时序图,即使老师上课不讲,自己也要自学,并学会。
我写的这个程序极其短小,重点在于使读者通过仿真控制理解上述关键信号的作用,进而理解ADC0808的工作过程和工作原理。
为了减少赘余,突出重点,并没有用单片机对AD转换后的数字信号行处理,而是通过ADC0808的OUT1~OUT8引脚直接输出。
希望看过此例的同仁能通过此例真正学懂ADC0808(也即是:ADC0809)。
相关的时序图,百度上有丰富的资源,在这里就不赘赠了,请见谅。
2016/5/5 21:26:50 37KB Proteus AD转换 单片机
1
欧姆龙PLC中模拟量指令引见,和工程量的转换实现方法。
和程序的编写。
2019/7/25 20:17:42 244KB 欧姆龙 模拟量
1
松下PLC功能:3001步以上基本指令0.58μs/步;
多功能:继电器+晶体管混合型输出,可对应多种需求。
脉冲输出最大50KHz×2CH,高速计数最大50KHz×4CH。
内置2CH模拟量输入(电压、电位器、热敏电阻输入可选)。
(内置日历时钟(※2)配备编程口(RS232C),COM口(RS485)。
(※3)程序容量:L14R/L30R2.5K步;
L40R/L60R/L40MR/L60MR8K步低价格:高性价比设计,在满足客户需求的前提下,最大限度的为客户降低成本。
I/O点数最大216点一台控制单元最多可连续扩展3台FPX的扩展单元,如果想进一步扩展的话,还可利用FP0扩展单元进行扩展
2015/5/25 18:39:52 13KB 松下PLC 232通讯
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡