Stromsensor ACS 712 Werte schwanken stark und zeigt teilweise 0 an

Hallo zusammen,

ich versuche den Strom eines Akkuschraubers mit einem ACS 712 (20A) zu messen. Es ist ein 18V Akkuschrauber mit Bürstenmotor. Als Spannungsquelle dient ein Labornetzteil.
Den Sensor habe ich kalibriert (einmal Ausgangsspannung gemessen wenn keine Last anliegt und einmal Ausgangsspannung bei konstanter Last vom Labornetzteil geregelt). So funktioniert auch alles ganz gut.

Nur schwankt der gemessene Strom des Akkuschraubers stark hin und her. Liegt es daran, dass es sich um einen Motor handelt und nicht um einen einfachen Widerstand? Wenn ja, wie kann ich den Strom eines Motors denn vernünftig messen?

Hier einmal meine gemessenen Werte, einmal fällt der Strom sogar auf 0 ab, was ich mir auch so nicht erklären kann.

Viele Grüße

Hallo,

Du könntest eine Kondensator paralell zum Anlogeingang schalten. Hardwarelösung

Du könntest eine gleitenden Mittelwert berechnen Software

Heinz

Die Schwankungen stammen tatsächlich vom Motor, bei dem die Bürsten beim Drehen ständig andere Spulenwicklungen einschalten. Die Bürsten können prellen und so kurzzeitig den Kontakt verlieren, bei den Übergängen zwischen den Wicklungen kann kurzzeitig auch garkein Strom fließen. Wenn der Sensor so empfindlich ist, könnte man daraus möglicherweise sogar die Drehzahl ermitteln - das aber besser mit einem Digitaleingang.

Zur Abhilfe kann man ein Filter zwischen Sensor und ADC schalten, entweder einen RC Tiefpass oder eine Diode plus Kondensator für die Spitzenwerte. Solche Filter kann man auch in Software nachbauen. Ein Kondesnator zur Stabilisierung der Stromversorgung am Sensor könnte auch helfen, lange Kabel sind beim Messen immer beliebte Störquellen.

Danke für die schnellen Antworten.

Die Kabellänge habe ich schon versucht so kurz wie möglich zu halten, und auch den Sensor weg von anderen Kabeln zu verbauen.

Den gleitenden Mittelwert habe ich auch test weise mal gebildet, schön ist es dann allerdings nicht, bzw. ich muss über ganz schön viele Werte einen Mittelwert bilden um einigermaßen auf eine Gerade zu kommen. (Die es in dem Diagramm eigentlich sein sollte bei konstanter Last/Drehzahl).

Das die Bürsten tatsächlich vollständig den Kontakt verlieren können war mir so nicht Bewusst, aber das könnte gut möglich eine Erklärung sein.

Die Idee mit einem Filter zu arbeiten klingt eigentlich nicht schlecht. Hier müsste ich mich dann nochmal ein wenig einlesen was ich da genau brauche. Was ist ein ADC? Ist damit ein Analog/Digital Wandler gemeint?

Viele Grüße

Ja, ADC = Analog Digital Converter. (sitzt z.B. hinter dem Analogeingang im Arduino)

LG Stefan

Deine Daten zeigen eine sehr breite Linie, da muß schon ordentlich gefiltert werden. Wenn Du den Motor am Labornetzteil mit Stromanzeige betreibst, liegt der Filter schon im Netzteil.

ADC = A/D Converter (Wandler), siehe Datenblatt

Hi

Sicher, daß hier nicht eine PWM-Steuerung die Motordrehzahl je nach Knopfdrücktiefe steuert und wir deshalb stark schwankende Moment-Aufnahmen haben?
Darin käme (sogar recht oft) eben auch 0 vor, wie auch 'Maximum Warp'.

MfG

Bei einem Bürsten-Gleichstrommotor sollten die Bürsten nie den Kontakt zum Kollektor verlieren, weil dies zu einen Abbrand der Bürsten führt bzw im schlimmsten Fall zum Rundfeuer.

Der Strom während der Bewegung über dem einzellnen Segment des Kollektor ist nicht konstant bzw Ein Funken stöhrt erheblich den Sensor.

Grüße Uwe

Hallo,

ich hab mal was in meiner Wühlkiste gesucht und das ein bischen erweitert. Du hast ja geschrieben das Du schon mal mit gleitendem Mittelwert versucht hast. Dennoch denke ich da hast Du was falsch gemacht. Ich hab sowas fast 40 Jahre beruflich eingestezt hat immer geklappt. Natürlich benötigt man zum "Filtern" ,"Glätten", oder wie auch immer du es nennen willst,Zeit. Das ist für Hardware und Software Lösungen gleich. Insofern ist es immer besser erst mal nach der Ursache zu suchen.

In dem Sketch weden zufällige Messwerte erzeugt die in etwa den Deinen ähneln. Mit einer Mittelwert Funktion werden die dann gebügelt. Beides lässt sich im Seriellen Plotter anschaulich darstellen. Bei dem Parameter Faktor handelt es ich um einen Faktor für die Dämpfung. 50 mittelt also über 50 Messwerte, das ist schon ziemlich viel entsprechend lang dauert es bei einer realen Änderung.

Heinz

/*
 * Beispiel zum gleitenden Mittelwert
 * Hardware UNO
 */

