12-28-2022, 10:57 PM
(12-28-2022, 09:49 PM)gorankg Wrote: Nisam gledao ceo program ali glavna petlja ti nije dobra. Zapravo i nemaš kotrolu koliko dugo je aktivan taj fet.
Npr. ceo koncept upravljanja ti puca ako neko drži taster.
ZCD i paljenje/gašenje FET-a treba da budu pod kontrolom prekidne rutine. Taj PIC ima INT pin koji možeš da iskoristiš za ZCD i tajmer za kontrolu koliko će biti uključen fet. Probaj da to ispraviš.
@ddanijel je u pravu da ti je ovaj PIC sasvim dovoljan za to što želiš.
Tako je, ZCD ide na INT pin i u njegovoj ISR rutini se hendluje HW tajmer koji je vezan na izlaz za triak/fet.
To je jedina bitna stvar koju treba da radi taj MCU "u životu", 3-4 linije C code-a.
Sve ostalo je manje bitno i ide u main loop() i tu se obraduje "opušteno" sav ostali I/O i regulacija i šta god treba.
Hendlovanje I2C displeja je užasno spora operacija i ostalo kada se doda to je reda ne brže od 10-ak puta u sekundi glavna loop petlja i zato je neophodan nezavistan mehanizan sa ISR za ZCD da bi u glavnoj petlji mogli da obradujemo sta god treba bilo kojom brzinom a da ne utiče (bitno) na krajnju funkcionalnost.
U toj loop petlji se stavi i dodatni signal za reset za zaštitni Watch-dog tajmer da spreči dodatno eventualno zaglavljivanje te main petlje i to bi generalno bila interna SW zaštita.
Za dodatne HW zaštite od kratkoj spoja grejača neophodni su dodatni šent otpornici i OP za detekciju strujnog limita ili bez toga da se stavi TOPLJIVI OSIGURAČ koji u suštini treba da se postavi u svakom slučaju.