PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Stromverbrauch eines Motors messen?



Frank
05.05.2004, 22:26
Hallo
Ich such eine Lösung die mit möglichst wenig Bauteilen auskommt um den Strombedarf eines Motors während des Betriebes mit einem Controller zu messen.
Das Problem dabei ist, das der Motor in beide Richtungen dreht. Also wenn ich einen Messwiderstand in der Motorleitung nutze dann fällt die Spannung ja mal positiv und mal negativ an, ich kann die so also nicht direkt auf analogen Port geben.
Man könnte die nun mit 4 Dioden quasi gleichrichten und dann auf Port geben. Das erscheint mir aber noch etwas umständlich, gibts keine bessere und einfacherer Möglichkeit? Umständliche Lösungen mit Zusatzports will ich auch vermeiden.

recycle
05.05.2004, 22:46
Kannst du nicht einfach den Strom messen, der beim L293D am Pin für die Versorgungsspannung für die Motoren reingeht?
Dann kann man zwar nur den Gesamtstrom für beide Motoren + die Verlustleistung des L293D messen, aber wenn man nicht ganz so pingelig ist, könnte man das doch als "Motorstrom" durchgehen lassen.

Frank
05.05.2004, 22:50
Ich will pingelig sein und es genau wissen ;-)
Da der Baustein zwei Motoren ansteuert geht das schlecht. Die könnten unterschiedlich belastet sein und unterschiedlich viel Strom verbrauchen. Ansonsten hätte ich das so gemacht

Dino Dieter
05.05.2004, 22:55
Hallo

Dann schau dir doch mal den MAX471 / 472 an.

MFG
DIeter

Frank
05.05.2004, 23:06
Leider zu aufwendig und zu teuer (6,70 Euro). Ich will nur den augenblicklichen Strom mit Controller ermitteln, mehrfach pro Sekunde!

recycle
05.05.2004, 23:20
Und wie wärs mit zwei fertigen Gleichrichtern? Grosse Ströme kann der L293D doch eh nicht ab und für kleinere Sröme durfte so ein Brückengleichrichter doch nicht so teuer sein.

Frank
05.05.2004, 23:24
Ja das hab ich ja schon angedacht, aber irgendwie erscheint mir das etwas umständlich. Aber vermutlich wird´s wohl keine bessere / billigere / platzsparendere Lösung geben. Werde es wohl so machen müssen

SlyD
05.05.2004, 23:36
Viele Regler haben auch gleich nen Ausgang zur Strommessung - L298 hat _glaube_ ich sowas.
Beim LMD18200 bin ich mir sicher, der ist aber extremst teuer und man braucht auch zwei davon...

Kjion
05.05.2004, 23:41
Der L298 hat das schon, allerdings wollte Frank eine L293D einsetzten soweit ich das bis jetzt mitbekommen habe. Und genau der hat das nicht...

MfG Kjion

05.05.2004, 23:51
Ja das der L298 einen hat weiß ich. Nur leider braucht de rwiede rsoviel Platz wegen der Dioden. Im hab auch immer Platzprobleme ;-)
LMD18200 kenne ich garnicht, was ist das denn?

Frank
05.05.2004, 23:56
Oh war schon wieder ausgeloggt! Hab nebenbei doch etwas zu lange an Platine geroutet. War noch Bug im Plan! Ein kleiner Bug und schon kann man ganze layout wieder neu routen. Immer schrecklich wenn die Platinen recht voll sind.

Frank
06.05.2004, 00:12
Der LMD18200 ist ja richtig teuer hab ich gesehn! Nee ist auch nix. Ich denke ich nehm dann doch L298, ist wohl doch die beste Lösung. Brauch da zwar die 4 Freilaufdioden aber dafür fällt Gleichrichter weg. Wen einem noch was einfällt, dann posten.
Good Night

recycle
06.05.2004, 00:58
Wen einem noch was einfällt, dann posten.


Eine sehr einfache Möglichkeit die die dich aber ganz sicher nicht überzeugen wird, wäre auf die Möglichkeit den Stromverbrauch der Motoren einzeln zu messen zu verzichten ;-)
Das spart dann auch gleich noch nen Pin am Controller ;-)

Für irgendwelche Abschätzungen über die Akkulaufzeit reicht doch eigentlich der Gesamtverbrauch.
Wenn jemand unbedingt wissen will, was ein einzelner Motor braucht, muss er den anderen Motor halt zum messen abklemmen ;-)

Wofür willst du die beiden Ströme denn unabhängig messen? Einfach nur um den Stromverkrauch zu wissen, oder steckt da noch irgendein weiteres Feature hinter?

Manf
06.05.2004, 08:11
Man könnte die nun mit 4 Dioden quasi gleichrichten und dann auf Port geben. Das erscheint mir aber noch etwas umständlich, gibts keine bessere und einfacherer Möglichkeit? Umständliche Lösungen mit Zusatzports will ich auch vermeiden.
Ich habe die Methode nicht verstanden und habe ein kleines Bild gemalt das ich "wat nu?" genannt habe. Dabei sind ein paar Werte als Beispiel angegeben. Mir ist nicht klar, wie man mit einem Brückengleichrichter die Differenzspannung mißt und dem Computer übergibt. Oder war mit 4 Dioden etwas anderes gemeint?
Daß man bei einer Brücke am besten in den gemeinsamen Massepfad einen Shunt einsetzt, das hatten wir schon. Das geht nicht wegen der zwei Motoren und es ist natürlich auch lästig wegen der Ansteuerpotentiale, die verschoben werden.
Grundsätzlich bleibt der gemeinsame Vcc Anschluß der auch immer noch zwei Motoren hat. Vielliecht fällt jemandem doch noch etwas ein.
Manfred

Frank
06.05.2004, 08:41
Guten Morgen,

@Manfred: So ganz kann ich deine Skizze nicht interpretieren. Aber Du hast recht das es hier ein Problem gibt. Im Prinzip müsste es mit Brückengleichrichter schon gehen. Aber nicht bedacht hab ich den starken Spannungsabfall an den Dioden. Nehme an das hast du gemeint.
In der Tat, dadurch gehts nicht da ich ja bei höheren Strom nur geringen Widerstand nehmen kann und dadurch der Spannungsabfall die Messschwelle viel zu hoch setzt.
Die einfachsten Dinge sind manchmal echt problematisch!

@recycle:
Nö, ich muß es schon mit Controller messen und zwar jeden Motor einzeln. Ich hab da so eine Idee für eine kleine Zusatzplatine. Ist aber noch nicht spruchreif, jedenfalls brauch ich das für eine Regelung. Daher muß Strom relativ genau und sehr oft gemessen werden.
Um Akkulaufzeit gehts mir nicht.

Gruß Frank

Manf
06.05.2004, 09:22
Es geht mir im Bild darum, daß ein Brückengleichrichter zwar eine gleichgerichtete Spannung liefert, daß aber das Bezugspotential dieser Spannung sehr durch die Wechselspannung bestimmt ist.
Die Differenz zwischen den Gleichrichterenden ist jeweils 2V minus 2 mal 0,5V also 1V, aber das Bezugspotential ist einmal 0,5V und das andere Mal 10,5V. Das ist schwierig weiterzuverarbeiten.

Ich habe noch einige Versionen durchprobiert mit geteilten Shunts rechts und links vom Motor, die durch Dioden überbrückt sind wenn sie nicht zur Messung dienen aber eine Shuntspannung über eine Diode zu messen, ist zu ungenau. Mit Anaolgschaltern (MC4016) geht es dagegen sehr gut. Es bleibt dann das Problem mit der Sättigungsspannung des Brückentransistors.
Alle Versionen kommen mir bis jetzt aufwändiger vor als getrennte H-Brücken mit Shunt in der Versorgungsleitung.
Manfred

Frank
06.05.2004, 09:48
Hi,

ach so, stimmt ja, der analog Eingang am Controller hat ja Masse als Bezug. Aber der Atmel kann ja auch die Differenz von zwei Spannungen messen, vielleicht könnte man das irgendwie hin bekommen. Aber spielt keine Rolle, ist eh wegen des starken Spannungsabfall an den Dioden nicht sinnvoll.

Ja zwei Regler L293D wäre auch eine Alternative, wenn auch etwas blöd. Kann man eigentlich die Treiber bei einem L293D parallel schalten und dann eventuell mit 2A belasten, dann würde das durchaus etwas mehr Sinn machen.

