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
Verwende die interne Referenz. Wende die 2 Punkt Kalibrierung an.
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 :-))
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?
Ich tippe schwer auf einen fehlenden Kondensator am AD-Pin, was zu einem zusätzlichen Spannungsabfall durch das Umladen des Sample and Hold Kondensators führt. Aber ja ohne Schaltplan ist keine präzise Hilfe möglich.
falko0815 schrieb: > Ist der Nano anders aufgebaut, so dass dadurch > die Werte so stark Abweichen? Wenn es ein Nano mit AT328 ist, nein. Arduino F. schrieb: > Verwende die interne Referenz. Die leider auch von IC zu IC erkennbar streut.
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.
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 }
falko0815 schrieb: > auch eine 2 punkt kalibrierung macht doch keinen sinn Der Kandidat hat 100 Gummipunkte gewonnen! OK, ich kann die Einstellung verstehen.. Hatte ich auch schon mal... falko0815 schrieb: > vin = vout / (R2 / (R1 + R2)); Ein dreifach Hoch!
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.
:
Bearbeitet durch User
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
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.
falko0815 schrieb: > nano ist ein china nachbau, vielleicht liegt es auch daran nein an deinem Spannungsteiler, zu hochohmig, lese einfach Datenblätter
wenn der Spannungsteiler zu hochohmig ist, warum funktioniert er denn dann beim UNO ohne Probleme?
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!
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.
Ist der China-Arduino nano eine 3,3 Volt-Version?
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.
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.
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);
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.