GPIOs Grundlagen und Stromversorgung

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Moin,
    da ich im Moment wieder etwas mehr Zeit habe, wollte ich mich intensiver mit dem Raspi auseinander setzen und bisschen basteln und probieren.

    Dazu wollte ich mal wissen, ob man alle GPIOs als solche benutzen kann (Ein- und Ausgang, 3,3V oder 0V). Oft lese ich von irgendwelchen Sonderfunktionen bei einigen Pins, die ich aber erstmal nicht brauche. Glaube ich :D

    Außerdem habe ich noch ne Laserdiode (3-12V, 25mA) und nen Lüfter (12V) gefunden und wollte die mal testweise kombinieren.
    Hab außerdem ein 12V Netzteil (12,5V nach Messung).

    Zusammenfassung Aufbau: Lüfter dreht sich, gibt Tachosignal aus, Signal wird gelesen und Diode gesteuert.

    Fragen:
    1. Was empfiehlt sich für eine Schaltung (Transistorschaltung), um die Diode mit dem Netzteil zu betreiben, aber per GPIO zu schalten?
    2. Muss ich die Spannung bei der Diode noch reduzieren oder sind +0,5V nicht schlimm?
    3. Tachosignal heißt Pin auf Masse zu setzen, brauch also ne Referenz für den Raspi. Pull up oder wie das heißt, kann man ja auch irgendwie per Software im Raspi intern zuschalten, möchte das aber lieber extern haben. Muss ich dann irgendwie den GPIO mit Hilfe von Widerständen zu 3,3V verbinden?

    MFG
    LMD

  • Hallo LMD,

    alle Pins des GPIO-Ports, die in den sog. GPIO-Layouts mit der Bezeichn ung GPIO versehen sind, kannst Du auch als solche nutzen.

    Die sog. Zusatzfunktionen musst Du erst aktivieren. Hast Du sie nicht aktiviert, hast Du auch keine Zusatzfunktionen.

    So kannst Du jeden solchen GPIO-Pin als Eingang oder als Ausgang definieren. Bei einem Ausgang liegen gegenüber GND 3,3 Volt an. Bei einem Eingang werden Spannungen unter 0,8 V als "LOW" erkannt, Spannungen über 1,3 V als "HIGH". Über sog. Pullup oder Pulldwon-Widerstände nimmst Du Einfluss darauf, dass Spannungen im nicht definierten Bereich in den definierten Bereich gezogen werden.

    Bei allem, was Du mit GPIO anstellst: Beachte, dass Du einen einzelnen GPIO mit ca. max. 2 mA belasten solltest - und alle GPIOs und 3V3 zusammen nur mit max. 50 mA.

    Somit bieten sich immer externe Spannungsversorgungen an, wenn es um die Ansteuerung von Motoren geht. Diese werden über Transistoren angesteuert (wie Du es beschrieben hast).

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (13. April 2015 um 20:26)

  • Hi,
    danke für die Erklärung. Dann lass ich die Sonderfunktionen fürs erste mal lieber weg und benutze nur die GPIOs an sich ;)

    Kann mir jemand noch sagen, was für Bauteile ich wie genau verschalten muss?
    Für das Tachosignal dachte ich an GPIO=>R1=>Tacho und zwischen R1 und Tacho noch einen R2 zu 3,3V.
    Für die Transistorsteuerung brauch ich nen Transistor und evtl Vorwiderstände an der Basis?
    MFG
    LMD

  • Hi,

    da sind mir die Infos zu dünn, da konkret was dazu zu sagen ...
    Tipp: Zeichne Deine Schaltung als Plan mit z.B. -> Fritzing <- , -> eagle <- oder etwas ähnlichem, auch wenn sie Dir noch noch lapidar erscheint. Erfahrungsgemäss reichen meist schon kleine Schaltungen um Fehler einzubauen (und sei es nur ein fehlendes Massekabel).
    Fritzing ist auch für Anfänger geeignet und sehr intuitiv bedienbar, erzeugt schöne und übersichtliche "Breadboard-Ansichten" und beide Programme erhälst Du kostenlos zum privaten Gebrauch.

    Dazu dann noch möglichst alle Datenblätter der verwendeten Bauteile ... und dann klappt das auch ;)

    cu,
    -ds-

  • Vielleicht noch der Vollständigkeit halber: der Schalter soll das Tachosignal sein? Der Lüfter wird also nicht über den Raspi gesteuert? Hast Du mal geschaut, wie das Tachosignal aussieht (so in Volt meine ich)?
    Bei einer Laser-Diode muss ich allerdings in den Details erst mal passen. Da müsste ich erst nachsehen, aber die müssen afaik erst einen gewisse Spannungs-/Strompegel haben, damit sie zünden und dann "lasern" ...
    Als Widerstand vor dem Transostor schätze ich jetzt mal eher so um 1kOhm ( 2 bis 3 mA pro Pin max. Strom -> U = R * I ... )
    Transistor ist jetzt halt abhängig von den Daten der Laserdiode ...

    cu,
    -ds-

  • Genau, der Schalter ist das Signal. Wie meinst du das mit der Spannung? Soweit ich weiß, ist der Kontakt leer und wird bei ner Drehung mit Masse verbunden. Wo soll da ne Spannung sein?
    Also der Gedanke bei der Schaltung ist ja, dass der Pi ständig sein 3,3V Signal erhält (1). Schaltet der Schalter durch, bricht die Spannung ein. (0)

    "Der Betrieb dieses Lasermoduls ist ohne Vorwiderstand oder Regelungselektronik an vielen vorhandenen Spannungsquellen z.B Kleingerätenetzteilen oder auch am 12 Volt Bordnetz eines Pkws möglich. Das Lasermodul ist mit einer Steuerelektronik ausgestattet, und muss nur noch an eine Spannungsquelle (Gleichspannung 3V DC) angeschlossen werden."
    Hab die mal mit 3V getestet und mit dem 12V NT, beides läuft einwandfrei...
    MFG
    LMD

  • Hi, ja ...


    Genau, ... mit Masse verbunden. Wo soll da ne Spannung sein?
    ...


    das genau war meine Frage ;)



    ...
    "Der Betrieb dieses ... ist mit einer Steuerelektronik ausgestattet, ...


    perfekt ... also:
    pullup mit 10 kOhm an GPIO16 - dann direkt auf den "Schalter". Der zweite Widerstand ist unnötig.
    Als Transistor müsste ein Standard Transistor ... BC337 oder so ... vollkommen ausreichen.
    Vorwiderstand zur Basis ca. 1kOhm.
    Ob NPN oder PNP ist Geschmackssache ...

    naja ... ich denke, das war's ;)

    cu,
    -ds-

  • Hallo.
    Sry, dass ich mich da einmische aber ...

    Lustige Schaltung finde ich :D
    Folgendes: R1 hängt bei offenem S1 in der Luft ?, und wird gegen Masse gezogen ?, welche?
    Zwischen R1 und R2 werden 3,3V angelegt.
    Ausgang von R2 geht an GPIO16... was wird das ?
    S1 kann bis in die Unendlichkeit betätigt werden... am GPIO16 wird sich nix tun, wie auch.

    Dann der Q1.
    Ist ein NPN. Da gilt normalerweise: Sp-Quelle -> evtl Vorwiderstand -> Verbraucher -> Colletor -> Emiitter gegen Masse.
    Du stellst das ganze auf den Kopf.
    Der R3 ist recht klein... unter 2K würde ich nie gehen sonst verbratest im Idealfall die Basis.
    Auserdem felht der Pulldown Basis-Emitter.

    Die Laserdiode ohne Vorwiderstand ? ..mal kurz blitzen wird sie.
    Was hast eigentlich vor, erkär das mal dann kann man dir helfen.

    gruß root

    //Edit
    Aha.. da steht's ja schon :

    Zitat

    Laser: 3-12V 25mA

    Einmal editiert, zuletzt von root (13. April 2015 um 23:54)

  • @root: stimmt, das Schaltbild enthält noch einiges an Optimierungspotenzial ;) ...
    Aber sonst sollte es so funktionieren, wie -> hier <- beschrieben ...

    Also: vor Inbetriebnahme bitte neu zeichnen und posten ...
    Ach ja: gemeinsame Masse(n) nicht vergessen ...
    cu,
    -ds-

  • Hi.


    Aber sonst sollte es so funktionieren, wie -> hier <- beschrieben ...

    Also: vor Inbetriebnahme bitte neu zeichnen und posten ...
    Ach ja: gemeinsame Masse(n) nicht vergessen ...

    Ok. war mein Fehler.. hatte das übersehen... mea culpa.. :blush:
    Wobei mir der S1 noch ein Rätsel ist.

    gruß root

    Einmal editiert, zuletzt von root (14. April 2015 um 00:06)

  • Halb so wild ;) ...
    Im Gegenteil - ich finde es beruhigend, wenn andere auch noch ein Auge drauf haben :thumbs1:
    //EDIT: S1 ist wohl ein Anschluss des Lüfters, der pro Umdrehung einmal eine Verbindung nach Masse herstellt (Tachogenerator potentialfrei).

    cu,
    -ds-

  • Hi. -ds-


    //EDIT: S1 ist wohl ein Anschluss des Lüfters, der pro Umdrehung einmal eine Verbindung nach Masse herstellt (Tachogenerator potentialfrei).


    Genau.. und was macht der ? nix.
    ...Außer mal ab und an ein R parallel dazuzuschalten... juckt doch den GPIO net.

    Ist doch identisch mit : siehe Anhang.

    gruß root

  • Hm,

    Zitat


    pullup mit 10 kOhm an GPIO16 - dann direkt auf den "Schalter". Der zweite Widerstand ist unnötig.


    liest Du das so?
    Ok, dann ist das wohl missverständlich ...

    Code
    pullup mit 10 kOhm an GPIO16
    und GPIO16 direkt auf den "Schalter".


    besser?

    cu,
    -ds-

Jetzt mitmachen!

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