Messung der Stromaufnahme 9V Encodermotor

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
widnn
Beiträge: 5
Registriert: 18 Mär 2024, 11:35

Messung der Stromaufnahme 9V Encodermotor

Beitrag von widnn » 18 Mär 2024, 11:42

Guten Tag zusammen,

Ich betreibe einen FT TXT Controller, der ein Förderband mit 9V Encodermotor versorgt. Nun möchte ich die Stromaufnahme mithilfe eines INA219 Stromsensors erfassen um daraus Rückschlüsse aus dem Betrieb zu ziehen. Tatsächlich ist es aber so, dass die Ergebnisse kaum verwertbar sind und sich daraus die Frage ergibt, ob der INA219 für die Messung an diesem Motor geeignet ist.

Danke und Beste Grüße

widnn

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von juh » 18 Mär 2024, 12:24

Hallo widnn,

doch, der Chip sollte geeignet sein, ich habe damit schon Ähnliches gemacht. Welches Modul benutzt du? Adafruit oder Fernost? Klappt die I2C-Kommunikation grundsätzlich? Pullups nicht vergessen? Dann zeig doch mal deinen Aufbau, Programm und was für Werte du bekommst.

vg
Jan

widnn
Beiträge: 5
Registriert: 18 Mär 2024, 11:35

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von widnn » 18 Mär 2024, 13:00

juh hat geschrieben:
18 Mär 2024, 12:24
Hallo widnn,

doch, der Chip sollte geeignet sein, ich habe damit schon Ähnliches gemacht. Welches Modul benutzt du? Adafruit oder Fernost? Klappt die I2C-Kommunikation grundsätzlich? Pullups nicht vergessen? Dann zeig doch mal deinen Aufbau, Programm und was für Werte du bekommst.

vg
Jan
Hallo Jan,

Das Modul ist aus Fernost. Sind die Module von Adafruit hochwertiger? Die I2C Kommunikation funktioniert grundsätzlich und ich finde das Modul über I2C Scanner. Sind Pullups hier nötig?
Gerade habe ich kein Bild zur Hand kann es aber schematisch beschreiben. Über VIN+ laufen 9V Versorgungsspannung des Controller und über VIN- ist der Motor an VCC angeschlossen. Die Masse am Controller teilen sich der INA219 und der Encodermotor. Als Bibliothek verwende ich die aus dem Beitrag dort unten. VCC, GND, SCL und SDA liegen am Arduino an. Mit den entsprechenden Beispielen in der unten verlinkten Bibliothek erhalte ich Werte von 1500mA und nicht die angegebenen ca. 380mA.

Danke und Beste Grüße

widnn

https://wolles-elektronikkiste.de/ina219

vleeuwen
Beiträge: 1565
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von vleeuwen » 18 Mär 2024, 13:33

Be aware that the TXT I2C (SDA, SCL) is 3.3V and it is not 5V tolerant.
There is no 3.3V power available at the extension connector.
So you need to use a 9V to 3.3V regulator/converter/step down when you are using the TXT power supply for the INA219.
The I2C interface of the TXT has been based on the SLI.
see: https://github.com/fischertechnik/txt_demo_ROBOPro_SLI
The SLI needs "a stay alive" (dummy call) in case it is not used for more then 4 sec.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von juh » 18 Mär 2024, 15:55

@vleeuwen I think the user uses an Arduino for I2C.

@widnn Adafruit ist in jedem Fall besser dokumentiert, im Zweifel besser designt und es wert, unterstützt zu werden, wegen ihrer Open Source und Hardware Arbeit für die community. Was nicht heißt, dass man nicht mit den Fernost Modulen arbeiten kann, auch wenn das manchmal Wundertüten sind und die Qualitässicherung niedriger gehängt wird.

Aus deinem Text zumindest kann ich keinen Fehler ersehen, das muss aber nichts heißen. Pullups braucht es immer, die Module die da bei wolle abgebildet sind, haben aber beide welche drauf, wie es aussieht.

Ist der Motor ohne Last? Hast du mal andere Verbraucher drangehängt, ob die auch falsche Werte liefern, z.B. andere ft-Motoren oder Lämpchen? Mal eine andere Library probiert?

Ach ja, vor allem mal probieren, den Motor direkt an die Stromquelle zu hängen. Ich verstehe dich zumindest so, dass er jetzt vom Controller-Ausgang gespeist wird, und ich nehme an das ist PWM-Ausgang, was die Probleme erklären könnte: https://forums.adafruit.com/viewtopic.php?t=88295