Ansonsten ist wohl ein L298 mit den zwei speziellen SENSE Ausgängen die beste Lösung.
Danke für Tips.

Gruß Frank

stupsi
06.05.2004, 11:05
Die Schaltung mit dem Shunt und dem Gleichrichter ist sehr verlustreich, erhöht den Innenwiderstand des L296D und man bekommt wegen des Gleichrichters nur falsche Ergebnisse. Eine Alternaltive wäre ein Ringkern-Impuls- Stromübertrager. Der würde vielleicht 50 Cent kosten, wenn man Ihn selbst wickelt. Er arbeitet sehr verlustarm und auch sehr präzise.
Bei Interesse könnte ich mal sowas berechnen.
Nachteil: er funktioniert nur im Impulsbetrieb und es könnte Schwierigkeiten beim Wickeln entstehen, denn die Sekundärwicklung kann schnell ein paar hundert Windungen haben.

stupsi
06.05.2004, 11:10
Es gibt auch noch den L293E, der hat einzelne Ausgänge zur Strommessung, dafür hat er keine internen Freilaufdioden.

mfg Stupsi

Frank
06.05.2004, 13:17
Nö, da wäre dann 298 besser als 293 E.
Mit Übertrager ist ja ausch schon wieder aufwenig. Und ich bin mir nicht sicher ob das bei PWM Steuerung dann auch linear funktioniert. Zudem wäre es schon nicht schlecht wenn es auch bei ungepulster Gleichspannung ginge. Aber Danke für Tips!

RG
06.05.2004, 18:43
Hab's nicht probiert, ist nur ein Gedanke . Wenn die PWM-Impulse beider Motore zeitlich so versetzt sind, das immer nur durch einen Motor Strom fließt, könnte man synchron dazu den Strom aus der Versorgung messen. Der müßte dann doch (fast) identisch mit dem Motorstrom sein?
RG

Frank
06.05.2004, 21:08
Hi,

ja theoretisch müsste das gehen. Aber wird auch sehr aufwendig und wenn Motoren dann voll ausgesteuert werden, dann dürfte es wieder nicht gehen. Wüsste auch nicht wie ich das hetzt so genau syncronisieren sollte. Ich bleib lieber bei L298 ;-)

Hessibaby
07.05.2004, 10:03
Hi Frank,
in der Industrie wird der Strom durch einen einzelnen Leiter an einem Gleichspannungsservomotor mit einem Hallsensor bzw. neuerdings mit magnetfeldabhängigen Widerständen (Brücke) gemessen, der Widerstand nimmt proportial zum Magnetfeld ab. Die Teile sind zwischenzeitlich auch recht preiswert geworden und netterweise vollkommen richtungsunabhägig.
Gruß Hartmut

Frank
07.05.2004, 12:30
Hi, dank für Tip! Aber mit HALL-Sensor hab ich Null Erfahrung. Hört sich wieder noch zusätzlicher Ansteuerungselektronik an. Vielleicht kannst du bei Gelegenheit mal informationshalber Schaltung und Anwendungsmöglichkeiten oder passenden Link posten.

Aber alle Vorschläge die bisher gemacht wurden bedeuten einen höheren Aufwand als von L293D auf L298 (der ja geeigneten Messausgang besitzt) umzusteigen. Mir scheint es gibt keine bessere Alternative.

Dann noch eine Zusatzfrage:
Angenommen ich habe einen Messwiderstand bei L298 drin. Also es fällt eine Spannung von 0 bus ca. 2V ab. Der Motor wird mit PWM angesteuert. Ist es sinnvoll die Messspannung mit Kondensator vor dem analogen Eingang noch zu glätten. Vielleicht mit 0,1 bis 1uF, oder mehr?

Hessibaby
07.05.2004, 13:00
Hi Frank,
schau dir mal beim C den Artikel mit der Nr. 182826 an oder bei Philips nach KMZ51 suchen.
Zur Zusatzfrage: 0,1µF ist ok aber mit nem R von 470Ohm in Reihe sonst bauste Dir nen Schwingkreis.
Gruß Hartmut

Manf
07.05.2004, 13:48
Am Meßwiderstand fällt ja der Strom durch den Motor ab, der zeitlich gemittelt werden soll. Ich würde sogar 10kOhm vor den Kondensator schalten und den Konsdensator auch ggf auf 1uF erhöhen. Soweit kein Problem.

Es ist allerdings nicht der ganze der Motorstrom, der über den Widerstand fließt, die abgeschlteten Spulen entladen sich noch über die Freilaufdioden. Da ich den Zweck der Strommessung nicht kenne, kann ich den Einfluß dieser Abweichung nicht beurteilen.

Hessibaby
07.05.2004, 15:39
Hi Manfred,
je nach geforderter Genauigkeit würde ich den Strom ja mit ´nem magnetoresistiven messen. Dieses System wird ja auch bei den High-End Stromesszangen angewandt.
Das Hauptproblem bei Shunts in PWM-Kreisen ist die Neigung zu disharmonischen Schwingungen und dann mißt Du auf einmal Ströme die garnicht möglich sind.
Allerdings habe ich mir gerade überlegt das wenn man einen Leiter der zum Motor führt so 3-4 mal um einen Ferritring legt und dann noch mal 10-20 Windungen dünnen so als Trafoähnliche Mimik -das sollte klappen den das PWM müßte in dem Ring ein magnetisches Wechselfeld erzeugen und auf der Sekundärseite eine RMS hinterlassen welche halbwegs proportional zum primär fließenden RMS ist - oder verlaufe ich mich gerade ?????????
Gruß Hartmut

Hessibaby
07.05.2004, 15:39
Hi Manfred,
nachtrag: Schaltnetzteile sind ja auch PWM gesteuert.
Gruß Hartmut

Frank
07.05.2004, 16:24
Hi,
ok, am besten ich werde das demnächst mal in der Praxis austesten. Also das ziel ist es den Stromfluss zu messen und dadurch auch mit dem Controller regeln zu können. Geregelt werden soll damit Schrittmotoren, ähnlich wie bei L297. Bekanntlich ist die Leistung von Schrittmotoren wesentlich höher wenn versucht wird den Nennstrom konstant zu halten. Wenn das ganze zu aufwenig wird, dann kann ich gleich andere Schaltkreise nehmen, von daher ist Aufwand + Preis des ganzen wichtig. Im Endeffekt soll da wieder was nützliches für Bastler raus kommen.

Gruß Frank

Manf
07.05.2004, 16:54
Es also geht um den augenblicklichenWert zur Regelung, dann vergiß alles zum Thema Tiefpass mit Kondensator. Der Strom steigt ja dann mit der rate Spannung geteilt durch Induktivität und ist in "zig" Mikrosekunden abzuschalten.
Auch der Stromübertrager von eben, der den Wechselanteil überträgt paßt da auch schlecht. Die magnetische Messung will ich nicht ausschließen, aber sie erscheint zunächst aufwändig. Es muß ja einfacher sein als eine getrennte H-Brücke. Vielleich fällt jemandem noch was ein.
Manfred

Hessibaby
11.05.2004, 10:16
Hallo Frank, Hallo Manfred,
also bei unserer CNC-Fräsmaschine mit Steppermotoren arbeiten wir mit einer geschalteten Stromquelle (Microschritt 2A/Phase- Halbschritt 4,5A/Phase). Dies hat gegenüber der Spannungsquelle einige Vorteile
1. Der Strom ist genau definiert und man betreibt die Stepper innerhalb der erlaubten Parameter. 2. Das Magnetfeld baut sich wesentlich schneller auf. 3. Das Anfangs- (Losbrech-) drehmoment ist wesentlich höher. Das Problem bei batteriebetriebenen Bot´s ist natürlich das die zur Verfügung stehende Spannung zu gering ist um die kurzen Stromanstiegszeiten zu realisieren. Ich habe mit nem DSO im Einschaltmoment über 90V an der Wicklung gemessen in einer e-funktion innerhalb von 1,5 ms auf 9 V fallend. Also müßte man auf nem Bot mit der Spannung rauf und eine Stromquelle vor den L29x die dann so ausgelegt sein sollte das man auf dem L29x nicht in die Sättigung des Silizium kommt. Das riecht immer so ekelig.

Gruß Hartmut

