12v Motor Stromstärke messen

Guten Abend, grüßt euch,
ich brauche bitte mal wieder eure Hilfe :slight_smile:

Ich habe einen 12V Motor und würde gerne über den Seriellen Monitor die Stromstärke messen, vorallem wenn ich den Motor "belaste". Wie veränder sich dann die Ampere-Zahl?

dazu habe ich einen Stromstärkesensor besorgt (ACS7121 20A) und folgenden Sketch eingefügt:

int Sensor = A0; // Der Stromstärkesensor wird am Pin A0 (Analog "0") angeschlossen.
int VpA = 100; // Millivolt pro Ampere (100 für 20A Modul und 66 für 30A Modul)
int sensorwert= 0;
int Nullpunkt = 2500; // Spannung in mV bei dem keine Stromstärke vorhanden ist
double SensorSpannung = 0;
double Ampere = 0;

void setup()
{ 
  Serial.begin(9600); // Serielle Verbindung starten, damit die Daten am Seriellen Monitor angezeigt werden.
}

void loop()
{
sensorwert = analogRead(Sensor);
SensorSpannung = (sensorwert / 1024.0) * 5000; // Hier wird der Messwert in den Spannungswert am Sensor umgewandelt.
Ampere = ((SensorSpannung - Nullpunkt) / VpA); // Im zweiten Schritt wird hier die Stromstärke berechnet.

// Ausgabe der Ergebnisse am Seriellen Monitor
Serial.print("Sensorwert = " ); // Ausgabe des reinen Sensorwertes
Serial.print(sensorwert); 
Serial.print("\t Sensorspannung in mV = "); // Zeigt die Sensorspannung an
Serial.print(SensorSpannung,3); // Die "3" hinter dem Komma erzeugt drei Nachkommastellen
Serial.print("\t Ampere = "); // shows the voltage measured 
Serial.println(Ampere,3); // Die "3" hinter dem Komma erzeugt drei Nachkommastellen
delay(1000); 

}

und den Motor habe ich wie folgt angeschlossen:
Motor PLUS an Netzteil PLUS und Stromstärkesensor Anschluss 1
Motor MINUS an Netzteil MINUS und Stromstärkesensor Anschluss 2

und dann halt noch den Stromstärkesensor an das Arduino mit GND, 5V und A0.

Leideer funktioniert es nicht. Meine Frage iat ob ich den Motor falsch angeschlossen habe oder das Sketch und der Stromstärkesensor generell falsch sind oder ob ihr sonstige Fehler erkennt.

Danke euch schon Vorab für eure Mühe.

Mach es mal so, wie in dieser Anleitung: Nr. 41 – Stromstärkesensor (ACS712)

Hi agmue,
Ja das schaubild habe ich auch schon gesehen.
Ich verstehe nur nicjt wo ich minus vom motor amschliesen soll...

Minus vom netzteil direkt an den sensor?
Dann idt doch nur plus vom motor verbunden oder?

Plus auf 1 von Sensor und minus auf 2 vom Sensor ist ein voller Kurzschluss. Hoffe den Netzteil ist kurzschlussfest. Der Strom soll über den Sensor zum Motor fließen!! ....nicht voll in den Sensor. Mit deiner Schaltung misst du den Kurzschlusstrom deines Netzteiles, und killst das Netzteil. Wenn das Netzteil mehr als 20 Amper bringt, grillst du den Sensor.

Der Plus muss über den Motor, zum Sensor, und weiter über den Sensor zum Minus laufen.

Oh man ok.
Ich hoffe ich habe es jetzt verstanden:
plus vom netzteil an plus und minus vom motor und sensor 1

Netzteil minus direkt an den sensor 2?

Ja, so ist es.

Super danke dir Franz.

Der Strom der Durch den Motor fließt muß ach durch den Sensor fließen. So wie Du den Sensor angeschlossen hattest floß der Strom des Motors am sensor vorbei; schlimmer noch das Netzteil (hoffe es hat eine Strombegrenzung) schickt den ganzen Strom durch den Sensor weil dieser einen viel niedrigeren Widerstand hat als der Motor. Der Motor steht still weil dem Sensor eine sehr geringe Spannung genügt um das Netzteil in Strombegrenzung zu schicken.

Grüße Uwe

Guten Abend Uwe und Franz,
danke für eure Hilfe. Ich konnte den Sensor erstmal anschließen und testen.
Jetzt wollte ich den Sensor in eine 12v Wechselschaltung integrieren. Mit dieser Wechselschaltung kann ich den Motor entweder links oder rechts rum laufen lassen.

Wie muss ich denn da den Sensor einbauen? Momentan ist PLUS vom Motor an 30 von Relais 1 und MINUS vom Motor an 30 von Relais 2.

ich hatte jetzt schon mehrere Sachen ausprobiert aber es klappt nicht.

ich habe immer versucht den Sensor irgendwie zwiswchen 30 und dem Motor zu platzieren.

ich danke euch vorab für eure Überlegungen.

verstehe mal nicht Deine Schaltung.
Zur Strommessung.
Es gibt 2 Möglichkeiten:

  • Du willst immer einen positven Strom messen egal in welche Richtung der Motor dreht. Dann schalte den Sensor zwischen Plus und Relais oder Minus und Relais.
  • Du willst auch die Richtung des Stroms messen:
    Schalte den Sensor zwischen Relais und Motor. Seite ist egal.
    Wenn der Sensor eine unerwünschte Stromrichtung anzeigt Die Kabel an den beiden Klemmen umtauschen.

Grüße Uwe

Hi Uwe, oh man jetzt habe ich es geschafft. Ich stand beim anschließen wieder aufm Schlauch...
Könntest du mir noch einen Tipp zum Sketch geben?
ich bekomme jetzt Ampere-Werte angeben. wie kann ich es machen, dass z.B. bei einem Ampere-Wert zwischen 1 und 2 das Wort blau angeben wird und bei einem Wert ziwschen 2,01 und 3 z.b. Rot.

Ich wollte es mit IF versuchen, aber es funktioniert nicht so recht.

int Sensor = A0; // Der Stromstärkesensor wird am Pin A0 (Analog "0") angeschlossen.
int VpA = 100; // Millivolt pro Ampere (100 für 20A Modul und 66 für 30A Modul)
int sensorwert= 0;
int Nullpunkt = 2500; // Spannung in mV bei dem keine Stromstärke vorhanden ist
double SensorSpannung = 0;
double Ampere = 0;

void setup()
{ 
Serial.begin(9600); // Serielle Verbindung starten, damit die Daten am Seriellen Monitor angezeigt werden.
}

void loop()
{
sensorwert = analogRead(Sensor);
SensorSpannung = (sensorwert / 1024.0) * 5000; // Hier wird der Messwert in den Spannungswert am Sensor umgewandelt.
Ampere = ((SensorSpannung - Nullpunkt) / VpA); // Im zweiten Schritt wird hier die Stromstärke berechnet.

// Ausgabe der Ergebnisse am Seriellen Monitor

Serial.print("\t Ampere = "); // shows the voltage measured 
Serial.println(Ampere,2); // Die "2" hinter dem Komma erzeugt drei Nachkommastellen


if ( Ampere >= 4 and <= 5 ) Serial.println ("\t blau");
delay(3000); 
}

danke dir für deine Hilfe

richtig:

if (Ampere >=4 and Ampere <= 5)

Es müssen immer die Vergleiche mit der Variablen gemacht werden. Eine doppelter Vergleich ohne Wiederholung der Variable funktioniert nicht.

Grüße Uwe

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.