Show Posts
Pages: [1] 2
1  Using Arduino / Project Guidance / Re: SCR gate controller circuit on: May 10, 2013, 11:30:21 pm
Did you understand my comment about delayMicroseconds()? You don't check for that limit in your code yet.

yes... i have changed it to 100 which was sufficient to fire the SCR.
2  Using Arduino / Project Guidance / Re: SCR gate controller circuit on: May 10, 2013, 08:39:00 am
Did you consider a mosfet? I always thought SCR's were kinda jumpy. smiley

My project is based on SCR....
3  Using Arduino / Project Guidance / Re: SCR gate controller circuit on: May 10, 2013, 08:38:02 am
What is driving the zero crossing circuit? As you don't have a diode connected in reverse across the opto isolator input (to protect it against reverse voltage), I presume you are feeding it with low voltage from a transformer. If so, then you will probably get some phase shift in the transformer, which could explain what is going wrong. A solution would be to feed it directly from the mains (with a suitably-increased value series resistor of sufficient voltage rating, and the protection diode added) - but only if you are comfortable with doing mains-voltage wiring.

Thanks you very much... I would try adding resistors and the protective diode as you mentioned.
4  Using Arduino / Project Guidance / Re: SCR gate controller circuit on: May 09, 2013, 08:32:34 am
I have use a zero crossing detector circuit. Before I connect into the arduino, the value gives a high at the negative cycle and a low at the positive. But the moment I connect it to arduino pin, the value of the zero crossing is giving me negative value instead of a zero. Which I think is the cause for the delay and the irregularities of scr firing angle. this is the circuit I am using. its a PSIM simulation therefore the optocoupler is a standard type. I am used 4n25 at 1st then now i changed it into H11aa1. It gives me the same result
5  Using Arduino / Project Guidance / Re: SCR gate controller circuit on: May 07, 2013, 12:29:20 pm
Yes.. i have changed.. The to scrpins to volatile and the d as well. the ms part i haven change yet.. suppose to create the byte array like for the degree sign. for now I much more worried on the output of the pulse.
6  Using Arduino / Project Guidance / Re: SCR gate controller circuit on: May 07, 2013, 11:15:37 am
Ok.. i will correct my mistakes.. the problem i am facing is that the pulse doesn't fire starting from 0 degrees of the sine wave when i set it as 0 degrees.. It begins before the zero point as it shown in the picture attached. the moment i start to vary my potentiometer to vary the pulse position, it jumps and starts at nearly 30 degrees which means, at 90 degree sine mark, my LCD is displaying 60 degress
7  Using Arduino / Project Guidance / SCR gate controller circuit on: May 07, 2013, 09:06:50 am
i think this is my 3rd post on this topic.... But i need an urgent help.. I have done my program and had the output from arduino. I have problem that the firing point is faster then usual. . I am using a potentiometer to vary the pulse position... wen i start varying the potentiometer, the skips around 30 degrees. Eg, at 90 degree's of the sine.. i m getting 60 degrees displayed on my LCD... I have included the pic of my output pulse on 0 degrees.. I hope I can guided on this... this is my output pic and code...


#include <LiquidCrystal.h>

/*
 The circuit:
*LCD RS pin to digital pin 8
*LCD Enable pin to digital pin 9
*LCD D4 pin to digital pin 4
*LCD D5 pin to digital pin 5
*LCD D6 pin to digital pin 6
*LCD D7 pin to digital pin 7
*LCD R/W pin to ground
*/


LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

byte degree[8] = {
 B00110,
 B01001,
 B01001,
 B00110,
 B00000,
 B00000,
 B00000,
};

int zcdPin = 0; //pin 2
int potPin = A0;
int sensorValue = 0;
int outputValue = 0;
int alpha;
int d;
int scrPin1 = 10;
int scrPin2 = 11;


void setup (){
lcd.begin (16, 2);
lcd.print("FYP 2012/2013");
lcd.createChar(1, degree);
attachInterrupt (0, ZCHandler, FALLING);
}

void loop (){
 sensorValue = analogRead(potPin);
 alpha = sensorValue/5.68;
 d = (sensorValue*5)*1.955;
 lcd.setCursor(0,1);
 lcd.print("a:");
 lcd.print(alpha);
 lcd.write(1);
 lcd.setCursor(8,1);
 lcd.print("d:");
 lcd.print(d);
 lcd.print("ms");
}

void ZCHandler(){
  digitalWrite(scrPin2, LOW);
  delayMicroseconds(d);
  digitalWrite(scrPin2, HIGH);
  delayMicroseconds(1000);
  digitalWrite(scrPin2, LOW);
}
  
