Problem driving SCRs as triac - Page 1
Forum section: electronics / projects

author: somlioy
author_rank: Regular Contributor
timestamp: January 03, 2018, 03:46:30 pm
content: HelloTrying to drive a dual SCR module as a triac. Part number Vishay, VS-VSKT136/12PBF;Datasheet:http://docs-europe.electrocomponents.com/webdocs/0df4/0900766b80df473a.pdfI'm driving it from a MOC3052M.Datasheet:http://docs-europe.electrocomponents.com/webdocs/0d1f/0900766b80d1f182.pdfOn the SCR-module I connected terminal 2 and 3 togheter and to the load (terminal + and - in datasheet). Terminal 1 (tilde/AC-symbol in datasheet) is connected to 230V live. Load is 35W 230V Halogen Bulb.Problem is that when I connect the two gate terminals together the module starts conducting at full power. This is before I even apply any control-signal to the MOC3052 (they're out of the circuit).What am I doing wrong?See attachment for how the MOCs are wired.

author: Kalvin
author_rank: Super Contributor
timestamp: January 03, 2018, 03:59:29 pm
content: If you provide us with the schematics of your design (an overview of triac and thyristor module wiring is sufficient) we might be help you. Also, while drawing the schematics you may even find the problem by yourself

author: Zero999
author_rank: Super Contributor
timestamp: January 03, 2018, 04:42:26 pm
content: Quote from: somlioy on January 03, 2018, 03:46:30 pmThat's exactly what you should expect to happen.Here's the correct way to control two back-to-back SCRs, with an opto-coupler.https://www.eevblog.com/forum/beginners/a-cooker-ring-(resistive-element)-and-driving-it/msg1313688/#msg1313688

author: somlioy
author_rank: Regular Contributor
timestamp: January 03, 2018, 05:24:57 pm
content: I see. Whats the purpose of the R1 and R2? And does D1 and D2 have to be high power rated?Attached circuit of how it is wired right now.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 03, 2018, 05:34:38 pm
content: R1 and R2 provide a return path for leakage current, preventing accidental turn-on (including somewhat increased dV/dt). The diodes carry the opposite SCR's trigger current, and only need to be rated similar to the MOC'. 1N4001 or better will do fine.Tim

author: David Hess
author_rank: Super Contributor
timestamp: January 04, 2018, 03:56:37 am
content: Normal SCRs have R1 and R2 built in as metalization between the gate and cathode but it is a good idea to include them externally anyway. Sensitive gate SCRs lack that metalization which is what makes them sensitive.Like T3sl4co1l says, they draw off leakage current and increase dV/dt to prevent false triggering.

author: somlioy
author_rank: Regular Contributor
timestamp: January 04, 2018, 11:39:19 am
content: What values are normal for these resistors? And power rating?Is this metalization (R1, R2) measureable with a multimeter?

author: Zero999
author_rank: Super Contributor
timestamp: January 04, 2018, 12:44:40 pm
content: Quote from: somlioy on January 04, 2018, 11:39:19 amI don't know the values of the internal resistors. I suspect they're not critical and can vary widely, from device to device, even of the same type.The power rating will be very low, as the voltage will be no more than the gate trigger voltage.Yes, if the multimeter's test voltage is very low: under 0.5V. If the meter measures a silicon diode as open circuit, in both directions, then it should be suitable for measuring them.

author: james_s
author_rank: Super Contributor
timestamp: January 04, 2018, 09:55:53 pm
content: You could leave the resistors out for initial testing then add something that seems reasonable and see if it affects the operation of the circuit.

author: David Hess
author_rank: Super Contributor
timestamp: January 05, 2018, 12:12:53 am
content: Quote from: somlioy on January 04, 2018, 11:39:19 amSure you can measure it but use a low enough test current to prevent forward biasing the gate or you will be measuring the gate junction instead.The maximum voltage is that of a forward biased junction of about 0.6 volts so typical resistance values are 10s to hundreds of ohms yielding 10s of milliamps before the thyristor triggers.

author: NiHaoMike
author_rank: Super Contributor
timestamp: January 05, 2018, 02:10:37 am
content: What's the reason for using SCRs instead of triacs for such a small load? Or is the 35w bulb just a placeholder for something bigger?

author: somlioy
author_rank: Regular Contributor
timestamp: January 07, 2018, 03:23:43 pm
content: Thanks for your answers. Finally got it up and running but its quite jittery, probably som software issues. Tried running it without the resistor and it seems to work ok. Dunno if it will change when higher loads? Final load will also be purely resistiv.The bulb is indeed a placeholder for something bigger. Planning to run it in a three-phase configuration.

author: SeanB
author_rank: Super Contributor
timestamp: January 07, 2018, 08:31:52 pm
content: You need a higher load, so the SCR units have more than holding current flowing in them. Try a few 100W lamps in parallel instead to give a larger load.

author: David Hess
author_rank: Super Contributor
timestamp: January 07, 2018, 08:36:19 pm
content: Quote from: NiHaoMike on January 05, 2018, 02:10:37 amSCRs may have larger current ratings in the same package and much larger SCRs are available than TRIACs. I am not sure why this is the case.

author: somlioy
author_rank: Regular Contributor
timestamp: January 07, 2018, 09:17:02 pm
content: Yeah I tried a 2kW water boiler but it didnt make any difference in the flicker. Will check my coding.Edit:Improved filtering on the firing delay seems to have fixed the issue.Regarding the datasheet for the SCR;Maximum average on-state current at case temperature: IT(AV)= 135,Maximum RMS on-state current: IT(RMS)= 300.Which one of these am I supposed to use for this setup?

author: Zero999
author_rank: Super Contributor
timestamp: January 08, 2018, 10:52:07 am
content: Which circuit did you build?

author: somlioy
author_rank: Regular Contributor
timestamp: January 16, 2018, 12:54:48 pm
content: Well its just a three phase, phase angle controller.

author: Zero999
author_rank: Super Contributor
timestamp: January 16, 2018, 02:46:30 pm
content: Quote from: somlioy on January 16, 2018, 12:54:48 pmI meant did you build any of the circuits posted here, if so which one or something different?

author: somlioy
author_rank: Regular Contributor
timestamp: January 18, 2018, 03:54:45 pm
content: Yes, currently while testing it's based on the circuit from the application note you posted (without the resistors).

author: somlioy
author_rank: Regular Contributor
timestamp: July 16, 2018, 10:58:57 pm
content: Alright, bringing this thread up again as I havent had the posibility to work on this project for a while.I'm having some issues with firing the SCRs and I'm not sure whats causing it.First of all the SCRs dosent start conducting until about 40% duty cycle of the trigger signal from the µC.Secondly when they fire they seems to be firing three times per cycle.And when about 60-70% duty cycle is reached there is some jitter appearing.I tested the system with a purely resistiv three phase load of 9kW with 230V three phase supply.As you can see on 4-first attached pictures (firing pulse at Chn A, zero-cross signal at Chn B) the firing works as expected except for the jitter at 60-70%-ish.The next 4 pictures shows the firing pulse and the phase-phase (between L1/L2) output on the SCRs. Clearly something odd happening as one can observe on the output-curve.Schematics also attached. The parallell-resistors to the 1N400x-diodes at the SCR-circuitry is not solder on (R30 to R35), otherwise the schematic is correct.Also an image of the actual "thing" is attached. Maybe theres some noise issues due to wiring?For reference, the arduino code:Code:/* ------------*//* INPUTS PINS *//* ------------*/const byte L1_ZC_Pin = 2;const byte L2_ZC_Pin = 3;const byte L3_ZC_Pin = 7;const byte L1_SCR_Pin = 4;const byte L2_SCR_Pin = 5;const byte L3_SCR_Pin = 6;const byte pot_pin = A5;const byte enable_pin = 12;const byte lamp_pin = 11;/* ----------*//* CONSTANTS *//* ----------*/const long iDelay = 1000; // Sampling delay/interval const int SCR_Pulse_Width = 100; // SCR Pulse-width const int minimumDelay = 300; // Minimum firing-delay at max power const float smoothFactor = 0.95; // Smoothing value for fire delay [0-1].const long iLamp = 500000; // Blink-intervall for errorlamp/* ----------*//* VARIABLES *//* ----------*/int potValue; // Raw value of the potentiometerint enableState; // State of the enable-switchint pEnableState; // Previous state of the enable-switchint enable = 1; // Variable for enabling firingint errorLampState; // State of error-lampint error; // Error-statevolatile byte L1_ZC_Trg; // Variable triggered by ISR for Zero Crossvolatile byte L2_ZC_Trg; // Variable triggered by ISR for Zero Crossvolatile byte L3_ZC_Trg; // Variable triggered by ISR for Zero Crossfloat frequency;float delayValAvg; // Smoothed fire delay from measured samplesint rawFireDelay; // Fire delay mapped from potmeter value and delta time for ZCvolatile unsigned long dT_ZC_INT; // time between zero crossesunsigned long pDelay; // Previous time a sample happenedvolatile unsigned long pL1_ZC; // Previous time zero cross phase L1volatile unsigned long pL2_ZC; // Previous time zero cross phase L2volatile unsigned long pL3_ZC; // Previous time zero cross phase L3unsigned long pL1_SCR; // Previous time L1 SCR was firedunsigned long pL2_SCR; // Previous time L2 SCR was firedunsigned long pL3_SCR; // Previous time L3 SCR was firedunsigned long microsNow; // Time nowunsigned long pErrorLamp; // Previous state change of error-lampvoid setup() {// Initialize IO-PinspinMode(L1_ZC_Pin, INPUT);pinMode(L2_ZC_Pin, INPUT);pinMode(L3_ZC_Pin, INPUT);pinMode(L1_SCR_Pin, OUTPUT);pinMode(L2_SCR_Pin, OUTPUT);pinMode(L3_SCR_Pin, OUTPUT);// Activate interrupt routinesattachInterrupt(digitalPinToInterrupt(L1_ZC_Pin), L1_ZC, RISING);attachInterrupt(digitalPinToInterrupt(L2_ZC_Pin), L2_ZC, RISING);attachInterrupt(digitalPinToInterrupt(L3_ZC_Pin), L3_ZC, RISING);Serial.begin(9600);}void loop() {while(1) {microsNow = micros(); // Save current timeenableState = digitalRead(enable_pin); // Read pin state of enable-switch// Sample potmeter and time for zero-crossif ( microsNow - pDelay >= iDelay ) {pDelay = microsNow;potValue = analogRead(pot_pin); // Read value from potensiometer// Map the delay time from the potentiometer// from "minimumDelay" to "zero-cross delta time"// Unit: µsecondsrawFireDelay = map(potValue, 1023, 0, minimumDelay, dT_ZC_INT);// Low Pass filtering of raw valuesdelayValAvg = delayValAvg * smoothFactor + rawFireDelay * (1-smoothFactor);}// Firing-algorithmif ( enable ) {digitalWrite(lamp_pin, HIGH); // Turn on indicator// Firing L1 SCR if trig'dif ( L1_ZC_Trg && (microsNow - pL1_ZC) >= (int)delayValAvg ) {L1_ZC_Trg = 0; // Disable bit for L1 TriggerdigitalWrite(L1_SCR_Pin, HIGH);}if ( L2_ZC_Trg && (microsNow - pL2_ZC) >= (int)delayValAvg ) {L2_ZC_Trg = 0; // Disable bit for L2 TriggerdigitalWrite(L2_SCR_Pin, HIGH);}if ( L3_ZC_Trg && (microsNow - pL3_ZC) >= (int)delayValAvg ) {L3_ZC_Trg = 0; // Disable bit for L3 TriggerdigitalWrite(L3_SCR_Pin, HIGH);}} else {digitalWrite(lamp_pin, HIGH);}// Error-function. Blinking if error-bit is enabledif ( error && (microsNow - pErrorLamp) >= iLamp ){errorLampState = !errorLampState;digitalWrite(lamp_pin, errorLampState);}}}// ISR for Phase L1void L1_ZC () {digitalWrite(L1_SCR_Pin, LOW);L1_ZC_Trg = 1; // Enable bit for L1 TriggerdT_ZC_INT = microsNow - pL1_ZC; // Calculate current zero cross delta timepL1_ZC = microsNow; // Set previous zero cross to "now"}// ISR for Phase L2void L2_ZC () {digitalWrite(L2_SCR_Pin, LOW);L2_ZC_Trg = 1; // Enable bit for L2 TriggerpL2_ZC = microsNow; // Set previous zero cross to "now"}// ISR for Phase L1void L3_ZC () {digitalWrite(L3_SCR_Pin, LOW);L3_ZC_Trg = 1; // Enable bit for L3 TriggerpL3_ZC = microsNow; // Set previous zero cross to "now"}Datasheet for the SCR is found in first post.So where is the issue lying?Should the missing resistor be fitted?Is it necessary to add a snubber on each SCR due to cable inductance? Latest test was with approximately 5 meters 6mm^2 4-conductor cable from the component box.Software issues?

author: NiHaoMike
author_rank: Super Contributor
timestamp: July 16, 2018, 11:30:00 pm
content: Is the load Y or delta? If Y, with or without a neutral connection?

author: somlioy
author_rank: Regular Contributor
timestamp: July 17, 2018, 06:10:18 am
content: I'm not quite sure how the load was wired internally, most likely delta. But what I can tell you is that connecting neutral on three phase loads is not a common practice.