uint32_t altzeit, altzeit2;
float puffer; // puffer für G-Mittelwert
float messwert; 
float g_messwert;// Messwert nach Mittelwert

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  
  if (millis() - altzeit > 10) {
    altzeit = millis();
    float rausch = random(300) / 100.0;
    messwert = 2.5 + rausch;
 //  0 werte erzeugen
    if (millis() - altzeit2 > 1000) {
      altzeit2 = millis();
      messwert = 0;
    }
// Gleitender Mittelwert bilden
    g_messwert = mittelwert(messwert, puffer, 50);
    
   // Anzeige 
    Serial.print(messwert); Serial.print("\t");
    Serial.print(g_messwert);
    Serial.println();
  }
}

// Berechnung gleitender Mttelwert--------------
float mittelwert( float Rohwert, float &buff, float faktor)
{
  float mi ;
  buff = buff - buff / faktor;
  buff = buff + Rohwert;
  mi = buff / faktor;

  return mi;

}

Ich denke auch, dass die Elektronik in der Maschiene den Motor mit PWM steuert. Das würde diese hohen Schwankungen und Nulldurchgänge erklären. Die Strom-Messungen haben ja einen gewissen Tackt. wenn eine Messung gerade im PWM Nulldurchgang gemacht wird, dann ist eben auch Null Strom. Um das zu klären würde ich mal den Schrauber öffnen den Motor abklemmen und mit nem Oszi schauen was für eine Spannung da dem Motor zugeführt wird.

Wenn sich dann herrausstellt dass es PWM ist, dann nur immer die höchsten Strommessungen für die Durchschnitts Wertermittlung nutzen.

Franz

Mit PWM soll ja irgendwas erreicht werden, z.B. eine bestimmte Drehzahl. Wozu ist dann noch der Stromverbrauch von Interesse, wenn die Regelung ständig am Nachregeln ist und keinen halbwegs konstanten Strom fließen läßt?

Den Maximalwert als Maß für den Stromverbrauch hatte ich ja auch schon vorgeschlagen, der ist zumindest bei dem gezeigten Signal recht konstant.

Hi

Bei einem Akku-Schrauber würde ich keine REGELUNG erwarten, eher einen PWM-Steller.
Die Regelung kommt per Bediener völlig zum Nullkostenpreis selbstständig zum Akku-Schrauber gelaufen - billiger bekommt der Hersteller so was dort auch nicht rein.

MfG

Moin,

so viele gute Antworten hätte ich gar nicht erwartet.

Ich werde den Akkuschrauber Montag mal zerlegen und schauen ob irgend eine Art von Regelung verbaut ist oder er zumindest über PWM die Drehzahl regelt.

Viele Grüße

Cergtan

Ich habe heute mal den Akkuschrauber auseinander gebaut.
Die Anschlusskabel vom Akku laufen direkt zum Power Switch welcher vom Typ mod jv08-1b ist. Ob der jetzt die Drehzahl über PWM steuert kann ich so nicht sagen, vielleicht kennt sich da einer aus?

Ich habe dann versucht den Schalter einfach zu umgehen und die Kabel vom Netzteil direkt mit dem Motor zu verbinden, allerdings hat dieser sich nicht gedreht. Ich habe ihn dann auch vom Getriebe gelöst damit die Last beim anlaufen nicht so groß ist.

Ich bin kurzzeitig auf 18V und 10A laut Netzteil rauf gegangen und der Motor hat immer noch nicht gedreht. Kaputt scheint nichts zu sein, hinterher habe ich alles wieder zusammengebaut und das Netzteil zum Test nochmal Akku-seitig angeschlossen - und alles läuft. Natürlich hatte ich gerade kein Multimeter zur Hand um zu gucken was aus dem Taster raus kommt und zum Motor geht.

Also kann mir jemand sagen was genau der "Taster" macht, also wie er die Drehzahl steuert, und warum der Motor nicht dreht wenn ich direkt eine Spannung anlege?

Viele Grüße

Cergtan

Gute Frage, hab sowas noch nie gesehen. Vielleicht mal ein Oszi dranhalten.

Ist sicher ein PWM-Regler; anders könnte ein so kleines Teil nicht genügend Leistung verbraten um den Motor als Vorwiderstand /Spannungsteiler zu dienen.

Grüße Uwe

Hi

Sofern sich mit dem Knopf die Drehzahl beeinflussen lässt - also nicht nur 0 und Vollgas, sondern auch Zwischenwerte.
Dann ist Da 'irgend etwas' drin - Was PWM erzeugen wird.
Wenn nicht (also nur 0 und Vollgas), dann ist Da einfach nur ein Schalter und Deine 0-Messungen stammen von den Störungen der Bürsten.

MfG

Ohne Oszi kannst du das nicht überprüfen.

Aber ja, das kann eigentlich nur ein PWM Regler sein. Somit ist der Strom immer voller Strom, weil der Motor immer volle Spannung bekommt. Allerdings nicht dauernd, sondern in Form von Impulsen (PWM). Diese Impulse siehts du an deinem Diagramm der Strommessung. Je nach dem, zu welchen Zeitpunkt die Strommessung stattfindet, hast du eben dann auch vollen Strom (was ja auf deinem Diagramm meist der Fall ist), oder eben gerade ein Nulldurchgang, oder ein Zeitpunkt wo der Strom beim Impuls gerade erst aufgebaut oder wieder abgebaut wird. Jedenfalls wenn du einen Durchschnitt aus den Strom-Spitzenwerten nimmst, dann hast du den Strom der tatsächlich benötigt wird.

Franz