Ströme mit einem Mikrocontroller zu erfassen und auszuwerten ist immer wieder interessant. Da ich eine Alternative zur Shunt/OpAmp-Kombination gesucht habe, welche für mich in den meisten Fällen einfach zu aufwändig ist, bin ich auf die ACS-Stromsensoren von Allegro Microsystems gestoßen. Für mich besonders interessant sind die Typen ACS 712 (0 - 5 A) und ACS 715 (0 - 30 A). Die ACS 715 werde ich auch in meinem Telemetrie-Projekt verwenden, um die Stromaufnahme des Antriebsmotors zu erfassen.

Die Auswertung der Sensoren ist recht einfach, der ACS712 gibt je Ampere 185 mV aus, der ACS715 133 mV. Diese Spannung kann man mit dem ADC eines AVR auswerten und in den entsprechenden Strom umwandeln.

Man muss allerdings beachten, dass die Sensoren auch bei 0 A eine bestimmte Spannung ausgeben (ACS 712 ca. 2,5 V, ACS715 ca. 0,5 V). Diese Offset-Spannung muss dann mit dem AVR dementsprechend herausgerechnet werden.

Bei www.watterott.com bin ich auf interessante Breakout-Boards mit den ACS 712 und 715 gestoßen, diese sind mit Preisen von 8 - 9 Euro auch recht akzeptabel.

So sieht das ACS715 Breakout-Board von watterott aus, hab schon mal ein dreiadriges Kabel angelötet. Betriebsspannung des Sensors ist übrigens 5V.

Mein kleiner Versuchsaufbau, Labornetzteil mit 12V - Halogenlampe, Strom eingestellt auf 2,45 A, zwischen dem Netzteil und der Lampe hängt der ACS-Sensor.

So sieht der Testaufbau mit einem Atmega8 aus. Der Sensorausgang hängt an ADC0, als Refferenzspannung wird die Versorgungsspannung verwendet. Die berechnete Stromstärke wird auf dem LCD-Display ausgegeben.

So sieht die Anzeige des LCD-Displays aus.