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.