Comprendre les connecteurs GPIO

Le connecteur GPIO du Raspberry Pi, comment l'utiliser sur les Mode A, B et B+

Modérateur : Francois

hastaluego05
Messages : 5
Enregistré le : lun. 5 déc. 2016 14:25

Comprendre les connecteurs GPIO

Message par hastaluego05 » lun. 5 déc. 2016 15:11

Bonjour à tous,
Heureux possesseur d'un RPI3, je cherche à utiliser mais avant tout comprendre le fonctionnement des connecteurs gpio. J'ai bcp lus de documentation mais ce n'est tjs pas très clair. Pour commencer, je cherche déjà à savoir pourquoi il y a 2 connecteurs 5v? et un autre de 3.3v? peuvent-ils tous être utilisés en meme temps? combien d'éléments (sonde, etc) puis-je connecter simultanéement aux ports gpio sans soucis? par exemple, je veux connecter 1 PIR sensor, 2 ventilateurs 12V (via des resistances et transistors) et 1 button pressoir pour arrêter la RPI de manière physique et sûr. Est-ce que cela est possible? une mauvaise idée? etc

Un grand grand merci à tous pour votre aide/explications! (je ne veux pas faire de bétisses par manqué d'information) :o

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Comprendre les connecteurs GPIO

Message par dyox » lun. 5 déc. 2016 16:20

Bonjour,

Déjà, mettez ce site en favori pour les gpio. Je n'ai pas trouvé aussi complet et simple.
Pour info, les gpio fournissent 3.3V pour un montant GLOBAL de 50mA ou alors chaque port GPIO peut piloter une charge de 2 à 16 mA !
Il y a des relais (commandés par gpio) à la place des transistors si vous préférez. Il faut prendre ceux compatibles arduino (marqué 5V mais ils fonctionnent en 3.3V)
Il existait sur les précédentes versions de pi un "hack" pour faire un reset et je viens de trouver sur cette recherche pour l'arrêt, donc c'est possible.
Pour votre info, il est possible à partir du 3 de s'affranchir de la µSD en bootant sur clé ou DD et d'utiliser un driver d'accélération matériel openGL (je vous laisse chercher sur le site).

En clair tout est possible dans la limite du hardware :D .

Je serai intéressé par le schéma pour faire fonctionner 2 ventilateurs 12V via des résistances et transistors. L'électronique n'est pas mon domaine :)
Modifié en dernier par dyox le lun. 5 déc. 2016 19:52, modifié 1 fois.

spourre
Raspinaute
Messages : 735
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: Comprendre les connecteurs GPIO

Message par spourre » lun. 5 déc. 2016 18:28

Bonjour,

Vous avez bien raison de vous intéresser au GPIO car, AMHA, c'est ce qui fait tout l'intérêt du Raspberry.
En complément de la réponse de dyox, j'ajouterais:

- Le port GPIO est en prise directe avec le SOC (coeur du Rasperry) donc prudence dans les manipulations.
- Les broches (sauf celles d'alimentation et de masse) peuvent être paramétrées en entrée ou en sortie, une par une, de manière indépendante.
Elles ne fonctionnent qu 'en binaire (0 ou 1) et ne supportent pas plus de 3.3 V (tension d'alimentation du SOC.
- Certaines ont des fonctions pré-définies dans certains protocoles de bus série (I2C,UART, SPI..). N'activez donc ces interfaces que si vous en avez besoin.
- Si vous voulez manipuler des données analogiques (température, pression, humidité, tension ...), il faut utiliser une interface dédiée. De même si vous souhaitez piloter un ou des moteurs, pas à pas ou à courant continu. (il y a un nombre incroyable de convertisseurs à faible prix).
- Les premiers essais d'utilisation du GPIO peuvent se faire en ligne de commande. Pour aller plus loin, il faut investir du temps pour se familiariser avec Perl python voire avec des langages compilés comme C ou C++. Je vous invite à lire, sur la partie blog, les excellents articles sur les saga clignoter une LED et Bouton Poussoir:
http://www.framboise314.fr/la-saga-blin ... r-une-led/

D'une façon générale, le blog regorge d'articles très bien écrits (de ou sous contrôle de François) et qui répondent à beaucoup de questions que se posent les utilisateurs du Raspberry. Il y en a pour tous les niveaux.
Si vous préférez une documentation "papier", il y a le livre du même François (pub gratuite ), en français.
Bon amusement (vous pourriez même utiliser le Lego de vos enfants ).

Sylvain
Modifié en dernier par spourre le mar. 6 déc. 2016 00:20, modifié 1 fois.

hastaluego05
Messages : 5
Enregistré le : lun. 5 déc. 2016 14:25

Re: Comprendre les connecteurs GPIO

Message par hastaluego05 » lun. 5 déc. 2016 19:49

Merci bcp dyox et Sylvain d'avoir répondu si vite :) et avec plein d'explications, j'espère que vous verrais ce message car je n'ai pour le moment pas trouver la fonctionnalité pour répondre au deux en même temps.

Toute vos informations et liens sont les bienvenus, pertinentes et intéressantes mais justement pour moi (novice en électronique) certain aspects sont paradoxale et tjs pas clair.. comme par exemple, vous dites que le SOC ne supporte pas plus de 3.3v alors pourquoi il y a 2x pins a 5v? je ne comprends pas cela. Est-ce que ces 2 pins ne sont pas reliés au SOC directement? Par ailleurs, s'il y a 2 pins 5v j'en déduis que chacun d'entre eux peuvent utilisé indépendamment?
Également, lorsque j'écris que je fais tourner 2 ventilateurs de 12v/0.30a, cela n'a pas l'air de vous choquer ? :D :shock: mais il me semble que 12v est bien au-dessus des 5 ou 3.3v.. du coup je suis tout perdu :(

@dyox: c'est drôle je suis tombé sur le même site auj! effectivement il est très complet pour les gpio. C'est très volontiers que je partage mon schéma pour les ventilateurs :) mais encore une fois je ne vois pas comment uploader mon schéma fritzing (.jpg) dans mon post.. une idée??

