熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2022-8-19 13:04
正文摘要:比如給定一個(gè)值200 從0緩慢升到200。不是突變直接給200。下次這個(gè)值又是100,200又平穩(wěn)緩慢的降到100....等。好像電容充放電特性。請(qǐng)問(wèn)這個(gè)程序怎么實(shí)現(xiàn) ??謝謝。 |
I/O口控制恒流源給電容器充放電時(shí)間,電容器兩端可以得到你需要的數(shù)值 |
杰西Jesse 發(fā)表于 2022-8-26 09:25 怎么弄?謝謝 |
這還不簡(jiǎn)單嗎?if可以搞定 |
當(dāng)前值跟給定值做比較,如果大就定時(shí)減,如果小就定時(shí)加,至于加減多少看你要求要怎么變了! |
用數(shù)字電位器可以搞定 |
用PWM方波輸出,從0-200 一小格一小格的加就是了。 |
WCM1998 發(fā)表于 2022-8-24 02:28 你這個(gè)就像電梯,從一樓到二樓,就是從100變到200的過(guò)程,你說(shuō)的平穩(wěn)不清楚要達(dá)到什么標(biāo)準(zhǔn),線性的加1就行了,如果像電梯一樣,到了二樓平穩(wěn)停下來(lái),正好與二樓平齊,就要用到PID算法了 |
coody_sz 發(fā)表于 2022-8-22 10:22 上升可以隔段時(shí)間加一`直到到達(dá)給定值。第二周期本次給定值小于上次給定值、哪就要從上次值降到本次給定值、該怎么做呢? |
如果你要線性變化,則隔一個(gè)時(shí)間就加減1,入股要完全像電容充放電那樣的響應(yīng),則用一階低通濾波。 |
WCM1998 發(fā)表于 2022-8-21 07:06 人家11樓的只是問(wèn)你能否做到百分比輸出,沒(méi)說(shuō)要突變。7樓也是,是你理解不了),如果你連百分比輸出都做不到,那么談何緩慢變化輸出?如果做得到,以一定的時(shí)間間隔,依次輸出百分一、百分二、百分三……,不就可以達(dá)到目的了?要是嫌棄不夠細(xì)膩,那么就百分零點(diǎn)一、百分零點(diǎn)二輸出,總會(huì)滿足你的要求的 |
yzwzfyz 發(fā)表于 2022-8-20 17:09 就是軟啟動(dòng)、值不能突變、 |
紫氣東來(lái) 發(fā)表于 2022-8-20 09:49 就緩啟動(dòng)的意思、不讓給定值突變、而是緩慢過(guò)渡到給定值 |
先不要求緩慢動(dòng)作。 你能控制輸出量嗎? 試試先做在這一點(diǎn)吧。比如: 讓輸出=100,55,0,33…… |
I/O口控制恒流源給電容器充放電時(shí)間,電容器兩端可以得到你需要的數(shù)值 |
就是產(chǎn)生一個(gè)鋸齒波吧,NE555有類(lèi)似的應(yīng)用, |
設(shè)計(jì)一個(gè)數(shù)組輸出函數(shù),在定時(shí)器里面調(diào)用即可 |
類(lèi)似于變頻器的軟啟動(dòng)功能 |
既然是類(lèi)似于電容充放電肯定有對(duì)應(yīng)的函數(shù)咯,在程序把函數(shù)寫(xiě)好,然后定時(shí)器定時(shí),按照時(shí)間給計(jì)算出相應(yīng)的值就行了。 |
電容充電,恒流 |
將變化過(guò)程量化,然后用PWM或DAC輸出,即控制各個(gè)時(shí)刻的占空比或DAC的值 |
參考PWM呼吸燈 |
在定時(shí)中斷里低通濾波吧, 把截止頻率定到你想要的帶寬就好了。 |
Powered by 單片機(jī)教程網(wǎng)