Raspberry Pi Balcon 4 In Capteurs + 4 Out PWM + Intensité générale Raspberry Pi

Balcon 4 In Capteurs + 4 Out PWM + Intensité générale Raspberry Pi

Documents disponibles :

Page du balcon sur la boutique : Carte Balcon Raspberry Pi 4 In + 4 Out.

Cette carte donne à la Pi des fonctionnalités pratiques d’entrées / sorties prêtes à l’utilisation.
02-schema-balcon-raspberry-pi-interface-z

I - Caractéristiques techniques

1 - Entrées

  • 4 entrées pour capteurs analogiques 5V en résolution 4096 pas (12 bits).

2 - Sorties

  • 4 sorties gradation basse tension PWM (Pulse Width Modulation) 4 Ampères 5 à 12 Volts, en résolution 128 pas :
    pilotage de rubans de LED mono/tri/quadri-chromiques, petits moteurs à courant continu, petits électroaimants...
    Par exemple avec un ruban tri ou quadrichromique, ces réglages permettent de choisir la couleur.
  • 1 contrôle général d’intensité en gradation PWM en résolution 512 pas :
    toutes les sorties sont pilotées en même temps en variation de tension.
    Cela permet de gérer par exemple l’intensité d’une couleur de LED sans modifier sa tonalité.

3 - Compatibilité vérifiée

  • Raspberry Pi 3
  • Raspberry Pi 4

II - Connectique et branchements

1 - Connecteur Pi

Connecteur 40 points femelle à brancher sur la carte Raspberry.
03-Connecteur-raspberry-pi

Attention : brancher la carte Balcon à l’endroit ! La carte est calibrée pour se placer au-dessus de la Raspberry Pi, les trous de fixation sont alignés.

Connecteurs à verrouillage et détrompeur

Les connecteurs suivants comportent un léger verrouillage mécanique et un détrompeur.

  • Le verrouillage évite aux capteurs ou autres branchements de se débrancher accidentellement.
  • Le détrompeur permet d’éviter de se tromper de sens, ce qui provoquerait des dégâts matériels.

Inverser une alimentation, de capteur ou d’actionneur, provoque un court-circuit et abîme les cartes.

2 - Connecteurs pour 4 capteurs

Connecteurs coudés 3 points à détrompeur et verrouillage.
Ces connecteurs servent à brancher des rallonges IZ pour capteurs. Ils comportent : masse / 5 Volts / Signal.
04-connecteur-capteur-interface-z
Ordre des capteurs : 2, 1, 4, 3.
Cet ordre n’a d’importance que pour la réception des données dans le programme utilisé, n’importe quel capteur peut être branché sur n’importe quel connecteur.
Les capteurs peuvent être branchés et débranchés à chaud, leur ordre peut être modifié, sans devoir éteindre la Raspberry Pi.
05-schema-connecteur-capteur-interface-z
Ordre des points sur un connecteur capteur :
Signal, 5 Volts, Masse (détrompeur derrière les picots)
Cet ordre doit être respecté afin de ne pas endommager le matériel.

3 - Connecteurs pour actionneurs

a - Alimentation

Connecteur 2 points à détrompeur et verrouillage

Sens +/-

Il sert à brancher l’alimentation spécifique des actionneurs pilotés. La tension de cette alimentation dépend donc du type d’actionneur piloté : par exemple un ruban de LEDs peut être 5 Volts ou 12 Volts, un moteur à
courant continu peut être 6 V, 9 V, 12 V, etc...
06-connecteur-alim-interface-z

ATTENTION ce connecteur est polarisé, il NE FAUT PAS BRANCHER à L’ENVERS.

Le (-) est situé près des connecteurs capteurs, le (+) est situé près des connecteurs actionneurs.

Une alimentation pour tous

Les 4 actionneurs distincts qui sont pilotables par cette carte Balcon doivent être alimentés par une même source d’alimentation.
Par exemple, les 4 couleurs d’un ruban de LED RGBW 12V seront entièrement alimentées par ce connecteur. Cette alimentation doit donc être dimensionnée correctement en fonction des actionneurs branchés sur les sorties de la carte Balcon.

b - 4 sorties Gradation PWM Out standards

Connecteur 5 points à détrompeur et verrouillage.
PWM = Pulse Width Modulation = Modulation de largeur d’impulsion
07-connecteur-actionneurs-pwm-interface-z-raspberry

Polarisation des actionneurs

Les actionneurs compatibles ont 2 fils permettant de les alimenter en tension continue. Certains actionneurs n’ont pas de sens +/- (certains électro-aimants), certains ont un sens non destructif (un moteur change de sens de rotation en fonction de son sens de branchement), certains ont un sens obligatoire (une LED sans résistance ne fonctionne que dans un sens).

4 (-) et 1 (+)

