GPIO externen Spannungsabfall messen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Pi'ler,

    ich möchte mit meinem Pi gerne einen Spannungsabfall messen. dafür existiert eine externe Elektronik, die mit 12 Volt gespeist wird und 4,7 V ausgibt. Bekommt diese Elektronik nun ein Signal (nicht vom Pi), kommt es zu einem Spannungsabfall. Diesen Abfall möchte ich gerne mit dem Pi registrieren und als Event später verwenden.
    Meine Idee ist nun diese Elektronik an die GPIO Schnittstelle anzuschließen und über ein Interrupt abzufragen. Also einen der Pins, welchen genau weiß ich nicht (in einem Beispiel war es GPIO 23). Da wurde aber lediglich ein Schalter abgefragt. Das Ganze soll per interrupt geschehen und funktioniert mit einem simplen Schalter an GPIO 23 (Pin 16) und Ground (Pin 6) und entsprechendem Python script auch schon ganz gut.

    Das Problem liegt ersteinmal im Anschluss der Elektronik. Kann ich eine externe Spannungsquelle einfach so an einen der GPIO Pins anschließen? Ich muss die Spannung denke ich mal auf mindestens 3,3 V herunterbringen. Doch wie verhält es sich mit der Stromstärke? Was halten die Pins aus, wenn sie denn überhaupt für solche Zwecke verwendet werden können?! Wenn ich die Daten wüsste, was die Pins abkönnen, könnte ich zumindest den Widerstand berechnen, den ich benötige um die Spannung/Stromstärke runter zu bringen.
    Ihr seht Fragen über Fragen. Aber immer noch besser als meinen Pi zu zerlegen...

    Viele Grüße,
    BallerNacken

  • Soweit ich weiß, vertragen die GPIO Pins max 50mA Inputstrom.
    Das solltest du aber nicht ausnutzen. Bau doch einfach einen Spannungsteiler mit einem Strangwiderstand um die 20-50kOhm.

    Die Masse der beiden Geräte musst du verbinden, als Umschaltlevel High/Low würde ich ca. 1V annehmen (geschätzt, "LOW" liegt vermutlich irgendwo zwischen 0 ... 0,7-1,2V), danach berechnest du den Spannungsteiler (also das Verhältnis der beiden Widerstände zueinander, ggf. machst du einen als AbgleichPoti zur Feinjustage, aber immer bedenken: Der Pin darf niemals über 3,3V abbekommen!!).

    Die etwas elegantere Variante ist ein Optokoppler.... aber das ist eine andere Geschichte...

    Mfg,
    Die Zentris


  • ich möchte mit meinem Pi gerne einen Spannungsabfall messen. dafür existiert eine externe Elektronik, die mit 12 Volt gespeist wird und 4,7 V ausgibt.

    wenn ohne Abfall der Spannung immer maximal 4,7V herauskommen müssen die erst mal auf <=3,3V getrimmt werden, das ginge mit einem Spannungsteiler oder Widerstand und Z-Diode.


    ....kommt es zu einem Spannungsabfall. Diesen Abfall möchte ich gerne mit dem Pi registrieren und als Event später verwenden.

    da wird es lecht bis komplizierter !
    Ist der Spannungsabfall deutlich und immer gleich kann es durch geschickte Lage der Umschaltzeitpunkt gewählt werden wann der PI kein high >1,8V mehr erkennt sondern low vermutlich <1,6V
    Das könnte für einen Interrupt reichen also Abfall möglichst (deutlich) größer als 0,3V.

    Ist der Spannungsabfall aber nur 0,1V oder weniger ist diese Schwelle zu dünn, dann wäre es besser mit einem AD Wandler zu messen und auf Differenz reagieren, periodisches Auslesen.

    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)

  • ... einen hab ich noch :lol::

    Du kannst natürlich auch mit einem MCP3002/4/8 (analoger U-Wandler 2/4/8 kanalig) den spannungsmäßig angepassten Wert ziemlich genau periodisch abtasten (wie 'jar' schon anriss) und dann drauf reagieren.

    Durch den MCP bekommst du auch kleine Spannungseinbrüche mit... hängt natürlich alles von deinen Anforderungen ab :thumbs1:

    Mfg,
    die Zentris

  • Es war zu Anfang geplant das mit einem MCP3008 zu machen. Es sollen aber möglichst wenig Bauteile verwendet werden. Bei Tests habe ich einen Spannungsabfall von 4,7 V auf 0 V oder etwas mehr als 0 V (geht zu schnell, um es mit einem Multimeter nachzuvollziehen) gemessen. Dieser Spannungsabfall sollte dann also reichen um ihn durch ein Interrupt zu erkennen?

    Und ja, es kommen immer maximal 4,7 V raus. Falls es doch mal bis 5 gehen sollte, kann ich ja mit Widerstand auf 2,5V runter gehen, um auf der sicheren Seite zu sein. Was würdet ihr dahingehend für einen Vorwiderstand und was für eine Z-Diode wählen? Zur Verfügung habe ich gerade einige Widerstände zwischen 100 und 200 Ohm und im höheren kOhm Bereich. Ich kenne mich dahingehend nicht wirklich aus, habe hier eine Auswahl an Dioden, sind alle folgendermaßen Bezeichnet: 4V3 400 mW, 4V7 400 mW, 5V1 400 mW, usw. Sind auch noch welche mit 5 W hier, aber die dürften überdimensioniert sein um von 4,7 V auf 2,5 V zu kommen.

    Einmal editiert, zuletzt von BallerNacken (9. Januar 2014 um 03:32)

  • Okay, habe mir nen Spannugnsteiler vor den Pi gebaut, nun kommen nur noch etwa 1,7 Volt an. Der Spannungsabfall geht dann auf 0 Volt zurück und wird auch vom Programm erkannt. Allerdings beendet das Programm sich nach dem interrupt. Es muss allerdings immer wieder auf einen interrupt warten. Ich nehme an, wenn ich das irgendwie in eine while-Schleife verpacke, müsste es funktionieren? Vielleicht sogar eine Endlossschleife mit while True: ?

    Da muss ich mal ein wenig rumtesten. Bisher verwende ich noch das Programm von hier, außer das ich andere Pins verwende und die Ausgabe eine etwas andere ist.

    Edit: Mit der Endlosschleife funktioniert die sich wiederholende Abfrage nach dem interrupt. Der Rest gehört dann ja eher in den Programmierbereich..
    Danke euch beiden!

    Einmal editiert, zuletzt von BallerNacken (9. Januar 2014 um 05:55)


  • Edit: Mit der Endlosschleife funktioniert die sich wiederholende Abfrage nach dem interrupt. Der Rest gehört dann ja eher in den Programmierbereich..
    Danke euch beiden!

    :thumbs1:

    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)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!