LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Supply load trough thyristor

Hello

I'm writing first time to this forum. I apologize in advance because of my poor English, but I hope you will understand what I would like to ask:

I’m new in LW. I have built few simple applications but I have problems with this one. I have LW 8.0 Full Development and NI-USB-6251 and SCC-68.

I need to build a system which run on AC line voltage, 50 Hz. The load must be supply according the following demand:
Load is supply for 5 sec in the following procedure:
12x (10 ms ON – 30 ms OFF) - number of cycles (loops) could vary
24x (10 ms ON – 50 ms OFF) - number of cycles (loops) could vary
39x (10 ms ON – 70 ms OFF) - number of cycles (loops) could vary

On picture 1 is shown the current trough load (just first three cycles).
To make it easier I will use the Thyristor for supply the load – as shown in schematics (picture 2).


With LW I plan to find zero cross and according to this I will trigger the gate of thyristor. Because of that design I will have ~ 5 ms reserve for triggering (I can trigger ~2.5 ms before positive zero cross (predicted-calculated) and wait 2.5 ms after zero cross (predicted-calculated). By my opinion this should be enough because I do not have real time operating system. I thing that one zero cross reading should be enough for next 5 s of operations (line frequency is very stable) I build VI for testing the zero cross – that works fine but I have problems because the times vary, and I do not manage to predict the second zero cross with +-2.5 ms accuracy.

I’m afraid that this is not the right way – could you suggest me how to do that.
0 Kudos
Message 1 of 12
(3,647 Views)
Sorry The files are missing. BR
Download All
0 Kudos
Message 2 of 12
(3,646 Views)
Anybody ....

BR
0 Kudos
Message 3 of 12
(3,589 Views)

Hello BR,

 

I'm not exactly sure what you're trying to do, but let’s see what we can figure out.  It sounds like you're trying to control the current throughput to your load using a thyristor and control the thyristor with the USB-6251.

 

It sounds like you want to turn the thyristor on for the specified pattern:

"12x (10 ms ON – 30 ms OFF) - number of cycles (loops) could vary
24x (10 ms ON – 50 ms OFF) - number of cycles (loops) could vary
39x (10 ms ON – 70 ms OFF) - number of cycles (loops) could vary"

 

What signal are you using to control the thyristor?  Are you using a digital line or something else?

 

Also, I'm unsure what you're "predicting-calculating" are you saying that you're trying to predict when you need to trigger the thyristor in order to turn it on for the 10 ms intervals mentioned above or are you referring to something else?  If you're trying to do that then I would recommend using a correlated digital output to output the desired waveform with hardware timing.  As you've mentioned, a Windows operating system does not use deterministic timing.  While allowing 2.5 ms for this trigger to occur is a good idea, Windows may take longer or shorter depending on what else is doing.  That is likely the time variation that you're seeing.

 

If you can define your desired input and output signals a little more it would be easier to decide on the best solution.

 

Cheers,

Brooks
0 Kudos
Message 4 of 12
(3,577 Views)
You can also purchase solid state relays that turn on/off at zero crossing points, it may make your life much easier
~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 5 of 12
(3,575 Views)

Hello

Yes thyristor will be controlled (triggered) trough USB-NI 6251 + some additional opto-coupler (just in case..).

Yes thyristor will be triggered in such way that I will achieve the following pattern - as you presume correctly. So thyristor must be ignite at the start of each pulse – to be shore the pulse could be 5 ms long ( lets say 2,5 ms before line voltage cross zero).

For control the thyristor I can use any signal I want - yes digital output is probably the best way (since I see that ADC take ~45-50 ms for complete the  20 ms long pulse I presume that analog output will be to slow).

Yes with term "predicting-calculating" I mean that I plan to measure (find) zero cross and according to this data I can calculate when I must trigger the thyristor.

I can find one zero cross (lets say falling) then add 10 ms to calculate the next one which will be rising and subtract 2.5 ms for reserve. That mean that 7.5 ms after zero cross (falling) I must send 5 ms long pulse (just to be sure that thyristor will start – ned some reserve), The second pulse to thyristor will be 47.5 ms after the referenced zero cross (measured at first place).

Using the custom design waveform controlled with HW clock is god idea. Then the only thing that I need to do is to find the zero cross point and according to this stat the waveform.

Problem is that I'm a beginner and I don't know how to do this. Could you tell me how to do that - VI would be the best. You don’t have to bother with the whole waveform first two cycle would be enough – just to se how it goes. How to find zero cross and not lose ~40 ms (like in my example).

 

Thanks in advance

 

 

0 Kudos
Message 6 of 12
(3,554 Views)

Hello 1over0,

It sounds like you should probably use the analog input sample clock to also be the digital output sample clock.  Then, by buffering a given waveform 10ms high 30ms low, etc, you can output this on the digital line to control the thyristor.  Also, in order to make sure you start on the first zero crossing you could set up an analog window trigger for entering the window and set it for 0 to 10 V so that your task will start on the first zero crossing (rising).  Then you should be able to start on a zero crossing and output a specified waveform to control the thyristor--it sounds like this should work as long as the incoming frequency is exactly 50 Hz.

Also, its sounds like AnalogKid2DigitalMan may have suggested a hardware addition that would make this setup significantly easier.  Have you considered getting one of these relays and then just reading data continuously?  This would eliminate the requirement that your incoming frequency be a constant 50 Hz.

I hope this helps.

Brooks
0 Kudos
Message 7 of 12
(3,520 Views)

As said this is NOT an application that can be implemented with windows and Labview.

You will have serious problems.

If you insist on playing (not recommended), use a isolation transformer at the AC input .

0 Kudos
Message 8 of 12
(3,507 Views)
Hello

I’m planning to use an isolation transformer at the AC input – for searching zero cross. As shown on attached picture.

The frequency is line frequency of 50 Hz which is stable – at least for this application is stabile enough. One test cycle last only 5 s – that’s why I presume that 2.5 ms reserve is enough .

Using SSR is not a problem for me – I have few of them on my desk. For me is a problem because SW include hardware timers, clock.. and it must be fast enough. Problem is that I don’t know where and how to start – I’m new in LW and I’m learning best on real problems .

Could you give me short VI, how you would solve this problem – when I have some starting point I can change/reconfigure the VI according my need /ideas. According to my knowledge getting trough this thread the zero cross must be find – so that we can calculate when the next one will appear and then we must start to send the custom wave form on the digital output. The problem for me is that most of those operations will have to be done/synchronize by HW clock – to be accurate enough.

Best regards
0 Kudos
Message 9 of 12
(3,498 Views)

Hello 1over0,

I think there are a couple example VIs that you will find helpful.  In order to access the example finder open LabVIEW and go to Help» Find Examples...

The first example I would recommend shows you how to use an analog sample clock to clock your digital lines.  In this example it’s a digital input task, but you configure the sample clock the same for a digital output task.  Navigate to Hardware Input and Output» DAQmx» Synchronization» Multi-Function» Multi-Function.llb\Multi-Function-Synch AI-Read Dig Chan.vi  By modifying this example for output you'll be able to synchronize your digital write with your analog input.

The second example is this:  Hardware Input and Output» DAQmx» Analog Measurements» Voltage» Cont Acq&Graph Voltage-Int Clk-Analog Start.vi  This VI shows you how to configure an analog edge start trigger.  I would recommend changing the DAQmx timing VI in this example to be an Analog Window Start Trigger and configuring your window to start the task on the first rising zero crossing.

Basically you'll want to start with the first example, modify it for digital output, and then implement the analog window trigger.

Cheers,

Brooks
0 Kudos
Message 10 of 12
(3,474 Views)