Akdeniz31
Üye
- Katılım
- 6 May 2020
- Mesajlar
- 54
- Puanları
- 1
İyi günler. Tristör kullanarak kontrollü doğrultucu devresi yapıyorum. Fakat devrede bir sorunla karşılaştım ve çözümünü bulamadım. Sorun devrede mi yoksa kod kısmında mı yardımcı olur musunuz?
Teşekkür ederim.
Kod:
Ek:
Teşekkür ederim.
Kod:
Kod:
#define scr1_gate 8
#define scr2_gate 9
#define pot A0
byte ZC = 0;
uint16_t alpha;
void setup(void) {
Serial.begin(9600);
//pinMode(3,INPUT);
pinMode(scr1_gate, OUTPUT);
digitalWrite(scr1_gate, LOW);
pinMode(scr2_gate, OUTPUT);
digitalWrite(scr2_gate, LOW);
attachInterrupt(0, ZC_detect, CHANGE);
}
void ZC_detect() {
if(digitalRead(2))
ZC = 1;
else
ZC = 2;
}
void loop() {
if(ZC == 1){
delayMicroseconds(alpha);
digitalWrite(scr1_gate, HIGH);
delay(2);
digitalWrite(scr1_gate, LOW);
alpha = analogRead(pot) * 75;
ZC = 0;
}
if(ZC == 2){
delayMicroseconds(alpha);
digitalWrite(scr2_gate, HIGH);
delay(2);
digitalWrite(scr2_gate, LOW);
alpha = analogRead(pot) * 75;
ZC = 0;
}
Serial.print(" zc = " );
Serial.print(ZC);
}
Moderatör tarafında düzenlendi: