標(biāo)題: PID控制溫控器必須要PWM嗎? [打印本頁]

作者: hxdby    時(shí)間: 2022-11-18 14:52
標(biāo)題: PID控制溫控器必須要PWM嗎?
大家好,

最近在研究PID溫控器,硬件軟件都不懂,以前沒做過,沒經(jīng)驗(yàn),原理圖都是網(wǎng)上研究很久后自己畫出來的,不知道對不對。
板子現(xiàn)在已經(jīng)做出來了,最近在研究PID算法,研究了幾天,發(fā)現(xiàn)我的板子是不是做的有問題?

網(wǎng)上非常多的PID代碼都是通過PID輸出后,來控制PWM然后控制一個(gè)開關(guān)打開或關(guān)閉電熱絲,來控制溫度。我想問下必須通過PWM控制嗎?

我的板子上現(xiàn)在是單片機(jī)通過一個(gè)普通GPIO口連接到三極管,然后三極管連接到繼電器,通過GPIO口高低電平來控制繼電器通斷來打開或關(guān)閉電熱絲。

而且電熱絲也不在板子上,這個(gè)是給鍋爐廠用的,板子上只有繼電器,鍋爐那邊電熱絲連接到繼電器。
感覺這樣不關(guān)PWM什么事啊,沒理解。

我自己理解,控制PWM也就是控制占空比,也就是控制高電平打開的時(shí)間,和低電平打開的時(shí)間,我這個(gè)如果直接用GPIO輸出電平來控制繼電器,控制滿足相應(yīng)的高低電平時(shí)間是不是就可以了?

但是又碰到一個(gè)問題是,PID輸出如何和控制繼電器通斷的時(shí)間發(fā)生關(guān)聯(lián)呢?我用的是增量式PID算法。



作者: lkc8210    時(shí)間: 2022-11-18 15:46
PWM的重點(diǎn)是,在被控制件反應(yīng)過來之前完成一個(gè)周期
就是一個(gè)字:快!
當(dāng)你選用繼電器來控制輸出時(shí)
已經(jīng)失去了PWM的作用了
作者: meng312    時(shí)間: 2022-11-18 15:59
你理解的對,PWM控制的是占空比,其實(shí)也就是所謂的周期內(nèi)高電平開啟時(shí)間。PID輸出如何與繼電器通斷的時(shí)間發(fā)生關(guān)聯(lián),可以這樣理解:現(xiàn)在用50%的占空比控制繼電器工作,目標(biāo)溫度是50℃,但是目前溫度維持在45℃,這時(shí)候就要考慮增加占空比,例如增加到60%,但是過了一會(huì),發(fā)現(xiàn)溫度超出50℃了,那就說明這個(gè)占空比并不能讓加熱與散熱維持一個(gè)平衡,因此需要下調(diào)占空比,可能調(diào)節(jié)到55%,達(dá)到穩(wěn)定,這個(gè)調(diào)節(jié)的過程可以通過PID算法來實(shí)現(xiàn),通過當(dāng)前溫度與目標(biāo)溫度的差值進(jìn)行計(jì)算。
作者: 名字不是重點(diǎn)    時(shí)間: 2022-11-18 16:00
PID是調(diào)校算法,PWM是控制手段,二者無直接關(guān)聯(lián),也非硬
作者: 名字不是重點(diǎn)    時(shí)間: 2022-11-18 16:05
PID是調(diào)校算法,PWM是控制手段,2者無直接通關(guān)聯(lián)也非硬性搭配。這個(gè)可以度娘一下就明白了。
作者: Longan.Wang    時(shí)間: 2022-11-18 16:32
只要能改變發(fā)熱部件的功率就行,不管你用什么方法。PWM只是多種方法中的一種而已。!
作者: Hephaestus    時(shí)間: 2022-11-18 18:34
繼電器也就10萬次開關(guān)壽命,你用繼電器做PWM肯定活不過調(diào)試周期。
作者: hxdby    時(shí)間: 2022-11-18 19:25
Hephaestus 發(fā)表于 2022-11-18 18:34
繼電器也就10萬次開關(guān)壽命,你用繼電器做PWM肯定活不過調(diào)試周期。

我這個(gè)對精度要求不高,是工業(yè)上鍋爐用的,我想用PWM也用不了,因?yàn)槿思义仩t那邊加熱棒根本沒PWM控制,是直接加電斷電控制的,簡單粗暴。所以只能用繼電器了,
作者: hxdby    時(shí)間: 2022-11-18 19:30
meng312 發(fā)表于 2022-11-18 15:59
你理解的對,PWM控制的是占空比,其實(shí)也就是所謂的周期內(nèi)高電平開啟時(shí)間。PID輸出如何與繼電器通斷的時(shí)間發(fā) ...

