PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NodeMCU Stromsensor an Analogeingang liefert unklare Werte



spunky9003
04.05.2018, 14:31
ich habe am Analogeingang A0 einen 5A Stromsensor angeschlossen (ACS712, https://www.ebay.de/itm/112330920600), ich will einen Motor überwachen (230V, 400W), bei Motor "AUS" werden mir Werte um die 700 angezeigt, bei Motor "EIN" Werte von 600 bis 800, damit kann man leider nichts anfangen.

Ein Poti zwischen VC und GND an A0 wird korrekt angezeigt, Werte im Bereich von 0 bis 1023.

Ist ein NodeMCU überhaupt in der Lage Daten eines ACS712 vernünftig zu verarbeiten? Wer hat schon mal einen ACS712 verbaut, bei wem funktioniert es?

Ist ein anderer Sensor vielleicht besser geeignet? https://www.ebay.de/itm/232479962080 Warum hat der zwei Ausgänge?

...oder sowas: https://www.ebay.de/itm/232548663694

MfG.

HaWe
04.05.2018, 16:16
ich habe am Analogeingang A0 einen 5A Stromsensor angeschlossen (ACS712, https://www.ebay.de/itm/112330920600), ich will einen Motor überwachen (230V, 400W), bei Motor "AUS" werden mir Werte um die 700 angezeigt, bei Motor "EIN" Werte von 600 bis 800, damit kann man leider nichts anfangen.

Ein Poti zwischen VC und GND an A0 wird korrekt angezeigt, Werte im Bereich von 0 bis 1023.

Ist ein NodeMCU überhaupt in der Lage Daten eines ACS712 vernünftig zu verarbeiten? Wer hat schon mal einen ACS712 verbaut, bei wem funktioniert es?

Ist ein anderer Sensor vielleicht besser geeignet? https://www.ebay.de/itm/232479962080 Warum hat der zwei Ausgänge?

...oder sowas: https://www.ebay.de/itm/232548663694

MfG.


guck mal hier: http://shelvin.de/den-acs-712-5a-strom-sensor-am-arduino-auslesen/
und kontrolliere mal deinen Aufbau und deinen Code.

insb. auch diesen Kommentar:

„analogRead (PortNummer);“ liefert einen Wert zwischen 0 und 1023 entsprechend Null Volt bis volle Betriebsspannung.

Der ACS712 liefert ohne Strom die halbe Betriebsspannung, also 2,5 Volt.
Dein Arduino wird etwa 512 liefern, wenn kein Strom fließt.

Der ACS712-5 liefert etwa 185 Millivolt pro Ampere, also kannst Du bei 1A mit 2,685 Volt rechnen. 2,685 / (5/1023) gibt 549, auf diesen Wert musst Du testen. Falls der Strom in die andere Richtung fließt, wären es 475.

spunky9003
04.05.2018, 18:08
ok, dann muss ich das nochmal prüfen.

hab auch mal die anderen Sensoren bestellt, mal schauen was die machen...

shedepe
05.05.2018, 20:40
Also 2 Dinge.
1. 230V hört sich stark nach einer Wechselspannung an. Da solltest du schwankende Werte erwarten.
2. Der ACS712 braucht 5V. Dein NodeMCU ADC geht aber nur von 0 bis 3,3V
Entweder hast du den ACS712 nur mit 3,3V Versorgt -> Dann geht der nicht richtig.
Oder du hast den ACS712 mit 5V versorgt. Dann liegt dein Mittelwert eben bei 2,5V. Was in etwa den 700 entsprechen könnte. Deine Messwerte schwanken jetzt eben um den Wert herum (Weil Wechselspannung)

HaWe
06.05.2018, 13:56
Also 2 Dinge.
1. 230V hört sich stark nach einer Wechselspannung an. Da solltest du schwankende Werte erwarten.
2. Der ACS712 braucht 5V. Dein NodeMCU ADC geht aber nur von 0 bis 3,3V
Entweder hast du den ACS712 nur mit 3,3V Versorgt -> Dann geht der nicht richtig.
Oder du hast den ACS712 mit 5V versorgt. Dann liegt dein Mittelwert eben bei 2,5V. Was in etwa den 700 entsprechen könnte. Deine Messwerte schwanken jetzt eben um den Wert herum (Weil Wechselspannung)

na klar, 230V => Wechselstrom: hatte ich gar nicht drüber nachgedacht!
ein 5V Gerät an 3.3V analogIn ist aber gar nicht gut, da muss ein Spannungsteiler dazwischen!
Die Schwingung um die Null-Lage kann man dann dadurch unterdrücken, dass man alle Werte unterhalb der Null-Lage einfach ignoriert und nur einen gleitenden Mittelwert der kurzfristigen Maximalwerte >= Null-Lage ausrechnet - wird aber sicher nie 100% exakt mit Wechselstrom.

i_make_it
06.05.2018, 18:58
Mann kann auch alle Werte -700 rechnen und dann die negativen Werte mal -1 nehmen. dann sollten auch die Werte zwichen 600 und 800, alle zwichen 0 und 100 liegen.
Wäre quasi eine Gleichrichtung per Software.

HaWe
06.05.2018, 20:48
Mann kann auch alle Werte -700 rechnen und dann die negativen Werte mal -1 nehmen. dann sollten auch die Werte zwichen 600 und 800, alle zwichen 0 und 100 liegen.
Wäre quasi eine Gleichrichtung per Software.
wenn denn 700 die exakte Null-Linie ist, dann kann man das so machen. Andernfalls muss man die aktuelle Nulllinie erst durch den Mittelwert der laufenden Maxima und Minima als Durchschnittswert berechnen, denn auch die Nulllage ist ja von der nicht sehr stabilen Vc Spannung an den ADCs abhängig - insgesamt aber kommt man hier vlt schon sehr schnell ins Schwimmen.
Was man bräuchte, wäre ein Strommesser, der auch Wechselstrom per interner Gleichrichtung und Glättung ermitteln kann.