- SF800 Solar Speicher Tutorial         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Temp: LM61 richtig auswerten

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    35
    Beiträge
    44
    Anzeige

    Powerstation Test
    Ok, also ich habe mal den LM61 direkt am ADC hängen gehabt und eine Temperatur von 17 Grad gemessen.. gleiche Stelle, neues Kabel 15m lang ohne Schirmung: gemessene Temperatur: 15-16 Grad es schwankt heftig..

    Ich werde wohl noch einen 100NF Kondensator zwischen GND und ADC hängen... vielleicht flackert es dann nicht mehr so !!!

    Ich werde wohl ohne die Schaltung nun arbeiten..

    Frage: Wenn ich nun doch eine Kommazahl haben möchte z.B. 16,4 Grad inwiefern muss denn die Formel geändert werden ?? Ich bekomm ja jetzt nur 2 Stellige Zahlen !!!

    mein bisheriger code:
    Code:
    int adcval;
    char buffer[10];
    
    adcval = Messen(0);
    adcval = (adcval-240)/4;
    
    itoa(adcval,buffer,10);
    lcd_puts(buffer);
    Dank dir....

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    521
    Der Sensor geht auch nur +/-3 bis +/-4° genau, da werden Schwankungen nicht ausbleiben.

    Die Auflösung kann mit diesen Werten am ADC höchsten 0.25°C betragen, am einfachsten geht es wenn man adcval als float nimmt. Ob man dass dann mit itoa auf das LCD bekommt weiss ich nicht. Buffer müsste dann buffer[4] oder buffer[5] sein damit man es auf 2 Stellen genau anzeigt.

    Wenn man mit Ganzzahlen rechnen und trotzdem die Kommastellen sehen will wird es komplizierter, man muss Vor- und Nachkommstelle getrennt ausrechnen. Ich habe es vor kurzem für meine Akkuüberwachung so ausgeführt weil ich aus Performancegründen (und aus Spass) auf Float Variablen verzichten will und kann es raussuchen wenn es notwendig ist.

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    35
    Beiträge
    44
    Ok ich habe hier nun eine Lösung gefunden bei der ich angeben kann wieviele Ziffern vor und nach dem Komma sind. Die Nachkommastelle wird gerundet !!

    Code:
    float adcval;
    char buffer[5];
    
    adcval = Messen(0);
    adcval = (adcval-240)/4;
    dtostrf(adcval,2,1,buffer); //(zahl,sges,snach,buffer)
    lcd_puts(buffer);
    Die funktion benötigt die stdlib.h !!
    So bekomme ich z.B eine Anzeige von 16,5 °C.

    Danke nochmal für alles..

    Lg...

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    521
    Gut das es jetzt funktioniert!
    Diese Funktion muss ich mir merken, programmiere erst seit Oktober (nach 5 Jahren Pause seit Miniprogrammen beim Studium) und kenne noch nicht alle Feinheiten in C.

    LG

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

LiFePO4 Speicher Test