8  Using Arduino / Project Guidance / Re: Zero crossing detector on: May 03, 2013, 12:07:27 pm
I am not that sure bout it...
9  Using Arduino / Project Guidance / Re: Zero crossing detector on: May 03, 2013, 11:02:59 am
Tats the problem.. d last pic is my hardware result from the circuit of the 2nd pic.. I cant seem to get the value to drop to zero.. I tried using comparator as well but to no avail....
10  Using Arduino / Project Guidance / Zero crossing detector on: May 03, 2013, 10:00:45 am
hey guys.... I am doing AC phase control using SCR H bridge rectifier. I need a suggestion for a zero cross detector circuit. I need a precise zero cross detector. For now I am using 4n25 optocoupler but I m not getting the desired output. I have placed attachment of what i need. then the circuit i used and the output i got. Basically i need a better pulse where i can use it for reference to fire the scr negative cycle of the sine wave
11  Using Arduino / General Electronics / Zero crossing detector on: April 23, 2013, 08:06:57 am
I am doing a gate controller circuit for SCR. I will be needing a zero crossing detector from the main to detect the sine so I could synchronize with my arduino to fire the scr at the perfect time. But so far the i have tried using basic zero crossing circuits like comparator comparing the sine wave with a ground but to no avail. Any other suggestions?
12  Using Arduino / Project Guidance / Re: SCR gate controller circuit using arduino on: April 12, 2013, 09:53:55 pm
Can anyone help me to check if program is correct? any corrections? and i m rather curious to know if the ADC calculation and LCD display might consume time causing the arduino not being synchronized with the sine input of the rectifier
13  Using Arduino / Project Guidance / Re: SCR gate controller circuit using arduino on: April 04, 2013, 06:35:20 pm
Thx @DVDdoug, in my code i stated the else if statement saying when the ZCD==0, its goes 2 d 2nd subroutine where it calculates 4 d negative cycle. Is whatever I m doing there make sense? And I will be using a pulse transformer to isolate my arduino from the H-bridge rectifier. Its not really a light dimmer. All i have to do is to make sure the SCR in the H bridge works and the AC is fully rectified. the output of the rectifier can just be resistor.
14  Using Arduino / Project Guidance / SCR gate controller circuit using arduino on: April 04, 2013, 10:58:10 am
Greetings. Based on my previous post finally i came up with the programming. But I need a little favour or guidance if what i done is correct. My project is based on designing a SCR gate controller circuit for a FW H bridge rectifier. So i decided to use arduino Duemilanove to help my cause. I came across a journal where they precisely explained the generation method but they used Atmega-32. So i followed the steps. The following is the method and I have attached the zero cross detection circuit along with its simulated o/p.

Methods:

1) At any time when zero crossing (rising edge of square wave) is detected on the AC mains, arduino is interrupted and the latest values of
ADC is used to manipulate firing delay which is use to determine firing angle. According to the firing angle, the triggering pulse is generated for gate terminal of SCR to trigger the thyristor. On LCD, ADC output and firing angle which is calculated from ADC reading is displayed for the observer who is controlling the converters output. ADC output is 0-1023 which is use to control firing angle 0-180 degrees. Let ADC is the output from analog to digital converter and alpha is the firing angle. So alpha is calculated using the following equation:
alpha = ADC/5.68

2) Nxt is calculating the delay as per the firing angle which is based on the ADC output and ADC output is based on the analog voltage (0-5V).  AC supply is 50Hz it have the time period of 20ms and for positive half cycle time period is 10ms, ADC reading is converted into a delay after which firing pulse is to be generated. If ADC is output of ADC and d is the delay in microseconds, then

d=(ADC*5)*1.955

1.955 here is the scaling up factor for the ADC reading and 5 is the reference voltage.

So this is the method i followed but i m having doubts whether it can be fired on the negative cycle of the rectifier. Plus I thought of using an external voltage as the controlling voltage to get the ADC voltage. Any other easy recommendation?

My program:

#include <LiquidCrystal.h>

/*
 The circuit:
*LCD RS pin to digital pin 8
*LCD Enable pin to digital pin 9
*LCD D4 pin to digital pin 4
*LCD D5 pin to digital pin 5
*LCD D6 pin to digital pin 6
*LCD D7 pin to digital pin 7
*LCD R/W pin to ground
*/

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int ZCDpin= A0;
int ADCpin= A1;
int SCRpin1= 9;
int SCRpin2= 10;
attachInterrupt(ZCDpin, loop, RISING);

void setup (){
 pinMode (SCRpin1, OUTPUT);
 pinMode (SCRpin2, OUTPUT);
 lcd.begin (16, 2)
 lcd.clear ();
 analogReferrence (DEFAULT);
}

void loop (){
 if (ZCDpin == 1){
   adc_pot1()
 }
 else if (ZCD == 0){
   adc_pot2()
 }
 lcd.setCursor (0,0);
 lcd.print("Angle=         ");
 lcd.print(alpha);
 lcd.write(0);
 lcd.setCursor (0,1);
 lcd.print("delay=         ");
}

void adc_pot1(){
 if (int x=0; x<180; x++)
 { int ADC= analogRead(ADCpin);
   alpha= ADC/5.68;
   d= (ADC*5)*1.955);
   digitalWrite(SCRpin1, alpha);
   delay (d);
 

void adc_pot2(){
 if (int x=0=180; x<360; x++)
 { int ADC= analogRead(ADCpin);
   alpha= ADC/5.68;
   d= (ADC*5)*1.955);
   digitalWrite(SCRpin2, alpha);
   delay (d);
15  Using Arduino / Installation & Troubleshooting / Re: Arduino error on: March 26, 2013, 04:58:52 am
I have tried another cable bt to no avail.. tried to download the IDE again but its the same.. I should try on another computer
Pages: [1] 2