這種原理我是理解的,關(guān)鍵是PID輸出的是溫度的偏差量,而控制繼電器需要的是打開和關(guān)閉的時(shí)間,我現(xiàn)在的疑問是,怎么把偏差量和控制時(shí)間建立關(guān)聯(lián)?
作者: Hephaestus    時(shí)間: 2022-11-18 19:33
hxdby 發(fā)表于 2022-11-18 19:25
我這個(gè)對精度要求不高,是工業(yè)上鍋爐用的,我想用PWM也用不了,因?yàn)槿思义仩t那邊加熱棒根本沒PWM控制,是 ...

用觸發(fā)變壓器+可控硅控制啊,控制半波個(gè)數(shù)。
作者: hxdby    時(shí)間: 2022-11-18 19:53
Hephaestus 發(fā)表于 2022-11-18 19:33
用觸發(fā)變壓器+可控硅控制啊,控制半波個(gè)數(shù)。

其實(shí)我這板子是抄別人的,我買了一塊用量非常大的工業(yè)溫控器核心板,我看他板子上就是用了一個(gè)普通繼電器,沒什么特別的東西,所以我也跟著用了繼電器。
作者: 啤酒瓶子老大    時(shí)間: 2022-11-20 01:12
簡單粗暴就用簡單粗暴的方法,直接控制繼電器的時(shí)間。比如開啟1分鐘,停止1分鐘,這樣假設(shè)就是占空比是50%。然后調(diào)節(jié)開啟的時(shí)間和關(guān)閉的時(shí)間唄。
如果電爐功率很大,可以參考用繼電器控制時(shí)間的方法。畢竟開啟一次怎么的也得幾分鐘。要不溫度肯定到不了啊。如果電爐功率不大,可以用可控硅的方式。控制導(dǎo)通角也是控制時(shí)間,控制曲線相對平滑了很多。
作者: Hephaestus    時(shí)間: 2022-11-20 03:06
hxdby 發(fā)表于 2022-11-18 19:53
其實(shí)我這板子是抄別人的,我買了一塊用量非常大的工業(yè)溫控器核心板,我看他板子上就是用了一個(gè)普通繼電器 ...

你的板子肯定不是PWM,應(yīng)該是上下限bang-bang控制,超過上限停止,低于下限開始,真要是PWM你的繼電器根本活不過三天。
作者: 微微人生    時(shí)間: 2022-11-20 12:38
繼電器控制和PWM控制沒區(qū)別,只是看軟件怎么寫就好
鍋爐,很大,用繼電器也可以了,控制加熱和斷開時(shí)間,比如,加熱五分鐘,關(guān)閉五分鐘,就是占空比五十了
還有個(gè)辦法,就是看下鍋爐得電加熱結(jié)構(gòu),大型得鍋爐,都是幾個(gè)加熱管并聯(lián)加熱得,一個(gè)加熱管有時(shí)都是三個(gè)加熱管合并組成得
可以考慮給每個(gè)加熱管單獨(dú)用繼電器控制,這樣就不用改造過濾
又能實(shí)現(xiàn)PWM得效果,分開控制各個(gè)管子得加熱時(shí)間,就可以實(shí)現(xiàn)PWM得效果,
配合PID,計(jì)算需要加熱得百分比,用時(shí)間和加熱棒得數(shù)量,共同去控制實(shí)現(xiàn)
作者: Y_G_G    時(shí)間: 2022-11-21 17:15
鍋爐控制就是一個(gè)上限和一個(gè)下限開關(guān)控制,沒有PWM的,也沒有什么PID的
繼電器肯定是用不了PID的,小電流繼電器10萬次左右的開關(guān)壽命
大電流就一更少了,用不了幾天,你繼電器就壞了
作者: weirocg    時(shí)間: 2022-11-22 12:48
用繼電器還是PWM主要取決于精度要求,再來的是產(chǎn)品功能品質(zhì)定位
作者: hxdby    時(shí)間: 2022-11-23 20:54
Y_G_G 發(fā)表于 2022-11-21 17:15
鍋爐控制就是一個(gè)上限和一個(gè)下限開關(guān)控制,沒有PWM的,也沒有什么PID的
繼電器肯定是用不了PID的,小電流繼電 ...

確定嗎?我買的板子,人家說明書清楚清楚寫的就是PID算法控制,比例,積分,微分時(shí)間都可以設(shè)定,還有AT自整定功能。板子上就是普通繼電器,型號(hào)我都查過了。這里的PWM也許不是你理解的那種PWM,可能是一個(gè)周期非常長的PWM
作者: hxdby    時(shí)間: 2022-11-23 20:57
Hephaestus 發(fā)表于 2022-11-20 03:06
你的板子肯定不是PWM,應(yīng)該是上下限bang-bang控制,超過上限停止,低于下限開始,真要是PWM你的繼電器根 ...

是不是PWM不知道,但是確實(shí)機(jī)械式繼電器+PID算法控制,如果是上限停止,下限開始,那應(yīng)該和PID沒什么關(guān)系,但是看他們的說明書,人家寫的就是PID算法,比例,積分,微分時(shí)間都可以設(shè)定,還帶自整定功能。
作者: hxdby    時(shí)間: 2022-11-23 21:19
Y_G_G 發(fā)表于 2022-11-21 17:15
鍋爐控制就是一個(gè)上限和一個(gè)下限開關(guān)控制,沒有PWM的,也沒有什么PID的
繼電器肯定是用不了PID的,小電流繼電 ...

你是自己做過還是憑自己想象????我是買了別人的板子,就是繼電器+PID做的,比例積分微分都可以調(diào)節(jié),還有自整定功能。而且買了的板子不是別人DIY產(chǎn)品,是實(shí)實(shí)在在的量產(chǎn)定制產(chǎn)品,大量工廠在用的,我們的客戶也在用這個(gè)板子,現(xiàn)在就是幫客戶仿制這個(gè)板。

我還是需要做過工業(yè)溫控器的人的建議,而不是一堆靠想象的在那里發(fā)言的
作者: hxdby    時(shí)間: 2022-11-23 21:19
Hephaestus 發(fā)表于 2022-11-20 03:06
你的板子肯定不是PWM,應(yīng)該是上下限bang-bang控制,超過上限停止,低于下限開始,真要是PWM你的繼電器根 ...

你是自己做過還是憑自己想象????我是買了別人的板子,就是繼電器+PID做的,比例積分微分都可以調(diào)節(jié),還有自整定功能。而且買了的板子不是別人DIY產(chǎn)品,是實(shí)實(shí)在在的量產(chǎn)定制產(chǎn)品,大量工廠在用的,我們的客戶也在用這個(gè)板子,現(xiàn)在就是幫客戶仿制這個(gè)板。

我還是需要做過工業(yè)溫控器的人的建議,而不是一堆靠想象的在那里發(fā)言的
作者: Hephaestus    時(shí)間: 2022-11-24 00:10
hxdby 發(fā)表于 2022-11-23 20:57
是不是PWM不知道,但是確實(shí)機(jī)械式繼電器+PID算法控制,如果是上限停止,下限開始,那應(yīng)該和PID沒什么關(guān)系 ...

說明書有沒有寫這個(gè)控制器的壽命是幾天?
作者: 1314520jieber    時(shí)間: 2022-11-24 10:33
PID配PWM的好處是可以把控制精度做到精細(xì)化,繼電器的響應(yīng)和壽命達(dá)不到要求,至于說是否剛需,真不是
作者: hxdby    時(shí)間: 2022-11-24 10:47
Hephaestus 發(fā)表于 2022-11-24 00:10
說明書有沒有寫這個(gè)控制器的壽命是幾天?

寫過,一天。你沒做過憑想象和我在這死磕啥呢???我是買了別人的板子,而且我的客戶他們用的也是這個(gè)板子,客戶也給我寄過板子,我拆開研究過,不需要你在這里憑想象胡說八道。你啥都沒做,在這里胡說啥呢?我從其他做過工業(yè)溫控的大廠那里了解到,繼電器+PID是完全可行的,你不需要再回復(fù)我了,啥都不懂,在那里死磕,鄙視你
作者: TTQ001    時(shí)間: 2022-11-25 02:03
PID算法是反饋控制的方法,PWM是實(shí)現(xiàn)PID結(jié)果輸出的眾多方法之一。
作者: Y_G_G    時(shí)間: 2022-11-25 09:02
hxdby 發(fā)表于 2022-11-23 21:19
你是自己做過還是憑自己想象????我是買了別人的板子,就是繼電器+PID做的,比例積分微分都可以調(diào)節(jié), ...

