PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XBEE Auswertung UART Daten-Stream



trinity4711
24.07.2008, 09:06
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

fhs
24.07.2008, 09:22
Hallo Michael,


...Wie kann ich den empfangenen Wert des ADC0 (hier 03FF)umwandeln, das ich einen Spannungswert erhalte?
Meine Ref-Spannung beträgt 3,3 V

aus Deiner Beschreibung wird mir nicht ersichtlich, welchen A/D-Wandler Du einsetzt. Falls Du einen der A/D-Wandler eines Atmel-AVRs benutzt, kannst Du Deine Frage aus dem Datenblatt beantworten. Als Beispiel der entprechende Ausschnitt des ATmega16 Datenblatts (Version 2466M-AVR-04/06, S. 216).

Gruß

Fred

trinity4711
24.07.2008, 09:36
Hallo fhs,

das XBEE-Funkmodul hat einen integrierten ADC und wandelt die Spannungswerte zum Senden seriell um. Deshalb meine Frage zum empfangenen Strem

Gruss Michael

fhs
24.07.2008, 09:41
Hallo Michael,

dann sieh' Dir mal das zugehörige Datenblatt an (oder weißt Du vielleicht, welcher Prozessor verbaut ist?). Du kannst bei unipolaren A/D-Wandlern ohne Offset meist davon ausgehen, dass Du bei 0V einen Wert von "0" bekommst und bei Deiner Referenzspannung 2**n oder 2**(n-1) [wobei n die Bitbreite Deines A/D-Wandlers ist] -- also wie im oben zitierten Datenblatt.

Viele Grüße

Fred