Erfassen des DC-Motorstroms

Ich lasse den Strom durch einen Gleichstrommotor durch einen kleinen Widerstand fließen und messe die Spannung darüber. Ich muss diese analoge Spannung an einen ADC des Mikrocontrollers geben, um eine Signalverarbeitung darauf durchzuführen. Mein Problem ist, dass der Mikrocontroller mit einer isolierten Versorgung betrieben wird und die zu erfassende Spannung auf der nicht isolierten Seite liegt. Ich denke, dass die Verwendung eines analogen Isolators keine gute Lösung ist. Eine Lösung dafür ist die Verwendung eines externen ADC auf der nicht isolierten Seite und die digitale Isolierung des ADC-Ausgangs, aber dieser ADC kann keine negativen Spannungen aufnehmen, wenn der Motor in die andere Richtung läuft. Bitte helfen Sie.

„Ich fühle mich wie“ ist nicht in der Sprache des Ingenieurs: Wenn Sie den Grund für etwas, das Sie tun, nicht kennen, machen Sie es wahrscheinlich falsch
Tut mir leid für mein schlechtes Englisch. Ich wollte damit sagen, dass ich analoge Isolatoren wegen ihrer schlechten Linearität vermeiden möchte.
Es geht nicht um schlechtes Englisch, meins ist auch schlecht. Dies ist nicht-technisch; Sie sollten Ihre Linearitätsanforderungen definieren und dann mit den Komponenten vergleichen, die Sie haben.
Sie haben ein Teil mit +/-5 % Fehler und 1 % Linearität über den gesamten Bereich „akzeptiert“, während Sie ein Gerät mit 0,01 % Linearität abgelehnt haben. Es gibt mehr zu den Spezifikationen als nur das, aber ich denke, das Hall-Gerät kann Ihren ursprünglichen Einwand "schlechte Linearität" übertreffen.
Vielleicht lag das Problem bei unkompensierten Optoisolatoren, die keine sehr gute Linearität liefern können. Dies würde seine anfängliche Zurückhaltung erklären, sie zu benutzen.

Antworten (4)

Obwohl ich verstehe, dass Sie fragen, wie Sie einen Strommesswiderstand verwenden können, um Strom zu messen und den Wert dann über eine Isolationsgrenze zu übertragen, müssen Sie einige Alternativen in Betracht ziehen, bevor Sie die Entscheidung als endgültig betrachten.

(Beachten Sie, dass Sie keine Spezifikationen oder Anforderungen wie Bandbreite, Verpackung oder Strombereich angegeben haben, sodass die genannten Teile möglicherweise nicht geeignet sind, aber es gibt eine große Auswahl an Teilen, die wahrscheinlich gut funktionieren. )

Hall-Effekt-Stromsensoren ermöglichen eine isolierte Strommessung, ohne dass Elektronik oder Reihenwiderstände auf der "heißen" Seite des Schaltkreises erforderlich sind. Der Ausgang kann so ausgewählt werden, dass er für den direkten Anschluss an Ihren isolierten Mikrocontroller geeignet ist. Wenn Sie beispielsweise einen 3,3-V-Mikrocontroller hatten und der zu erfassende Strom weniger als +/- 12,5 A betrug, liefert der ACS711 von Allegro Microsystems eine lineare Ausgangsspannung zwischen 0 und 3,3 V, wobei der 0-A-Strom bei 1,65 zentriert ist v.

Es ist wirklich so einfach...

Um dies mit Ihrem Mikrocontroller zu verwenden, verbinden Sie VIout mit einem ADC-Pin.

Natürlich stellen sie diese Sensoren mit unterschiedlichen Stromempfindlichkeiten, Fähigkeiten und Gehäusen her. Digikey ist dein Freund.

Ich habe das Gefühl, wenn alle anderen eine Anwendungsschaltung geben, sollten Sie dies auch tun.
@Kortuk Die Schaltung ist so einfach, dass ich sie nicht für notwendig hielt (im Vergleich zu der Servoschleife, die für einen linearen Optokoppler benötigt wird).
Es ist nicht fair zu erwarten, dass jemand einen Beitrag mit einem Bild mit einem anderen Beitrag vergleicht, der kein Bild auf gleicher Ebene enthält. :)
[Das aktuelle Datenblatt ist unter ]( allegromicro.com/en/Products/Part_Numbers/0711/0711.pdf ) 5 % Fehler und 1 % Linearität und ...
@RussellMcMahon Sie stellen sie auch mit höherer Linearität und geringerem Fehler und höherer Bandbreite her. Zugegeben, Sie werden am Ende nicht die Linearität von 0,01% haben ... aber Sie brauchen keinen Vorwiderstand mit dem Motor, Sie brauchen keine "heißen" Schaltkreise (Regler, Op- Verstärker, Optokoppler usw.) und ist unabhängig von Ihrer Motor-/Treibertopologie einfach zu verwenden.

"Ich denke, dass die Verwendung eines analogen Isolators keine gute Lösung ist."

Wir würden gerne helfen, aber meine Antwort bezieht sich auf einen analogen Isolator. Was ist mit denen los? Dafür sind sie gemacht.

Das IL300 kann nützlich sein:

Geben Sie hier die Bildbeschreibung ein

Der IL300 hat eine hervorragende Servolinearität von 0,01 %. Wenn Sie U1 von der Stromversorgung des Motors versorgen möchten, stellen Sie sicher, dass es ordnungsgemäß entkoppelt ist.

(Vcc und Masse links und rechts vom Optokoppler sind offensichtlich unterschiedlich.)

(1) Jeder uC mit einem ADC geeigneter Leistung. Wert lesen. Senden Sie digitale Daten über einen Optokoppler.


(2) Sie können "lineare" Optokoppler kaufen, mit denen eine lineare Spannung über eine Isolationsgrenze repliziert werden kann

Für 2,85 US-Dollar können Sie den LOC110 von IXYS erhalten. Sie behaupten:

  • 0,01 % Servolinearität
  • Klirrfaktor -87 dB Typisch
  • Breite Bandbreite (>200kHz)
  • Koppelt analoge und digitale Signale
  • Energieeffizient
  • 8-poliges Flatpack oder DIP-Gehäuse (PCMCIA-kompatibel)

Das Gerät enthält 1 x LED und 2 x angepasste Fotodioden. Das Fotodiodenpaar wird verwendet, um einen "Servo" zu erzeugen, so dass die zwei Fotodiodenströme angepasst sind und die Eingangsspannung dann abgeleitet werden kann.

Avago bietet ein viel viel besseres Datenblatt und einen App-Hinweis für sein HCNR201-Produkt

Jeweils I_PD1 = I_PD2 und von dort aus Schaltung folgen.
Sie bieten zusätzliche Schaltkreise in der App-Note, darunter einen für bipolare Eingänge.

Da das Gerät über einen Vorwiderstand stromgesteuert ist und in mA "denkt", müssen Sie mit ziemlicher Sicherheit Ihre Motor-Sense_Resistor-Spannung etwas verstärken. Es ist unwahrscheinlich, dass dies ein Problem in der Gesamtordnung der Dinge darstellt.

Avago HCNR201 dual linear opto.jpg

Hallo Russell, es sieht so aus, als hätten wir die gleiche Lösung. Wollte dir deine Antwort nicht stehlen. Ich muss meine geschrieben haben, während du deine gepostet hast. Das LOC110 scheint etwas billiger zu sein als das IL300, das ich immer als Referenz verwende.
@stevenvh - Ich habe dort ein leichtes Déjà-vu erlebt :-). Olin wird meine Antwort Nr. 1 bevorzugen :-)

Ich stand 1978 bei einem 48-V-Gleichstrommotor bei 1 A mit Fernbedienung und Stromrückmeldung über ein benutzerdefiniertes Telemetriedesign vor demselben Problem. (jetzt SCADA genannt) Ich hatte eine 1-MBps-Telemetrieverbindung entworfen und benötigte einen analogen Strommonitor in etwa 300 m Entfernung, der den digitalen Telemetriekanal von einem Reactor Power Building zum Control Bldg verwendet.

Meine Spezifikationen:

  • 1 % Fehler bei Skalenendwert
  • 1 % Linearität
  • 1000 Hz Abtastrate.
  • 1 Ampere nominaler Gleichstrom am Motor mit 10 mΩ Shunt
  • 10A Stand. wenn die Wirbelstromsonde bei maximaler Leistung in der Mitte des U-Rohrs hängen bleibt.
  • Reaktionszeit zum Erkennen von Überstrom und Stoppen des Motortreibers 20 ms.

Erhältlich:

  • Ein paar Statusbits bei einer 1Mbps Datentelemetrie bei einer Framerate von 1kHz.
  • 6800 MCU zum Zurücksenden von Steuerbefehlen mit einer Rate von 100 Kbps.

Meine Designauswahl:

  • 0,1 % Auflösung Tachometerkreis Pulsfrequenzsteuerung durch Strom
  • mit Pulsfrequenzsteuerung und One-Shot. zur Telemetrie
    • 0,1 % = 1 pps
    • 1 % = 10 Punkte
    • 10 % = 100 Punkte
    • 100 % = 1000 pps = 10 A Vollausschlag

Anstelle von ADC habe ich ein Tach-Konzept wie ein Auto verwendet ...

  • wobei RPM => variable Pulsrate 1shot ==> akkumulierte Ladung auf dem Spannungsmesser
  • außer hier Motorstrom - verstärkte und kontrollierte Pulsrate mit Weitbereichs-VCO & One-Shot.
  • Der Impuls wurde als 1 Statusbit mit 800 Bytes anderer Daten in jedem Frame-Sync-Modus übertragen.
  • Am Empfänger wiederhergestellte Tach-Impulse und eine einfache Integratorschaltung zeigen den Motorstrom auf einem linearen Analogmessgerät vom Kantentyp an.
  • Der Sollwert für den Blockierzustand wurde automatisch erkannt und innerhalb von ms reagiert, um den Motor innerhalb von 5 ms zu stoppen.

Jetzt vielleicht Ihr Design, um eine ähnliche Tach-Schaltung mit Optokopplern anstelle einer Telemetrie auf Koax zu verwenden. Tach-Designs können einfach gemacht werden, da es nicht auf Genauigkeit ankommt.