vg
Jan

widnn
Beiträge: 5
Registriert: 18 Mär 2024, 11:35

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von widnn » 18 Mär 2024, 18:08

juh hat geschrieben:
18 Mär 2024, 15:55
@vleeuwen I think the user uses an Arduino for I2C.

@widnn Adafruit ist in jedem Fall besser dokumentiert, im Zweifel besser designt und es wert, unterstützt zu werden, wegen ihrer Open Source und Hardware Arbeit für die community. Was nicht heißt, dass man nicht mit den Fernost Modulen arbeiten kann, auch wenn das manchmal Wundertüten sind und die Qualitässicherung niedriger gehängt wird.

Aus deinem Text zumindest kann ich keinen Fehler ersehen, das muss aber nichts heißen. Pullups braucht es immer, die Module die da bei wolle abgebildet sind, haben aber beide welche drauf, wie es aussieht.

Ist der Motor ohne Last? Hast du mal andere Verbraucher drangehängt, ob die auch falsche Werte liefern, z.B. andere ft-Motoren oder Lämpchen? Mal eine andere Library probiert?

Ach ja, vor allem mal probieren, den Motor direkt an die Stromquelle zu hängen. Ich verstehe dich zumindest so, dass er jetzt vom Controller-Ausgang gespeist wird, und ich nehme an das ist PWM-Ausgang, was die Probleme erklären könnte: https://forums.adafruit.com/viewtopic.php?t=88295

vg
Jan
jetzt erklärt sich das Thema rund um die Pullups und ja die sind auf den Modulen drauf.

Der Motor ist ohne Last und andere Verbraucher habe ich schon drangehängt, welche dann auch eher plausible Werte liefern. Verschiedene andere Libraries habe ich schon versucht und hatte damit auch bezüglich des Motors keinen Erfolg. Mit einem Multimeter lassen sich plausible Werte ermitteln.

Den Gedanken zum Thema PWM hatte ich auch schon und kenne den verlinkten Beitrag, aber hätte mir gewünscht, dass es mit einem I2C Stromsensor funktioniert. Habe hierzu auch mit den Parametern in den Libraries experimentiert, in der Hoffnung, dass sich doch noch vernünftige Werte ermitteln lassen, da ich vermutet habe, dass sich über die Mittelwertbildung innerhalb der in den Libraries vorhandenen Funktionen, doch noch gute Werte messen lassen. Zudem habe ich die Vermutung, dass die analogen Alternativen a la ACS712, die ich hierfür gefunden habe, nicht den passenden Messbereich haben.

Danke für die Hilfe!

widnn

Benutzeravatar
fishfriend
Beiträge: 1821
Registriert: 26 Nov 2010, 11:45

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von fishfriend » 19 Mär 2024, 19:18

Hallo...
Es kann ja sein, dass ich es falsch verstanden habe, oder überlesen habe.
Ich kann das Problem nicht ganz nachvollziehen.
Wenn der Encodermotor eine größere Last hat, dreht er doch langsamer und man könnte die Anzahl der Umdrehungen messen.
Kannst du die Anwenung mal genauer beschreiben?
Mit freundlichen Grüße
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

widnn
Beiträge: 5
Registriert: 18 Mär 2024, 11:35

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von widnn » 20 Mär 2024, 09:06

fishfriend hat geschrieben:
19 Mär 2024, 19:18
Hallo...
Es kann ja sein, dass ich es falsch verstanden habe, oder überlesen habe.
Ich kann das Problem nicht ganz nachvollziehen.
Wenn der Encodermotor eine größere Last hat, dreht er doch langsamer und man könnte die Anzahl der Umdrehungen messen.
Kannst du die Anwenung mal genauer beschreiben?
Mit freundlichen Grüße
Holger
Hallo Holger,

die Encoderdaten nutze ich schon, aber ich hätte gerne parallel zu den Encoderdaten auch noch die Stromaufnahme des Motors.
Schlußendlich geht es darum über die Encoderdaten und die Stromaufnahme den Zustand des Motors wie bspw. die Last zuverlässig zu loggen.

Beste Grüße

widnn

Benutzeravatar
fishfriend
Beiträge: 1821
Registriert: 26 Nov 2010, 11:45

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von fishfriend » 20 Mär 2024, 21:58

Hallo...
Sagen wirs mal so, du hast einen Motor, der fest über ein Getriebe an einem Band oder was auch immer verbunden ist.
Das "Loggen" sind die Impulse vom Encoder - also die Istposition.
Selbst wenn es z.B. bergauf geht und das Band durch das Gewicht zurück laufen sollte (ohne selbsthemmendes Getriebe), werden Impulse erzeugt die man zählen kann.
Bei schwerer Lasten, dreht der Motor langsamer und pro Zeiteinheit, kommen weniger Impulse an.

