Hallo,
habe gestern eine Phasenanschnittsteuerung gebaut und sie hat auch mit der Konfiguration Laptop->Arduino funktioniert. Jetzt bin ich damit in die Scheune gegangen und da funktioniert die Steuerung nur noch mit Konfig. USB-Netztteil ->Arduino.
#include <Arduino.h>
void zero_cross_detect();
int triac_pin = 4; // Digital output to TRIAC
int dimm_time = 8000; // 8000 = 20% output power
bool zero_cross = 0;
void setup(void) {
Serial.begin(9600);
Serial.println("Power on...");
pinMode(triac_pin, OUTPUT);
digitalWrite(triac_pin, HIGH);
delay(2000);
digitalWrite(triac_pin, LOW);
Serial.println("Power off...");
delay(2000);
Serial.println("Start dimming...");
attachInterrupt(0, zero_cross_detect, CHANGE);
}
void loop() {
if (zero_cross) {
if (dimm_time < 9500) {
delayMicroseconds(dimm_time);
digitalWrite(triac_pin, HIGH);
delayMicroseconds(200);
digitalWrite(triac_pin, LOW);
}
zero_cross = 0;
}
if (dimm_time > 8800) {
dimm_time = 9500;
}
if (dimm_time < 1000) {
dimm_time = 1000;
}
if (Serial.available() > 1) {
int getval = 10000 - (Serial.parseInt() * 100);
if (getval >= 0 && getval <= 10000) {
dimm_time = getval;
Serial.print("Dimm to ");
Serial.print(100 - (getval / 100));
Serial.println(" %");
} else {
Serial.println("Wrong value!");
}
}
}
void zero_cross_detect() { // If zero crossing is detected
zero_cross = 1;
}
Wenn ich das ganze in der Scheuen mit dem Laptop betreibe, dann flackert die Lampe am Anfang (bei der Initialisierung, Power on- delay(2000)- Power off) bisschen und macht dann gar nichts mehr. Mit dem Usb-Netzteil funktioniert das einwandfrei. Daheim funktioniert alles mit beiden Konfigurationen.
Hat jemand eine Idee woran das liegen kann?
Mit freundlichen Grüßen
Janik