Analoge Spannung auf Arduino erfassen, ohne die Eingangsschaltung zu laden

Ich möchte einen Spannungsteiler für meinen analogen Arduino-Eingangspin entwerfen, um die Spannungsänderung in einem 9-V-250-mA-Schaltkreis erfassen zu können (ohne ihn zu laden).

Ich habe den Arduino so programmiert, dass mein Arduino, sobald ein Spannungsabfall festgestellt wird, den Rest seiner Arbeit ausführt (programmiert, um eine bestimmte Reihe von Verzögerungen zu erzeugen, die ich benötige).

Mit anderen Worten, wie kann ich ein Signal erzeugen, das proportional zu den Änderungen des 9-V-Signals ist, das mit 250 mA arbeitet, ohne zusätzlichen Strom daraus zu ziehen oder Spannungsabfälle in der ursprünglichen Schaltung zu erzeugen.

Der folgende Link gab großartige Informationen darüber, wie ich Optokoppler verwenden kann, und das hätte mein Problem gelöst, aber CNY17 kann nicht über 60 mA betrieben werden (sonst hätte ich das einfach mit der Originalschaltung in Reihe geschaltet?) . Eingabe an einem digitalen Arduino-Pin?

Jede Hilfe wird sehr geschätzt!

edit1: Lassen Sie mich versuchen, das Problem besser zu beschreiben. Ich hatte das Gefühl, dass es bei meinem Versuch, die Beschreibung zu minimieren, als vage rüberkam. Der 9-V-Schaltkreis, auf den ich mich bezog, ist im Grunde ein Wasserdurchflussmesser, der sich zu drehen beginnt, wenn ein Durchfluss erfasst wird, und dieser die darüber angelegten 9 VDC in Impulse zerhackt, eine Bewässerungssteuerung, die an das andere Ende angeschlossen ist (dies ist es, was die 9 V über den Durchflussmesser) misst die Frequenz dieser Impulse und bestimmt den Durchfluss des Wassers (in gpm) Mit Arduino baue ich eine Schaltung, die eine Reihe von Verzögerungen einleitet, sobald sie einen Durchfluss erkennt. 9VDC = kein Fluss, gehackt 9V = Fluss Da ich 9V jedoch nicht direkt an Arduino anschließen kann, brauche ich eine Art Spannungsteiler, aber der Grund, warum es von diesem 9-V-Durchflussmesserkreis isoliert werden muss, ist, dass der Bewässerungscontroller so kalibriert ist, dass er Änderungen in der Spannung anzeigt, und ich möchte nicht, dass er falsche Messwerte liefert. Ich denke, ich kann etwas Strom aus dem ursprünglichen Stromkreis verwenden - er läuft derzeit mit 230 mA, und ich weiß nicht, wie viel ich hinzufügen kann, ohne den Controller zu verwirren - etwas, das getestet werden muss, um es herauszufinden. Ich würde mir auch vorstellen, dass ein kleiner Spannungsabfall (1-2 Volt) in Ordnung sein sollte?

Zum Beispiel: Ich habe überlegt, einen Optokoppler zu verwenden - mit der Fotodiode in Reihe mit der Durchflussmesserschaltung, aber ich möchte den ursprünglichen Strom (230 mA) nicht um einen signifikanten Betrag reduzieren, damit er keine falsche Eingabe an die Bewässerungssteuerung liefert. Gleichzeitig lassen die von mir betrachteten Optokoppler nicht mehr als 60 mA zu.

Hoffe das hilft das Problem etwas besser zu verstehen. Weitere Fragen beantworte ich gerne.

