Konverze výstupu čidla SHT71 - výpočet relativní vlhkosti

Nn, všechny výpočty dělej ve 32 bitech s vynásobenýma konstantama a teprve na úplný závěr provedeš shift (ve tvém případě prostě jen zahodíš dolní 3B).
y=C22^24x - |C1|2^24 - |C3|2^24xx. Nemá smysl dělat mezivýsledek 3. konstanty ve 3B, když to stejně pak budeš odečítat od 4B čísla. Zbytečně by sis to komplikoval. Nezapomeň, že u C3 je druhá mocnina - budeš tedy násobit 2x. Jednou samotnou hodnotu se sebou, výsledek necháš ve 32b, pak podruhý konstantou. Tohle odečteš od výsledku prvního násobení (s C2). Od výsledku ještě odečteš (vynásobenou) C1 a máš hotovo. Ve 4.B máš výsledek.

Ta chyba je docela velká. V DS píšou 3% bez linearizace, ale je pravda, že papír snese všechno. Otázkou taky je, s čím to porovnáváš.
100% by mělo jít ověřit. Při 100% totiž snad začíná pára kondenzovat.

Jasne. Uz jsem to pronasobil. Vyuzivam volani porad te same rutiny nasobeni a davam ji jen jine operandy. Zda se mi to efektivni.
Shrnuti: Nyni pocitam takovouto rovnici
RH{%}=-2 + 0.0367SHT - 1.5955e-6SHT*SHT, konstantu c1 jiz neprepocitavam a vysledna nejvetsi chyba je 0,1%.

Chybu jsem spočítal jako rozdíl procentualnich hodnot originalniho vypoctu z DS a vypoctu s kvantovanymi koeficienty. Prilozim pro zajimavost…Vynesl jsem zavislost do grafu, z nehoz je to pomerne hezky zrejme…
SHT71.xls (1.42 MB)

Výpočet relativní vlhkosti, senzor SHT71.

Původní vzorec:
RH = (0.0367SO)-(SOSO*0.0000015955)-2.0468

Upravený vzorec pro výpočet v ASM (3bajtové proměnné):
RH10 = (SO367/1000)-(SO*SO/62676)-20
(*10 pro zobrazení jednoho des. místa)

Výpočet není 100% přesný, viz V_SHT71.xls
V_SHT71.xls (92 KB)

Všechny konstanty musí být použité přednásobené aby výpočet souhlasil.