久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2112|回復: 3
收起左側

關于PID算法程序參數理解的疑問

[復制鏈接]
ID:771581 發表于 2020-6-7 13:19 | 顯示全部樓層 |閱讀模式
最近在看PID相關文檔時,一直想不明白一個問題,希望論壇的朋友幫幫忙。

使用PID算法計算出來的結果,與控制量怎么聯系起來?
比如我用PWM控制無刷電機,目前是控制在1萬轉,引用PID算法計算出來一個變量PID_output,控制PWM的占空比用PWM_value寫入單片機寄存器,這兩個變量怎么關聯起來呢?

我看別人的程序是這樣的
if (PID_output > PWM_max)
     PWM_value = PWM_max;
else if (PID_output < 0)
     PWM_value = 0;
else
     PWM_value = PID_output;

為什么PWM_value = PID_output呢,我不理解是因為PWM_value是有范圍的,比如0~1024,而PID_output 可能很大或很小,與PID參數和目標值1萬轉等有關,那計算結果PID_output可能會一直是很大的值或負數,遠遠超出PWM_value的范圍。

回復

使用道具 舉報

ID:123289 發表于 2020-6-8 10:50 | 顯示全部樓層
PID算法計算出來一個變量PID_output,不是一個定值,它是會變的。
PID的穩態輸出,原則是,當設定值與目標值(采樣)一樣時,保持當前的輸出值不變。
否則就將輸出,反向增減。
PID的算法,與歷史采樣記錄都相關。你的程序中提到的,不屬于PID計算方式。
回復

使用道具 舉報

ID:311846 發表于 2020-6-8 16:23 | 顯示全部樓層
你所復制出來的是計算過后的結果,不是PID計算的過程,PID_output是會變動的,你這個計算后限制PID_output輸出的最大值和最小值。
if (PID_output > PWM_max)//限制上限
     PWM_value = PWM_max;
else if (PID_output < 0)//限制下限
     PWM_value = 0;
else
     PWM_value = PID_output;//容許范圍內才能賦值給PWM
回復

使用道具 舉報

ID:450608 發表于 2020-6-10 13:12 | 顯示全部樓層
除了 PWM_value的值有范圍限制之外,積分部分的值因為每次計算后都會保存,它的取值范圍也應該和 PWM_value的取值范圍相同,這樣就不會出現你說的情況了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久青草婷婷精品综合日韩 | 麻豆视频在线免费看 | 久久99一区二区 | www.久久99| 久久精品国产亚洲 | 国精产品一品二品国精在线观看 | 日韩一区二区在线视频 | aaa大片免费观看 | 国产精品久久久久久久久婷婷 | 91在线看网站 | jⅰzz亚洲| 一区二区三区四区在线 | 亚洲精品在线免费观看视频 | 日本三级在线 | 久久99久久久久 | 色资源在线观看 | 国产欧美一区二区三区久久 | 日产精品久久久一区二区福利 | 亚洲精品自在在线观看 | 中文字幕在线观看一区二区 | 色综合色综合色综合 | 亚洲喷水| 久久亚洲天堂 | 91亚洲国产精品 | 伊人久久大香线 | 久久久久国产一区二区三区 | 国产精品美女久久久久久免费 | 交专区videossex农村 | 先锋av资源网 | 亚洲综合在线播放 | aaaa一级毛片 | 亚洲国产精品一区二区第一页 | 日韩一区二区三区视频 | 久久久久久国产精品 | 国产乱码久久久久久一区二区 | 综合久久99 | 久久久久国产一区二区三区四区 | 99re热精品视频国产免费 | 高清国产一区二区 | www.干| 国产女人叫床高潮大片免费 |