Hi,

ich kenne mich zwar nicht mit dem Basic Compiler aus, dennoch schreibe ich hier mal meine Vermutung da kein andere gepostet hat.

Im PIC exisitiert nur ein AD-Wandler, der jeweils mit den verschiedene Eingängen verbunden wird.

Nornalerweise setzt man den Kanal fest, wartet einen kurzen Augenblick und startet erst dann die Messung. Grund ist das ein Kondensaor am AD-Wandler ist, der erst umgeladen werden muss. Bis das soweit ist können eben falsche Messergebnisse kommen.

Auch noch ein Tipp: Vielleicht solltest Du in deinem Programm nicht sofort den Alarm auslösen sondern einen Fehlerzähler hochzählen und dann eben bei z.B. 5 aufeinanderfolgenden falschen Messergebnissen den Alarm auslösen. Sobald der Wert wieder in Toleranz ist muss der Fehlerzähler auf 0 gesetzt werden, damit er nicht in 2 Tagen wenn es bis dahin 5 mal in unbestimmten Abständen einen Fehler gibt ausgelöst wird.
Das kannts Du ja da im Code bei ' nichts tun machne.

mfg
Benny