Hallo Leute, habe mir ein Arduino-Micro zugelegt und bin bis jetzt recht zufrieden. Leider habe ich momentan ein Problem mit dem Analog-Eingang, bei dem ich nicht weiter komme. Ich möchte mit dem Arduino Spannungen messen (0 - 24V). Habe bereits eine kleine Schaltung dazu aufgebaut (siehe Anhang) Das funktioniert schon mal alles... zum Problem: Wenn ich beim Spannungsteiler keine Spannung (0V) anliegen habe, dann gibt mir Arduino z.B. den Wert 150 , 100 , 120 usw. aus... (Wert schwankt) Warum ist dieser nicht auf 0? Bei z.B.: 12 Volt gibt mir das Board ca. 350 aus Müsste dieser Wert nicht 512 sein? (Analog-Eingang 0...1024 ; beim Spannungsteiler liegt 2,5 Volt an ; also die Hälfte vom Eingang?) Dadurch kann ich die Spannung nicht berechnen... Muss ich den Analog-Eingang auf GND setzen? Wenn ja, wie? Vielen Dank für eure Hilfe... MfG Snake
moin Was für ein MC ist auf dem Arduino ? lese dir doch bitte die Tutorials durch ;-) http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial mfg
Und was macht der AVR, wenn die Spannung etwas über 24V liegt - puf? Die sieht die AVcc, ARef und AGnd Beschaltung aus und wo ist das Programm dazu ? Meistens liegt dort das Problem. Wie ich gerade sehe läuft dort ein ATmega32u4 mit 3,3V. Ob man da von ADC 5V ausgehen kann ? Link: http://www.adafruit.com/blog/2012/11/05/new-product-arduino-micro-with-headers-5v-16mhz-atmega32u4-assembled/
Vielen Dank für die schnellen Antworten... Es wird ein ATmega32u4 verwendet. Es ist ausgeschlossen dass eine Spannung über 24 Volt anliegt, da nicht mehr als mit 20V gemessen wird. AREF wird nicht verwendet - "DEFAULT" ist gesetzt (http://arduino.cc/en/Reference/AnalogReference) Testweise habe ich das Beispiel-Programm verwendet: http://arduino.cc/en/Tutorial/AnalogReadSerial Da bei 12V am Spannungsteiler 2,5V anliegen, müsste bei einem 10bit Analog-Eingang 512 als Wert herauskommen, oder liege ich damit falsch? Bei der Spannungsberechnung hätt ich folgende Formel verwendet: sensorValue = 0-1024 voltage = sensorValue * (24.0 / 1023.0); EDIT: Das was ich in der Zeichnung vergessen habe: GND von beiden Spannungen sind zusammengefasst
Was soll das heißen? :-D Hast du auch Alternativen (in gleicher Bauform)? Ich glaube nicht das es am Arduino liegt sondern an der Schaltung...
S. R. schrieb: > Ich glaube nicht das es am Arduino liegt sondern an der Schaltung... Nee, das liegt an der Biomasse, die davor hockt.
S. R. schrieb: > Ich glaube nicht das es am Arduino liegt sondern an der Schaltung... Welche Referenz benutzt du?
interne AREF wird verwendet - "DEFAULT" ist gesetzt (http://arduino.cc/en/Reference/AnalogReference)
Jetzt bist Du aber auf dem Holzweg, die Doku schreibt: DEFAULT: the default analog reference of 5 volts (on 5V Arduino boards) or 3.3 volts (on 3.3V Arduino boards) Also 3,3V was ich schon ober geschrieben hatte. Und nun rechne mal nach, um wieviel die Spannung darüber liegt ! Da wir immer noch kein Programm sehen, gehe ich von aus, der ADC ist defekt, da er nicht mehr als 3,3V + Diodenspannung verträgt.
Deine Schaltung hat einen Fehler. Den Minus-Eingang musst Du mit GND des Arduino verbinden.
Das habe ich vergessen einzuzeichnen... Habe ich weiter oben schon erwähnt...
S. R. schrieb: > Wenn ich beim Spannungsteiler keine Spannung (0V) anliegen habe, dann > > gibt mir Arduino z.B. den Wert 150 , 100 , 120 usw. aus... (Wert > > schwankt) > > Warum ist dieser nicht auf 0? Bist du die sicher, dass du den richtigen Eingang erwischt hast? Leg mal alle ADC Eingänge auf GND und prüfe nochmal
S. R. schrieb: > Es wird ein ATmega32u4 verwendet. Das stimt so nicht ganz: Meines Wissens wird der ATMega32u4 bei den Arduinos nur als Schnittstellenwandler benutzt, der eigentliche Controller auf dem Board ist ein ATMega328. Deine Messschwankungen rühren wahrscheinlich von zu langen Kabeln am Analogeingang oder Spannungsteiler, die dann als Antenne für den überall vorhandenen Störpegel dienen. Dein Eingang ist zwar mit 470 Ohm recht niederohmig, könnte aber trotzdem so sein. Messe mal mit kurzgeschlossenem Eingang (nicht einfach keine Spannung anlegen).
Albert M. schrieb: >> Es wird ein ATmega32u4 verwendet. > Das stimmt so nicht ganz: Passt schon: http://arduino.cc/en/Main/ArduinoBoardMicro nicht passend: http://arduino.cc/forum/index.php?topic=153232.0
Vielen Dank für eure Hilfe :-) Problem gelöst: Hatte durch eine Diode(Verpolschutz) ein Masse - Problem
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.