Ich versuche, einen Strom zu erfassen, der in einem Motor fließt (der Strom sollte 2 Ampere nicht überschreiten), und ich hätte gerne eine hohe Auflösung für diese Messung. Ich hatte gehofft, den ACS712 zu verwenden , aber er sagt, dass die Genauigkeit 185 mV/A beträgt. Da der Strom in meiner Anwendung 2A nicht überschreitet, bedeutet dies 185 * 2 = 370 mV (richtig?)
Ich verwende einen STM32F4 mit 12-Bit-ADC, was bedeutet, dass es bei einer Vref von 3,3 V ein Inkrement von jeweils 0,8 mV ist. Am Ende bekomme ich also eine Auflösung von 463 Schritten.
Gibt es eine Möglichkeit eine höhere Auflösung zu bekommen? Ich mag die Idee eines Shunt-Widerstands nicht wirklich, vielleicht könnte ein Verstärker den Zweck erfüllen, aber werde ich in der Lage sein, eine genaue Messung zu erhalten? (iA ist die Messung)
Übrigens versuche ich, ihn durch einen ACS711 zu ersetzen, der mit 3,3 V arbeitet, aber er liefert mir nur eine Auflösung von 110 mV/A
Hier ist die Vref+/- Verbindung
Die meisten Mikrocontroller mit ADCs haben eine interne Bandgap-Referenz mit einer Spannung von ~1 V (genauere Werte und Toleranzen finden Sie im Datenblatt; Beispiel: Die STM32F415xx-Serie hat eine Bandgap-Referenz von 1,21 V). Dies erhöht Ihre Auflösung effektiv auf 1253 Schritte im vollen Maßstab, indem Sie einen Softwareschalter umlegen.
Wenn Sie es noch besser machen wollen, haben Sie mehrere Möglichkeiten:
In keinem dieser Fälle müssen Sie die Spannungsversorgung Ihres Mikrocontrollers ändern.
Als Randnotiz verstehe ich Ihre Abneigung gegen die Verwendung eines Shunt-Widerstands nicht. Bei mäßig niedrigen Strömen (wenige Ampere) ist dies die genaueste Art, Ströme zu messen. Beispielsweise hat der von Ihnen aufgelistete ACS712-Chip eine Genauigkeit von 1 %. Das bedeutet, dass Sie eine Genauigkeit von 6,64 Bit (~ 100 Schritte) erhalten. Es ist sehr einfach, Shunt-Widerstände mit einer Genauigkeit von 0,5 % zu erhalten, was eine Genauigkeit von 7,64 Bit (~200 Schritte) ergibt. Die Verwendung eines Shunts mit einer Genauigkeit von 0,1 % ergibt eine Genauigkeit von 9,97 Bit (~1000 Schritte).
Wenn Sie einen sehr kleinen Shunt-Widerstand mit einem Instrumentenverstärker verwenden, ist die Bürdenspannung vernachlässigbar. Angenommen, Sie haben einen Eingangsverstärker mit einer Verstärkung von 100x (sehr machbar). Ein geeigneter Shunt-Widerstand, um 0-1.21V
den vollen Bereich zu erreichen, benötigt einen Shunt-Widerstand von 6.05mOhms
und hat eine Lastspannung von 12.1mV
. Für alle intensiven Zwecke ist dies vernachlässigbar. Sie können dies noch weiter reduzieren, indem Sie eine 1000-fache In-Amp-Schaltung verwenden (ebenfalls sehr machbar).
Sie sagen, Sie möchten eine "hochauflösende" Strommessung durchführen. Wenn Sie „hohe Auflösung“ sagen und dann sagen, dass Sie einen 12-Bit-ADC in einem Mikrocontroller verwenden, definieren Sie im selben Satz „hohe Auflösung“ neu. Abwärts. Wie auch immer, Sie werden Glück haben, 10-10,5 zu bekommen effektive Bits, so dass Sie bereits auf ~ 1000 Codes über den vollen Maßstab heruntergekommen sind (vorausgesetzt, Sie tun das Notwendige und verstärken Ihre Sense-Messung so, dass 2A = "voller Maßstab". Ist die Auflösung hoch genug für Sie?
Wenn ja, müssen Sie den Ratschlägen in anderen Antworten folgen, um eine geeignete Referenz auszuwählen (interne Bandlücke oder eine anständige externe Referenz von <0,05%, KEINE Versorgungsschiene, egal wie gut gefiltert man behaupten mag machen), UND verwenden Sie einen Operationsverstärker, um Ihre Strommessung mit einem Shunt- Widerstand zu verstärken, sodass 2 A = Ihre Referenzspannung ist, und verwenden Sie anständige PCB-Designpraktiken, um Ihre analogen Schaltkreise relativ sauber zu halten. Mein Internet ist heute Abend sehr langsam, daher kann ich im Moment kein STM32F4xxx-Datenblatt herunterladen, aber zu 99,9% wird es die Option unterstützen, eine externe Spannungsreferenz zu haben.
Ich würde dem Ausgang des ACS712 einen Operationsverstärker mit einer Verstärkung von 8 hinzufügen, um die volle Bandbreite des ADC in Ihrem Mikrocontroller zu nutzen. 2 A würden also durch 8 * 463 Schritte = 3704 dargestellt, fast der gesamte Bereich (4096) des 12-Bit-ADC mit einer Vollskalenspannung von 3,3 V.
Der LMV321 ist eine Rail-to-Rail-Version des LM321.
Die Verstärkung eines nicht invertierenden Verstärkers ist , oder in diesem Fall .
Oder verwenden Sie einen Operationsverstärker mit einer Verstärkung von 12 für den ACS711. In diesem Fall würde 2A durch 12*275 Schritte = 3300 dargestellt.
Nick Johnson
Nairyo
Nick Johnson
Nairyo
jms
Nairyo
schweber
jms
Nairyo
Nick Johnson