Forum: Analoge Elektronik und Schaltungstechnik Mit INA226 Strom über H-Brücke messen


von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

Hallo Community,

Ich habe eine H-Brücke (DRV8837) und möchte mit dem Stromsensor INA226 
den Strom der über denn Ausgang fließt messen.

Dabei gibt es drei Probleme(?) bei denen ich nicht weis wie man die 
löst.

1. Man misst ja mit dem Sensor über einen High- oder Low-Side-Shunt.
Wenn ich an OUT1 einen Shunt anschließe und mit dem Strom messe, kann 
das ja High-Side oder Low-Side sein, je nachdem wie der Strom gerade 
fließt.
Ist das ein Problem?

2. Da man Ausgang ja ein PWM-Signal hat, hat man sehr hohes dV/dt, muss 
ich da irgendwas berücksichtigen?

3. Kann ich nicht auch einfach denn Strom an dem ISENSE-Widerstand vom 
DRV8837 messen (Low-Side), muss man da etwas bestimmtes beachten oder 
kann es da auch zu Problemen kommen?

Mfg,
Tropiaon

: Verschoben durch User
von MiWi (Gast)


Lesenswert?

Fabian P. schrieb:
> Hallo Community,
>
> Ich habe eine H-Brücke (DRV8837) und möchte mit dem Stromsensor INA226
> den Strom der über denn Ausgang fließt messen.
>
> Dabei gibt es drei Probleme(?) bei denen ich nicht weis wie man die
> löst.
>
> 1. Man misst ja mit dem Sensor über einen High- oder Low-Side-Shunt.
> Wenn ich an OUT1 einen Shunt anschließe und mit dem Strom messe, kann
> das ja High-Side oder Low-Side sein, je nachdem wie der Strom gerade
> fließt.
> Ist das ein Problem?

Schaltplan?

> 2. Da man Ausgang ja ein PWM-Signal hat, hat man sehr hohes dV/dt, muss
> ich da irgendwas berücksichtigen?

Hängt davon ab, doch das geht nur mit

Schaltplan!


> 3. Kann ich nicht auch einfach denn Strom an dem ISENSE-Widerstand vom
> DRV8837 messen (Low-Side), muss man da etwas bestimmtes beachten oder
> kann es da auch zu Problemen kommen?
>

Schaltplan?

denkst Du wirklich daß jeder weiß was Du meinst wenn Du "Strommessen 
über H-Brücke" und dann von Hi/Lowside-Shunt redest?

Das was Du da schreibst klingt nach Messung "in H-Brücke" und das ist 
was vollkommen anderes als Messen "über H-Brücke"

Wozu gibt es Schaltpläne - ist der so geheim?


MiWi

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

MiWi schrieb:
> Wozu gibt es Schaltpläne - ist der so geheim?

Nein, weil ich keinen Schaltplan habe.
Wenn ich wüsste wie man richtig denn Strom über OUT1 misst, hätte ich 
einen Schaltplan. Sonst gibt es da nichts besonderes zu beschalten, wenn 
man ins Datenblatt von DRV8837 (I2C H-Brücke).

von Achim S. (Gast)


Lesenswert?

Fabian P. schrieb:
> Sonst gibt es da nichts besonderes zu beschalten, wenn
> man ins Datenblatt von DRV8837 (I2C H-Brücke).

ich hab ins Datenblatt geschaut:

http://www.ti.com/lit/ds/symlink/drv8837.pdf

Und ich habe dort weder etwas von "I2C" noch etwas vom 
"ISENSE-Widerstand vom DRV8837" gefunden. Also: auf welches Datenblatt 
beziehst du dich? Irgendein lustiges hield, das den DRV8837 verwendet?

von MiWi (Gast)


Lesenswert?

Fabian P. schrieb:
> MiWi schrieb:
>> Wozu gibt es Schaltpläne - ist der so geheim?
>
> Nein, weil ich keinen Schaltplan habe.
> Wenn ich wüsste wie man richtig denn Strom über OUT1 misst, hätte ich
> einen Schaltplan. Sonst gibt es da nichts besonderes zu beschalten, wenn
> man ins Datenblatt von DRV8837 (I2C H-Brücke).

Es macht keinen Sinn für eine nicht dokumentierbare Schaltung des TOs 
weiter Zeit zu spenden.

MiWi

von aSma>> (Gast)


Lesenswert?

Servus,
setze den INA in Reihe zum Motor.

