Unterschiedliche Messergebnisse zwischen Nano und Uno

Hallo,

ich bin da bei mein zweites Projekt mit einem Arduino umzusetzen. --> Blutiger Anfänger.

Ich habe das Projekt Sniffing Trinket von Sniffing Trinket | Hackaday.io etwas modifiziert (OLED Display eingebaut und USB Keyboard Funktionalität und die verschiedenen Modi ausgebaut). Auf meinem Arduino Uno R3 funktioniert das sehr gut. Auf den Nano prinzipiell auch, aber: Der Nano liefert für den MQ 135 auf den A0 Pin andere Werte als der Uno. Im Vergleich gibt der Nano im Schnitt mehr als 100 ppm mehr aus, als der Uno. Die Werte vom DTH22 für Luftfeuchtigkeit und Temperatur sind vergleichbar.

Ich verwende bei beiden Arduinos die selben PINs. Für den Fall, dass das relevant ist:

  • A0 --> MQ135
  • D13 --> DHT22
  • D8 --> RGB LEDs
  • A4 + A5 --> OLED Display
    Ich verwende daher auch den selben Sketch für beide Arduinos

Laut dieser Quelle und auch diversen anderen Seiten sind die beiden Arduinos von der Ausstattung her im Wesentlichen gleich. Der einzige Unterschied der mir auffällt und den ich relevant finde sind, die unterschiedlichen Taktraten. Uno läuft scheinbar auf 16Mhz, der Nano auf 12Mhz.
Auf beiden Boards kann ich aber den ATMEGA 328P sehen.
Ein weiterer Unterschied, wobei ich mir nicht vorstellen kann, dass das eine Auswrikung hat: Der Nano sitzt bei mir zusammen mit den Sensoren und LEDs auf einem Breadboard, beim Uno geh ich vom Breadboard direkt auf den Uno...

Kann mir jemand einen Tipp geben?

Ist der Nano ein Original oder Clone ?
Analoge Messungen sind u.U. von der Betriebsspannung des Arduino abhängig.
Kannst du die mal (direkt auf dem Arduino) messen ?

Wie kommst du drauf, dass der Nano mit 12 MHz läuft ?
Bei einem Clone kann ich mir vorstellen, das da ein 8 MHz Resonator drauf ist.
hast du mal mit dem Blink-Sketch getestet ?

Die 12 MHz beim Nano halte ich für einen Tippfehler.
Normalerweise läuft ein Nano mit 16 MHz. Und wenn man auf das Bild des Nano bei deiner Quelle klickt, dann kann man sogar lesen was auf dem Quarz (dem großen ovalen "Metallding") in der Mitte steht, nämlich 16.000, also 16 MHz.

Wie hast du den MQ135 denn genau angeschlossen?
So wie hier: AirQualityMQ135 \ Learning \ Wiring

Der Nano kann weniger Strom auf dem 3,3V pin.
Außerdem ist die Umschaltung von Vin zu USB anders.
Miß mal die 5 V am 5V pin.

Grüße Uwe

Vielen Dank für Eure Hinweise. Hier mal die Antworten zu Euren Rückfragen.

HotSystems:
Ist der Nano ein Original oder Clone ?

Wenn es ein Original wäre, wäre ein Arduino Log drauf, oder? Ich denke es ist ein Clone. Es ist der hier: Ebay - Arduino Nano V3.0 16Mhz 5V ATMEGA328P CH340 AUFGEBAUT / BESTÜCKT / VERLÖTET . Der Uno ist ein Original.

HotSystems:
Analoge Messungen sind u.U. von der Betriebsspannung des Arduino abhängig.
Kannst du die mal (direkt auf dem Arduino) messen?

Also beim Uno sind es 4,84V / 4.74V / 4,70V (je nach dem welches Kabel ich verwende und ob ich ein USB Netzteil oder den USB Port am Notebook nutze)
Beim Nano sind es: 4,51V / 4,50 V (je nach dem welches Kabel ich verwende und ob ich ein USB Netzteil oder den USB Port am Notebook nutze). Sowohl beim UNO als auch beim Nano schwankt die Spannung um 0,01V.

HotSystems:
Wie kommst du drauf, dass der Nano mit 12 MHz läuft ?
Bei einem Clone kann ich mir vorstellen, das da ein 8 MHz Resonator drauf ist.
hast du mal mit dem Blink-Sketch getestet ?

Steht so in dem Link, wobei ich denke Uxomm hat recht. Das ist wohl eher ein Tippfehler. Ich hab nicht den Blink Sketch getestet, aber ich habe sowohl auf dem UNO als auch auf dem Nano mit den RGB Leds gespielt und konnte da keinen Unterschied feststellen.

