Arduino Nano vs UNO , Spannungsteiler, Werte ungenau

Gast #4874043
Ich habe ein einfaches Setup ( Nur zwei Widerstände) aufgebaut. Es 
handelt sich um einen Spannungsteiler der per arduino seriellen Monitor 
die Spannung ausgibt.
Beim UNO funktioniert das super, der angezeigte Wert entspricht genau 
dem Wert der Spannung. Stecke ich jetzt aber um, und schließe den Nano 
an, sind Abweichungen von 0,5 - 1 V in der Ausgabe. Hat jmd eine Ahnung 
woran das liegen könnte? Ist der Nano anders aufgebaut, so dass dadurch 
die Werte so stark Abweichen?
Ich hab mal ein Video vom dem Fehler gemacht:

https://youtu.be/IQlAgsehbn8
Gast
Prosa ist hier etwas fehl am Platz.....

Poste den Schaltplan und dein sketch.

Manchmal kommt man durch diesen Vorgang sogar selber darauf was
falsch gelaufen ist und wo der Fehler begraben ist :-))
Gast
falko0815 schrieb:
> Ich hab mal ein Video vom dem Fehler gemacht:
>
> Youtube-Video "Arduino UNO vs NANO Spannungsteiler"

Muss man wirklich jeden Sch..ß als Video bei Duröhre hochladen, statt 
einen vernünftigen Schaltplan, das Programm und eine vernünftige 
Wertetabelle zu zeigen?
Gast
Manfred schrieb:
> Die leider auch von IC zu IC erkennbar streut.
Darum auch die "2 Punkt Kalibrierung"!
:-)


Übringens:
> Spannungsteiler, Werte ungenau
Ein Spannungsteiler ist das Paradebeispiel für einen Analogrechner.
Keinesfalls ist ist ein solcher Analogrechner ungenau.
Jede digitale Division trägt das Potential in sich viel ungenauer zu 
sein.
Gast
danke für die antworten, trotzdem ist mir nicht ganz klar, wieso dass an 
meinem sketch liegen könnte, auf einen UNO läuft er super und auf einen 
NANO nicht, das wäre ja komisch.
auch glaub ich nicht, dass irgendwelche kondensatoren fehlen, denn wie 
der uno und der nano müßten vom schaltplan eigentlich gleich sein. und 
auch eine 2 punkt kalibrierung macht doch keinen sinn wenn alles auf dem 
uno funktioniert.
hier mein sketch :
schaltplan angehängt

int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // Widerstandswert R1 (100K) - siehe Schaltskizze!
float R2 = 10000.0; // Widerstandswert R2 (10K) - siehe Schaltskizze!
int values = 0;
void setup() {
 Serial.begin(9600); //Seriellen Monitor einbinden
 pinMode(analogInput, INPUT);

}
void loop() {
 // Werte am analogen Pin lesen
 values = analogRead(analogInput); //Messwerte am analogen Pin als 
"values" definieren
 vout = (values * 5.0) / 1024.0; // Messwerte in Volt umrechnen = 
Spannung am Ausgang des
// Spannungsteilers mit Zuleitung zu Pin A0
 vin = vout / (R2 / (R1 + R2)); // Berechnen, welche Spannung am Eingang 
des Spannungsteilers
// anliegt. Das entspricht der Spannung der zu untersuchenden Batterie
 if (vin < 0.09) {
 vin = 0.0; // Unterdrücken unerwünschter Anzeigen
 }

 delay(500);

 Serial.print("V= ");
 Serial.println(vin); // Messwerte am anologen Pin im seriellen Monitor 
anzeigen
}
Angehängte Dateien:
Das Test-Setup in deinem Video spielt sich auch einmal auf dem
Boden ab, und vorher auf deinem Tisch. Scheinbar auch noch mit anderen
Kabeln usw. Da würde ich persönlich noch Fehlerquellen im Aufbau
selbst suchen. Bspw. mangelhafte Kontakte im Steckbrett beim
NANO.

Hast du den Spannungsteiler in beiden Fällen mit einem Multimeter nach-
gemessen?

Ich stimme dir zu, die Beschaltung von AREF Atmega328 ist beim UNO
und beim NANO gleich, daran "sollte" es nicht liegen.
Evtl. ist es wirklich bauteil-bedingte Streuung?

Ich nehme an, das Batterieladegerät auf dem Boden war nicht
verbunden? Ich kanns nicht genau erkennen.
falko0815 schrieb:
> auch glaub ich nicht, dass irgendwelche kondensatoren fehlen, denn wie
> der uno und der nano müßten vom schaltplan eigentlich gleich sein.

Der Spannungsteiler ist für einen AVR zu hochohmig, dessen grottliger 
ADC hat eine Eingangsimpedanz von um 15 kOhm typisch - und die könnte 
auch zwischen dem UNO und Nano schwanken. Jedenfalls ergibt das dann 
einen belasteten Spannungteiler.