Bei jeden Schaltvorgang der FETs entsteht durch parasitäre Induktivität 
ein Schwingkreis. Dieser kann kurzzeitig eine viel höhere Spannung 
erreichen als angelegt und dann den INA oder sogar auch den Treiber 
zerstören. In diesen Fall wird eher zuerst der Treiber in Rauch 
aufgehen, da nur bis 11V spezifiziert. Ein extra Snubber kann Hilfe 
schaffen. Ohne ein Oszi hat man schlechte Karte...

von Georg (Gast)


Lesenswert?

Fabian P. schrieb:
> Wenn ich an OUT1 einen Shunt anschließe und mit dem Strom messe, kann
> das ja High-Side oder Low-Side sein

Das macht man ja auch nicht so, sondern der Shunt kommt von GND zum 
Fusspunkt der H-Brücke. Lies ein Datenblatt von integrierten 
Motortreiber-ICs, wie die das machen.

Georg

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Angehängte Dateien:

Lesenswert?

Die Schaltungen im Anhang wären mal zwei Ideen, wobei ich beim zweiten 
nicht weis, wo ich VBUS anhängen soll.

MiWi schrieb:
> Es macht keinen Sinn für eine nicht dokumentierbare Schaltung des TOs
> weiter Zeit zu spenden.

Wenn ich eine dokumentierte Schaltung hätte, bräuchte ich hier auch 
keine Hilfe oder?

Mfg,
Tropaion

von Georg (Gast)


Lesenswert?

Fabian P. schrieb:
> Die Schaltungen im Anhang wären mal zwei Ideen

Ver1 ist ganz Unsinn, für den Shunt ist ja schliesslich der Anschluss 
Isense da.

Ver2 ist halb Unsinn, denn R1 ist ja GND bezogen, da braucht man keine 
Potentialverschiebung mit INA, sondern die Spannung an R1 ist direkt der 
gesuchte Wert (-> ADC).

Georg

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

Naja, eigentlich ist der ISENSE-Widerstand laut Datenblatt ja da, um 
denn max. Strom einzustellen "Connect current sense resistor to GND. 
Resistor value sets current limit level.", weiteres findet man auch noch 
unter Punkt 7.3.3 (S10).

Darum bin ich mir ja nicht sicher ob ich denn einfach so zum Strom 
messen kann und ob da nicht auch ein zu großes dV/dt ist.

von MiWi (Gast)


Lesenswert?

Georg schrieb:
> Fabian P. schrieb:
>> Die Schaltungen im Anhang wären mal zwei Ideen
>
> Ver1 ist ganz Unsinn, für den Shunt ist ja schliesslich der Anschluss
> Isense da.

Bei der Version wird der Motorstrom vollständig erfaßt, was bei V2 nicht 
der Fall ist (zB Bremsen durch beide Lowside aktiv).

Bei V1 sind zwar hohe CM-Störungen vorhanden, die Spannung über dem 
Shunt ändert sich aber nicht sonderlich schnell - da ist das L dagegen - 
allerdings wird der Strom je nach Brückenaktivität gelegentlich 
umgepolt.


> Ver2 ist halb Unsinn, denn R1 ist ja GND bezogen, da braucht man keine
> Potentialverschiebung mit INA, sondern die Spannung an R1 ist direkt der
> gesuchte Wert (-> ADC).
>
> Georg

Je nach Strom und Aufbau des ganzen Pawalatsch kann ein 
Differenzverstärker für V2 dennoch sinnvoll sein.

Kann der INA Spannungen verarbeiten, die negativer als seine negative 
Versorgungsspannung ist? Kann passieren, wenn L Teil eines Motors ist 
und der in den Generatorbetrieb geht...


Und je nach Bedarf des TO kann die eine oder andere Methode sinnvoll 
sein.

Daher - er wird genauso ratlos sein wie vorher, vielleicht baut er das 
ganze selber auf und entscheidet dann was er braucht.


MiWi

von MiWi (Gast)


Lesenswert?

Fabian P. schrieb:
> Naja, eigentlich ist der ISENSE-Widerstand laut Datenblatt ja da, um
> denn max. Strom einzustellen "Connect current sense resistor to GND.
> Resistor value sets current limit level.", weiteres findet man auch noch
> unter Punkt 7.3.3 (S10).
>
> Darum bin ich mir ja nicht sicher ob ich denn einfach so zum Strom
> messen kann und ob da nicht auch ein zu großes dV/dt ist.

Dann nimm ein Oszi und messe es. Und wenn dV/dT zu groß ist - 
RC-Filter für den INA sind bereits erfunden....

MiWi

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

MiWi schrieb:
> allerdings wird der Strom je nach Brückenaktivität gelegentlich
> umgepolt.

