controlling an AC heater using PIC ?

Status
Not open for further replies.

zika1212

New Member
i'm controlling an 1000 W AC heater (just an element heater) with 220 V 50-60 Hz, using PIC 16F876 and interfacing using MOC3041 (opto-coupled triac) with built in zero crossing for sinchronizing , in programming i'm using "burst fire" technique to control the power of the heater proportionally by controlling the no. of ON cycles over a period of time (cycle time), what is the best cycle time to use to control the heater ??
 
i think u didn't get it .. i'm talking about the cycle time (ex: 2 sec. , 5 sec , 10 sec ..... etc ) !!
 
If you use 255 cycles as your burst period you get 8 bits of resolution - convenient for the PIC. I don't see any particular reason to go slower. If the element ends up heating and cooling significantly in that period you might want to speed up the period to minimise stress on the element - less thermal cycling.
 
I would suggest using timer1 and ccp module. This is really simple and also effective.

Without any prescalars timer1 should give you about 13 ms until it overflows, provided your pic runs at 20MHz. This is much better then using timer0 which overflows much before 8.33 msec. Personally, I think that it is more efficient in this case to use a ccp/ timer1 software interrupt rather than reloading timer1 or timer0.

Also, I would suggest that for a heater design it is convenient to keep your firing angle in the range of 30 deg to 150 deg. This will ensure that you don't fire too close to the zero crossing and accidently commutate the triac.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…