Manf
11.05.2004, 10:40
Das Prinzip der geschalteten Stromquelle wird zum Beispiel auch schon bei der 297 298 IC Kombination verfolgt. Wenn es aus Akkus kommt, versucht man natürlich die Spannung nicht ganz so hoch zu machen wie bei der Fräsmaschine. Es gibt aber Schrittmotoren, die z.B bei einem Strom von 1A und 5Ohm Spulenwiderstand mit 12-24 V betrieben werden. Hier wird auch per PWM die Spannung in einem Regelkreis so geschaltet, daß sich die Funktion einer Stromquelle von 1A mit Spannungsbegrenzung bei der Akkuspannung ergibt.

Soweit ist alles gleich. Es soll nun versucht werden, einfachere ICs, die die Schaltfunktion übernehemen können, aber von sich aus nicht mit der Stromregelung ausgestattet sind, um diese Funktion zu erweitern.
Das ist bisher so schwierig, daß man auch gleich die besseren ICs nehmen kann.
Ich habe ab und zu noch eine kleine Idee zu dem Thema, aber wenn ich es aufzeichne ist es immer komplizierter als die integrierte Lösung.

Manfred

Eines noch mit dem Strom beim Halbschritt, ist der ist doch nicht pro Phase größer als beim Vollschritt oder? (habe ich falsch gelesen, Mikroschritt waren ja 2A)

Frank
24.06.2004, 16:12
Möchte diesen Thread mal wieder reaktivieren. Es wurde gesagt das man eventuell ein RC-Glied (Tiefpass) einsetzen sollte um den PWM-Motorstromüber einen Widerstand, am analogen Port zu messen. Damit sollten wohl Schwingungen verhindert werden.

Kann jemand etwas näheres zu diesen Grundlagen sagen. Wie dimensioniert man am sinnvollsten dieses RS-Glied?
Und ist es wirklich notwendig ein RC-Gleid einzusetzen wenn man versucht während der High-Phase des PWM-Signals zu messen.

Gruß frank

stupsi
22.07.2004, 16:57
Für meinen Motortreiber nutze ich einen Shunt von 5mOhm; bei einem Strom von 25A habe ich dadurch eine Verlustleistung von über 3 W; also eine höhere Verlustleistung als dier der Schalttransistoren.

Man kann auch den Bahnwiderstand eines MOSFETs als Shunt nutzen, wenn man einen leichten Temperaturfehler zuläßt. Wenn der MOSFET leitet, wird über einen zweiten, kleinen Mosfet der Spannungsabfall am Bahnwiderstand durchgereicht zu einem hochohmigen Bürdewiderstand, dessen Spannung wie üblich ausgewertet werden kann.

Hat jemand schon Erfahrung mit dieser Art der Stromerfassung?

Man sollte den kleinen Mosfet geringfügig später einschalten und früher ausschalten, um Schaltspitzen zu vermeiden, die das Meßergebnis stören.

Weis jemand, wie das am sinvollsten machbar ist?


Gruß Stupsi

Ach ja, Hier die Schaltung:

coolchip
07.10.2004, 15:35
@stupsi
Meine H-Brücke funktioniert nun. Jetzt möchte ich mich mal mit der Strommessung beschäftigen. Ich habe mir mal deine Sache mit dem Bahnwiderstand angeschaut und die Sache gefällt mir sehr gut!
Habe das auch gleich mal getestet. Allerdings ist bei dem Versuch erstmal der R13 (100 Ohm) extrem heiß geworden und dann ist der Transistor (T5) abgeraucht. :-s
Ok, man muss dazu sagen, ich habe nicht den BS170 sondern den BS108 genommen. Vielleicht lag es daran.

Ok, jetzt aber mal zum Verständnis. Wie läuft das mit dem Bahnwiderstand? Wenn ich mir die Schaltung anschaue würde ich sagen, dass beim Schalten von T4 auch T5 durchgeschaltet wird und dann liegen an dem R13 fast 12 Volt an. Und das heißt ein Strom von ca. 120mA. Das müsste der Transistor eingentlich mit machen. Aber dem Widerstand (R13) wirds da schon ganz schön warm. Das habe ich auch gefühlt (Aua).

Ist da jetzt was in deiner Schaltung falsch oder habe ich da was falsch verstanden? Wäre echt nett, wenn du mir weiterhelfen könntest.

