Fórum témák
» Több friss téma |
PID szabályzó nem egy egyszerű frekvencia kitöltési tényezőjének %-os változtatása.
PID egy elég bonyolult szabályzási forma Mint a neve is adja Proporcionális integráló deriváló szabályzás. a kimenet matematikai képlete felírva kb 5cm hosszú
A 10 ben már benne van a PID komponens , ha a 8 ban nincs akkor jobban jársz ha megelégedsz egy pwm vezérléssel . Egy számítás a kiöltés értékére Duty= 255*((beállított -mért) / beállított ) Emellé használsz még egy elágazást ami 0 ra állítja a kitöltést ha a mért- eléri a beállított értéket.
Lehet hogy van profibb számítás , nekem ezt sikerült "megszülnöm" A hozzászólás módosítva: Nov 6, 2025
Azt néztem én is, de nekem Kínai, hogy miért kell ilyen bonyolítást egy ilyenbe belevinni. Adott 100C elérése, alatta vagyunk, akkor fűtés bekapcsol, elértük minden rendben! Csak a túlfűtést kell valahogy elkerülni.
Idézet: Ezért kell a PWM ahogy közelít a beállított hőmérséklethez a mért érték úgy csökken a kitöltési tényező (csökken a fűtőteljesítmény) és a végén a 100 foknál már csak időnként 5-10% körüli kitöltéssel pici ideig ráfűt ... „Csak a túlfűtést kell valahogy elkerülni.”
Egyszerü a msgyarázat, a PID tudja tartani az adott hőfokot minimális histerezissel, gyorsan reagál egy hőmérséklet változás miatti korrekcióval. Amit te gondolsz az elég nagy lengéssel fogja, sőt lehet olyan körülmény amikor el sem fogja érni a kivánt hőmérsékletet, vagy csak nagyon lassan.
Röviden fogalmazva, ég és föld a különbség. Természetesen minden hütés fütési feladat nem igényel PID szabályzást. A legújabb verzióhttps://www.flowcode.co.uk/download/ Megjelent a 11A hozzászólás módosítva: Nov 24, 2025
Pic16f628Sziasztok! Rs232 kommunikációt kezelő programot szerkesztettem 600-as bitrátával. Első körben, mivel csak kisérletezgettem, arduino megára programoztam. A progi szépen is működött, ezért átszerkesztettem 16f628a-ra. Azt tapasztaltam, hogy 1 bit szélessége sokkal kisebb lett, olyan, mintha nagyobb bitrátára programoztam volna, így a slave már nem olvassa. A program(flowcode 6) saját rs232 modulját használtam mindkét esetben, az oszcillátol beállítás is ok. Mi okozhat még ilyen hibát?
Konkrétan és nagy biztonsággal nem tudok válaszolni, csak tippelek, saját tapasztalatok alapján.
Lehet, hogy nem jól adtad meg a programban a kontroller órajelét. Ilyenkor szokott (látszólag) gyorsabban vagy lassabban működni a program. Ha az "átszerkesztés" alatt azt érted, hogy a kész, működő programban egyszerűen átállítottad a mikrokontrollert, akkor könnyen lehet, hogy ez a hiba. Ez a módszer nálam soha nem volt jó, mindig hibásan működött a program. Csak az segített, ha indítottam egy új projektet az új kontrollerrel, újra megcsináltam annak beállításait és a régi projekt exportált makróit importáltam az újba. A makró export/import nagyban könnyíti a helyzetet, a változókat viszont újra létre kell hozni az új projektben.
Köszi a választ, program fordítás közben észrevettem a megoldást: 20MHz-es órajellel dolgoztam, a program futtatása közben kiírta, hogy túl alacsony ehhez a 600- as baudrate. Gondolom automatice magasabbat állított be. Váltottam 8MHz-re, és megjavult
|
Bejelentkezés
Hirdetés |