uxomm:
Wie hast du den MQ135 denn genau angeschlossen?
So wie hier: AirQualityMQ135 \ Learning \ Wiring

Ich verwende diesen MQ-135. Der hat 4 Pins und die hab ich so angeschlossen.

  • Analog Output → A0
  • Digital Output → XXXX
  • GND → GND
  • VCC → +5V
    Ich hab keinen Widerstand mehr dazwischen gehängt. Ich gehe davon aus, dass der schon auf dem Board drauf ist. Sicher bin ich mir aber nicht. Ich hab ein Foto davon angehängt. Der Poti ist für die Einstellung des Schwellwertes auf dem Digitalen Output.

uwefed:
Der Nano kann weniger Strom auf dem 3,3V pin.
Außerdem ist die Umschaltung von Vin zu USB anders.
Miß mal die 5 V am 5V pin.

Ich nutze beim Nano auch die 5V. Messergebnis siehe oben.

Glaubt Ihr die unterschiedliche Spannung kann die Ursache sein? Oder fällt jemandem noch was ein?
Ich hab die Sensoren alle auf eine Platine gelötet. Der Rest steckt noch auf dem Breadboard. Theoretisch wäre es möglich, dass ich da auch eine kalte/schlechte Lötstelle hätte, oder? Könnte ich das irgendwie rausmessen?

Bedingt durch die unterschiedlichen Spannungen auf den Boards, liegt der Messfehler vermutlich daran.
Du verwendest ja die Betriebsspannung auch als Referenz.

Du meinst die 0,2 / 0,3 Volt unterschied zwischen Nano und UNO, oder?
Mir fällt gerade ein, dass ich diesen Kalibrierung dürr rZero auch mit dem UNO erstellt habe. Werde die Tage mal die Kalibrierung mit dem Nano machen. Dann sollten die Werte ja wieder zusammen stimmen. Danke für die Hilfe.

Hätte ich mit einem original Nano eigentlich dieselben Differenzen gehabt?

ferschtl:
Hätte ich mit einem original Nano eigentlich dieselben Differenzen gehabt?

Ich vermute ja, aber Original oder nicht bezog sich nur auf die "Quarz"-Frequenz.
Bei Clones hat man schon seltsame Dinge erlebt.

Hallo,
es gibt selbst Abweichungen zwischen gleichen Uno's oder Nano's. Schließen sie doch einfach mal eine DC-Spannung, z.B. 1.5V-Batterie, an beide Boards an und schauen sich die Ergebnisse an. Wenn man Reproduzierbarkeit haben möchte, muss man mehr Schaltungsaufwand betreiben.
Grüße Manfred

Hallo zusammen, ich möchte mich noch für Eure HIlfe bedanken. Ich habe meine Kalibrierung jetzt nochmal mit dem Arduino Nano durchgeführt, erhalte hier tatsächlich andere Werte als beim Uno. Mit dem Nano-Kalibrierungsergebnissen funktioniert mein Aufbau jetzt sehr gut. ich bekomme realistische Werte von meinem MQ-135.

Also merke: Unterschiedliche Arduinos erzeugen unterschiedliche Werte (zumindest) bei analogen Messungen.
Hab ich wieder was gelernt. Vielen Dank!

Deswegen sollte man eine eigene Referensspannung oder zumindest die interne (und dann lieber einen Spannungsteiler mit 0,1% Widerständen) nehmen, um absolute Werte zu erhalten.

Beim orginal Arduino NANO ist zwischen dem 5V versorgung und den 5V der USB-Buchse eine Skottky-Diode. Beim UNO ein MOSFET. Darum ist beim UNO bei gleicher Spannung von USB die 5V etwas höher.
Grüße Uwe

ferschtl:
Vielen Dank für Eure Hinweise. Hier mal die Antworten zu Euren Rückfragen.Wenn es ein Original wäre, wäre ein Arduino Log drauf, oder? Ich denke es ist ein Clone. Es ist der hier: Ebay - Arduino Nano V3.0 16Mhz 5V ATMEGA328P CH340 AUFGEBAUT / BESTÜCKT / VERLÖTET.
...

Das ist kein Clon sondern eine Fälschung weil auf der Platine und in der Beschreibung, ja selbst in der URL der Namen Arduino wiederrrechtlich gebraucht wird.
Für solche Fälle wäre eine Abmahnung angebracht.

Kein Orginal-Arduino hat den CH340 als USB Interface Baustein.

Grüße Uwe

Immerhin schreibt er ja im Kleingedruckten auf Englisch "The Nano was designed and is being produced by Gravitech."