Ich gebe zu ich kann mit "Zustand des Motors" nichts anfangen. Wenn der Überlast hat, bleibt er stehen und es kommen keine Impulse.
Was für ein Modell soll es sein/werden? Was ist das Ziel?
Ich denke mit den Infoss kamm man dir besser helfen.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

FiTe Klapauzius
Beiträge: 34
Registriert: 02 Apr 2021, 21:40
Wohnort: München

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von FiTe Klapauzius » 24 Mär 2024, 09:26

Hallo widnn,

ich habe mich auch schonmal mit dieser Frage beschäftigt und kann Dir das Ergebnis meiner Recherche teilen. Vorneweg: Ich bin kein Elektrotechniker und ausprobiert habe ich es bisher nur teilweise:
Du brauchst entweder einen Shunt-Widerstand (niedrig-ohmiger Widerstand) oder einen Hall-Sensor (Mißt das Magnetfeld um einen Stromleiter). Der Spannungsabfall über den Shunt bzw. das Ausgangssignal aus dem Hall-Sensor ist proportional zur Stromaufnahme. Leider gibt es nun ein paar weitere Probleme: Das Signal ist schwach und verrauscht. Schwach ist es weil am Shunt ja möglichst wenig Leistung abfallen soll bzw. weil die Hall-Sensoren meist für höhere Ströme ausgelegt sind. Verrauscht ist es, weil es im Motor durch die Bürstenkontakte immer wieder zu kleinen Spannungspitzen kommt und zusätzlich können noch Störungen durch die pwm-Regelungen entstehen.
Um das Signal sinnvoll auswerten zu können (z.B. mit einem Arduino), musst du es verstärken (auf den Bereich 0-5V) und filtern (d.h. glätten).
Für die Verstärkung bietet sich ein Operationsverstärker (kleines Bauteil, kann man kaufen) und für das Filter ein sogenannter Tiefpass (gebaut aus Widerstand und Kondensator - da gibts viel Erklärungen dazu) an.
Ich würde mich freuen, wenn Du an dem Thema dran bleibst und deine Erkenntnisse teilst. Ich hatte mir einen Hall-Sensor besorgt und damit etwas rumprobiert. Als es dann aber ans filtern und verstärken ging, fehlte mir - ehrlich gesagt - die Energie...

Viele Grüße
Burkhard

Benutzeravatar
fishfriend
Beiträge: 1821
Registriert: 26 Nov 2010, 11:45

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von fishfriend » 24 Mär 2024, 13:20

Hallo...
OK, ich kenne tatsächlich eine Anwendung, wo ein doch recht großer Motor über einen FU so angesteuert wird, dass er aus einer Rotation über eine Art Kubelwelle, einen Abschneider so hin und her bewegt, das die Schnitte immer gerade verlaufen. Der "Schlitten" wird also kurzzeitig mit dem Batzen aus der Presse gleich schnell laufen. Man verändert über die Frequenz und damit die Umdrehungsgeschwindigkeit mehrfach innerhalb einer Umdrehung. Hier wird aus Geschwindigkeitsgründen nicht berechnet, sondern mit Tabellen gearbeitet.

Ich könnte mir vorstellen, das es entweder um soetwas geht oder auch das Zählen von Bauteilen auf einem Band. Keine Ahnung.
Der Encodermotor hat ja auf der Welle einen Magneten. Man hätte ja auch die Möglichkeit noch mehrere Hall Sensoren an den Magneten zu machen.
Andererseits hat man ja dann noch das Getriebe vom Motor. Das heist, Rückwirkungen müssen auch durch das Getriebe.

Ich vermute aber, dass die Erfassung von Daten, das Auswerten und eine Reaktion z.B. Änderung einer PWM, so langsam ist, das es nicht funktionieren wird.
Ich lasse mich da aber auch gerne eines Besseren belehren.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

atzensepp
Beiträge: 660
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von atzensepp » 25 Mär 2024, 12:20

Hallo,

ich denke Antwort 1 von folgendem Post erklärt das Problem der Strommessung bei PWM-Signalen an Motoren und skizziert einige Lösungen:
https://electronics.stackexchange.com/q ... nt-sensing

Vielleicht hilft das weiter.

Grüße
Florian

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von juh » 25 Mär 2024, 14:19

atzensepp hat geschrieben:
25 Mär 2024, 12:20
Hallo,

ich denke Antwort 1 von folgendem Post erklärt das Problem der Strommessung bei PWM-Signalen an Motoren und skizziert einige Lösungen:
https://electronics.stackexchange.com/q ... nt-sensing
Hallo Florian,
hmm, im ersten Moment klingt das ja überzeugend, die Messung mit der Frequenz des PWM-Signals zu synchronisieren, um Noise zu vermeiden, wobei noch die Frage wäre, wie gut das beim INA-Chip über I2C geht. Aber nach meinem intuitiven Verständnis wird doch nicht der real verbrauchte Strom gemessen, wenn die Messung immer mit zusammen mit einem Steigen der PWM-Flanke ausgelöst wird, sondern der gleiche wie bei Direktantrieb ohne PWM. Ich lasse mich gerne eines besseren belehren, aber nach meinem Verständnis würden 10% und 100% PWM bei diesem Verfahren immer zum gleichen Ergebnis führen, vorausgesetzt die Messung dauert nicht länger als die PWM-Flanke.

@FiTE Ich habe mich mit dem INA219 nicht sehr lange befasst, aber ich denke was du beschreibst ist genau das dort verwendete Messprinzip per Shunt, d.h. das müsste da schon im Wesentlichen implementiert sein.

@Holger Naja, widnn will halt den Strom möglichst genau messen und loggen, hat er doch geschrieben. Und das wird v.a. bei wechselnden Lasten alleine mit Auswerten der Encoder-Impulse nicht möglich sein.

vg
Jan

jona2004
Beiträge: 149
Registriert: 10 Jun 2011, 22:30

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von jona2004 » 25 Mär 2024, 14:38

Hallo,
Da möchte ich auch noch ein paar Anmerkungen zu machen.
Im Prinzip sollte das mit dem INA219 gehen, und bei Motoren (induktive last) sollte die PWM-Frequenz sowieso so hoch sein, dass der Motorstrom recht konstant ist, sonst würde der Motor a auch ungleichmäßig laufen.
Der Shuntwiderstand muss natürlich in den Motorpfad gelegt werden, also z.B. M1-Ausgang - Shunt - Motor - M2 Ausgang. Die Schaltung mit shunt zur Masse wie in dem link von Florian gezeigt, funktioniert nicht. Hier fließt beim PWM schalten der Motorstrom nicht durch den Shunt sondern beim Aus/Einschalten z.T. über die Dioden im L298 nach Masse resp. Versorgung. Der Shuntwiderstand sollte in der Größenordnung von 0,1 .. 0.5Ohm liegen. der INA219 hat einen Bereich von 250mV mit 12 bit Auflösung und bei 1A Motorstrom => 0.25Ohm. Messrate ca. 500us (oder 2KHz) sind möglich. Leider habe ich kein Oszilloskop und auch kein Spice-Modell für die Motoren, sonst könnte ich genauere Angaben machen.
Grüße Joachim

Rei Vilo
Beiträge: 95
Registriert: 19 Dez 2015, 15:39

Re: Measurement of current consumption 9V encoder motor

Beitrag von Rei Vilo » 26 Mär 2024, 12:58

You can take inspiration from this smartMeter project based on the INA219.

Bild

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Measurement of current consumption 9V encoder motor

Beitrag von juh » 27 Mär 2024, 10:52

Rei Vilo hat geschrieben:
26 Mär 2024, 12:58
You can take inspiration from this smartMeter project based on the INA219.
Hi Rei, does it work reliably with PWM-driven currents? How is this different from the applications discussed above?

Jan

widnn
Beiträge: 5
Registriert: 18 Mär 2024, 11:35

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von widnn » 28 Mär 2024, 11:18

Vorerst mal vielen Dank für eure rege Anteilnahme an dem Ganzen. Ich werde mal den ein oder anderen Ansatz verfolgen und auch umsetzen und gerne berichten, inwiefern die Ergebnisse verwertbar sind bzw. wie sich dann eine funktionierende Lösung ergibt.

Rei Vilo
Beiträge: 95
Registriert: 19 Dez 2015, 15:39

Re: Messung der Stromaufnahme 9V Encodermotor

Beitrag von Rei Vilo » 21 Apr 2024, 13:47

I have only tested the smartMeter on DC.

However, the sampling rate of the INA219 is 500 kHz. You can refer to section 8.4.1 Filtering and Input Considerations of the data-sheet at https://www.ti.com/lit/ds/symlink/ina219.pdf

Antworten