Pages: [1]   Go Down
Author Topic: Solid State Relay with zero cross circuit  (Read 1058 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Is posible use this SSR for PWM speed control of AC motor directly?
http://www.fotek.com.hk/solid/SSR-1.htm
« Last Edit: November 04, 2012, 04:03:53 pm by pepemanuer » Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 627
Posts: 34243
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No.

You do not use PWM with with a SSR, it will not work.
What you can do is to use phase angle control. This is where the turn on is delayed by a bit after each zero crossing.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Use an opto-isolator on an input pin and feed it the AC.  This pin can serve as a reference for the 0V transitions on the AC line.  A timer can be used to delay an output pin toggle based on % of time that passes between 0 crossing and AC peak.  This should directly control a non zero crossed Triac or SCR.  Like this..if the if the power is 60 hz, there are 120 zero crosses per second.  Thats 8.3 milliseconds.  If you use a byte size register you can divide that 8.3 ms by 255 and get that kind of resolution.  I use only 128 as 255 is too much for such things as dimming lighting, etc.  I did this in assembly on a PIC for my holiday light show.  I don't think this kind of accuracy is possible without assembly and timers and interrupts.  So in summary the program:
0) initialize a counter variable to count ac zero crosses
1) set a timer to fire at 8.3ms / 128 and start it.  Every time a zero cross occurs increase counter variable.  If > 128 reset to zero and zero all outputs associated with loads.
2) set an output value in another variable say 14
3) in the timer loop after the increment, if your count variable has exceeded the set variable 14, togel the output pin.
4) depending on the time you have and the speed of the ISR you can control quite a few channels all at different levels.
5) either use a lookup table to play a predefined sequence or you will have to have another interface - I used a PC's parallel port to send channel info.  This was checked in the ISR also to see if new data was available to load to the brightness registers.
6) the output will be reversed since we are counting up.  To get max brightness set the output variable to 0 to fire the output pin immediately after the zero cross.  Set to 128 to have no output pin activity.
7) I should have fixed this inversion thingy but never did.

Logged

Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Is posible use this SSR for PWM speed control of AC motor directly?

The others already mentioned the problem with zero crossing and the solution.
Besides this - is your motor even able to be controlled by PWM? This only works for universal motors - but not for induction motors.
If it is an induction motor you need to alter frequency - PWM will have no effect.
Also be aware that Motors are inductive devices - your solid state relais may need a protection circuit ("snubber") to avoid being killed by high voltage spikes.

Christian
Logged

Arduino based CNC Controller / CAM Software: www.estlcam.com

Pages: [1]   Go Up
Jump to: