Author Topic: Problem driving SCRs as triac  (Read 4892 times)

0 Members and 1 Guest are viewing this topic.

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Problem driving SCRs as triac
« on: January 03, 2018, 03:46:30 pm »
Hello

Trying to drive a dual SCR module as a triac. Part number Vishay, VS-VSKT136/12PBF;
Datasheet: http://docs-europe.electrocomponents.com/webdocs/0df4/0900766b80df473a.pdf

I'm driving it from a MOC3052M.
Datasheet: http://docs-europe.electrocomponents.com/webdocs/0d1f/0900766b80d1f182.pdf

On 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.

« Last Edit: January 03, 2018, 03:54:53 pm by somlioy »
 

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: Problem driving SCRs as triac
« Reply #1 on: January 03, 2018, 03:59:29 pm »
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 ;)
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19527
  • Country: gb
  • 0999
Re: Problem driving SCRs as triac
« Reply #2 on: January 03, 2018, 04:42:26 pm »
Hello

Trying to drive a dual SCR module as a triac. Part number Vishay, VS-VSKT136/12PBF;
Datasheet: http://docs-europe.electrocomponents.com/webdocs/0df4/0900766b80df473a.pdf

I'm driving it from a MOC3052M.
Datasheet: http://docs-europe.electrocomponents.com/webdocs/0d1f/0900766b80d1f182.pdf

On 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.
That'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
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #3 on: January 03, 2018, 05:24:57 pm »
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.
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21688
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Problem driving SCRs as triac
« Reply #4 on: January 03, 2018, 05:34:38 pm »
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
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16620
  • Country: us
  • DavidH
Re: Problem driving SCRs as triac
« Reply #5 on: January 04, 2018, 03:56:37 am »
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.
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #6 on: January 04, 2018, 11:39:19 am »
What values are normal for these resistors? And power rating?
Is this metalization (R1, R2) measureable with a multimeter?
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19527
  • Country: gb
  • 0999
Re: Problem driving SCRs as triac
« Reply #7 on: January 04, 2018, 12:44:40 pm »
What values are normal for these resistors? And power rating?
Is this metalization (R1, R2) measureable with a multimeter?
I 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.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Problem driving SCRs as triac
« Reply #8 on: January 04, 2018, 09:55:53 pm »
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.
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16620
  • Country: us
  • DavidH
Re: Problem driving SCRs as triac
« Reply #9 on: January 05, 2018, 12:12:53 am »
What values are normal for these resistors? And power rating?
Is this metalization (R1, R2) measurable with a multimeter?

Sure 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.
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9019
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Problem driving SCRs as triac
« Reply #10 on: January 05, 2018, 02:10:37 am »
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?
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #11 on: January 07, 2018, 03:23:43 pm »
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.
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 16284
  • Country: za
Re: Problem driving SCRs as triac
« Reply #12 on: January 07, 2018, 08:31:52 pm »
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.
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16620
  • Country: us
  • DavidH
Re: Problem driving SCRs as triac
« Reply #13 on: January 07, 2018, 08:36:19 pm »
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?

SCRs 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.
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #14 on: January 07, 2018, 09:17:02 pm »
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?
« Last Edit: January 08, 2018, 12:07:31 am by somlioy »
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19527
  • Country: gb
  • 0999
Re: Problem driving SCRs as triac
« Reply #15 on: January 08, 2018, 10:52:07 am »
Which circuit did you build?
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #16 on: January 16, 2018, 12:54:48 pm »
Well its just a three phase, phase angle controller.
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19527
  • Country: gb
  • 0999
Re: Problem driving SCRs as triac
« Reply #17 on: January 16, 2018, 02:46:30 pm »
Well its just a three phase, phase angle controller.
I meant did you build any of the circuits posted here, if so which one or something different?
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #18 on: January 18, 2018, 03:54:45 pm »
Yes, currently while testing it's based on the circuit from the application note you posted (without the resistors).
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #19 on: July 16, 2018, 10:58:57 pm »
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: [Select]
/* ------------*/
/* 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 [µs]
const int SCR_Pulse_Width = 100;    // SCR Pulse-width [µs]
const int minimumDelay    = 300;    // Minimum firing-delay at max power [µs]
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 potentiometer
int enableState;          // State of the enable-switch
int pEnableState;         // Previous state of the enable-switch
int enable = 1;           // Variable for enabling firing
int errorLampState;       // State of error-lamp
int error;                // Error-state

volatile byte L1_ZC_Trg;  // Variable triggered by ISR for Zero Cross
volatile byte L2_ZC_Trg;  // Variable triggered by ISR for Zero Cross
volatile byte L3_ZC_Trg;  // Variable triggered by ISR for Zero Cross

float frequency;
float delayValAvg;        // Smoothed fire delay from measured samples
int rawFireDelay;         // Fire delay mapped from potmeter value and delta time for ZC

volatile unsigned long dT_ZC_INT;  // time between zero crosses
unsigned long pDelay;              // Previous time a sample happened
volatile unsigned long pL1_ZC;     // Previous time zero cross phase L1
volatile unsigned long pL2_ZC;     // Previous time zero cross phase L2
volatile unsigned long pL3_ZC;     // Previous time zero cross phase L3
unsigned long pL1_SCR;             // Previous time L1 SCR was fired
unsigned long pL2_SCR;             // Previous time L2 SCR was fired
unsigned long pL3_SCR;             // Previous time L3 SCR was fired
unsigned long microsNow;           // Time now

unsigned long pErrorLamp;           // Previous state change of error-lamp


void setup() {
  // Initialize IO-Pins
  pinMode(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 routines
  attachInterrupt(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 time
    enableState = digitalRead(enable_pin); // Read pin state of enable-switch
   
    // Sample potmeter and time for zero-cross
    if ( 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: µseconds
      rawFireDelay = map(potValue, 1023, 0, minimumDelay, dT_ZC_INT);
 
      // Low Pass filtering of raw values
      delayValAvg = delayValAvg * smoothFactor + rawFireDelay * (1-smoothFactor);
    }
 
    // Firing-algorithm
    if ( enable ) {
      digitalWrite(lamp_pin, HIGH); // Turn on indicator
     
      // Firing L1 SCR if trig'd
      if ( L1_ZC_Trg && (microsNow - pL1_ZC) >= (int)delayValAvg ) {
        L1_ZC_Trg = 0; // Disable bit for L1 Trigger
        digitalWrite(L1_SCR_Pin, HIGH);
      }
 
      if ( L2_ZC_Trg && (microsNow - pL2_ZC) >= (int)delayValAvg ) {
        L2_ZC_Trg = 0; // Disable bit for L2 Trigger
        digitalWrite(L2_SCR_Pin, HIGH);
      }
 
      if ( L3_ZC_Trg && (microsNow - pL3_ZC) >= (int)delayValAvg ) {
        L3_ZC_Trg = 0; // Disable bit for L3 Trigger
        digitalWrite(L3_SCR_Pin, HIGH);
      }
    } else {
      digitalWrite(lamp_pin, HIGH);
    }
 
    // Error-function. Blinking if error-bit is enabled
    if ( error && (microsNow - pErrorLamp) >= iLamp ){
      errorLampState = !errorLampState;
      digitalWrite(lamp_pin, errorLampState);
    }
  }
}

// ISR for Phase L1
void L1_ZC () {
  digitalWrite(L1_SCR_Pin, LOW);
  L1_ZC_Trg = 1;                    // Enable bit for L1 Trigger
  dT_ZC_INT = microsNow - pL1_ZC;   // Calculate current zero cross delta time
  pL1_ZC = microsNow;               // Set previous zero cross to "now"
}

// ISR for Phase L2
void L2_ZC () {
  digitalWrite(L2_SCR_Pin, LOW);
  L2_ZC_Trg = 1;                    // Enable bit for L2 Trigger
  pL2_ZC = microsNow;               // Set previous zero cross to "now"
}

// ISR for Phase L1
void L3_ZC () {
  digitalWrite(L3_SCR_Pin, LOW);
  L3_ZC_Trg = 1;                    // Enable bit for L3 Trigger
  pL3_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?
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9019
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Problem driving SCRs as triac
« Reply #20 on: July 16, 2018, 11:30:00 pm »
Is the load Y or delta? If Y, with or without a neutral connection?
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline somlioyTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: no
Re: Problem driving SCRs as triac
« Reply #21 on: July 17, 2018, 06:10:18 am »
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.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf