標(biāo)題: 請教讓一個(gè)值平穩(wěn)緩升緩降(像電容充放電一樣) [打印本頁]

作者: WCM1998    時(shí)間: 2022-8-19 13:04
標(biāo)題: 請教讓一個(gè)值平穩(wěn)緩升緩降(像電容充放電一樣)
比如給定一個(gè)值200 從0緩慢升到200。不是突變直接給200。下次這個(gè)值又是100,200又平穩(wěn)緩慢的降到100....等。好像電容充放電特性。請問這個(gè)程序怎么實(shí)現(xiàn) ??謝謝。


作者: abob    時(shí)間: 2022-8-19 18:31
在定時(shí)中斷里低通濾波吧, 把截止頻率定到你想要的帶寬就好了。
作者: wulin    時(shí)間: 2022-8-19 21:25
參考PWM呼吸燈
作者: 一事無成    時(shí)間: 2022-8-20 02:05
將變化過程量化,然后用PWM或DAC輸出,即控制各個(gè)時(shí)刻的占空比或DAC的值
作者: nelsonzhang    時(shí)間: 2022-8-20 09:03
電容充電,恒流
作者: 小黑屋525    時(shí)間: 2022-8-20 09:11
既然是類似于電容充放電肯定有對應(yīng)的函數(shù)咯,在程序把函數(shù)寫好,然后定時(shí)器定時(shí),按照時(shí)間給計(jì)算出相應(yīng)的值就行了。
作者: 紫氣東來    時(shí)間: 2022-8-20 09:49
類似于變頻器的軟啟動(dòng)功能
作者: zddsh    時(shí)間: 2022-8-20 11:00
設(shè)計(jì)一個(gè)數(shù)組輸出函數(shù),在定時(shí)器里面調(diào)用即可
作者: nanfuB    時(shí)間: 2022-8-20 11:22
就是產(chǎn)生一個(gè)鋸齒波吧,NE555有類似的應(yīng)用,
作者: 老愚童63    時(shí)間: 2022-8-20 16:33
I/O口控制恒流源給電容器充放電時(shí)間,電容器兩端可以得到你需要的數(shù)值
作者: yzwzfyz    時(shí)間: 2022-8-20 17:09
先不要求緩慢動(dòng)作。
你能控制輸出量嗎?
試試先做在這一點(diǎn)吧。比如:
讓輸出=100,55,0,33……
作者: WCM1998    時(shí)間: 2022-8-21 07:04
紫氣東來 發(fā)表于 2022-8-20 09:49
類似于變頻器的軟啟動(dòng)功能

就緩啟動(dòng)的意思、不讓給定值突變、而是緩慢過渡到給定值
作者: WCM1998    時(shí)間: 2022-8-21 07:06
yzwzfyz 發(fā)表于 2022-8-20 17:09
先不要求緩慢動(dòng)作。
你能控制輸出量嗎?
試試先做在這一點(diǎn)吧。比如:

就是軟啟動(dòng)、值不能突變、
作者: hhdsdy    時(shí)間: 2022-8-21 09:09
WCM1998 發(fā)表于 2022-8-21 07:06
就是軟啟動(dòng)、值不能突變、

人家11樓的只是問你能否做到百分比輸出,沒說要突變啊(7樓也是,是你理解不了),如果你連百分比輸出都做不到,那么談何緩慢變化輸出?如果做得到,以一定的時(shí)間間隔,依次輸出百分一、百分二、百分三……,不就可以達(dá)到目的了?要是嫌棄不夠細(xì)膩,那么就百分零點(diǎn)一、百分零點(diǎn)二輸出,總會滿足你的要求的
作者: WCM1998    時(shí)間: 2022-8-22 10:11
hhdsdy 發(fā)表于 2022-8-21 09:09
人家11樓的只是問你能否做到百分比輸出,沒說要突變啊(7樓也是,是你理解不了),如果你連百分比輸出都 ...

就這種模式

1.JPG (23.76 KB, 下載次數(shù): 49)

1.JPG

作者: coody_sz    時(shí)間: 2022-8-22 10:22
如果你要線性變化,則隔一個(gè)時(shí)間就加減1,入股要完全像電容充放電那樣的響應(yīng),則用一階低通濾波。
作者: WCM1998    時(shí)間: 2022-8-24 02:28
coody_sz 發(fā)表于 2022-8-22 10:22
如果你要線性變化,則隔一個(gè)時(shí)間就加減1,入股要完全像電容充放電那樣的響應(yīng),則用一階低通濾波。

上升可以隔段時(shí)間加一`直到到達(dá)給定值。第二周期本次給定值小于上次給定值、哪就要從上次值降到本次給定值、該怎么做呢?

作者: c00156155    時(shí)間: 2022-8-24 08:04
WCM1998 發(fā)表于 2022-8-24 02:28
上升可以隔段時(shí)間加一`直到到達(dá)給定值。第二周期本次給定值小于上次給定值、哪就要從上次值降到本次給定 ...

你這個(gè)就像電梯,從一樓到二樓,就是從100變到200的過程,你說的平穩(wěn)不清楚要達(dá)到什么標(biāo)準(zhǔn),線性的加1就行了,如果像電梯一樣,到了二樓平穩(wěn)停下來,正好與二樓平齊,就要用到PID算法了
作者: univers    時(shí)間: 2022-8-24 11:37
用PWM方波輸出,從0-200 一小格一小格的加就是了。
作者: taotie    時(shí)間: 2022-8-24 16:58
WCM1998 發(fā)表于 2022-8-22 10:11
就這種模式

用數(shù)字電位器可以搞定
作者: hcfat51h    時(shí)間: 2022-8-25 12:13
當(dāng)前值跟給定值做比較,如果大就定時(shí)減,如果小就定時(shí)加,至于加減多少看你要求要怎么變了!
作者: taotie    時(shí)間: 2022-8-25 13:48
WCM1998 發(fā)表于 2022-8-22 10:11
就這種模式



作者: 杰西Jesse    時(shí)間: 2022-8-26 09:25
這還不簡單嗎?if可以搞定
作者: WCM1998    時(shí)間: 2022-9-27 15:33
杰西Jesse 發(fā)表于 2022-8-26 09:25
這還不簡單嗎?if可以搞定

怎么弄?謝謝
作者: 1670238584    時(shí)間: 2022-10-11 20:17
I/O口控制恒流源給電容器充放電時(shí)間,電容器兩端可以得到你需要的數(shù)值




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