Welche GPIOs sind zur Relaissteuerung _nicht_ geeignet?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    zum Thema GPIO-Pin-Belegung gibt es ja jede Menge Beiträge. Leider befassen sie sich zumeist mit der unterschiedlichen Belegung der unterschiedlichen Revisionen. Das ist aber nicht mein Problem.

    Ich möchte 8 Relais ansteuern (es sollen maximal 3 Stück gleichzeitig angesprochen werden)

    Nun ist z.B. GPIO4 als Eingang für 1-wire gesetzt. Auch erhielt ich hier den Hinweis, dass GPIO14 als TXD Leitung vom UART zur Relaisansteuerung ungeeignet ist.

    Genau diese Aussage wollte ich im Netz finden in der Hoffnung, dort noch Hinweise auf eventuell noch weitere für die Ansteuerung ungeeignete GPIOS zu finden. Was mir leider nicht gelang. Vielleicht liegt es an der Fragestellung. Was ich gefunden habe sind diverse Pinbelegungen, die auf andere mögliche Anschlussarten deuten.
    z.B. Pin 26, auf manchen Belegungsplänen steht GPIO7, auf anderen steht SP10 CE1 N. Hm, könnte ich den nun doch nehmen oder ist er wie Pin 8 (GPIO14) nicht geeignet?

    Wenn alle auch anders benannten GPIOs ausfallen, wird es eng.

    Erschwerend könnte noch hinzu kommen, dass ich perspektivisch die GPIOs 09, 23, 10, 11, 24, 25 , 08 reservieren wollte, weil mir meigrafd´s Projekt mit dem Wetterstation-Display gefällt und dort diese GPIOs braucht.

    Tja, woran kann ich erkennen, welche GPIOs noch nicht geeignet sind zur Ansteuerung von Relais?

    Viele Grüße
    DocAdams

    1x RaspberryPi 2, 1x RaspberryPi 3, 1x OpenELEC, 1x RaspberryPi 4 mit ioBroker ,

    Einmal editiert, zuletzt von docadams (4. März 2014 um 21:32)

  • Welche GPIOs sind zur Relaissteuerung _nicht_ geeignet?? Schau mal ob du hier fündig wirst!

  • Hallo docadams

    Ich habe mir beim Anschluss meiner 8 fachen Relaiskarte (leider) keine Gedanken über die Sonderfunktionen der GPIOs gemacht.

    Daher hängt nun das Relais, dass mein Licht im Büro an und aus Schalter an GPIO 14.
    Bis auf die Tatsache, dass das Licht beim hochfahren des Raspberrys flackert, hatte dies bisher allerdings keine weiteren Konsequenzen / Probleme.

    Ich denke wichtiger ist, eventuell GPIOs mit Sonderfunktionen freizuhalten, falls du noch ein Bauteil anschließen willst, dass eben diese Sonderfunktion benötigt.

    Gruß

    Bigdane

  • Ich bin mir nicht 100% sicher aber zumindest die UART pins lassen sich soweit ich weiß nicht zweckentfremden - bei allen anderen sollte das allerdings kein Problem sein diese "normal" zu nutzen

    Nur kannst du nicht zB GPIO24 für I2C zurecht biegen - die Sonderfunktionen können nur mit den jeweiligen Pins genutzt werden

    Siehe Bilder im Anhang

  • Ansonsten würde ich auch darauf achten, welche Kernelmodule geladen werden.

    Wenn Du beispielsweise GPIO4 normal verwenden möchtest, dann "w1-gpio", "w1-therm" blacklisten. Normalerweise werden diese Module zwar nicht geladen - aber sicher ist sicher. ;)

    Gruß, mmi

  • Hallo DocAdams,

    ich habe schon einige GPIO-Schaltungen aufgebaut und auch eine industrielle Entwicklung auf dem Raspberry Pi aufgebaut. Ich habe mir nie Gedanken über Zusatzfunktionen einzelner GPIO-Ports gemacht. Nach meiner Erfahrung (und so macht es auch Sinn), sind alle GPIO-Ports gleichwertig (Ansteuerung, Spannung, Strom, Schalten als Ein- oder Ausgang, ...) - nur dass einige ausgewählte noch weitere Funktionalitäten ermöglichen. Solange Du diese Zusatzfunktionalitäten nicht benötigst, kannst Du wahllos jeden GPIO-Pin verwenden.

    Beste Grüße

    Andreas

    Hallo DocAdams,

    wenn Dir die GPIO-Ports an P1 nicht genügen, dann kannst Du auch noch die vier von P5 oder P6 (direkt neben der eigentlichen GPIO-Schnitstelle P1) nutzen. Dort sind 3.3V GND und 4 GPIO-Ports ausgeführt.
    Bastelanleitungem, wie man dort Steckverbindungen (schräg) anlötet, gibt's zuhauf im Netz.

    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.

    2 Mal editiert, zuletzt von Andreas (8. Oktober 2017 um 11:50)

  • Vielen Dank für eure Antworten.

    Das sieht ja dann doch ganz gut aus für mein Vorhaben. GPIO14 und 15 sind gesperrt, GPIO4 ist für den 1-wire-Anschluss reserviert. Ansonsten kann ich alle GPIOs nehmen, sofern ich nicht deren Sonderfunktionen nutzen will, was aber eher unwahrscheinlich ist.

    Viele Grüße
    DocAdams

    1x RaspberryPi 2, 1x RaspberryPi 3, 1x OpenELEC, 1x RaspberryPi 4 mit ioBroker ,

  • Andreas: Hast du denn GPIO14 und GPIO15 sowie P6 ohne weitere Maßnahmen oder Beachtungen verwendet?

    Also meine Erfahrung ist etwas anders, zumindest was besagte UART Pins und auch P6 betrifft, die Sonderfunktionen dieser Pins darf man nicht ignorieren

    P6 dient eigentlich als Hard-Reset, ohne sie als solche extra einstellen zu müssen. Wenn man diese Pins brückt dann wird der PI resettet. Beachtet man also nicht diese Sonderfunktion kann es je nach "Zweckentfremdung" passieren das der PI plötzlich resettet wird :lol:

    Und bei Raspbian ist es zumindest standardmäßig so dass UART für die Serielle Konsole genutzt wird. Dh das System spuckt ständig Zeuchs an die interne Adresse der UART Schnittstelle und die sind nun mal als GPIO 14&15 zugänglich:

    Code
    /etc/inittab
    
    
    #Spawn a getty on Raspberry Pi serial line
    T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

    Desweiteren aber auch zwei Einträge in /boot/cmdline.txt entfernen:

    Code
    console=ttyAMA0,115200 kgdboc=ttyAMA0,115200

    Zumindest das müsste man also vorher ausschalten damit man mit den Pins normal arbeiten kann, ansonsten hätte man ggf Störungen


    Eine Tabelle mit den Standardfunktionen der GPIOs findet man auch hier:
    http://elinux.org/RPi_BCM2835_GPIOs
    http://elinux.org/RPi_Low-level_…tput_.28GPIO.29

    Zitat

    All the GPIO pins can be reconfigured to provide alternate functions, SPI, PWM, I²C and so. At reset only pins GPIO 14 & 15 are assigned to the alternate function UART, these two can be switched back to GPIO to provide a total of 17 GPIO pins[3]. Each of their functions and full details of how to access are detailed in the chipset datasheet.

  • Hallo Meigrafd,

    ich meine natürlich P5 - nicht P6 (der nur eine Reset-Funktion bietet, die man auch nur im äußersten Notfall nutzen sollte).

    Bei der Verwendung von GPIO14 ist mir bisher nichts aufgefallen. Weder habe ich irgendwelche Dateien angepasst, noch Störungen beobachtet.

    Aber ich werde es nachher mal prüfen.


    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.

  • Hallo Meigrafd und andere Interessierte,

    gerade habe ich einen Widerstand (620 Ohm) an GND angeschlossen, diesen mit einer Diode verbunden und in GPIO7, GPIO15 und GPIO14 eingesteckt.

    Folgendes Programm durchgejagd (exemplarisch für GPIO15 angegeben):

    Code
    link GPIO
    
    
    procedure main()
        every i := 1 to 3 do
        {    GPIO(15, 1,500)
             GPIO(15, 0, 500)
        }
    end


    Ich habe keinen Unterschied zwischen GPIO7, GPIO15 oder GPIO14 festgestellt. Die LED leuchtet jeweils für eine halbe Sekunde, leuchtet nicht für eine halbe Sekunde und wiederholt dies dann noch zwei Mal.

    Ich habe die Spannung gemessen, die liegt bei allen drei Anschlüssen bei 1,75 V.

    Aus meiner Sicht spricht nichts gegen die Verwendung von GPIO14 und GPIO15.

    Und jetzt seid Ihr dran...

    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 (5. März 2014 um 21:33)

  • Hi,

    habe das Problem, ein 1602-Display (16 Zeichen auf 2 Reihen) an PIN 11, 13, 15, 21, 24 und 26
    entsprechend GPIO 17, 21, 22, 9, 8 und 7 betreiben zu wollen (RPI Modell 2, Rev.1), siehe folgende Site:

    http://www.schnatterente.net/technik/raspbe…hd44780-display :

    (Für meinen Zweck die Pin´s bereits umgeschriben)


    bekomme aber folgende Meldung nach Aufruf des Phyton-Skript´s:


    Code
    root@raspberrypi:/home/pi# python displaytest.py
    displaytest.py:28: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
      GPIO.setup(DISPLAY_E, GPIO.OUT)
    displaytest.py:29: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
      GPIO.setup(DISPLAY_RS, GPIO.OUT)
    displaytest.py:30: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
      GPIO.setup(DISPLAY_DATA4, GPIO.OUT)
    displaytest.py:33: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
      GPIO.setup(DISPLAY_DATA7, GPIO.OUT)
    root@raspberrypi:/home/pi#


    Das Problem dabei ist, das ich nicht die auf der Site angegebenen Pin´s ausweichen kann, da bereits alle anderweitig belegt sind.

    Angeblich sollen ja alle GPIO´s gleichwertig sein, einige mit Sonderfunktionen, so z.B. I2C an PIN 3 und 5 mit Pull-Up von 1,8 kOhm nach 3,3 V.
    Aber gerade diese beiden PIN´s nutze ich z.B. mit Tastern ohne Probleme.

    Müssen denn die Sonderfunktionen vorher irgendwo abgeschaltet werden, wenn man diese Pin´s "normal" nutzen möchte :s

    In meiner rc.local wird dieses Skript ausgeführt:


    Wobei z.B. die "Relaissteuerung" einwandfrei läuft, nur das Display will nicht.


    .

    Einmal editiert, zuletzt von Pieper (6. März 2014 um 23:12)

Jetzt mitmachen!

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