Archiv verlassen und diese Seite im Standarddesign anzeigen : Spannung mit ADC messen und Werte mit USART im Hyperterminal
karthago
29.01.2007, 13:46
Hallo zusammen,
Ich möchte mit einem ATMEGA32 Spannung die zwischen 0 und 5V liegt messen dann mit USART im Hyperterminal lesen.
kann mir jemand sagen wie ich es machen soll ?:
- die 10bit ADC Werte durch USART senden kanna
- muss ich vorher eine Umwandlung von Binär nach Dec ode Hex durchführen?
Vielen Dank
Das kommt ganz drauf an, was Du im Terminal sehen möchtest.
Wenn Du das Ergebnis im Klartext ala "4,27V" sehen möchtest, musst Du eine Umwandlung von Binär nach Ascii machen.
askazo
karthago
29.01.2007, 15:21
Das kommt ganz drauf an, was Du im Terminal sehen möchtest.
Wenn Du das Ergebnis im Klartext ala "4,27V" sehen möchtest, musst Du eine Umwandlung von Binär nach Ascii machen.
askazo
Danke askazo
genau als 4,27V wäre ideal,
ich weiss aber nicht wie den ADC-Wert Umwandle und übertrage,
Habe schon mein UART intialisiert sowie ein Iterreupt geschaltet.
robo junior
29.01.2007, 15:37
Vielleicht hilft dir ja diese Seite weiter:
Link (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Senden_mit_dem_UART)
Dort ist auch beschrieben, wie du einzelne Zeichen, Strings und Variablen senden kannst. Falls du dann noch deine Variablenwerte in Strings umwandeln musst kannst du ja itoa() benutzen.
0-5V bei 10 Bit ADC ?
Am besten den ADC Wert mit 320312 multiplizieren und durch 65536 teilen.
Hinter der ersten Zahl ein komma setzen, fertig.
Gruß Sebastian
stormracer
30.01.2007, 16:20
0-5V bei 10 Bit ADC ?
Am besten den ADC Wert mit 320312 multiplizieren und durch 65536 teilen.
Hinter der ersten Zahl ein komma setzen, fertig.
Gruß Sebastian
Hallo,
ich habe ein ähnliches Problem, kann mir wer erklären wie man auf die beiden Zahlen (320312, 65536) kommt?
Ich arbeite mit 2,5V und weiß noch nicht so genau mit welchen Zahlen ich rechnen muss, da ich noch Probleme mit den Komma Zahlen habe.
es gibt ne formel dafür ;) die steht im datenblatt :P
stormracer
30.01.2007, 19:47
THX für den Tipp,
hab es jetzt auch hinbekommen, hab noch meine E-Technik Unterlagen benutzt und nun funktioniert es.
Ich benutzte das RNcontrol 1.4 und nachdem ich herausgefunden habe, das Uref nicht 2,5V sondern 2,18V sind funktioniert es auch mit den Formeln.
wie man auf die beiden Zahlen (320312, 65536) kommt?
Naja, wenn der Mikrocontroller keine Brüche kann, muß man sich halt anders helfen....
Kleine Zahl ganz groß machen und ein Komma nur irgendwo reinbasteln
Hier ein Ausschnitt aus dieser (http://www.avr-asm-tutorial.net/avr_de/rechnen/fpconv.html) Seite, eine sehr gute Lektüre, auch wenn man nicht mit Assembler programmieren will !!!
2. Multiplikation mit 320.313 (hex 04E338).
; Dieser Schritt multipliziert die Zahl mit
; den Faktoren 5.000 und 65.536 und divi-
; diert mit 1.023 in einem Schritt.
Gruß Sebastian
karthago
01.02.2007, 13:10
es gibt ne formel dafür ;) die steht im datenblatt :P
wo finde ich die formel ???
das datenblatt findest beim herstellen
http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf
Kapitel ADC ab s.201
ADC conversion result, das hier brauchst du, auf s.213 (oben)
karthago
01.02.2007, 15:17
das datenblatt findest beim herstellen
http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf
Kapitel ADC ab s.201
ADC conversion result, das hier brauchst du, auf s.213 (oben)
merci,
da steht : ADC = Vin/Vref . 1024
ich hab als Vre 5V
Dh wenn ich die ADC-Wert konvertiere muss ich es so rechnen:
Vin = ADC. 5 / 1024 stimmt es ??
also die gleichung wirst jetzt aber alleine umstellen können, jetzt hab ich ja eh schon den berg zum propheten gebracht :P
karthago
01.02.2007, 18:04
Bitte bitte bitte , sagt doch wie ich es rechnen soll
Rechnung:
Vin = ADC * Vref / 1024
Beispiel:
Vin = 512 * 5V / 1024 = 2,5V
mfg blan
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.