Ich habe mal angefangen, mit den eingebauten AD-Wandler in den Arduinos zu experimentieren. Arduino-Typ ist "Arduino Uno R4 minima." An A1 ist angeschlossen eine Batterie von sehr konstant 1,362V, parallel eine Last von 1KΩ.
Und hier der Code, kurz gehalten:
Wo kommt blos diese Unruhe her? Die Spezifikationen im Datenblatt werden ja hier nicht erreicht. Wenn das bei allen immer so ist, wäre es doch jemanden schon aufgefallen.
Übrigens, andere Arduinos wie z.B. Uno R4 Wifi (gleicher Prozessor) sind auch nicht besser; und der Arduino Nano ist sogar noch schlechter.
Hätte man die Hoffnung, mit einem externen AD-Wandler, den man dann über I2C auslesen könnte, bessere Resultate zu bekommen? Diese Sensoren sind ja extra nur für sowas gemacht.
P.S. Ich hab auch schon mit einer stabilen externen Referenzspannung experimentiert, hat aber nichts geholfen
Mit einer stabilen externen Referenz, das hab ich auch schon probiert. Das ist natürlich wichtig, wenn man genau messen will; bei mir war VCC z.B. bei 4,65V.
Aber das Phänomen, das ich hier beobachtet hatte, hat damit nichts zu tun.
Ich habe noch weiter rumprobiert und gesehen: Es sind Einstreuungen auf die Messleitung am analogen Eingang. Die kommen zum Teil durch die Luft auf die ganzen losen Leitungen am Steckboard, oder kommen aus dem Innern des Arduino-Boards, wo ja genug Hochfrequenz-Prozesse laufen. Hier mal ein Oszi-Bild am Eingang gemessen:
Da hatte ich überhaupt nicht mit gerechnet. Aber die Mess-Prozesse im Arduino sind so schnell, dass sie diese Schwankungen alle fein säuberlich registrieren.
Ich hatte auch schon ein Youtube-Video zu der Problematik gefunden. https://www.youtube.com/watch?v=cxJzCWz6xCA
Hab ich gemacht, die nicht benutzten auf GND gelegt. Es hat tatsächlich einen Einfluss auf den Messwert des verbleibenden Eingangs. Der geglättete Mittelwert ist dort um 7mV angestiegen. Offensichtlich hängt alles mit allen zusammen.
Mit einem Multimeter gemessen hat sich die Spannung am Eingang nicht geändert.
Noch ein Nachtrag: Bei Verwendung einer externen Referenz trat dieses Phänomen dann auch nicht mehr auf.
Nochmal einen Nachtrag:
Ich habe mir jetzt externe AD-Wandler besorgt, die über I2C ausgelesen werden; vom Typ ADS1115. Und habe sie mal mit den direkten analogen Eingängen des Arduino verglichen (Uno R4 Minima, Chip: Renesas RA4M1).
Die Spannung an den Eingängen ist überall gleich, ca. 1,4V. Werte sind direkt ohne zu glätten, weder mit RC-Gliedern, noch durch Software. In der Grafik:
grün und blau = AD-Wandler Arduino,
rot und orange = externer AD-Wandler.
Das Ergebnis ist doch eindeutig, was hier für genaue Messungen zu empfehlen wäre.
teste das bitte einmal mit nur einem Einzigen analogen Eingang.
Wenn möglich messe am Oszi die Versorgungsspannung parallel mit.
Achte jedoch bei allen auf eine saubere Masseführung/Anschluss.
Wie lang sind übrigens die Kabel vom Aufbau?
Bild?