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
Gast
#935557
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
