[elektro] Bascomos AVR dimmer
Csuvár Imre
icsuvar at t-online.hu
Sat Feb 12 22:37:38 CET 2011
Hali,
ezen asszem mar el tudok indulni :)
Nem akartam nullarol kitalani a cuccot,
hasznosak ezek a gyakorlati tapasztalatok, otletek.
Epitek egy kiserleti HW-t es majd programozgatok rajta,
esetleg majd meg kerdezek, mivel nem vagyok profi a temaban.
Koszi:
Csuva'r Imre
From: "Moczik Gabor" <pm_levlista at progzmaster.hu>
C-ben írtam ilyet 3 csatornára.
Csak egy kísérlet volt, nem túl szép a kód, de nem is túl hosszú.
Tulajdonképpen annyi az egész, méri a nullátmenet idejét az egyik
timerrel, ezt folyamatosan átlagolja 8 ciklusra (gördülő átlag), majd
ennek az időnek a 128-ad részével felprogramoz egy másik timert.
A bekapcsolás utáni első mintát el kell dobni, és amég nincs meg a
további 8 minta az átlaghoz, addig ne indítsd a másik timert.
A másik timer növel egy változót, és ha ez eléri az adott csatornához
megadott értéket, akkor begyújtja a triakot. Ha a számláló eléri a
végétéket, letiltja a timert. A gyújtójel kint marad a következő
nullátmenetig. Ki lehet kapcsolni egy ciklussal később, ugyanúgy
működik, csak így hosszabb a kód, pont ebben a high-speed ISR-ben.
Inkább limitáld a gate áramot a hardverben olyanra amit folyamatosan elbír.
Nullátmenetkor tehát ki kell számolni az átlagot, a számlálót kell
nullázni, gate jeleket kikapcsolni, másik timert indítani.
Arra vigyázz, hogy a gyújtójellel ne akard a nullátmenetet teljesen
megközelíteni, mert esetleg átesik, ha a szinkron nem teljesen pontos
(128-as szorzónál 120-ig biztonságosan el lehet menni, ez 168.75fok...)
Lehet finomítani, hogy ha nem hihető a nullátmenet ideje (messze nem
10ms), akkor eldobja, de nekem ez az átlagolás elégnek tűnt.
A nullátmenet detektálást úgy oldottam meg, hogy egy INT lábra megy a
fázisról a jel egy nagy ellenálláson, van rajta 100pF szűrés, és a
szintet az ESD védődiódák fogják meg. Szoftverben pedig minden
átmenetben váltom hogy fel vagy lefutó élre adjon megszakítást.
Ha a nullátmenet idejét mérő timer túlcsordul (= nincs jel), akkor
letiltod az egész kócerájt, kiüríted az átlagot is.
--
((( Móczik Gábor )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))
More information about the Elektro
mailing list