Hallo alle zusammen. Momentan sieht meine IST Situation wie folgt aus:
Vor Setup:
int schrittbreite = 100;
Im Setup:
Timer1.initialize(schrittbreite);
Timer1.attachInterrupt(zeitscan, schrittbreite);
Später im Programm:
void zeitscan(){
if(nulldurchgang_erkannt == true){
if(counter >= schnittzeitpunkt){
digitalWrite(triac, HIGH);
digitalWrite(test, HIGH);
counter = 0;
nulldurchgang_erkannt = false;
}
else {
counter++;
}
}
}
Hier wird quasi mein Phasenanschnitt 0-100% ermöglicht. 0-100% setze ich weiter unten indem ich meine variable schnittzeitpunkt via Encoder einstelle.
Ist es möglich die Variable schrittbreite vorher im Setup mit einer Funktion auf einen bestimmten wert zu setzten? Sprich ich möchte vorab die Phase auf Frequenz überprüfen (50 || 60 hz) und dann entsprechen meinen Timerinterrupt konfigurieren. Oder bin ich irgendwie auf dem Holzweg und muss nur eine umrechnungsvariable für den schnittzeitpunkt benutzen?