Forum: Mikrocontroller und Digitale Elektronik MSP430 Strom messen


von Sebstian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,


ich steuere mit meinem 149er einen l293d an und damit einen kleinen
Motor der je nach Belastung zwischen 90 und 200mA zieht. Ich möchte nun
den Strom messen. Dazu habe ich einen 0,13Ohm 3W Widerstand dazwischen
gelötet und greife an diesem die spannung ab und lege sie auf einen
AD-Eingang. Aus den Werten lässt sich dann ja der Strom berechnen. Vom
Prinzip her funktioniert das ganze auch schon, aber die ausgegebenen
Werte stimmen irgendwie noch nicht. Ich habe auch das Problem, dass
wennman den Motor belastet, der Strom hoch geht (gemessen von ca. 90
auf 140mA) aber die Anzeige auf dem Display ändert sich nur
unwesentlich.

Ich habe meinen Code mal angehängt. Wäre klasse, wenn da mal jemand
drüber schauen könnte, ob ich da irgendwo vielleicht einen Fehler im
Code oder generell einen Denkfehler drin habe.

Vielen Dank.

Grüße
Sebastian

von Hubert.G (Gast)


Lesenswert?

Ich weiss nicht ob du das schon mal gerechnet hast, aber der
Spannungsabfall an deinem Shunt schwankt bei deinem Beispiel zwischen
0,0117 und 0,0182 Volt. Welche Auflösung hat dein AD-Wandler?

von SupaChris (Gast)


Lesenswert?

Sicher, dass der ADC schon fertig ist, wenn du den Wert aus dem
ADC12MEM0 holst? Ich würd da lieber das Flag abfragen, oder die ganze
Sache Interrupt-gesteuert machen. In den C-Demos ist ja genügend drin
dazu. Außerdem ist es bei einer Anzeige auf einem Display sinnvoll, den
Wert erst zu mitteln.

von Sebstian (Gast)


Lesenswert?

so, ich nehme nun erst einmal mehrere Werte und mittle darüber, bevor
ich den wert auf dem display ausgebe.

der adc ist schon fertig, wenn ich den wert raushole.

im moment habe ich bei gemessenen 93mA eine Anzeige von 163 auf dem
Display.

Ich denke, ich werde es einmal mit einem größeren Widerstand
versuchen.

Mal sehen, was ich noch so da habe.

von TheMason (Gast)


Lesenswert?

ich weiß ja nicht wo du misst, aber kann es sein das du "nur" 3.3v -
spannungsabfall misst ?
dann kommen da natürlich nur minimale veränderungen bei raus (vor allem
bei dem mess-widerstand von 0.13 ohm).
vielleicht einen instrumenten-verstärker aufbauen (3 ops), oder einen
subtrahierer (1 op) der wirklich nur die spannungsdifferenz an deinem
shunt misst und dann verstärkt.
dann sollte auch der gelesene adc wert sich entsprechend dem strom
ändern ...

hoffe ich konnte dir helfen.

gruß
rene

von Sebstian (Gast)


Lesenswert?

ich glaube ich werde mir mal etwas ausdenken, irgendeine schaltung, denn
so wie gedacht, funktioniert das nicht :(

mal sehen, was ich da noch so zusammenbastle.

von Tony _. (tony_s)


Lesenswert?

Ist das zufällig PWM beim Motor vorhanden?

Bin ich blind? Oder wo ist dann dieser Mittelwertbilder?

von Sebastian (Gast)


Lesenswert?

Hallo zusammen,

ich habe mal noch ein wenig rumexperimentiert. Eine Schaltung mit OP's 
habe ich noch nicht aufgebaut, weil ich keine mehr da hatte ;).

Ich habe aber nun einen 5,1 Ohm Widerstand (Damit ist der 
Spannungsabfall pro mA auch sschön groß) eingelötet und den 
Spannungsabfall an diesem bei laufendem Motor gemessen und den Strom. 
Das haut auch gut hin. Ich habe nur folgendes Problem. Ich nehme die 
Spannung direkt am Widerstand ab, links und rechts eine Klemme dran und 
abgelesen. Vor dem Motor habe ich dann ein Multimeter zur Strommessung 
eingebaut. Bei einem bestimmmten Strom habe ich auch den passenden 
Spannungsabfall am Widerstand. So weit so gut.

Nun möchte ich aber die Spannung am Widerstand abnehmen und auf einen 
AD-Eingang des MSP legen. Das Problem ist nur, dass ich da ja gegen 
Masse messe. Wenn ich eine Klemme des Multimeters an den WIderstand und 
eine an die Masse hänge und nicht auf die andere Seite des Widerstandes, 
messe ich mit dem Multimeter genau das, was am AD-Port anliegt, aber das 
ist ja falsch
Das war vermutlich von Anfang an das Problem, dass ich gegen Masse 
gemessen habe und nicht mit beiden Klemmen des Multimeters direkt am 
Widerstand.
Ich hoffe, ich habe das einigermaßen verständlich beschrieben.

Nun meine Frage, wie bekomme ich nun die Spannung, die an dem Widerstand 
abfällt (ca. 25mV/mA) an den MSp AD-Eingang? Muss ich da dann wohl doch 
noch eine zusätzliche Schaltung aufbauen?

Jemand eine Idee?

Wäre klasse.

Vielen Dank.

Sebastian

von Jens P. (jmoney)


Lesenswert?

Wenn du gegen Masse misst, hast du eben den Widerstand des low-side FET 
mit drin. addieren und fertig. Ansonsten brauchst du hast nen 
differentiellen ADC. Weiß nicht, ob der MSP sowas hat..

von Sebastian (Gast)


Lesenswert?

Was addieren? Das Problem ist ja auch, dass wenn ich gegen Masse messe, 
sich die gemessene Spannung bei sich änderndem Strom eigentlich so gut 
wie gar nicht ändert.
Oder steh ich auf der Leitung?

von Jens P. (jmoney)


Lesenswert?

Naja ich geh mal von einer Brücke aus, mit der der Motor angesteuert 
wird. An welcher Stelle ist denn der Widerstand? Zwischen Motor und 
Transistor, der gegen GND schaltet oder zwischen Motor und Transistor, 
der gegen V+ schaltet?
Im ersten Fall betrachtest du den Spannungsabfall über Widerstand und 
Transistor. Im zweiten Fall betrachtest du den Spannungsabfall über 
Widerstand, Motor und Transistor.

Im ersten Fall müsste sich mit dem 5Ohm-Widerstand schon was ändern. Im 
zweiten Fall natürlich nicht, denn du misst ja quasi das Komplement des 
Spannungsabfalls ober dem Transistor gegen V+ und der ist erstens sehr 
klein und zweitens verändert er sich fast gar nicht (bipolar) bis sehr 
wenig (FET) in diesen Größenordnungen.

von Sebastian (Gast)


Lesenswert?

Hallo,

vielen Dank. Das hatte ich alles gar nicht bedacht.

Gruß

Sebastian

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.