ACS714 richtig einstellen

Hallo zusammen,

ich möchte für die Strommessung bis 3A den ACS714 nutzen und habe im Moment noch das Problem, dass der Sensor in der Stromerfassung extrem streut! Ich habe bereits einen Softwarefilter eingebaut, welcher den Mittelwert aus 50 Messungen zurück gibt, doch das gefällt mir einfach noch nicht.

void Messwert_Lesen(){
  float mittelwert = 0;
  for(int i = 0; i < MessAnzahl; i++) {
    mittelwert = mittelwert + (.02647 * analogRead(A0) -13.51) /MessAnzahl;
  }
  if (mittelwert < 0) {
    mittelwert = 0;
  }
  buffer[bufferPos][0] = bufferPos + 1;
  buffer[bufferPos][1] = mittelwert * 1000;

  bufferPos++;
  bufferCount++;
  //Abbrechen wenn 10 Werte vorhanden sind
  if (bufferCount == MesswertAnzahl){
    _S = false;
    bufferCount = 0;
  }
}

Das Ergebis aus 1000 Messungen schaut wiefolgt aus

Hierbei läuft der Sensor ohne Last! Also Ruhemodus :frowning:

Hat jemand eine Idee wodran das liegt und wie ich die Messgenauigkeit verfeinern kann?

Hallo,

wie lang ist die Zuleitung zum Arduino?

Es könnte möglich sein, dass Du Dir hier Störungen einfängst!

Du Könntes mal versuchsweise Deinen analogen Eingang niederohmiger machen, in dem Du einen Widerstand von zwischen 47 Kiloohm und 100 Kiloohm gegen Masse schaltest, am besten direkt am analogen Eingang.

Wenn Du eine längere Zuleitung zum Arduino benötigst, solltest Du für die Signalleitung ein abgeschirmtes Kabel nehmen, Abschirmung einseitig an Masse.

Gruß

Martin

Hmmmm

Danke für die Antwort! Hab ich so gemacht ... scheint mir auch logisch zu sein mit dem Widerstand und hab mal einen 100k an die Masse gepackt ... nun hab ich zwei von den Stromsensoren gecrashed :drooling_face: :drooling_face: :drooling_face:

OK lebt aus welchem Grund auch immer wieder :slight_smile:
Kein Scherz! Der hat gerade nichts mehr gemacht! Bin mit dem Magneten nochmal dran gegangen und nun tut er es wieder :slight_smile:

Aber der Widerstand lässt mir den Analogeingang auf permanent 0!

Bist du sicher daß es ein 100k Ohm Widerstand ( braun schwarz orange gold) war?

Wie kommst Du auf die Idee mit einem Magneten? Hast Du während der Messungen auch mit einem Magneten in der Nähe des ACS714 herumgespielt? Das verfälscht wirkungsvoll die Messung auch wenn der Magnet in einiger Entfernung war.
War der ACS714 stationär an einem Ort oder wurde er während der Messung bewegt/gedreht? Mißt Du gleichstrom? Waren während der Messung Motore in der Nähe eingeschaltet ( wegen Magnetfelder)?

Im Datenblatt konnte ich keine Information bezüglich des Einflusses eines äußeren Magnetfelds finden. Da aber 1 A ein Magnetfeld von 1,2 mT im Hallelement produziert ist ein Dauermagnet eine Störquelle.

Grüße Uwe

Hallo Uwe,

bin mir 100% sicher, hab den vorher noch mit dem Messgerät überprüft! Auf solche Ideen kommt man, wenn man beim zweiten Versuch das Gefühl bekommt den zweiten Sensor geschrottet zu haben :slight_smile: Ich weiß, dass es sich hierbei um einen Hallsensor handelt und dann wollte ich einfach mal versuchen wie er auf den Magneten reagiert. Die Ausschläge konnte ich sofort sehen und danach hat er wieder funktioniert.

Der Sensor ist auf einem Holzbrett aufgeschaubt und wird nicht bewegt. Ich messe Gleichstrom in einer Höhe von max 2A. Ich habe damit vor einen Strom eines Motors beim Takt zu messen, aber ich habe Versuchsweise den Motor abgeschaltet und an dem Sensor nichts angeschlossen gehabt. Das Bild im ersten Post zeigt den unbelasteten Fall!

Ich bin schon am überlegen ob ich dafür nicht besseren einen Messshunt einsetze. Aber da muss ich mich noch mehr einlesen.

Könnte es vielleicht auch mit der häufigkeit der Abfrage zu tun haben? Ich habe da kein Delay drin und messe quasi im Millisekunden-Bereich. Kommt der Sensor vielleicht nicht mit?!

äh.

Die Meßfrequenz müßte keinen Einfluß auf die Meßergebnisse haben. Probehalber könntest Du eine Operationsverstärker als Spannungsfolger dazwischenschalten.

Wie weit ist der Motor vom ACS714 entfernt?

Grüße Uwe

Im normalen Testbetrieb wird dieser nur ca 15cm entfernt sein. Für Testzwecke kann ich den natürlich weiter weg stellen.

Teste mal weiter entfernt.

Grüße Uwe

Das kann ich selbstverständlich tun, nur warum bekomme ich schon bei nicht angeschlossenem Motor solch ein Messergebnis? Da ist weder Motor dran noch in der Nähe davon!

VCC -> Ardino 5V
GND -> Ardino GND
OUT -> Ardiono Analog0

Am ACS ist nichts weiteres angeschlossen!

äh, hoffst Du auf eine Antwort?

Du hast recht, ohne Motor müßtest Du keine Probleme haben.

Hast Du eine sehr unstabile 5V Versorgung des Arduino? miß mal die 5V mit dem Multimeter im AC-Range. Hast Du da einige 10mV oder fast Volt?

Versuch mal die interne 1,1V Analog Referenz zu nehmen und den Ausgang des ACS714 mittels eines Spannungsteilers auf 0,6V zu bringen.

Grüße Uwe