Lesen Sie positive und negative Spannung in Arduino [geschlossen]

Es ist eine lange Geschichte, aber ich nahm ein RC-Auto auseinander und wollte den Arduino verwenden analogRead(), um die Werte meiner Motoren und Lenkung zu erhalten. Ich habe mit meinem Multimeter gemessen, dass die Spannung in meinem ferngesteuerten Auto von -6 V bis 6 V reicht.

Der Arduino unterstützt jedoch nur das Lesen von maximal 0 V bis 5 V. Gibt es eine Möglichkeit, die -6 V und + 6 V in 0 V und 5 V umzuwandeln? Ich habe gehört, dass dies mit einem Operationsverstärker möglich ist. Einige Leute haben mir auch gesagt, ich solle einen Spannungsteiler verwenden. Mit anderen Worten, wenn ich das RC-Auto nicht steuere, sollte der Arduino 2,5 Volt sehen.

Jedenfalls ist mir nicht ganz klar, wie ich das machen würde. Kann mir bitte jemand einen geeigneten Operationsverstärker mit einer Schaltung für dieses spezielle Szenario empfehlen?

ODER, wenn möglich, kann mir jemand zeigen, wie man die negative und positive Spannung mit zwei Arduino-Pins liest? Wenn beispielsweise -6 V gegeben sind, würde Analog Pin 0 1023 zurückgeben. Wenn 0 V gegeben sind, würden beide Analog Pins 0 und 1 0 sagen. Und wenn +6 V gegeben sind, dann würde Analog Pin 1 1023 zurückgeben Wie kann ich eine Schaltung bauen, die so funktioniert?

Ich wäre Ihnen dankbar, wenn Sie einen Schaltplan dafür haben. Vielen Dank!

Wenn Sie sagen, dass das Ausgangssignal des RC-Autos von +6 bis -6 Volt reicht, worauf bezieht sich dieser Messwert? An welchem ​​Punkt setzen Sie die Massesonde des Multimeters an?
@AnindoGhosh Ich habe gerade beide Leitungen des Multimeters genommen und eine Sonde an jedem Draht des Motors berührt.
Für den Abschluss zu stimmen als eigentliche Prämisse dieser Frage ist grundlegend falsch. Was zu lesen ist, ist nicht analog; bestenfalls könnte es impulsbreitendigital sein, aber es macht wirklich wenig Sinn, ein Arduino zu verwenden, um ein primitives älteres RC-System zu lesen, wenn Sie so einfach ein modernes digitales System mit Modulen vom Typ nRF24L01 im Wert von 1 US-Dollar erstellen können.
Willkommen bei EE.SE! Dies scheint eine Reverse-Engineering-, Modifikations- oder Reparaturfrage zu sein. Bitte beachten Sie, dass solche Fragen spezifische Schritte zur Fehlerbehebung umfassen und ein gutes Verständnis des zugrunde liegenden Designs des besprochenen Geräts nachweisen müssen, damit Sie spezifische, fokussierte Fragen stellen können, die präzise beantwortet werden können. Ansonsten ist die Frage viel zu weit gefasst. Weitere Informationen finden Sie hier: Ist die Frage, wie man einen fehlerhaften Stromkreis repariert, ein Thema? .

Antworten (3)

Drei Standardwiderstände erledigen die Arbeit, vorausgesetzt, der Motor sieht -6 V bezogen auf Masse und nicht bezogen auf die andere Motorklemme.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn Vm von -6 bis 6 V variiert, variiert der Ausgang von 0 bis 4,9 V.

@AnindoGhosh oh und ich wäre nicht überrascht, wenn die Motorspannung über dem Motor gemessen und nicht auf Masse bezogen würde, sodass Sie auch Raum für eine nette Antwort lassen. PWM habe ich auch nicht berücksichtigt...
Wie kann ich die Widerstandswerte bei bekannter Eingangsspannung berechnen? Ich habe zum Beispiel eine ähnliche Situation, aber mein Eingangssignal beträgt -2 bis +2 Volt. Dies ist eine interessante Topologie, aber ich würde gerne die Theorie dahinter verstehen, damit ich sie modifizieren und nicht nur kopieren kann.
@robm Ich habe zuerst die Verhältnisse für die Widerstände festgelegt und dann einige Berechnungen in einer großen Tabellenkalkulationstabelle verwendet, um die am besten passenden Widerstände auszuwählen. Es war die Verwendung der Formeln in der Tabelle, warum ich nicht auf die genaue Methode eingegangen bin, die ich wahrscheinlich haben sollte. Ich nehme an, es ist eine eigene Frage wert: Standardmethode zur Auswahl von Widerstandswerten für diesen speziellen Anwendungsfall.
Ich nehme an, Sie haben die Schaltung analysiert und Werte in etwa so ausgewählt? electronic.stackexchange.com/a/252473/36877 Ich verstehe immer noch nicht ganz, wie man die Schaltung analysiert, wenn der Eingang 6 V beträgt, um 4,887 V als Ausgang zu erhalten.

Wenn der Motor von einer vollständigen H-Brücke angetrieben wird und Sie möchten, dass Ihr Arduino den gleichen Massebezug wie der Rest des Autos hat, können Sie Folgendes verwenden:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Beide Ausgänge reichen von 0 .. 2V4, und Sie sollten die interne Referenzspannung von Arduino auf 2V56 einstellen. Indem Sie beide Ausgänge an ihren eigenen analogen Eingang anschließen, können Sie die Motorspannung berechnen, indem Sie sie subtrahieren. Die Kondensatoren dienen dazu, PWM-Signale zu mitteln, damit sie vom ADC gemessen werden können.

Hier ist eine Lösung ohne Operationsverstärker. Dafür benötigen Sie einen zusätzlichen Eingangspin am Arduino.

Wenn der Eingangsstift 0 liest, ist die Spannung vom ADC positiv. Sonst ist die Spannung negativ.

Durch den Spannungsabfall am Brückengleichrichter haben Sie das Problem der Absenkung von 6V auf 5V gelöst. Sie haben jetzt maximal 6 - 2 * 0,7 = 4,6 V. D5 ist optional und dient nur der Sicherheit.

Der Nachteil ist, dass die Spannung größer als +1,4 V oder kleiner als -1,4 V sein muss, um gemessen zu werden.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Sie müssen auch die Masse des Arduino von der RC-Schaltung isolieren. Das bedeutet, dass sie separate Netzteile benötigen.