So viele Baeume und doch kein Wald
Hallo Cassio, hallo Dino,
ersteinmal vielen Dank fuer eure schnelle Reaktion.
Dino, ich werde Deinen Rat bezueglich Strukturierung versuchen zu beherzigen.
Ich hatte ja bereits angefangen alles zu Kommentieren...
Was Ve=0 in der Do-Loop Schleife angeht, so hat das seinen Sinn...
Innerhalb der Do-Loop ist ja noch die For-Next Schleife...die legt im Prinzip den Zeitrahmen fest in dem Ve hochgezaehlt wird.
Wenn ich Ve einfach immer nur hochzaehle und bei ueberschreiten von Vemax in die Fehlerbehandlung springe kann es sein, dass
nach x-Tagen der Generator startet obwohl kein Blackout da ist. In diesem Fall wuerde ich einzelne Fehler (Kurze Hicks oder auch
Messfehler) solange sammeln bis Vemax ueberschritten wird. Daher muss ich in einem festen Zeitrahmen (hier Vemax + 1) die
Variable Ve wieder auf 0 setzen.
Ich habe mich wahrscheinlich aber auch nicht richtig ausgedrueckt.....
Ve wird ja nicht immer auf 0 gesetzt...zu 90% laeuft es ja durch, nur je hoeher ich Vemax setze, desto haeufiger, dass Ve = 0 wird ohne
das die For-Next Schleife verlassen wird.....also die Zeile Ve=0 wird garnicht angesprungen...einen Reset macht der µC auch nicht.....
alles laeuft weiter, nur Ve verliert ihren Wert, bzw. geht auf 0......
Was das Proggi angeht, so hat Cassio irgendwie recht. Das Proggi hier ist zwar innerhalb von ca. 6h entstanden aber viele Versuche mit kurzen Routinen
um das Sampleing hinzubekommen hatte ich schon in den Tagen davor
....
Ich werde heute Nachmittag mal ein wenig Strucktur rein bringen und zu ende Kommentieren....
Auch werde ich den Schaltplan mal dem "Steckbrett" anpassen und neu posten.
Zur vorab-Info:
An den Eingaengen der ADC sind eine Diode (um die positive Halbwelle rauszufiltern) und ein Spannungsteiler 100:1 vorgeschaltet.....Funktioniert soweit ganz gut....
Die Null erkennung mache ich in der Routine Getzero....dort wird solange der ADC ausgelesen bis der Wert kleiner 1 (also 0) ist...wenn ich =0 mache funktioniert es nicht - warum auch immer....
Danach warte ich in der Routine Getpositiv bis der ADC-Wert > 100 ist (entspricht 0,488V)....oder der Zaehler CNT > 100 ist.(um zu vermeiden, dass bei Stromausfall das ganze hier festhaengt)
Dann in Sample wird solange der ADC ausgelesen und aufaddiert bist der ADC-Wert wieder < 1 ist (Null durchgang und negative Halbwelle).....danach wird der Mittelwert ermittelt und die Spannung berechnet....
LG aus Addis
Klaus