Manf
07.10.2004, 15:48
beim Schalten von T4 auch T5 durchgeschaltet und dann liegen an dem R13 fast 12 Volt an
Wenn T4 durchschaltet, dann liegen die 12V nicht mehr an. Nur noch der Spannungsabfall am durchgeschalteten Kanal.

R14 C6 mitteln den gesamten Spannungsverlauf. Damit ist der Wert von der relativen Einschaltdauer abhängig. Die Verkürzung der Einschaltzeit zur Vermeidung von Schaltspitzen geht damit in den Meßwert ein. Mit einem Abtastschalter ohne Last in Reihe mit R14 könnte man den Augenblickswert des Stromes in der Einschaltphase abtasten und den Wert auf dem Kondensator halten.
Ich hätte angenommen, daß man es so macht, aber gemacht habe ich es noch nicht (in diesem Schaltungstyp).
Manfred

coolchip
07.10.2004, 16:43
@Manf
Vielen Dank! Hast mir mal wieder sehr geholfen. Jetzt verstehe ich wenigstens wie das mit dem Bahnwiderstand und dem Durchreichen der Spannung gemeint ist!
Jetzt ist mir auch klar, warum das mit den 100 Ohm eigentlich gehen müsste. Ich habe also wohl einen Fehler in der Schaltung gemacht. Muss ich mal suchen...

sonic
07.10.2004, 17:31
Wie ist das eigentlich wenn man den Bahnwiderstand nutzen will? Muss man den FET vorher ausmessen um den exakten Strom zu messen? Bzw. wie weit verfälscht die Temperatur das Ergebnis? Spielt das eine Rolle?

Hartmuts Methode induktiv zu Messen ist aber auch nicht schlecht, gefällt mir bis jetzt am besten, ist aber auch aufwändig ;-(. Im Prinzip könnte man ja auch ein paar Windungen Draht um die Zuleitung wickeln. Dann wäre der komplette Stromverbrauch erfasst.

Einen großen Nachteil hat das aber, die Stromregelung wäre dann aber NUR im PWM-Betrieb zu gebrauchen. Bei konstanten Strömen bräuchte man wieder einen Hall-Sensor...

Gruß, Sonic

14.11.2004, 10:14
Hallo
ich hab momentan ein ähnliches Problem. Habt ihr inzwischen eine Lösung?
In meinem ersten Ansatz dachte ich man könnte den Strom normal über einen Shunt messen und dann erstmal 2,5V (in meinem Fall) dazuaddieren. Mein ADC 5V als Referenz.
Was haltet ihr davon? Taugt nix?

Mark

wfischer
14.11.2004, 17:56
Ein völlig anderer Ansatz: Es geht ja um die Strommessung eines Motors. Wenn man die Eingangsspannung des Motors und die Drehzahl kennt, kann man den Strom mithilfe der Daten des Motors (Innenwiderstand, Lehrlaufdrehzahl pro Volt, Lehrlaufstrom) berechnen. Die Eingangsspannung kann man eventuell aus den vom µC gesendeten Steuerbefehlen bestimmen. Die Drehzahl kann über eine IR-Lichtschranke bestimmt werden.
Durch die Drehzahlmessung kann man auch genauer navigieren, da man die genaue zurückgelegte Strecke beider Räder kennt.

stegr
14.11.2004, 19:23
Was ich in meinem ATX-Netzteil-Tester verwende (dort sind die Ströme viel höher als bei so nem kleinen Motörchen, aber prinzipiell geht es genauso) ist, dass ich die Verlustspannung zwischen einem Mosfet von meinem Treiber messe, also die Spannung zwischen Source und Drain bei einem durchgeschalteten Mosfet. Ich muss zwar einmal ne Kennlinie aufnehmen, aber dann geht das sehr genau. Nur mit der Temperatur muss man etwas aufpassen.
Das ganze hat den Vorteil, dass ich keinen extra Shunt brauche, an dem wiederum extra Leitung verloren geht, sondern ich den Strom direkt an einem "Shunt" abgreifen kann, der sowieso da ist.

Wenn du noch Fragen zu hast, kann ich es gerne genauer erläutern...

MfG
Stefan

EDIT: Uups... überlesen, dass es oben schon einer gepostet hat... ;) :-b