Ein C mit 100nF über die 10k könnte da schon helfen.
Gast
nur mal kleines update, ich hab den schaltpan mal per fritzing erstellt, 
alle kabel getauscht und alle lötstellen korigiert.
der nano ist ein china nachbau, vielleicht liegt es auch daran, ich 
werde mir mal heute einen originalen nano besorgen
Angehängte Dateien:
Gast
Hmmm ....

Warum fragst du überhaupt, wenn dich die Antworten sowieso nicht 
interessieren?

Und, da kannste auch noch ein Dutzend andere Foren mit deiner 
Uneinsichtigkeit belästigen, du bekommst immer die selben Antworten.
Gast
wenn der Spannungsteiler zu hochohmig ist, warum funktioniert er denn 
dann beim UNO ohne Probleme?
Ich hab übrigens einen 104er Kondensator probiert, das hat nur das 
ergebnis gebracht, dass die Werte stabiler ausgegeben werden. Aber wie 
schon geschrieben, beim uno habe ich dieses problem gar nicht, da sind 
die Werte top, auch ohne kondensator!
Gast
noch ein Update:

ich konnte den Fehler jetzt beim Uno auch reproduzieren.
Und zwar tritt der Fehler beim UNO genauso auf, wenn die 
Spannungsversorgung nicht über USB kommt.
Ich habe also beim gleichen Set-Up einmal den UNO an USB angeschlossen: 
Ergebnis korekte Werte
Dann habe ich 9V an VIN und GND angeschlossen: Ergebnis falsche Werte.
Ich hab nochmal ein Video dazugemacht wo man das perfekt sieht, genau in 
dem Moment wo die Spannung über VIN kommt, ist das Ergebnis falsch.

Ich nehme jetzt also mal an, dass beim NANO die Spannung per USB also 
ähnlich wie bei VIN ist und beim UNO halt nicht. Klärt jetzt aber 
immernoch nicht das Problem, ich möchte den arduino nämlich per VIN mit 
Strom versorgen, und da tritt der Fehler ja nun bei jedem Arduino auf.

Vorschläge?

https://youtu.be/U7SJtg2Zmeg
falko0815 schrieb:
> ich möchte den arduino nämlich per VIN mit
> Strom versorgen, und da tritt der Fehler ja nun bei jedem Arduino auf.
>
> Vorschläge?

ja interne Referenz nehmen, an Aref 100n und auf den verbauten in der SW 
abgleichen mit einem niederohmigen Spannungsteiler oder wenn dein Rv so 
hoch bleiben soll, Kondi und lange Auslesepausen.
Gast
falko0815 schrieb:
> ich konnte den Fehler jetzt beim Uno auch reproduzieren.
> Und zwar tritt der Fehler beim UNO genauso auf, wenn die
> Spannungsversorgung nicht über USB kommt.
Google - Arduino - Grundlagen - Spnnung messen!

> Ich habe also beim gleichen Set-Up einmal den UNO an USB angeschlossen:
> Ergebnis korekte Werte
Nein, zufällig einigermaßen passende Werte.

> Dann habe ich 9V an VIN und GND angeschlossen: Ergebnis falsche Werte.
> Ich hab nochmal ein Video dazugemacht
Youtube und den ganzen Tag das Smartphone in den Griffeln - das nennt 
man Lösungskompetenz.

Der Arduino vergleicht den Messeingang gegen die Betriebsspannung und 
errechnet daraus den Wert. Wenn diese Betriebsspannung sich ändert, weil 
Du verschiedene Versorgungen verwendest, ändert sich auch der Meßwert. 
Also: So geht das nicht!

Entweder sorgst Du für zuverlässig stabile 5,0 Volt, dann werden Uno und 
Nano gleiche Werte zeigen. Mit 9V versorgt, bedingt schon die Toleranz 
des internen Spannungsreglers LM1117 eine Abweichung.

Anderer Weg: Nutze die interne Referenz des Prozessors, dann ist 
zumindest die Versorgung unkritisch. Da aber auch diese interne Referenz 
(Band Gap) von einem Prozessor zum anderen Abweichungen hat, musst Du 
das für jede Arduino-Platte individuell einstellen.
Gast
BlaBla schrieb:
> Ist der China-Arduino nano eine 3,3 Volt-Version?
Aktuell kenne ich Nanos nur als 5 Volt und mit dem AT328. Im Usprung 
könnte es den mit einem AT168 gegeben haben.

Meine ersten Gehversuche habe ich mit einem Uno gemacht, aber jegliche 
realen Anwendungen mit dem Nano - da geht praktisch alles, was der Uno 
kann.
Gast
Anderer Weg: Nutze die interne Referenz des Prozessors, dann ist
zumindest die Versorgung unkritisch. Da aber auch diese interne Referenz
(Band Gap) von einem Prozessor zum anderen Abweichungen hat, musst Du
das für jede Arduino-Platte individuell einstellen.

das war ein richtig guter Hinweis, hab das gemacht, und jetzt bekomm ich 
auch mit dem Nano halbwegs gute Ergebnisse.

Danke


analogReference(INTERNAL);

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.