Ja, das ist ein Problem, wo ich nicht was ich tun soll.
Ich denke nicht das der Sensor negative Ströme erfassen kann.

MiWi schrieb:
> Bei der Version wird der Motorstrom vollständig erfaßt

Das ist jedoch wichtig.

MiWi schrieb:
> Kann der INA Spannungen verarbeiten, die negativer als seine negative
> Versorgungsspannung ist? Kann passieren, wenn L Teil eines Motors ist
> und der in den Generatorbetrieb geht...

Generatorbetrieb wird nicht vorkommen, da ich keinen Motor anschließe 
sondern nur eine einzelne Spule.

Ich muss denn Strom, der über die Spule fließt wissen (in beide 
Richtungen), also kommt, nach deinen Aussagen, nur V1 in Frage.

MiWi schrieb:
> Dann nimm ein Oszi und messe es. Und wenn dV/dT zu groß ist -
> RC-Filter für den INA sind bereits erfunden....

Leider wird mir das kaum möglich sein. Im Datenblatt steht eh eine 
Maßnahme gegen dV/dt aus Seite 14, aber ich weis nicht ob das in diesem 
Fall nötig ist.

Mfg,
Tropaion

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Fabian P. schrieb:
> Wenn ich eine dokumentierte Schaltung hätte, bräuchte ich hier auch
> keine Hilfe oder?

Aber wenn du den Schaltungsansatz zeigst sieht man wenigstens, dass es 
um den DRV8830 geht. Zuvor hattest du konsequent falsch vom DRV8837 
geredet, der zu vielen Aspekten deiner Frage nicht die Bohne gepasst 
hat.

Fabian P. schrieb:
> 1. Man misst ja mit dem Sensor über einen High- oder Low-Side-Shunt.
> Wenn ich an OUT1 einen Shunt anschließe und mit dem Strom messe, kann
> das ja High-Side oder Low-Side sein, je nachdem wie der Strom gerade
> fließt.
> Ist das ein Problem?

da der INA226 sowohl mit negativer als auch mit positiver 
Differenzspannung klar kommt, wäre das zunächst mal kein Problem.

Fabian P. schrieb:
> 2. Da man Ausgang ja ein PWM-Signal hat, hat man sehr hohes dV/dt, muss
> ich da irgendwas berücksichtigen?

Bei fester Stromrichtung hängt einer der beiden Ausgänge fest auf dem 
High-Potential, der andere springt im Takt der PWM zwischen GND und dem 
High-Potential. Der Shunt auf der High-Side würde problemlos gehen. Der 
Shunt auf der Low-Side sähe sehr schnelle Gleichtaktsprünge. Der INA226 
hat zwar eine hohe Gleichtaktunterdrückung. Wie viel von der bei der 
PWM-Frequenz noch übrig ist, ist aber leider nicht spezifizert. Daher 
kann es gut sein, dass die Messung mit dem Shunt an OUT1 bei einer 
Stromrichtung klappt, bei der anderen Stromrichtung aber verfälschte 
Werte liefert.

Fabian P. schrieb:
> 3. Kann ich nicht auch einfach denn Strom an dem ISENSE-Widerstand vom
> DRV8837 messen (Low-Side), muss man da etwas bestimmtes beachten oder
> kann es da auch zu Problemen kommen?

Du musst beachten, dass über ISense immer nur in der On-Phase der PWM 
ein Strom fließt. In der Off-Phase, wenn der Strom über die beiden 
oberen Schalter des DRV8830 zirkuliert, ist die Spannung an ISense 
gleich Null. Wenn dich der Strom durch den Motor interessiert (nicht der 
mittlere Strom durch den DRV), dann müsstest du den Spannungsabfall am 
ISense-Pin jeweils dann abtasten, wenn der Low-Side Schalter des DRV8830 
an ist. Dafür ist der INA226 aber zu langsam: er gibt dir nicht den 
Strom während der On-Phase sondern den Mittelwert des Stroms.

Fabian P. schrieb:
> Ich denke nicht das der Sensor negative Ströme erfassen kann.

sicher kann er negative Ströme erfassen. Die "shunt input voltage range" 
geht gleichweit ins posivtive wie ins negative. Negative 
Differenzspannung am Eingang wären also ok, aber mit negativen 
Gleichtaktspannungen kommt der INA226 nicht klar.

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

Achim S. schrieb:
> Aber wenn du den Schaltungsansatz zeigst sieht man wenigstens, dass es
> um den DRV8830 geht.

Tut mir Leid, da habe ich etwas verwechselt.

