Hallo, Nach langem Probieren und Programmieren habe ich eine Funkübertragung mehrerer Xbee-Module (Basis, Remote1, Remote2 und so weiter) aufgebaut. Übertragen werden analoge Spannungswerte von ADC0. Ich empfange meine drei Kanäle im Terminalfenster des Programms X-CTU. (siehe Bild) Der Datenstream via Uart sieht folgendermaßen aus: Start Delimiter 7E Length Bytes 00 12 API Identifier Byte 16 Bit 83 Source Address Bytes 5678 RSSI Value Bytes 17 Option Bytes 00 Sample Quantity Byte 05 Channel Indicator (ADC) 02 00 Sample Data ADC0 min value is 00 00 max value is 03 FF 03 FF 03 FF 03 FF 03 FF 03 FF Checksum 86 Nun meine Frage. Wie kann ich den empfangenen Wert des ADC0 (hier 03 FF)umwandeln, das ich einen Spannungswert erhalte? Meine Ref-Spannung beträgt 3,3 V Ich hoffe jemand kann mir einen Denkanstoss geben oder hat vielleicht schon solch ein Probelm gelöst. danke schon mal im voraus Michael
also Wertebereich für ADC 0 .. 1023 also entsprechen 0 0V und 1023 3.3V oder mehr (hoffentlich nicht viel mehr ;-)) ==> Spannung = ADCWert / 1023 * 3.3V aber bitte nicht mit float rumrechnen !!! also z.B. Spannung = (ADCWert * 33) >> 10 Erst multiplizieren und dann teilen. Teilen durch 1023 ist fast gleich zu teilen durch 1024 und das geht mit dem shiften .... ggf. muss noch Dein Spannungsteiler mit reingerechnet werden, wennst einen hast .... Grüße, Michael
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.