Pour info : je fais actuellement tourner les 2 ventilateurs + 1 PIR sensor sans souci "visible" mais je me demande très très fortement si c'est une bonne chose à long terme..

Merci encore pour votre aide et disponibilité! c'est très apprécié :)

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Comprendre les connecteurs GPIO

Message par dyox » lun. 5 déc. 2016 20:09

Le pi est alimenté en 5V et cette tension est redistribuée en 5V et en 3.3V pour par exemple alimenter le touchscreen officiel de la fondation. Cela évite de multiplier les sources extérieurs, économiser des cordons usb...
Je dirais que les pins 5V viennent directement de l'alimentation et le 3V d'un régulateur.

Également, lorsque j'écris que je fais tourner 2 ventilateurs de 12v/0.30a, cela n'a pas l'air de vous choquer ?
=> si, c'est pourquoi j'ai demandé le schéma et ai parlé des relais à la place :D (je m'en sors bien ;) )

Je complèterai que les gpio peuvent être aussi programmés en front montant et descendant.
hop, en favori aussi le site et sa page http://raspi.tv/2013/rpi-gpio-basics-7- ... -tutorials
Modifié en dernier par dyox le lun. 5 déc. 2016 20:23, modifié 1 fois.

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: Comprendre les connecteurs GPIO

Message par guillaume9344 » lun. 5 déc. 2016 20:20

Bonsoir,
12v et transistors ne me choc pas ca été inventé pour ca :D , si c'est bien réalisé cela peut fonctionner trés longtemps. de la meme facon il est possible de commander plein d'autres charges .
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

hastaluego05
Messages : 5
Enregistré le : lun. 5 déc. 2016 14:25

Re: Comprendre les connecteurs GPIO

Message par hastaluego05 » lun. 5 déc. 2016 22:31

Merci guillaume9344 pour votre input :) du coup je comprends dans votre phrase que brancher "plein" d'élément (avec ou sans transistors) sur les gpio ne pose pas de problèmes?

@Dyox: merci pour le favori! "mathématiquement" il a un truc qui cloche hihi comment 5v peuvent être redistribuer en 5v ET 3.3v.. :roll: mais comme mes connaissance en électronique sont plus que limité.. c'est ptetre possible.. je trouvais cela juste pas logique. Je pense aussi que le 5v est directement relié à l'alim mais de nouveau, comment 1x 5v de l'alimentation principale peut fournir à travers les gpio => 2x => 5v.. c'est pas logique pour moi :lol:

redites moi si vous arrivez à voir l'image de mon schéma :) avec plaisir ;) => https://i.imgsafe.org/5dae1c6954.jpg
(les piezos représentent les ventilo ;-))

spourre
Raspinaute
Messages : 735
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: Comprendre les connecteurs GPIO

Message par spourre » mar. 6 déc. 2016 00:36

