-         

Ergebnis 1 bis 7 von 7

Thema: Bascom und rechnen -> Problem

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.11.2005
    Beiträge
    272

    Bascom und rechnen -> Problem

    Anzeige

    Hallo,

    ich will mit Bascom ein Temperatursensor einlesen und dann als Temperatur per RS232 ausgeben.

    Ich habe die Kennlinie aufgenommen und in Excel in eine Formel umgerechnet. Aber da liegt das Problem. Ich weiß das ich pro Zeile nur eine Rechenoperation ausfüren darf.

    Die ermittelte Formel:
    y = 6E-05x2 + 0,1898x - 76,344

    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    
    
    
    Dim T As Integer
    Dim Teil_eins As Single
    Dim Teil_zwei As Single
    Dim Teil_drei As Single
    Dim Ergebnis As Single
    
    'y = 6E-05x2 + 0,1898x - 76,344
    
    T = 441
    
    Teil_eins = 0.00006 * T
    
    Teil_eins = Teil_eins * T
    
    
    Teil_zwei = T * 0.1898
    
    
    Teil_drei = Teil_eins + Teil_zwei
    
    
    Ergebnis = Teil_drei - 76.344
    
    
    Do
       Print "T=" ; T
    
       Print "Ergebnis=" ; Ergebnis
    
       Print "Teil_eins" ; Teil_eins
    
       Print "Teil_zwei" ; Teil_zwei
    
       Print "Teil_drei" ; Teil_drei
    
    Loop
    Teil eins rechnet er richtig. Aber bei Teil zwei habe ich das Problem, das er da immer auf die Falschen Werte kommt.

    er sollte bei Teil_zwei = T * 0.1898 auf 83.701 kommen, aber er rechnet mir immer 41 aus (für T = 441).

    Ich kann aber den Fehler nicht finden. Mit Kommas muss er ja rechnen, weil sonst würde bei teil eins ein falscher wert raus kommen.

    Habt ihr eine Idee warum das nicht geht.

    und noch ein Problem, wenn ich den Wert auf Singel stelle, kommt immer nur der Wert 220,5 raus. Wieso das? Single deckt doch einen großen Bereich und Kommastellen ab, oder?

    thx Arno
    Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
    Sir Isaac Newton

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Probier einfach mal, "T" auch als single zu defininieren.
    Mit gemischten Formaten hat es der Bascom nicht so.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.11.2005
    Beiträge
    272
    Wenn ich T als Single Single setze ist T immer 220,5. Egal was ich für eine Zahl übergebe.

    Das macht mich so konfus.
    Bisher hatte ich viel von Bascom gehalten. Aber das finde ich eine ganz schöne Schwäche.

    Werde wohl auf eine Datentabelle umsteigen um die Werte zu bekommen.

    Aber wenn noch jemand ne Idee hat. Immer her damit.

    cu arno
    Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
    Sir Isaac Newton

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Jetzt habe ich dein Programm oben mit copy in den Bascom reingetan, ohne eine Pieps zu ändern und er rechnet ganz genau das aus, was er soll.
    Da is woanders ein Wurm drin.



    eine ganz schöne Schwäche
    Falscher Ansatz. Zu 99.99 % prozent sitzt das Problem zwischen den Ohren und nicht im Computer.
    Is nur ein gutgemeinter Tip und keine Rüge. Kannst du auch gleich wieder vergessen, wenn du magst.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken area.png  
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.11.2005
    Beiträge
    272
    Danke für deine Hilfe.

    Jetzt weiß ich nicht wo mein Fehler liegt. Mist.

    Heißt aber das mein Program funktioniert. Juhu

    thx für deine Hilfe

    cu Arno
    Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
    Sir Isaac Newton

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Na, dann mach es so wie ich Bascom->neues program und den obigen Code mit Copy reinstellen, kompilieren und simulieren.
    (Aber wirklich genau so) Das gibt erst mal Vertrauen

    Nehme an, das da oben ist nicht das vollständige programm und irgendwo anders zerschmetterst du deine Felder.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.11.2005
    Beiträge
    272
    Is Richtig, das oben ist nur die Berechnung des Temperaturwertes aus dem ADC Wert.

    Aber das Programm so wie ich es oben stehen habbe, habe ich einzeln in einem neuen Programm erstellt. Also das Programm oben ist mein Testprogramm. Dort wollte ich es testen weil im Hauptprogramm falsch gerechnet wurde. Aber auch im neuen Testprogramm ging es niccht.

    na ich werde das nochmal checken.

    thx arno
    Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
    Sir Isaac Newton

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •