Hallo, ich habe mir ein LC-Messgerät gebaut, das auch super läuft. Das
Programm ist mit Bascom geschrieben. Ich bin gerade dabei, und möchte
die Anzeige bei offenen Messklemmen auf null setzen. Aber irgendwie
beckomme ich das nicht richtig hin. Angenommen es wird ein Leerlauf-C
von 9.21pF angezeigt, so beckomme ich die Anzeige bei der ersten
betätigung des Null-Tasters auch auf 0.00pF. Aber wenn ich den Taster
erneut betätige, erscheinen wider die 9.21pF. Wo ist der Fehler in
meinem Programm ?
Bitte um Hilfe !!!
_cx:
Do
Gosub _start
S2 = Frequ ^ 2
S3 = S1 / S2
S3 = S3 - 1
Cx = S3 * C1
Cx = Cx * 1.05
Cx = Cx - C_off ' Cx-Offset
If Cx > 1000 Then
Cx = Cx / 1000
Z = 2
Else
Z = 1
End If
Locate 1 , 2
Lcd "Kondensatoren!"
Locate 2 , 1
Lcd " Cx = " ; Fusing(cx , "#.##") ; C_string(z) ; " "
If Taster_zero = 0 Then ' Offset berechnen
C_off = Cx
Locate 2 , 1
Lcd " Set Zero !!! "
Wait 2
End If
Loop Until Sw_cx = 0
Return
Es wechselt dann immer zwischen 0.00pF und dem Leerlauf-C. Im beispiel also 9.21 nach 0.00 und 0.00 nach 9.21
Vielleicht liegt es an der Schaltung die eine "Restkapazität" hat, vielleicht mal den Schaltplan und Layout einstellen.
ich denke, Du solltest "Cx" nicht verändern sondern das Ergebnis der Berechnung "Meßwert - Sollwert" einer neuen Variablen (Cd für "Display") zuweisen.... Otto
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.