CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

OT-Noise immune zero crossing (phase angle firing)
Goto page 1, 2  Next
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
neil



Joined: 08 Sep 2003
Posts: 128

View user's profile Send private message

OT-Noise immune zero crossing (phase angle firing)
PostPosted: Wed Nov 23, 2005 5:44 am     Reply with quote

Hi, I think this is one I should be asking Mark really, but anone else with ideas would be gratefully received!

I am "re-visiting" an old project from a couple of years ago which Mark and Ttelmah most notable advised on. It is a thyristor triggering phase controller, based on a PIC.
Initially, I used the AN534? method, feeding the mains voltage into the B0 pin through a 10M resistor to get a zero crossing signal. This was a really cheap and nasty way of doing it!
Since them I have built an improved circuit using transistors, to give a pulse centered around the Z/C point and driving an optisolator to the B0 pin.

Now I want to go a step further into noise immunity and use a PLL to clean up the mains signal. I have played with a 4046, trying either comparator and it seems that the 90° comparator works the best for my application. (I am using a long tc loop filter to ignore glitches on the input.)

So now I need to shift the mains signal another 90° before the PLL (adding filtering at the same time) to give an overall 180° phase shift. 180 is acceptable as the zero crossings are in the same place.

I'm pretty sure I'm on the right track here, but the practicality of using an RC to get 90° doesn't look promising. Once I have gone from a 340Vpeak sinewave (UK mains) down to a low enough voltage to stretch the vector to 90° and drive a zero crossing circuit, then feed the PLL, I have lost the steep rise time which gives an accurate crossing point!

Mark, especially, can you explain what you do here?
Regards,
Neil.
asmallri



Joined: 12 Aug 2004
Posts: 1634
Location: Perth, Australia

View user's profile Send private message Send e-mail Visit poster's website

PostPosted: Wed Nov 23, 2005 6:26 am     Reply with quote

I am not sure I understand the problem. If you have a clean 90% reference point then just time off this. The variation in phase between adjacent cycles is insignifiant and can be ignored.
_________________
Regards, Andrew

http://www.brushelectronics.com/software
Home of Ethernet, SD card and Encrypted Serial Bootloaders for PICs!!
neil



Joined: 08 Sep 2003
Posts: 128

View user's profile Send private message

PostPosted: Wed Nov 23, 2005 7:07 am     Reply with quote

I can't just assume where the zero crossings are, just because I know where the 90° points are. This would mean timing from there by a set amount and would be an "open loop" way of doing it! (If that is what you meant). I really want a 'rock solid' hardware solution to feed the PIC with and only use the PIC for the communications and triggering.

Regards,
Neil.
asmallri



Joined: 12 Aug 2004
Posts: 1634
Location: Perth, Australia

View user's profile Send private message Send e-mail Visit poster's website

PostPosted: Wed Nov 23, 2005 7:15 am     Reply with quote

neil wrote:
I can't just assume where the zero crossings are, just because I know where the 90° points are. This would mean timing from there by a set amount and would be an "open loop" way of doing it! (If that is what you meant). I really want a 'rock solid' hardware solution to feed the PIC with and only use the PIC for the communications and triggering.

Regards,
Neil.


If we are talking about standard power distribution where power is derived from massive turbines then, given the 90 deg points, you definitely can assume the zero crossing point as these turbines "cunna breek the laws of physics Captain"

It is not open loop. Cycle by cycle you know the 90 degree point
_________________
Regards, Andrew

http://www.brushelectronics.com/software
Home of Ethernet, SD card and Encrypted Serial Bootloaders for PICs!!
foothill
Guest







Zero crossings
PostPosted: Wed Nov 23, 2005 7:32 am     Reply with quote

You can get a hardware-derived quadrature signal by feeding
the output of your first PLL into an XOR-type PLL (for instance,
the "other" phase detector of a 4046); it will lock at 90 degrees
to the input phase. The output of the first PLL will be clean enough
to drive it reliably. You'll have to limit the XOR's frequency range
to prevent lockup on harmonics, but that's simple and dealt with
in the 4046 data sheets.

Cheers!

Brian
asmallri



Joined: 12 Aug 2004
Posts: 1634
Location: Perth, Australia

View user's profile Send private message Send e-mail Visit poster's website

PostPosted: Wed Nov 23, 2005 7:53 am     Reply with quote

I recon my approach will be more accurate and stable than PLL off a PLL.
_________________
Regards, Andrew

http://www.brushelectronics.com/software
Home of Ethernet, SD card and Encrypted Serial Bootloaders for PICs!!
Humberto



Joined: 08 Sep 2003
Posts: 1215
Location: Buenos Aires, La Reina del Plata

View user's profile Send private message

PostPosted: Wed Nov 23, 2005 8:47 am     Reply with quote

Quote:

Initially, I used the AN534? method


AN534 is regarding " Saving and Restoring Status on Interrupt " not applicable in your problem.
I guess you are talking of the AN521 "Interfacing to AC Power Lines"

Regarding your problem Iīm agree with @asmallri that using a PLL here would not
warranty noise inmunity. Instead I would use an optocoupled circuit, or a comparator
keeping the undesirable phase delay as minimum as possible combined with the
fact that with the PIC you can get a good an accurate delay of 20ms synchronized
with the mains 50 Hz.
Using both, the PIC generating a "time window" every 20ms to validate the expecting
pulse coming from the Zero crossing detector will be enough to get a clean and
glitch-free zero-crossing reference for further TRIACīs triggering.
At least you donīt need an atomic clock to fire TRIAC.


Best wishes,

Humberto
neil



Joined: 08 Sep 2003
Posts: 128

View user's profile Send private message

PostPosted: Wed Nov 23, 2005 10:01 am     Reply with quote

Quote:
Initially, I used the AN534? method
Yes, I meant 521, hence the "?" in the above. It was 2 years ago and didn't bother looking it up again, just to make my post completely accurate! Sorry! Shocked

I have tried several ways of zero crossing detection, and have indeed used optoisolators, but this does not stop noise on the mains line from triggering multiple zero crossing interrupts. My thyristor pair is driving a 6KW transformer with a 4Volt 1800Amp transmitting valve heater on the secondary. If I get noise on the line (of which there is a *lot* where I work!!) and the thyristors fire for half a cycle, what happens to the load???? DC into a big inductor, that's what! Blown fuses, blown thyristors, magnetised transformer core, sparks, etc!
This is why I want to be absolutely sure this thing will sail through any noisy conditions without going heywire!
Humberto



Joined: 08 Sep 2003
Posts: 1215
Location: Buenos Aires, La Reina del Plata

View user's profile Send private message

PostPosted: Wed Nov 23, 2005 4:19 pm     Reply with quote

Quote:

My thyristor pair is driving a 6KW transformer with a 4Volt 1800Amp



Well, there are considerable power to control, now I know why you are looking for
a reliable zero-crossing detector.
Neil, you didnīt mention nothing about the phase relationship between current and
voltage. With such high current flowing in the thyristors, you must be aware that
with a small displacement of a few degrees in the phase angle between V and I,
you will get a ton of amperes still flowing while/after the voltage is near or crossing
zero -depending of the load nature- and this would be the real (and worst) problem
to fight with.


Humberto
neil



Joined: 08 Sep 2003
Posts: 128

View user's profile Send private message

Some more background
PostPosted: Thu Nov 24, 2005 5:00 am     Reply with quote

The primary is controlled at 240V and the whole assembly draws about 30A. The valve filament is never disconnected from the secondary, so the drive electronics see almost a purely resistive load. This is because the filament is resistive. The only inductive component in the circuit is the magnetizing inductance of the transformer.
If I was to switch the transformer on full, this step change would draw a very high current (and also damage the cold valve) so I ramp the voltage up very slowly, starting with tiny little peaks just before the zero crossing. This means that the magnetization current drawn by the transformer is very small and never gets the chance to build up significantly.
SherpaDoug



Joined: 07 Sep 2003
Posts: 1640
Location: Cape Cod Mass USA

View user's profile Send private message

PostPosted: Thu Nov 24, 2005 1:30 pm     Reply with quote

For such a high reliability system I would consider putting a RC 90 degree phase shift network inside the phase feedback loop of the PLL. The RC values are on the order of 0.1uF and 30k, not too bad. I would probably use three 30 degree sections.
_________________
The search for better is endless. Instead simply find very good and get the job done.
SherpaDoug



Joined: 07 Sep 2003
Posts: 1640
Location: Cape Cod Mass USA

View user's profile Send private message

A more digital solution
PostPosted: Thu Nov 24, 2005 2:34 pm     Reply with quote

After some though I have a more "digital" solution:
Run the PLL oscillator at 4x the line frequency. Use a Johnson Ring type of divider to divide by 4 to feedback into the PLL phase detector. A Johnson Ring will give you all four phases as seperate outputs so you can use one output for the detector and another for firing the thyristors. You will be guaranteed an exact 90 degree phase relationship with no open loop analog components involved..
_________________
The search for better is endless. Instead simply find very good and get the job done.
Ttelmah
Guest







PostPosted: Thu Nov 24, 2005 3:40 pm     Reply with quote

As a completely 'disconnected' circuit, which implements a rather nice zero crossing detector, which works well, look at the ADE7757. This is a supply supervisory circuit, normally used for power metering, but contains a good zero crossing system. It implements a fairly high frequency PLL, and may provide some ideas that could be adapted.
In the past, I have been impressed by how accurate it is.

Best Wishes
neil



Joined: 08 Sep 2003
Posts: 128

View user's profile Send private message

Thanks everyone!
PostPosted: Fri Nov 25, 2005 10:14 am     Reply with quote

Thanks everyone for some great ideas! SherpaDoug, your first idea is pretty much what I have been experimenting with already, although my 90° Phase network is outside the loop, on the signal input. Correct me if I'm wrong, but being a phase locked loop, any phase shift in the loop filter is irrelevant because the loop is locking onto the input phase? I have a very long TC in the loop filter to allow the VCO to ride through any hash which *still* manages to get to the input. The VCO output is always in phase (or 90° out) depending on which phase comparator I use, so the phase shift in the loop filter appears irrelevant.

The second suggestion (and foothill's idea) sound good. I don't know why I didn't think of a Johnson counter! This would give a very usable quadrature output, so I can pick whatever phase I want to use!! Great!

I have had a look at the ADE7757 as well and it seems that the zero crossing function is done inside the DSP block after being digitised by a fast Σ-Δ ADC. I guess this is the flashy new approach to this sort of design now, but my programming knowledge is far less than my electronics knowledge and I prefer the hardware approach for things like this!
Having said that, it looks like an excellent device for another (home) project I have in mind, involving going 'off-grid'. I'll say no more!!

Thanks everybody for your ideas.
Neil.
libor



Joined: 14 Dec 2004
Posts: 288
Location: Hungary

View user's profile Send private message

PostPosted: Sat Nov 26, 2005 6:08 am     Reply with quote

I had a similar problem: noise immune filtered zero-cross timing.

I ended up with a software-only (kind of averaging PLL) solution. I run an internal timer with a cycle timing syncronized to the mains phase using a very slow reaction-time fine-tuning method.
I measure the mismatch time between my internal timer and the actual zero-cross signal and continuously tune the timer it in the needed direction in small steps (by adding or subtracting a small number (1) to the timer's counter) This way I can effectively eliminate the effects of any noise causing a false zero-cross condition, this allows me to fine tune my filter's averaging parameters in software.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group