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 ermitteln. Ich habe mit meinem Multimeter gemessen, dass die Spannung in meinem ferngesteuerten Auto zwischen -6 V und 6 V liegt.
Der Arduino unterstützt jedoch nur das Lesen von maximal 0 V bis 5 V. Gibt es eine Möglichkeit, -6V und +6V in 0V und 5V umzuwandeln? Ich habe gehört, dass es mit einem Operationsverstärker gemacht werden könnte. Einige Leute haben mir auch gesagt, ich soll einen Spannungsteiler verwenden. Mit anderen Worten, wenn ich das RC-Auto nicht kontrollierte, 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 der analoge Pin 0 1023 zurückgeben. Wenn 0 V gegeben sind, würden beide analogen Pins 0 und 1 0 sagen. Und wenn + 6 V gegeben sind, würde der analoge Pin 1 1023 zurückgeben Wie kann ich eine Schaltung erstellen, die so funktioniert?
Ich schätze es, wenn Sie einen Schaltplan dafür haben. Vielen Dank!
quelle
Antworten:
Drei Standardwiderstände erledigen die Aufgabe, vorausgesetzt, der Motor sieht -6V bezogen auf Masse und nicht bezogen auf die andere Motorklemme.
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
Wenn Vm von -6 bis 6 V variiert wird, variiert der Ausgang von 0 bis 4,9 V.
quelle
Wenn der Motor von einer vollen H-Brücke angetrieben wird und Sie möchten, dass Ihr Arduino dieselbe Bodenreferenz wie der Rest des Autos hat, können Sie Folgendes verwenden:
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
Beide Ausgänge reichen von 0 bis 2V4, und Sie sollten die interne Referenzspannung von Arduino auf 2V56 einstellen. Indem Sie beide Ausgänge an ihren eigenen Analogeingang 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.
quelle
Hier ist eine Lösung ohne Operationsverstärker. Für diesen benötigen Sie einen zusätzlichen Eingangspin am Arduino.
Wenn der Eingangspin 0 anzeigt, ist die Spannung vom ADC positiv. Sonst ist die Spannung negativ.
Aufgrund des Spannungsabfalls am Brückengleichrichter haben Sie das Problem der Absenkung von 6 V auf 5 V gelöst. Sie haben jetzt maximal 6 - 2 * 0,7 = 4,6 V. D5 ist optional und nur aus Sicherheitsgründen verfügbar.
Der Nachteil ist, dass die Spannung größer als + 1,4 V oder kleiner als -1,4 V sein muss, um gemessen zu werden.
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
quelle