I. DER SCHALTKREIS:
Unten misst ein Arduino Due Spannungssignale von zwei parallelen Spannungsteilerschaltungen:
Wir möchten, dass der Due die Spannungen an den Stellen, an denen er Kontakt mit den Spannungsteilern hat, genau misst. Wir sehen jedoch ein deutliches Übersprechen - wenn Sie den Widerstand in einem Kanal ändern, ändert sich auch die Spannung im anderen Kanal:
Allerdings können wir theoretisch um diese Effekte zu aktuellen undichten durch die Due verfolgen : die Due hat in der Regel eine Eingangsimpedanz von ca. 10 kOhm, aber wir haben darunter von 20 MHz bis 1 MHz getaktet, der seine Eingangsimpedanz 266 kOhm erhöht. Die Elektronen in der Spannungsteilerschaltung werden es also sicherlich vorziehen, in das Arduino einzutreten, anstatt die vor ihnen platzierten 1 MΩ zu durchqueren.
II. DAS FOLLOW-UP:
Im Folgenden haben wir eine winzige Änderung an unserer ursprünglichen Schaltung vorgenommen, in der Hoffnung, die Spannungskanäle wirklich unabhängig zu machen: Beide Signale werden von einem ADA 4528-2 ( einem Zweikanal-Operationsverstärker ) gepuffert :
Der Operationsverstärker ist nicht da, um das Signal zu verstärken: Er liefert eine Verstärkung von ~ 1,003. Stattdessen dient es dazu, die hohe Impedanz der Schaltung, die wir messen möchten, zu verbergen. Anstelle einer Ausgangsimpedanz von 1 MΩ beträgt die Impedanz jetzt <0,1 Ω:
Die Elektronen sollten also im Stromkreis bleiben und es sollte überhaupt kein Übersprechen geben. Zu meiner Überraschung gibt es trotz einiger Verbesserungen immer noch ein spürbares Übersprechen!:
Der rote Kanal sollte nicht "wissen", dass der blaue Kanal einen erhöhten Widerstand hat. Das Signal fällt jedoch ab, wenn ich keine Änderungen am roten Kanal vorgenommen habe. Was fehlt mir in meiner Analyse (ich verwende übrigens Widerstände mit niedriger Toleranz <1%)?
Antworten:
Höchstwahrscheinlich ist es ein Problem, wenn die analogen Kanäle im Arduino gemultiplext werden. Versuchen Sie es mit einer größeren Zeitlücke zwischen roten und blauen Signalen. Dies sollte das Problem hoffentlich lösen / anzeigen.
quelle
Obwohl es sich um einen alten Beitrag handelt, hatte ich kürzlich das gleiche Problem mit dem Arduino Due, der versuchte, zwei Audiokanäle für ein VU-Messgerät auszulesen. Wenn Sie die Balance nur auf einen Kanal einstellen, wurde am Ausgang beider ADC-Kanäle immer noch ein Signal angezeigt. Ich habe eine beträchtliche Verzögerung zwischen dem Auslesen der beiden Kanäle versucht, aber ohne Glück. Was für mich der Trick zu sein schien, war, jeden Kanal zweimal auszulesen und nur die zweite Konvertierung zu verwenden.
Jetzt habe ich vollständig separate Kanäle, wenn ich den Balance-Regler von links nach rechts und umgekehrt bewege.
quelle