Vielen Dank für deine ausführliche Erklärung, jetzt verstehe ich einiges 
etwas besser.
Was würdest du mir Empfehlen, wie ich denn Strom über die Spule am 
besten mit I2C messe, es muss nicht unbedingt der INA226 sein, vll. gibt 
es ja passendere?

Irgendwie komme ich auf keinen grünen Zweig.

Danke und Mfg,
Tropaion

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Tja, so richtig ideal ist die Kombi aus PWM Motorkontrolle und 
I2C-Messung auch nicht.

Ein erster Ansatz wäre: versuch einfach mal den Shunt an Out1 und schau 
dir an, wie starkt die Gleichtaktsprünge bei einer Stromrichtung die 
Messung verfälschen. Mit der anderen Stromrichtung (ohne 
Gleichtaktsprünge am Shunt) hast du ja einen guten Vergleichswert, was 
herauskommen müsste. Wie schon geschrieben: im Datenblatt des IN226 
finde ich keine explizite Angabe, wie groß seine CMRR bei der 
Schaltfrequenz des DRV8830 ist. Du kannst also nicht sicher sein, dass 
du gute Werte bekommst, aber du kannst es zumindest ja mal probieren.

Ein anderer Ansatz wäre, den Strom an ISense während der On-Phase zu 
messen. Dazu bräuchtest du aber einen ADC, dessen Abtastzeitpunkt du mit 
der PWM synchronisieren kannst. Wenn nur eine Spule als Last dranhängt 
(kein Generatorbetrieb) dann könntest du die Stromrichtung ja aus der 
Registereinstellung des DRV8830 bestimmen (unmittelbar nach dem Umpolen 
der H-Brücke würde die Stromrichtung dann natürlich erst mal nicht 
stimmen).

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Fabian P. schrieb:
> Naja, eigentlich ist der ISENSE-Widerstand laut Datenblatt ja da, um
> denn max. Strom einzustellen "Connect current sense resistor to GND.
> Resistor value sets current limit level.", weiteres findet man auch noch
> unter Punkt 7.3.3 (S10).
Hier sieht man auf S. 8 in dem Prinzipschaltbild, wo und wie der Strom 
aus I_Sense stammt.
Es wird also immer der Brückenstrom direkt gegen Masse dargestellt, 
sofern gleichzeitig ein High-Sideschalter und ein Low-Sideschalter aktiv 
sind.
(normaler statischer Betrieb der Spule, unabhängig von der Polarität an 
der Spule).  http://www.ti.com/lit/ds/symlink/drv8830.pdf

> Darum bin ich mir ja nicht sicher ob ich denn einfach so zum Strom
> messen kann und ob da nicht auch ein zu großes dV/dt ist.
Was ist jezt das Problem?
Dass die Spule beim harten Ausschalten hohe Induktionsspitzen erzeugen 
kann, sollte klar sein. Dagegen mußt die Schaltung eh geschützt werden 
(entwerder extern oder durch interne Beschaltung in der H-Brücke.

Du muss die Stromüberwachung ja auch gar nicht nutzen, kannst aber den 
Spannungsabfall am Meßshunt des I_sense-Pins allemal zur Strommessung 
nutzen.
Dafür reicht dann auch ein einfacher OPV, um die evtl. zu geringe 
Meßspannung von paar 10 mV auf das erforderliche Level der 
Auswerteschaltung anzupassen.

Aufpassen mußt du nur mit der Masse deiner Messchaltung, weil die durch 
den Spulenstrom verfälscht werden kann. Da kommt es dann auf das Layout 
an.

Gruß Öletronika

: Bearbeitet durch User
von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

Achim S. schrieb:
> in erster Ansatz wäre: versuch einfach mal den Shunt an Out1 und schau
> dir an, wie starkt die Gleichtaktsprünge bei einer Stromrichtung die
> Messung verfälschen. Mit der anderen Stromrichtung (ohne
> Gleichtaktsprünge am Shunt) hast du ja einen guten Vergleichswert, was
> herauskommen müsste. Wie schon geschrieben: im Datenblatt des IN226
> finde ich keine explizite Angabe, wie groß seine CMRR bei der
> Schaltfrequenz des DRV8830 ist. Du kannst also nicht sicher sein, dass
> du gute Werte bekommst, aber du kannst es zumindest ja mal probieren.

Das wäre wohl das eheste das ich machen kann, leider habe ich keine 
Möglichkeit es vorher zu probieren, ich muss wohl hoffen das es einfach 
funktioniert.

Eine zweite Möglichkeit wäre noch, denn Widerstand der Spule im Leerlauf 
zu messen, leider gibt es keine I2C Widerstandssensoren.

Mfg,
Tropaion

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.