就按0.1HZ來算,一個(gè)小時(shí)就是360次的開關(guān),一天就是360*24=8640次開關(guān)
如果是大電流,5A以上,不到十天,這個(gè)繼電器就開始接觸不良了
當(dāng)然,你也可以反問我"你怎么知道一個(gè)繼電器的壽命只有幾萬次有開關(guān)而已,你是自己做過還是憑自己想象?"
那我沒話說了
一個(gè)PWM的周期10秒,我不認(rèn)為,這還叫PWM,你非得覺得這是PWM,那就是了,不跟爭
作者: aayon1979    時(shí)間: 2022-11-25 14:36
PWM用的人多吧,能得到大家都用的方法就是好方法
作者: hxdby    時(shí)間: 2022-11-25 21:45
Y_G_G 發(fā)表于 2022-11-25 09:02
就按0.1HZ來算,一個(gè)小時(shí)就是360次的開關(guān),一天就是360*24=8640次開關(guān)
如果是大電流,5A以上,不到十天,這個(gè) ...

其實(shí)這個(gè)問題我也是一直不理解的,我確實(shí)拿到的板子就是普通繼電器+PID控制的,而且客戶用了好幾年了,沒啥問題,客戶還寄了一套板子給我研究,我們是打算仿制他們的板子,全套資料都拿到了。從理論上分析,繼電器確實(shí)不適合PID,但我真的不理解他們是怎么用PID控制繼電器不出問題的。

溫控是大慣性滯后系統(tǒng),按照60s的控制周期來算,一年繼電器也要開關(guān)接近30萬次了。所以為了安全起見,我把方案換成可控硅控制了,我之前用的繼電器是4塊多一個(gè),發(fā)現(xiàn)可控硅更便宜,外加一個(gè)光耦也才3快多。

感謝以上回復(fù)過的朋友們的幫助,后面就開始研究單片機(jī)控制可控硅了。
作者: Hephaestus    時(shí)間: 2022-11-26 01:01
曾經(jīng)有個(gè)項(xiàng)目,客戶要求26萬次全使用周期壽命試驗(yàn),我自己打了測試臺(tái),一共使用了3套繼電器,每套用到10萬次就完蛋了,簧片酥掉了,明顯的金屬疲勞問題。

就這這還是小信號(hào),沒有大電流,只測試了簧片的壽命,如果大電流,測試的是觸點(diǎn)的壽命,很可能遠(yuǎn)遠(yuǎn)不到10萬次。樓主無知我也就是原諒了,如此大言不慚只能讓人笑掉大牙。
作者: xo37    時(shí)間: 2022-11-26 07:31
pid 溫控加熱 一般是以下幾種情況:
1. 開關(guān)量控制:中間繼電器、固態(tài)繼電器等,這個(gè)是靠導(dǎo)通時(shí)長 & 斷電時(shí)長來控制的;
    一般來說,這個(gè)情況下溫控精度不會(huì)太高,因?yàn)榧訜峁芤慈_,要么全關(guān);
    另外,這個(gè)工況下,建議采用無物理觸點(diǎn)的固態(tài)繼電器,其他繼電器壽命是個(gè)問題;
2. PWM控制:可控硅,這個(gè)情況下,通過PWM控制可控硅,從而控制加熱管的加熱功率大小;
   這個(gè)工況下,理論精度比上種高;
作者: hxdby    時(shí)間: 2022-11-26 08:45
xo37 發(fā)表于 2022-11-26 07:31
pid 溫控加熱 一般是以下幾種情況:
1. 開關(guān)量控制:中間繼電器、固態(tài)繼電器等,這個(gè)是靠導(dǎo)通時(shí)長 & 斷電 ...

是的,我的比較簡單,是屬于第一種,全開或全關(guān)的,靠定時(shí)器模擬一個(gè)類似PWM的信號(hào),然后根據(jù)PID計(jì)算出的占空比來控制繼電器開或關(guān),不過計(jì)算出的占空比就是時(shí)間了,比如我設(shè)置的PWM周期是60s,就根據(jù)占空比來計(jì)算60s的百分比來開多長時(shí)間,關(guān)多長時(shí)間
作者: hxdby    時(shí)間: 2022-11-26 08:57
Hephaestus 發(fā)表于 2022-11-26 01:01
曾經(jīng)有個(gè)項(xiàng)目,客戶要求26萬次全使用周期壽命試驗(yàn),我自己打了測試臺(tái),一共使用了3套繼電器,每套用到10萬 ...

確實(shí)不太懂,這個(gè)是事實(shí),所以需要學(xué)習(xí),也就是跟著論壇里的前輩們多學(xué)習(xí),感謝你們的幫助和回復(fù)!
作者: Y_G_G    時(shí)間: 2022-11-26 12:37
hxdby 發(fā)表于 2022-11-25 21:45
其實(shí)這個(gè)問題我也是一直不理解的,我確實(shí)拿到的板子就是普通繼電器+PID控制的,而且客戶用了好幾年了,沒 ...

