Hallo, ich habe einen 8 Kanal AD Wandler an meinen 8051 angeschlossen. Dieser gibt mir die Daten seriell aus. Ich speicher die Daten in einer Variable. Aber der Wert steht da ja in HEX drin. Kann mir jemand sagen wie ich den Wert in mV, also Dezimal, angebe? Gibt es da ne Funktion oder so? Als Ref. sind 5V da. Also müsste ich in 20mV Schritten messen können oder? Wäre für jede Hilfe dankbar :) Tobias
Einfach hex in dezimal umrechnen; wo ist das Problem? Welcher AD-Wert welche Spannung bedeutet hängt vom Modus des AD-Wandlers aber, aber das steht im Datenblatt.
Also, bis jetzt hab ich das so gelöst: x1 = wandel(0); x2 = x1 * 50 / 255; x4 = x2 * 100; in x4 steht der Wert dann in mV. Das Problem ist aber, dass die Auflösung 100mV beträgt. Aber ich möchte eine Auflösung von 20mV haben. Wo ist da der Fehler?
Lineares Gleichungssystem: y = a*x+b 5000 mV = a*maxWandel +b 0 mV = a*0 +b | ==> b=0 a = 5000mV/maxWandel ---------------- x4 = 5000V/maxWandel * wandel(0) In x4 steht der gemessene Wert in Millivolt Grüße Oliver
Hm, danke :) maxWandel in V oder in mV? :) Nachtrag: Hab beides ausprobiert, aber irgendwie kommt da nicht das raus was ich möchte :(
Schon gut. Maxwandel = 8Bit :) Also 255. Jetzt funktioniert es...super :) DANKE! Tobias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.