Genau genommen, wenn Sie eine Messung durchführen möchten, müssen Sie dafür etwas Strom ziehen. Dieser Strom kann winzig sein, aber er wird ungleich Null sein. Die folgenden Fragen helfen uns, Ihr Problem besser zu verstehen. Warum ist diese zusätzliche Belastung für Sie ein Problem? Was ist der maximale Ladestrom, den Sie haben können? Geben Sie eine Zahl mit einer Begründung an. Bitte sagen Sie nicht "so klein wie möglich". Schließlich, was ist der Zweck dieser Spannungsmessung; was versuchst du zu erreichen?
Zusätzlich zu den Fragen von Nick Alexeev, wie hoch ist die Amplitude des Spannungsabfalls, über den Sie sich Sorgen machen, auf der 9-Volt-Leitung?
Fühlt sich an, als ob Sie einen Komparator in Betracht ziehen sollten
@NickAlexeev Lassen Sie mich versuchen, das Problem im Detail zu beschreiben:
@NickAlexeev Bitte sehen Sie sich den Originalbeitrag an, der mit einer detaillierten Beschreibung aktualisiert wurde. Ich danke Ihnen für Ihre Hilfe

Antworten (4)

Angesichts Ihrer neuen verbesserten Beschreibung sollten Sie wahrscheinlich DIGITALE TECHNIKEN verwenden, um nach fallenden Flanken an Ihrem zerhackten 9-V-Signal zu suchen. Verwenden Sie das Signal, um die Basis eines Transistors anzusteuern, und einen ziemlich großen Widerstand, um diesen Strom zu begrenzen. Versorgen Sie den Transistor mit 5 Volt.

Ein Optokoppler muss genug Strom saugen, um ein Fotoelement anzusteuern, und wird wahrscheinlich mehr Strom ziehen als eine einfache Transistorschaltung.

Das Erkennen Ihrer abfallenden Flanken ist ein viel effizienterer Weg, um all Ihre Probleme zu lösen, als das Abtasten des analogen Signals.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn Sie diese Simulation ausführen, ist dies tatsächlich invertierend, sodass Sie steigende Flanken erkennen würden. Ich habe einen generischen Transistor verwendet, aber ein 2n3904 wäre in Ordnung.

Das scheint eine tolle Idee zu sein! Einfacher als der Aufbau einer OPAmp-Schaltung mit untiy Gain zusammen mit einem resistiven Spannungsteiler (wie ich im obigen Kommentar zu beschreiben versucht habe). Da ich die fallenden Flanken erkennen möchte, bräuchte ich wohl einen pnp-Transistor. Irgendwelche Empfehlungen, auf welchen Basiswiderständen und welchen Transistoren?
@Ameya, ich stelle dir jetzt in der Antwort eine invertierende Schaltung zur Verfügung.

Das Beste für Sie ist die Verwendung des Operationsverstärkerpuffers. Hier kannst du darüber lesen:

http://en.wikipedia.org/wiki/Buffer_amplifier#Voltage_buffer

Dies ist ein einfacher Operationsverstärkerpuffer und kann mit dem Operationsverstärker 741 IC realisiert werden

Die Schaltung beim Entwerfen eines Puffers ist nur ein Operationsverstärker, sonst nichts. Sie könnten jedoch in Betracht ziehen, die 9 V auf 5 V zu reduzieren, um Schäden am Arduino zu vermeiden. Hier ist ein Spannungsteiler sinnvoll. Verwenden Sie also zuerst den Pufferverstärker (dies vermeidet das Laden der Eingangsschaltung) und verwenden Sie dann eine Spannungsteilerkonfiguration, um die 9 V in 5 V umzuwandeln. Dies sollte Ihr Problem lösen.

An dieser Antwort muss ich Anstoß nehmen. Woher kommt der Strom für den Operationsverstärker? Wenn es von 9 V kommt, lädt es den 9-V-Kreis. Wenn es von 5 V (oder 3,3 V) auf der Arduino-Platine kommt, können Sie keinen Unity-Gain-Follower verwenden, da der Eingang bis zu 9 V beträgt. Der Ausgang kann VCC nicht überschreiten. Wenn Sie einen Spannungsteiler an den Eingang des Operationsverstärkerpuffers anschließen, wissen wir nicht genau, ob dies anders ist als das Anbringen eines Teilers am Eingang des Arduino-ADC, da wir die Eingangsimpedanz nicht kennen noch.
@mkeith Das ist eine gute Ausnahme! Da ich meinen Arduino jedoch mit einem separaten 12-V-Adapter betreibe, dachte ich daran, diesen zur Stromversorgung des Om-Amp zu verwenden. Ich hatte im Sinn, einen Single-Power-LM358 als Spannungsfolger mit Einheitsverstärkung zu verwenden und einen einfachen resistiven Spannungsteiler an seinem Ausgang zu haben, um meinen analogen Eingangspin auf dem Arduino zu versorgen. irgendwelche gedanken dazu?
Das sollte funktionieren. Und da die Eingangsimpedanz des Arduino viel zu hoch ist, wird die Ausgangsspannung des Spannungsteilernetzwerks nicht beeinflusst.
@Santosh, was ist die tatsächliche Eingangsimpedanz des Arduino-ADC?
Nun, die Suche im Internet sagt mir, dass die ADC-Eingangsimpedanz typischerweise 100 MOhm beträgt.
Ich habe meine Ablehnung entfernt, da dem OP die Idee gefiel. Entschuldigung.