如果要精確,你還得加一個(gè)過零檢測電路
如果要求不高,不用過零也行,但PWM頻率就得很低,5HZ控制也差不多,我以前做過一個(gè)電烙鐵,就是沒有過零,PWM就是5HZ,用著感覺也行
作者: hxdby    時(shí)間: 2022-11-26 12:53
Y_G_G 發(fā)表于 2022-11-26 12:37
如果要精確,你還得加一個(gè)過零檢測電路
如果要求不高,不用過零也行,但PWM頻率就得很低,5HZ控制也差不多, ...

我現(xiàn)在是用moc3063過零檢測光耦,加上BT137可控硅,關(guān)斷時(shí),如果不在零點(diǎn),最大有半波周期的延遲,大概也就10ms,我的溫控系統(tǒng)PWM控制周期是60s,最小可控硅控制周期是3s,所以10ms的延遲可以忽略了,直接單片機(jī)IO控制光耦的高低電平就行了
作者: Y_G_G    時(shí)間: 2022-11-27 12:37
hxdby 發(fā)表于 2022-11-26 12:53
我現(xiàn)在是用moc3063過零檢測光耦,加上BT137可控硅,關(guān)斷時(shí),如果不在零點(diǎn),最大有半波周期的延遲,大概也 ...

PWM控制周期是60s
這是什么意思?PWM周期60S嗎?
如果是這樣,這PID還有用嗎?積分項(xiàng)得多久才能發(fā)揮主要作用呀?
作者: hxdby    時(shí)間: 2022-12-6 11:53
Y_G_G 發(fā)表于 2022-11-27 12:37
PWM控制周期是60s
這是什么意思?PWM周期60S嗎?
如果是這樣,這PID還有用嗎?積分項(xiàng)得多久才能發(fā)揮主要作 ...

是的,初步定為60s,因?yàn)槟莻(gè)溫度升溫很慢,大概1分鐘升溫1℃,所以初步定60s, 具體還要去現(xiàn)場調(diào)試的
作者: zgrfox110    時(shí)間: 2022-12-8 17:17
hxdby 發(fā)表于 2022-11-23 21:19
你是自己做過還是憑自己想象????我是買了別人的板子,就是繼電器+PID做的,比例積分微分都可以調(diào)節(jié), ...

小的反應(yīng)快的用PWM控制,大的反應(yīng)慢的,就用繼電器也行,比如每個(gè)周期100秒,控制繼電器導(dǎo)通時(shí)間在0-100秒控制控制就行,按照0-100%來輸出!按照時(shí)間計(jì)算繼電器動(dòng)作次數(shù),大概的使用時(shí)間!當(dāng)然,要加熱物體要大,不能一加熱就過了!不要聽他們說必須干啥干啥!如果工廠間歇使用,沒問題,如果是連續(xù)使用,要考慮使用時(shí)間,或者是維修成本!
作者: guobaox1981    時(shí)間: 2022-12-8 20:20
樓主說的情況,我覺得首先成品板繼電器動(dòng)作頻率沒那么夸張。根本不是常規(guī)意義上的固定周期PWM。鍋爐溫控是一個(gè)大慣量系統(tǒng)。也不需要太高精度,就算是使用PID+PWM控制控制曲線也不見得很理想。
  成品板使用的比例,積分,微分參數(shù),我認(rèn)為可以從這個(gè)思路出發(fā),內(nèi)部定義一個(gè)PID輸出偏差上下限,溫度PID計(jì)算后控制值與上下限比較,大就打開繼電器。然后控制值換算成繼電器接通時(shí)間。定期更新清零。小于下限關(guān)閉繼電器,控制值換算成停止時(shí)間。實(shí)現(xiàn)繼電器接通和關(guān)閉時(shí)間動(dòng)態(tài)調(diào)整。由于鍋爐溫控是大慣量系統(tǒng)繼電器開關(guān)周期可以幾分鐘到幾十分鐘。繼電器壽命完全沒問題。
   PID參數(shù)方面比例占比大也就溫度偏差值啟動(dòng)繼電器,比如說比例小溫度偏小10度啟動(dòng),大10度關(guān)閉。比例值大偏差2度啟停。積分時(shí)間會(huì)比較長秒-小時(shí)。微分也比較長。
作者: coody_sz    時(shí)間: 2022-12-9 16:18
繼電器輸出的溫控器就不用常規(guī)意義上的PWM,但是其控制原理還是類似的,很慢的PWM而已。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1