Strom/Spannung messen mit ACS712/MCP3008/Pegelwandler

  • Hallo Zusammen,

    ich habe mich mit meinem ersten Projekt in die RPi Welt gestürzt, jedoch komme ich aktuell nicht weiter...

    Ich möchte gerne über den RPi erfassen, wenn durch eine Leitung Strom fließt. Hierzu habe ich einen ACS712 in der 30A Variante. Das Output-Signal wird durch einen Pegelwandler auf 3,3V gewandelt und geht dann in den MCP3008, damit der RPi das Signal auch lesen kann. (SPI und I2C ist aktiviert)


    Jedoch habe ich das Problem, dass die über folgendes Skript ausgegebenen Werte zwischen 0.0V und 1.48V schwanken, egal ob Strom fließt oder nicht.


    from MCP3008 import MCP3008

    adc = MCP3008()


    value = adc.read( channel = 0 ) # Den auszulesenden Channel kannst du natürlich anpassen

    print("Anliegende Spannung: %.2f" % (value / 1023.0 * 3.3) )


    Anbei ist der Steckaufbau.

    Ich weiß leider nicht, wo mein Fehler liegt.

    Ich hoffe, dass Ihr mir helfen könnt das Problem zu lösen. Hierfür möchte ich mich schon im Voraus bedanken.

  • Moin pabau001,


    erstmal: Herzlich Willkommen im Forum!


    Du solltest als erstes den MCP3008 nur mit 3,3Volt versorgen, nicht mit 5V.

    Grund: Der Baustein liefert dann auch 5V zurück. Das mag der Raspberry nicht so gerne. Da kann was kaputt gehen.

    Außerdem hast du an Vref auch 5V angelegt. Schau mal in das Datenblatt.


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Auch von mir ein herzliches Willkommen.

    Mir scheint Du hast einen Denkfehler: Dein Stromsensor liefert ein analoges Ausgangssignal und Du schickst dieses Signal in einen Pegelwandler.

    Dort kommt nur mehr eine High (viel Strom) Low Information (Wenig Strom) heraus.

    Wenn Du den MPC3008 mit 3,3V betreibst brauchst du den Pegelwandler gar nicht...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Viele Dank, für die schnellen Resonanzen.

    Mein Gedankenweg ist der, dass der ACS712 ein 5V Ausgangssignal hat, weswegen ich den Pegel Wandler, um mit 3,3V in den MCP3008 gehe.

    Ist dieser Denkansatz somit falsch?

    Das 5V am MCP3008 anliegen habe stimmt... jedoch ist macht der Einwand, dass ich diesen mit 3.3V beaufschlagen sollte Sinn.

    Dies werde ich ändern und dann ein Feedback berichten.

    Edited once, last by pabau001 ().

  • Ist dieser Denkansatz somit falsch?

    ja immer!


    1. Grundregel mit welchen Spannungen arbeiten externe Zusatzchips :?:

    2. was kommt damit am PI an? im Zweifel also maximal VCC :!:

    3. daraus folgt Teile die 5V BRAUCHEN müssen mit Pegelwandler :!: an Datenleitungen angekoppelt werden

    4. Teile die mit 3,3V arbeiten sollten auch nur an 3,3V angeklemmt werden! :!:

    Wenn Du den MPC3008 mit 3,3V betreibst brauchst du den Pegelwandler gar nicht.

    der MCP hat einen ADC und liefert kann maximal bis zu seiner VCC auswerten-


    Ein Strom der an einem Widerstand bis 3,3V abfallen lässt kann ausgewertet werden.

    Sollte der Strom x Widerstand mehr als 3,3V bringen ist die Messung fehlerhaft!


    entscheide was das ZIel ist!

    Strom/Spannung messen ist ungenau beschrieben, das sind 2 verschiedene Messungen!


    Spannungen kannst du also bis maximal 3,3V messen oder du musst Spannungsteiler vorsehen das die gemessene Spannung nie 3,3V übersteigt!

    Möchtest du Strom messen überlege welcher der maximale Strom sein kann und den schickst du durch einen Widerstand der dann eine Spannung zeigt die niemals 3.3V nach GND übersteigt!


    Messtechnik ist ein eigenes Kapitel in E-Technik und nicht mal eben durch YT zu lernen! ;)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Jar hat recht - es kommt sehr stark darauf an was Du vor hast.

    Gerade bei Anfängern tendiere ich deshalb dazu mit den vorhandene Infos, eine (nicht vollständige) Lösung anzubieten. Je nachdem was Du im Detail machst stolperst Du eventuell über die nächsten Probleme. Vielleicht findest Du das Problem und lernst daraus oder du musst halt wieder fragen.

    Für diese Details muss man sich aber schon mehr mit der Materie beschäftigen. Das "Datenblatt" Deines Modules ist hier das wichtigste. Da wir das Thema schon angefangen haben noch eine Info, die sich daraus ergibt: Das Modul stellt sich auf halbe Versorgungsspannung ein und benötigt offensichtlich 5V. Du kannst also eine Stromrichtung bis 30A messen (2,5V sinkend, je mehr Strom desto weniger Spannung) und in die andere Richtung ist bei gut 12A Schluss (3,3-2,5V=0,8V; 0,8V/0,066A/V=12,12A)... Ich könnte jetzt noch Seitenweise Infos geben, aber das macht meiner Meinung nach wenig Sinn. Probiere es selbst, versuche Lösungen zu finden und Frage, wenn Du nicht mehr weiter weißt.

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Kurz zur Erläuterung. Ich möchte erkennen, wenn eine Lampe (24V DC) anfängt zu leuchten. Im Endeffekt ist mir sogar egal, welche Spannung oder welcher Strom gemessen wird.

  • und warum nicht gleich?

    Ein 24V Leuchtmittel wird auch bei 21V leuchten, also nach Masse/GND ein R wo bei Nennstrom 3V abfällt an dem ein GPIO hängen kann.

    Aber man weiss NUR das Strom fliesst, man weiss nicht ob das Leuchtmittel LEUCHTET also

    Ich möchte erkennen, wenn eine Lampe (24V DC) anfängt zu leuchten

    Deine ungenauen Aussagen sind immer noch schwer verständlich für mich!


    Willst du echt LEUCHTEN feststellen benötigst du ein LUX Messgerät oder einen Photowiderstand oder eine Photodiode und natürlich eine Fremdlichtabschirmung.

    https://www.amazon.de/PCE-MLM-Beleuchtungsmesser-Luxmessger%C3%A4t-Lichtmessger%C3%A4t-Taschenformat/dp/B005HGW294 (Affiliate-Link)


    Ist das Fremdlicht genügend abgeschirmt sieht auch niemand das Leuchten. :conf::conf::conf::conf:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)