jonas
14.10.2006, 13:32
Hallo zusammen!
Ich will mit einem ATMega8 ein Thermometer bauen. Als Messumformer dient mir eine Messbrücke mit diversen Verstärkerstufen, die mir an den Analogeingang des mega8 eine Spannung von 0 bis 5V liefert. Nun will ich aus dem Binärwert des A/D-Wandlers die Temperatur mit folgenden Formeln berechnen:
Ue=(5/1023)*Binärwert
U2=-((Ue*Re)/Rk-U1)
R1=(R2*Ub)/U2-R2
temp=(R1-R0)/(R0*3,85*10^-3)
Soweit ich weiß kann der Controller keine Kommazahlen berechnen, damit ich aber die Nachkommastellen nicht verliere, habe ich das Komma einfach weiter nach rechts verschoben:
bin=get_adc();
Ue=((5/1023)*bin)*100;
U2=-(((Ue*22662)/1000000)-458);
R1=((100000*500)/U2)-100000;
temp=(R1-10000)/(10000*(385/100000));
temp=temp/100;
Wenn ich alles mit dem Taschenrechner durchtippe, müsste das eigentlich funktionieren, aber leider ist dem nicht so. Vielleicht kann mir jemand sagen, wo mein Fehler liegt? Oder hat jemand eine viel einfachere Lösung für mein Problem?
Ich hoffe mir kann jemand helfen und danke schonmal im voraus![highlight=red:c8a4bbd28a][/highlight:c8a4bbd28a]
Ich will mit einem ATMega8 ein Thermometer bauen. Als Messumformer dient mir eine Messbrücke mit diversen Verstärkerstufen, die mir an den Analogeingang des mega8 eine Spannung von 0 bis 5V liefert. Nun will ich aus dem Binärwert des A/D-Wandlers die Temperatur mit folgenden Formeln berechnen:
Ue=(5/1023)*Binärwert
U2=-((Ue*Re)/Rk-U1)
R1=(R2*Ub)/U2-R2
temp=(R1-R0)/(R0*3,85*10^-3)
Soweit ich weiß kann der Controller keine Kommazahlen berechnen, damit ich aber die Nachkommastellen nicht verliere, habe ich das Komma einfach weiter nach rechts verschoben:
bin=get_adc();
Ue=((5/1023)*bin)*100;
U2=-(((Ue*22662)/1000000)-458);
R1=((100000*500)/U2)-100000;
temp=(R1-10000)/(10000*(385/100000));
temp=temp/100;
Wenn ich alles mit dem Taschenrechner durchtippe, müsste das eigentlich funktionieren, aber leider ist dem nicht so. Vielleicht kann mir jemand sagen, wo mein Fehler liegt? Oder hat jemand eine viel einfachere Lösung für mein Problem?
Ich hoffe mir kann jemand helfen und danke schonmal im voraus![highlight=red:c8a4bbd28a][/highlight:c8a4bbd28a]