Forum: Mikrocontroller und Digitale Elektronik Problem mit Bascom


von Andreas (Gast)


Lesenswert?

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

von Otto (Gast)


Lesenswert?

Hallo Andreas,

und was passiert, wenn Du öfter den Taster betätigt ?

Otto

von Andreas (Gast)


Lesenswert?

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

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Vielleicht liegt es an der Schaltung die eine "Restkapazität" hat, 
vielleicht mal den Schaltplan und Layout einstellen.

von Otto (Gast)


Lesenswert?

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

von Otto (Gast)


Lesenswert?

sollte (Meßwert-offset) heißen !

Otto

von Andreas (Gast)


Lesenswert?

@Otto, danke für den tipp. Nun geht es :-))

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
Noch kein Account? Hier anmelden.