Bascom Umrechnung

Gast #3014645
Lesenswert?

Hallo,

ich habe einen ATMEGA8 mit Bascom programmiert.

Er soll eine Spannung über die serielle Schnittstelle übertragen.

Das funktioniert auch. Es soll die 5V Spannung gemessen  und der

tatsächliche Wert (wie oben angegeben) ausgegeben werden.

Ich erhalte Werte von 0 bis 1023-- auch richtig.

Rein theoretisch müßte ich doch als Teilungsfaktor " 204,6" einstellen.

So: 1024 / 204,6 = 5V

--> N = Getadc(2) / 205 um eine Voltausgabe zu bekommen.Funktioniert, 
ist

aber sehr ungenau. Wo liegt MEIN Fehler?

Grüß Ernst
#3014693
Lesenswert?

Ich lasse die korrekte Umrechnung immer von Wolfram-Alpha ausrechnen. 
Gebe dort die gesamte Formel für die Umrechnung inkl. Spannungsteiler 
ein, löse nach Spannung (allerdings meist Faktor 10 oder 100 wegen 
Festkomma) auf und dann bekommt man wunderschön einen Bruch a la:

X=560*ADC/2560

Was man dann direkt so in C rechnen lassen kann. Je höher der Faktor in 
der Formel desto genauer wirds am Ende aber desto größer werden 
natürlich die Zahlen. Aber selbst uint32_t sollte nicht an seine Grenzen 
kommen.

Sollte in Bascom ähnlich gut gehen.

Hier ein Beispiel:

solve x = (((y/10)/(10000+4700)×4700)×1024)/3.3  for  y

Spannungsteiler 10k und 4,7k. Referenzspannung 3.3 Volt. Spannung soll 
in 1/10 Volt Zurückgegeben werden.

Ergebnis Wolfram-Alpha:
y = (4851 x)/48128

gruß cyblord

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren