当前位置: 首页 > news >正文

网站后台不显示验证码网站建设 云南

网站后台不显示验证码,网站建设 云南,小程序公司排名前十,天津南开做网站物联网控制算法 PID控制算法 什么是PID控制#xff0c;PID控制的含义#xff1f; 在工业生产控制中#xff0c;对于偏差#xff0c;用比例#xff0c;积分和微分的适当组合形式来反映#xff0c;形成适当的控制算法来实现控制目的的控制方法#xff0c;称为PID控制。 …物联网控制算法 PID控制算法 什么是PID控制PID控制的含义 在工业生产控制中对于偏差用比例积分和微分的适当组合形式来反映形成适当的控制算法来实现控制目的的控制方法称为PID控制。 P、I、D的意义和作用 P: proportional 比例的比例系数 I :i ntegral 积分的积分时间 D: differential 微分的微分时间 在实际应用中常根据对象的特征和控制要求将比例积分微分基本控制规律进行适当组合以达到对被控对象进行有效控制的目的。 数字化公式和程序实现 在模拟系统中PID算法的表达式 P ( t ) K p [ e ( t ) 1 T I ∫ e ( t ) d t T D d e ( t ) d t ] P(t)K_p[e(t)\frac{1}{T_I}\int{e(t)dt}\frac{T_Dde(t)}{dt}] P(t)Kp​[e(t)TI​1​∫e(t)dtdtTD​de(t)​] P ( t ) P(t) P(t)调节器输出 e ( t ) e(t) e(t)调节器的偏差信号 K p K_p Kp​比例系数 T I T_I TI​积分时间 T D T_D TD​微分时间 位置式PID算法程序设计 按模拟PID控制算法以一系列的采样时刻点kT代表连续时间t以矩形法数值积分近似代替积分以一阶后向差分近似代替微分。将连续改为离散 得数字式的差分方程 T T T采样周期 E ( k ) E(k) E(k)第k次采样时的偏差值 E ( k − 1 ) E(k-1) E(k−1)第k-1次采样时的偏差值 k k k采样序号 P ( k ) P(k) P(k)第k次采样时的调节器输出 上式中输出值与阀门的开度的位置一一对应因此称之为位置式控制算式 将上述数字式差分方程 变换为 K P K_P KP​系数乘进去再统一修改系数 K I K_I KI​和 K D K_D KD​ 至此可明显分为P I D三项 程序设计计算流程 增量式PID算法程序设计 P ( k ) P ( k − 1 ) K P [ E ( k ) − E ( k − 1 ) ] K I E ( k ) K D [ E ( k ) − 2 E ( k − 1 ) E ( k − 2 ) ] P(k)P(k-1)K_P[E(k)-E(k-1)]K_IE(k)K_D[E(k)-2E(k-1)E(k-2)] P(k)P(k−1)KP​[E(k)−E(k−1)]KI​E(k)KD​[E(k)−2E(k−1)E(k−2)] Δ P ( k ) P ( k ) − P ( k − 1 ) K P [ E ( k ) − E ( k − 1 ) ] K I E ( k ) K D [ E ( k ) − 2 E ( k − 1 ) E ( k − 2 ) ] \Delta P(k)P(k)-P(k-1)K_P[E(k)-E(k-1)]K_IE(k)K_D[E(k)-2E(k-1)E(k-2)] ΔP(k)P(k)−P(k−1)KP​[E(k)−E(k−1)]KI​E(k)KD​[E(k)−2E(k−1)E(k−2)] K P K_P KP​比例系数 K D K P ( T D / T ) K_DK_P(T_D/T) KD​KP​(TD​/T)微分系数 K I K P ( T / T I ) K_IK_P(T/T_I) KI​KP​(T/TI​)积分系数 至此可明显分为P I D三项 即为 增量式PID程序计算流程 增量式PID与位置式PID算法比较 位置式PID算法每次的输出与整个过去状态有关容易产生较大的累积计算误差增量式PID只需计算增量计算误差或精度不足时对控制量的计算影响较小。控制从手动切换到自动时位置式PID算法必须先将计算机的输出至置为原始阀门开时才能保证无冲击切换增量式算法与原始值无关易于实现无冲击切换。 标准PID算法的改进 不足 数字控制与模拟调节器相比的不足 模拟调节器进行的控制是连续的而数字控制器采用的是采样控制在保持器作用下控制量在一个采样周期内部是变化的。由于计算的数值运算和输入输出需要一定时间控制作用在时间上有延迟。计算机的有限字长和A/D、D/A转换器的转换精度使控制有误差。 改进 微分项的改进不完全微分型PID控制算法。用实际PID环节代替理想PID环节使微分作用对于偏差的变化不会有太大的反应。微分先行输入滤波积分项的改进抗积分饱和积分限幅法积分分离法积分变速 消除积分不灵敏区 参数的确定 物联网控制技术PWM PWM控制技术 什么是脉宽调制结合采样定理理解其含义 脉宽调制PWMPulse Width Modulation是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术广泛应用在从测量、通信到功率控制与变换的许多领域中。 PWM控制技术就是对脉冲的宽度进行调制的技术即通过对一系列脉冲的宽度进行调制来等效的获得所需要的波形含形状和幅值。 采样控制理论中有一个重要结论冲量相等而形状不同的窄脉冲加在具有惯性的环节上时其效果基本相同。PWM控制技术就是以该结论为理论基础对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制既可改变逆变电路输出电压的大小也可改变输出频率。 PWM控制的基本原理 PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 PWM信号仍然是数字的因为在给定的任何时刻满幅值的直流供电要么完全有(ON)要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。 占空比 占空比是指在一个脉冲循环内通电时间相对于总时间所占的比例。 占空比(Duty Ratio)在电信领域中有如下含义 基本含义 在一段连续工作时间内脉冲占用的时间与总时间的比值。 引申义 在周期型的现象中某种现象发生后持续的时间与总时间的比。 PID与PWM控制算法应用实例 PID算法 1. PID算法实现核心 代码实现了两种PID算法 // 增量式PID int PID() {int change;err_now set - now; // 当前误差err_bef set - bef; // 上次误差err_bbef set - bbef; // 上上次误差change kp*(err_now - err_bef) ki*err_now kd*(err_now - 2*err_bef err_bbef);return change; }// 位置式PID int PID2() {static float error_add 0; // 误差累加器int num;err_now set - now; // 当前误差err_bef set - bef; // 上次误差error_add err_now; // 积分项累加num kp*err_now // 比例项ki*error_add // 积分项kd*(err_now - err_bef); // 微分项return num; }2. 控制系统的关键组件 组件功能说明代码实现反馈采集通过编码器获取电机转速GetPulse() 定时器0计数PWM输出驱动电机功率的占空比控制定时器1中断生成PWM波形PID计算根据误差计算控制量PID()或PID2()函数参数调整实时调整PID参数UP/DOWN按键修改kp,ki,kd设定值目标转速值set变量 ADD/SUB按键调整 3. PID参数整定技巧 比例系数(kp)决定系统响应速度 过大 → 超调振荡过小 → 响应迟缓 积分系数(ki)消除稳态误差 过大 → 积分饱和过小 → 静差残留 微分系数(kd)抑制超调 过大 → 响应迟钝过小 → 抑制效果差 4. 控制流程主循环 void main() {// 初始化lcd_init();timer_init();while(1) {// 1. 方向控制GORB ? ZZ : FZ; // 正转/反转// 2. 设定值调整if(ADDSPEED) set;if(SUBSPEED) set--;// 3. 采样周期控制(100ms)if(Just_Get) {GetPulse(); // 启动脉冲计数} else if(t2_over) {pulse t0_flag; // 获取100ms内脉冲数bbef bef; // 更新历史数据bef now;now pulse; // 当前转速值// 4. PID计算tpwm PID2(); // 使用位置式PID// 5. PWM使能控制set ? (TR11) : (TR10, PWM0);}// 6. 参数调整if(UP) kp;if(DOWN) kp--;} }PWM控制算法 1. PWM硬件配置 sbit PWM P1^7; // PWM输出引脚 uint tuint 65535; // 定时器最大值 uint tpwm 1; // 高电平时间决定占空比2. PWM生成机制关键中断 void timer1() interrupt 3 {if(!t1_flag) {PWM 1; // 开启高电平TH1 (tuint - tpwm)/256; // 设置高电平时间} else {PWM 0; // 开启低电平TH1 (tuint - (10000 - tpwm))/256; // 低电平时间}t1_flag !t1_flag; // 状态翻转 }3. PWM参数说明 参数值说明周期10000μs (10ms)固定不变频率100Hz周期倒数tpwm范围0-10000占空比0%-100%分辨率0.01%1/10000 4. PWM工作流程 #mermaid-svg-woexTg52i2Z7R4Zn {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-woexTg52i2Z7R4Zn .error-icon{fill:#552222;}#mermaid-svg-woexTg52i2Z7R4Zn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-woexTg52i2Z7R4Zn .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-woexTg52i2Z7R4Zn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-woexTg52i2Z7R4Zn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-woexTg52i2Z7R4Zn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-woexTg52i2Z7R4Zn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-woexTg52i2Z7R4Zn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-woexTg52i2Z7R4Zn .marker.cross{stroke:#333333;}#mermaid-svg-woexTg52i2Z7R4Zn svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-woexTg52i2Z7R4Zn .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-woexTg52i2Z7R4Zn .cluster-label text{fill:#333;}#mermaid-svg-woexTg52i2Z7R4Zn .cluster-label span{color:#333;}#mermaid-svg-woexTg52i2Z7R4Zn .label text,#mermaid-svg-woexTg52i2Z7R4Zn span{fill:#333;color:#333;}#mermaid-svg-woexTg52i2Z7R4Zn .node rect,#mermaid-svg-woexTg52i2Z7R4Zn .node circle,#mermaid-svg-woexTg52i2Z7R4Zn .node ellipse,#mermaid-svg-woexTg52i2Z7R4Zn .node polygon,#mermaid-svg-woexTg52i2Z7R4Zn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-woexTg52i2Z7R4Zn .node .label{text-align:center;}#mermaid-svg-woexTg52i2Z7R4Zn .node.clickable{cursor:pointer;}#mermaid-svg-woexTg52i2Z7R4Zn .arrowheadPath{fill:#333333;}#mermaid-svg-woexTg52i2Z7R4Zn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-woexTg52i2Z7R4Zn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-woexTg52i2Z7R4Zn .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-woexTg52i2Z7R4Zn .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-woexTg52i2Z7R4Zn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-woexTg52i2Z7R4Zn .cluster text{fill:#333;}#mermaid-svg-woexTg52i2Z7R4Zn .cluster span{color:#333;}#mermaid-svg-woexTg52i2Z7R4Zn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-woexTg52i2Z7R4Zn :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是 是 定时器1计数开始 计数达到 tuint-tpwm? 输出高电平 计数达到 tuint-10000tpwm? 输出低电平 PWM与PID的结合 1. 控制闭环结构 设定转速 → PID计算 → PWM占空比 → 电机驱动 → 实际转速 → 编码器反馈↑_________________________________________|2. PID输出转换为PWM // 主循环中 tpwm PID2(); // PID输出直接作为PWM高电平时间// 限制PWM范围防止溢出 if(tpwm 10000) tpwm 10000; if(tpwm 0) tpwm 0;3. PWM使能控制 // 当设定速度为0时关闭PWM if(set ! 0) {TR1 1; // 启动PWM定时器 } else {TR1 0; // 关闭PWM定时器PWM 0; // 确保输出低电平 }
http://www.dnsts.com.cn/news/79792.html

相关文章:

  • 可以做秋招笔试题的网站cdn加速 wordpress
  • 天河外贸型网站建设个人做网站模版是否有人买
  • 昆山网站建设网站装修网页设计网站
  • 网站结构模板怎么做微信里的网页网站链接
  • 贷款网站模版企业宣传片制作公司哪家好
  • 河南省建设工程招投标协会网站做网站比较专业的公司
  • 北京知名网站建设公司排名dw网页制作超链接
  • 班玛县网站建设公司微信扫码点餐小程序怎么做
  • 专门做图片的网站cms搭建网站是什么意思
  • 仙游住房与城乡建设局网站青岛php网站建设
  • 网站悬浮代码wordpress 网站实例
  • 别人做的网站自己想更新html首页制作
  • 阿里网站建设需要准备什么软件互联网平台
  • 西蔵自治区建设厅网站制作自己的网站需要什么材料
  • 做有声小说网站滕州建设局网站
  • 免费自己怎么注册网站天津市最新消息今天
  • 那些做电影的网站赚钱吗做淘口令网站
  • 建筑类企业网站模板网站建设合同注意点
  • 培训学校地址网站建设哪家购物网站做的好
  • 网站建设方案如何讲解网站设计与制作的基本步骤
  • 做毕业设计个人网站任务书网络营销文案策划
  • 网站备案的幕布尺寸市场营销推广方案怎么做
  • 制作app的网站wordpress多个标签
  • 凡科网站做网站多少钱深圳宣传片制作设计
  • 网站广告代理如何做如今做那些网站致富
  • 张家港企业网站设计wordpress中文企业主题
  • 徐闻网站建设公司wordpress缩略图代码
  • 昆明网站建设流程毕业设计php做网站
  • wordpress美容养生seo的描述正确
  • 做58网站空调维修接单怎么样全国集团网站建设