Upravo tako, najcesce se radi sa dva interapta, jedan HW externi koji se desava na svaki ZC prolaz i u toj ISR rutini samo resetujes tajmer (ili ucitas vrednost tajmera) i drugi interapt je kada taj tajmer izbroji svoje tad trebas u toj ISR samo da postavis odgovarajuci OUT koji ti pali triak (taj OUT mozes da gasis iz prvog ZC interapta).
U obe ISR rutine je zadrzavanje minimalno, nekoliko ciklusa …
Iz glavnog programa trebas da imas malkice logike koja ce da pravi onaj spomenuti "slope" tj soft-start funkionalnost.
Ovo sto sam opisao gore je logika za jednu poluperiodu, trebas da to ponavljas zeljeni broj puta tako da soft-start pocinje sa nekom minimalom vrednoscu, recimo 10* stepeni uglom, sledeca poluperioda se sece na 20, 30 … i tako dok ne dodjemo do 180 stepeni sto je 100% AC napona.
Ovde pricam o uglovima kao generalna vrednost pri kojoj palimo triak, za 50Hz se to lako pretvori u vreme.
U obe ISR rutine je zadrzavanje minimalno, nekoliko ciklusa …
Iz glavnog programa trebas da imas malkice logike koja ce da pravi onaj spomenuti "slope" tj soft-start funkionalnost.
Ovo sto sam opisao gore je logika za jednu poluperiodu, trebas da to ponavljas zeljeni broj puta tako da soft-start pocinje sa nekom minimalom vrednoscu, recimo 10* stepeni uglom, sledeca poluperioda se sece na 20, 30 … i tako dok ne dodjemo do 180 stepeni sto je 100% AC napona.
Ovde pricam o uglovima kao generalna vrednost pri kojoj palimo triak, za 50Hz se to lako pretvori u vreme.