hastaluego05 a écrit : ...
comme par exemple, vous dites que le SOC ne supporte pas plus de 3.3v alors pourquoi il y a 2x pins a 5v? je ne comprends pas cela. Est-ce que ces 2 pins ne sont pas reliés au SOC directement? Par ailleurs, s'il y a 2 pins 5v j'en déduis que chacun d'entre eux peuvent utilisé indépendamment?
Également, lorsque j'écris que je fais tourner 2 ventilateurs de 12v/0.30a, cela n'a pas l'air de vous choquer ? :D :shock: mais il me semble que 12v est bien au-dessus des 5 ou 3.3v.. du coup je suis tout perdu :(
...
L'alimentation en 5 V, c'est pour rester compatible avec le standard USB. Ces 5 V sont ramenés à 3.3 V pour alimenter le SOC grâce à un convertisseur (à découpage donc très petit et peu de pertes). Ce n'est pas une simple addition/soustraction des tensions. Ce genre de montage peut même produire une tension de sortie supérieure à la tension d'alimentation (ex: alimentation d'un flash électronique); Ce qui est conservé, aux rendement près, c'est la puissance..
Il n'y a rien de choquant d'alimenter un moteur en 12 V à travers un transistor. C'est un montage très classique d'utiliser un transistor en commutation, qui fonctionne comme un interrupteur. Le GPIO commande la base du transistor et ne voit pas le 12 V.

Nota: j'ai édité ma première réponse car j'ai commis un lapsus en écrivant perl à la place de python.

Sylvain

hastaluego05
Messages : 5
Enregistré le : lun. 5 déc. 2016 14:25

Re: Comprendre les connecteurs GPIO

Message par hastaluego05 » mar. 6 déc. 2016 00:54

[quote="spourre"][quote="hastaluego05"]
...
comme par exemple, vous dites que le SOC ne supporte pas plus de 3.3v alors pourquoi il y a 2x pins a 5v? je ne comprends pas cela. Est-ce que ces 2 pins ne sont pas reliés au SOC directement? Par ailleurs, s'il y a 2 pins 5v j'en déduis que chacun d'entre eux peuvent utilisé indépendamment?
Également, lorsque j'écris que je fais tourner 2 ventilateurs de 12v/0.30a, cela n'a pas l'air de vous choquer ? :D :shock: mais il me semble que 12v est bien au-dessus des 5 ou 3.3v.. du coup je suis tout perdu :(
...
[/quote]

L'alimentation en 5 V, c'est pour rester compatible avec le standard USB. Ces 5 V sont ramenés à 3.3 V pour alimenter le SOC grâce à un convertisseur (à découpage donc très petit et peu de pertes). Ce n'est pas une simple addition/soustraction des tensions. Ce genre de montage peut même produire une tension de sortie supérieure à la tension d'alimentation (ex: alimentation d'un flash électronique); Ce qui est conservé, aux rendement près, c'est la puissance..
Il n'y a rien de choquant d'alimenter un moteur en 12 V à travers un transistor. C'est un montage très classique d'utiliser un transistor en commutation, qui fonctionne comme un interrupteur. Le GPIO commande la base du transistor et ne voit pas le 12 V.

Nota: j'ai édité ma première réponse car j'ai commis un lapsus en écrivant perl à la place de python.

Sylvain[/quote]

merci pour la note.
du coup pouvez vous m'informer sur les 2 pins de 5v svp?
ca serait cool d'avoir un avis sur mon schéma/montage :) que pensez-vous ?

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: Comprendre les connecteurs GPIO

Message par guillaume9344 » mar. 6 déc. 2016 07:17

Alors , pour pouvoir comprendre un peut tout ca , voici le schema electrique d'un pi 3 :
https://www.raspberrypi.org/documentati ... EDUCED.pdf
on voit sur la ligne du haut au millieu, le circuit de régulation de la tension qui sort du 5v et du 3.3v et sur le schémat du gpio expansion , les pin 2et 4 (5v) reliées entre elles
pour lire le schémat correctement , les letrre et chiffres en rouge en bout de fils sont des éiquettes, il faut comprendre que deux étiquettes de meme nom sont reliées phisiquement ensemble, mais pour plus de clareté, la liaison n'est pas dissinée, donc toutes les étiquettes 5v sont reliées ensemble de meme pour gpio5 gpio8, sda, slc......tec. par contre 5v et 5vcore sont différent et ne sont donc pas reliés, ils ont des fonctions différentes.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Répondre

Retourner vers « Le GPIO »