Hátha nem láttál még ilyet, ezért felraktam egy egyszerű programot.
A megrendelő specifikációja.
A faházban, hogy ne penészedjen a fürdőszoba szükséges lenne egy olyan funkció:
- A villany leoltása után működjön tovább a ventillátor.
- A működés időtartama legyen állítható 2 vagy 4 percre.
Megoldás.
Az MCU GPIO.GP0 portján jumper váltja a 2/4 percet.
A tápegységből jövő 50Hz-es szinkronjelet figyeljük. Ha kimarad, akkor a szerkezet "visszakapcsolja" magát, és persze a ventillátort is. Ekkor indul a beállított időzítés.
A tápegység pufferének akkorának kell lennie, hogy a feszültség kimaradás észlelési idő (max. 10ms) + a kapcsoló elem (SSR) bekapcsolási idő (max 10ms) idejére elegendő áramot tudjon biztosítani az áramkörnek (elhanyagolható) és a kapcsolóelemnek, még a kondenzátor megengedett öregedése (kapacitás csökkenés) esetén is.
Az SSR meghajtásához egy port terhelhetőségénél nagyobb áram szükséges, ezért a GP4 és GP 5 portokat párhuzamosan kell kötni.
Az ármkör.
Tudom, ronda és gazdaságtalan. :(
A program.
Hossza 89 utasítás, és 3 bájt adatot használ. (Ötnek tűnhet, de az utolsó kettőt nem használja.)
Felépítése 5 lépésből álló fázisregiszteres vezérlés. Főprogram nincs. Interruptok: timer és az 50Hz fel- és lefutó élének figyelése.
Lehet bemockolni ;), de minimum mutass rá legaláb egy ojjektumra!
Meséld el, milyen hibalehetőségek lehetnek! (Elgépelés nem ér! Az rögtön kiderül.)