- LiFePO4 Speicher Test         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 27 von 27

Thema: SHT75 am PIC 16F877A

  1. #21
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hast Du den Code runtergeladen ?.
    Bedarf evtl. einiger Erklärungen.
    Es gibt 4 Vraiablen a 32 Bit
    var_ARG_A,var_ARG_B,var_ARG_C,var_ARG_D
    Hierbei liegt jeweils das niederwertigste Byte Bit0.7 in
    ....AL die Bits 8..15 in ...AH Bit 16..23 in ....AHL Bit 24.31 in ....AHH

    Möchtest Du zwei 16 Bit Werte multiplizieren, muss Du die Variablen
    entsprechend mit den Werten laden

    z.B 1000*2000=2000000

    mov LOW D'1000',W ; A Wert setzen
    movwf var_ARG_AL
    mov HIGH D'1000',W
    movwf var_ARG_AH

    mov LOW D'2000',W ; B Wert setzen
    movwf var_ARG_BL
    mov HIGH D'2000',W
    movwf var_ARG_BH

    call MUL16 ; Berechnung ausführen, Ergebnis nach Wert A

    ; nun steht das Ergebnis 32 Bit breit in der Variablen ARG_A

    Bit 0..7 in in var_ARG_AL
    Bit 8..15 in var_ARG_AH
    Bit 16..23 in var_ARG_AHL
    Bit 24..31 in var_ARG_AHH

    !!!! es wird also der A Wert überschrieben mit dem Ergebnis

    Beim dividieren läuft das in ähnlicher Weise ab.
    mfg. Siro

  2. #22
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    sorry, muss natürlich
    movlw LOW D'1000' heissen um Konstanten zu laden.


    oder bei deinen Messwerten
    mov Messwert_Low,W
    movwf var_ARG_AL
    mov Messwert_High,W
    movwf var_ARG_AH

    usw.

  3. #23
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Wenn Du mir deine Berechnung genau beschreibst,
    welche Variable mit wieviel Bits mit wem multipliziert,dividiert usw.
    werden muss implementiere ich Dir den Code mittels meinen Berechnungs Routinen. Stellt kein Problem dar. Ich hab ja auch meinen Spaß daran.
    mfg Siro

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.11.2007
    Alter
    40
    Beiträge
    140
    Servus,

    wo kann ich mir den Code denn ziehen? Hab ich den Link verpasst?

    Also ich würde gerne zur Berechnung der Feuchte die Formel aus dem Datenblatt anwenden... Habe mich da auch schon dran versucht allerdings tue ich mich sehr schwer beim multiplizieren.

    Das heißt:

    rH= c1+c2*Mess+c3*Mess²
    das bedeutet für 12 bit
    rH= -4+0,0405*Mess-2,8*10^(-6)*Mess²
    Mess steht für den digitalen Wert der Feuchtemessung. maximal 2^12=4096

    Um mit 0,0405 zu multiplizieren hatte ich mir überlegt einfach mit 4 und mit 5 zu multiplizieren und dann für eine Null einfach das Komma zu verschieben. Zum Schluss werden die Werte dann noch aufeinander addiert und zwar so, dass die jeweilige Additionen an die richtige Stelle gerückt wird. So wie man das früher brav in der Schule gelernt hat.

    Zumindest kläppt das auf dem Papier aber leider nicht in meinem Programm.

    Hast dafür eine Idee?

    Gruß

  5. #25
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Da wurde anscheinend das Attachment aus meiner Antwort gelöscht,
    keine Ahnung warum. Ich selbst hatte extra probiert ob ich es runterladen
    kann und das ging getsern auch einwandfrei.
    Kann ich Dir den Code auch per email schicken ?
    Siro

  6. #26
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Deine Feuchteumrechnung ist fertig. Habe Dir den komplett getesteten
    Code per email geschickt. Ein "Mini"-PIC kann also doch rechnen, ist nur eine Frage des Aufwands. Und das beste: es hat mir tatsächlich Spaß gemacht.
    mfg Siro

  7. #27
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.11.2007
    Alter
    40
    Beiträge
    140
    Servus,

    also noch mal eine kurze Resonanz zu der ganzen Geschichte.

    Ich habe die Umrechnung für die Temperatur fertig. Abweichung zum kalibrierten Messgerät beträgt +/-0,5 Grad. Also funktioniert wunderbar

    Die Feuchte habe ich mit einigen Geraden genähert. Da mir die Rechnung laut Datenblatt einfach zu viel war. so beträgt die Abweichung rund +/- 2%, was mich nicht unbedingt glücklich macht aber vertretbar ist.

    Trotzdem noch mal fettes fettes Danke an Siro. Bei der Multiplikation habe ich einiges gelernt.

    Gruß Daniel

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Labornetzteil AliExpress