Die einfachste und billigste Methode wäre die Verwendung eines Spannungsteilers mit Widerständen mit großem Wert (in diesem Fall beide größer als 100 k). Wenn Sie Ihren 9-V-Schaltungsausgang in Reihe mit einem 200-k-Widerstand und einem 100-k-Widerstand schalten, beträgt die Spannung in der Mitte der Widerstände 3 V, bequem in der Mitte des 5-V-Betriebsbereichs des Arduino.

Aus praktischen Gründen wird ein Spannungsteiler mit großem Wert Ihre Quellenschaltung nicht belasten, da nach dem Ohmschen Gesetz 9 V geteilt durch den Gesamtwiderstand von 300 k 30 uA sind. Dies sind 0,01 % Ihres Quellenstroms und können daher ignoriert werden.

Wenn dieser kleine Strom nicht ignoriert werden kann, schauen Sie sich Operationsverstärkerschaltungen an, die Eingangsströme im Bereich von nA oder weniger haben.

EDIT: Ja, das Laden der ADC-Schaltung könnte ein Problem sein. Der einfachste Weg, dies zu verhindern, wäre, den Spannungsteiler mit großem Wert, den ich hier beschreibe, an den unten gezeigten Spannungsfolger des Operationsverstärkers anzuschließen. Dies würde sowohl die Spannung auf ein Niveau absenken, das das Arduino verarbeiten kann, als auch das Laden der ADC-Schaltung verhindern.

Es gibt ein weiteres potenzielles Problem. Manchmal können ADC-Eingänge in Bezug auf die Eingangsimpedanz im Bereich von 100 k liegen. Sie haben manchmal ihre eigenen Spannungsteiler im Inneren. In diesem Fall können keine hochwertigen Widerstandsteiler verwendet werden. Das OP sollte prüfen, ob der ADC-Eingangsstrom oder Eingangswiderstand angegeben ist.

Sie können analoge oder digitale Eingänge verwenden, da Sie nicht die genaue Spannung messen müssen, sondern nur Unterbrechungen erkennen müssen.

Der vorgeschlagene hochwertige Spannungsteiler ist alles, was Sie brauchen, entweder für analog oder digital. Wenn Sie Ihren Arduino mit 5 V betreiben, können Sie die 9 V einfach halbieren. Nach dem, was Sie sagen, müssen Sie sich nicht wirklich Gedanken über das Laden der Schaltung machen - Sie benötigen weit weniger als die 230 mA, die sie bereits zieht, um eine Messung durchzuführen. Beispielsweise ziehen zwei 4,7-K-Widerstände nur etwa 1 mA. Ich könnte das 10-fache oder mehr verwenden.

All dies setzt voraus, dass Ihr Arduino separat mit Strom versorgt wird, oder? Sie müssen die Masse des Arduino mit der negativen Seite der 9-V-Schaltung teilen.

Möglicherweise haben Sie jedoch größere Probleme - es könnten Spannungsspitzen in der 9-V-Leitung auftreten. Vielleicht möchten Sie also eine kleine Kappe über die Leitung verwenden und / oder eine Sperrdiode hinzufügen. Aber das ist nicht die Frage, die Sie gestellt haben - das ist also nur eine Warnung.