La carte Balcon pilote les actionneurs via leur fil (-). C’est par exemple le pilotage standard pour les rubans de LED. Les fils (+) des 4 actionneurs sont mis en commun sur le picot (+) du
connecteur 5 points.
Ce branchement est typique des rubans de LED quadrichromiques, qui comportent une piste (+) et un point de branchement par couleur. Il est néanmoins compatible avec des actionneurs individualisés comme des moteurs, des ampoules, des relais, des électroaimants...

Ordre des actionneurs

Le (+) commun est situé au plus près du connecteur d’alimentation des actionneurs.
Les sorties sont ensuite dans l’ordre 1, 2, 3, 4 en allant vers le bord de la carte. Dans le cas d’actionneurs polarisés comme des LEDs, les fils (-) sont connectés sur ces picots.

c - Contrôle d’intensité en gradation PWM Out général

Il n’y a pas de connecteur spécifique pour cette option. La commande d’intensité générale se fait par le code, il n’y a rien à brancher en plus.

III - Configuration de la Raspberry Pi

La carte Balcon utilise le port série de la Raspberry, une connexion appelée TTL.
Le port série est désactivé par défaut.

1 - Activer le GPIO serial port

De base, la configuration de la carte Raspberry est est associée à un mode console et est incompatible avec une utilisation standard du port série pour communiquer avec du matériel.
Nous devons donc modifier cette configuration.

a - Soit via le fichier config.txt

Éditer le fichier config.txt :

$ sudo nano /boot/config.txt

Ajouter en bas la ligne :

enable_uart=1

Enregistrer.
Redémarrer la Raspberry pour que ce changement prenne effet.

b - Soit via le terminal

Ouvrir un terminal et lancez la commande

$ sudo raspi-config

pour accéder à la gestion de la configuration.
Choisir Interfacing options dans le panneau (touches flèches, Entrée) ;
puis P6 Serial ;
question «Would you like a login shell to be accessible over serial ?» répondre No
Question «Would you like the serial port hardware to be enabled?» répondre Oui
Panneau résumé : OK
Retour au panneau d’accueil, touche flèche droite, Finish, Entrée.

Redémarrer la Raspberry pour que ce changement prenne effet.

2 - ttyAMA0 et ttyS0

Sur les Raspberry Pi 3 et 4, le port /dev/ttyAMA0 (port série performant sur les Pi 1 et 2) a été récupéré et assigné au Bluetooth. Il n’est de base plus disponible pour communiquer avec des périphériques série. Un deuxième port série est apparu, un mini uart, sur /dev/ttyS0, pour compenser cette disparition et devenir un GPIO serial port. Mais ce mini-uart est moins performant que le précédent et il arrive que les données transmises y soient corrompues.

Les instructions suivantes permettent de remédier à cette situation et d’utiliser la carte Balcon avec un port série performant. Le Bluetooth peut être soit désactivé soit assigné au mini-uart.

3 - Désactiver la console

Pour utiliser le port série pour autre chose qu’une console, il faut désactiver cette dernière.

Pour les Raspberry 3 et 4, dans un terminal, il faut s’adresser au /dev/ttyS0 :

`$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service

Attention, pour les Raspberry autres que 3 et 4, il faut s’adresser au /dev/ttyAMA0, dans un terminal :

$ sudo systemctl stop serial-getty@ttyAMA0.service
$ sudo systemctl disable serial-getty@ttyAMA0.service

Enfin, il faut enlever toute allusion à la console dans le fichier cmdline.txt :

$ sudo nano /boot/cmdline.txt

lequel contient des lignes ressemblant à ceci :

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline
fsck.repair=yes root wait

voire même

quiet splash plymouth.ignore-serial-consoles

Effacer

console=serial0,115200

Sauvegarder et redémarrer pour que les changements soient pris en compte.

4 - Échanger les Serial Ports

Pour récupérer un port série performant (le /dev/ttyAMA0) sur le GPIO pour transmettre ses données, il faut échanger les rôles des uart. Le Bluetooth se retrouve sur le mini-uart /dev/ttyS0.
Dans le terminal :

$ sudo nano /boot/config.txt

et ajouter à la fin du fichier :

dtoverlay=pi3-miniuart-bt

Remarque : si le Bluetooth n’est pas utilisé, il est possible de le désactiver avec un autre overlay dans /boot/config.txt : dtoverlay = pi3-disable-bt.

Vérifier si cela a fonctionné, dans le terminal :

$ ls -l /dev

Il devrait y avoir deux lignes se terminant par :

serial0 -> ttyAMA0
serial1 -> ttyS0

IV - Mise en œuvre informatique

Un code Processing pour test de réception des capteurs et envoi de commandes aux actionneurs (sorties individuelles et intensité générale) est disponible au téléchargement :
Serialraspberry_test_balcon_def.zip

Précautions d'emploi

Les précaution d'emploi sont détaillées ici.