Alimenter et piloter un Raspberry Pi avec une alim ATX

Les utilisateurs de Raspberry Pi connaissent bien la petite icône éclair qui s’affiche quand celui-ci manque de jus. Il est vivement recommandé d’utiliser une alimentation officielle de 3A pour éviter ce genre panne. Méfiance aussi sur une alimentation sous marque de 3A, elle n’ai pas aussi forte que cela. Un collègue en a fait récemment les frais. Vous allez me dire, une alimentation ATX ce n’est pas un peu surdimensionné ? Pour un gros projet, j’avais besoin d’alimenter plusieurs équipements avec du 12v et du 5v. Mon but, avoir une seule prise à brancher. Le Pi serait directement alimenté en 5v par 2 ports GPIO (+5v et masse). Une alimentation ATX correspond à mon besoin avec son +12v, le +5v et même du +3,3v… cela peut servir. Ayant pas mal de matériel informatique, cela me coûtera 0€ : j’en ai un stock. J’ai commencé par faire des recherches, car mon souhait était aussi de pouvoir piloter l’alimentation avec le Pi pour l’allumer et l’éteindre comme avec un PC. Un simple interrupteur ne pourra pas fonctionner. Une alimentation ATX est pilotée par un signal électrique haut / bas. Il faut quelques composants électroniques pour provoquer cela, sur un PC c’est intégré à votre carte mère.

L’échec avant la réussite

J’ai commencé par faire des recherches afin de trouver un éventuel tuto pour gagner du temps. Je bricole, mais pas au point de faire un circuit électronique complet. Je trouve assez rapidement mon bonheur sur le site Fire DYI au lien suivant. Je me lance dans le schéma électrique avec une personnalisation pour ajouter : des pins de connexion pour du 12 et 5v, des connecteurs USB pour alimenter des bandeaux LED, ventilateurs, écran LCD… Le site EasyEDA vous permet de faire vos schémas en ligne, mais aussi de commander la carte une fois terminée. Voici le schéma fini avec un connecteur ATX pour un beau montage. Là encore j’ai des cartes mères et je pourrai récupérer un connecteur ATX. Une fois le schéma vérifié, on passe sur le PCB pour faire le chemin de toutes les pistes, un mode automatique peut être activé et ensuite vous pouvez faire vos modifications.

Le tout terminé avec les composants soudés, il en sort cette carte. Plutôt content du résultat il ne reste plus qu’à la tester.

Mais voilà, comme indiqué, celle-ci fut un échec. Lors de la demande d’arrêt du Pi : celui-ci reboot. Avec un admin du site Fire DYI, nous avons essayé plein de choses avant de ne pas avoir de réponse sur ce comportement. Vous trouverez le sujet au lien suivant. Cela ne doit pas venir de la carte, car j’arrive tout de même à faire arrêter le Pi quand celui-ci est alimenté en dehors de la carte (en Micro USB par exemple branché sur secteur), voire sur la même alimentation avec le +5v continu (ce connecteur a toujours 5v même alimentation éteinte). L’alimentation ? Non, j’ai aussi essayé avec une alimentation différente. Est-ce un problème de latence ? Ce qui engendre un reboot car quelque chose ne va pas assez vite ? On ne sait pas, mais je voulais tout de même vous partager mon échec. Je finis par ne plus chercher après 2 mois d’essai.

On repart dans les recherches

Je reprends mon fidèle ami Google et je tombe sur cette carte au lien suivant. Elle fait tout ce que je voulais et même mieux, car c’est un HAT. La carte s’emboîte donc au-dessus du Pi. Le projet est open source. Un manuel PDF explique le fonctionnement, il y a le lien vers GitHub pour l’utilisation du script, mais aussi le schéma électrique pour faire vous-même votre circuit. Par manque de temps j’ai préféré directement commander le kit. Pour cela il faudra aller sur Tindie au lien suivant, son tarif est de 23€ ce qui est un bon prix, mais les frais d’envoi vers la France font mal, il faudra ajouter 35$ soit plus que la carte elle-même. J’ai contacté le vendeur et il m’a fait un envoi plus lent pour 14$. J’ai reçu la carte en 15 jours environ. Lors de l’achat, vous avez 2 options, la première permet de choisir entre un montage simple ou un montage qui permettra d’empiler plusieurs cartes. Le 2e choix permet de sélectionner une version montée ou à faire vous-même, il y aura juste les composants à souder. Je suis parti sur un kit à souder et en version simple. Mais je ne savais pas la différence lors de mon achat, il me fallait une version avec les pins longs pour pouvoir utiliser les ports GPIO, mais le problème est vite réglé.

Le contenu du kit

Dans le kit nous avons la carte, un connecteur ATX 24 pins, de la visserie avec des entretoises, un sachet avec les composants (LEDs, résistants, transistor…) un micro contrôleur et le manuel disponible en PDF sur le site.

Le montage

Pour le montage, rien de compliqué… La notice explique l’ordre de montage des composants. Vous remarquez, j’ai changé le connecteur « Header » par un modèle possédant des broches plus longues. Cela permet d’utiliser les ports GPIO. Comme indiqué plus haut, il est possible de l’avoir dès la commande, mais j’ai mal interprété les différences entre les 2 choix. Je ne vous cache pas que ce n’est pas forcément simple de les avoir en France. Je suis passé par un site français connu pour le Raspberry, mais j’ai reçu un connecteur normal (court à souder). Après réclamation ils m’ont confirmé qu’ils avaient la référence et me les revoient. Surprise, je reçois encore les mêmes ! J’ai donc commandé le connecteur sur un site allemand disponible au lien suivant.

On remarque qu’il y a un espace « breadboard » afin de pouvoir alimenter d’autres équipements avec les différents voltages disponibles par l’alimentation. Il faudra souder des connecteurs pins. Pour une section de câble légèrement plus grosse, il y a 2 borniers à visser pour du +12v et +5v.

Une fois des pins ajoutés, cela vous donne quelques connexions supplémentaires. J’en avais besoin pour mon projet. Seule la première ligne fournit une tension, il faudra faire un pont sur tous les pins. Je n’ai pas réussi à le faire avec simplement de l’étain, n’ayant pas de piste cuivre… il ne tenait pas. J’ai donc utilisé un bout de fil soudé tout au long.

Une fois la carte prête, montez là sur votre Raspberry. Il vaut mieux la monter avant d’installer le script qui va gérer les allumages et les arrêts. Branché sur les connecteurs du côté un bouton-poussoir et une LED. Pour la LED, pas besoin de résistance : elle est déjà sur le circuit.

Installation du script

L’installation est simple, il faut faire les 4 commandes ci-dessous :

  1. sudo wget https://raw.githubusercontent.com/tomtibbetts/Mini-ATX-PSU/master/scripts/shutdownchecksetup.sh
  2. sudo bash shutdownchecksetup.sh
  3. sudo rm shutdownchecksetup.sh
  4. sudo reboot

Utilisation de la carte

Il vous suffit de faire vos commandes habituelles pour arrêter et redémarrer votre Pi. Pouvez aussi utiliser le bouton directement, un appui court ferra un redémarrage du Pi et un appui long un arrêt. Durant cette phase, la LED clignote lentement indiquant l’arrêt en cours.

Pour vos futurs ajouts de branchements sur les connecteurs GPIO, le manuel indique que le script utilise « Please note that this script requires the use of GPIO 4 (pin 16, ‘Boot Ok’) and GPIO 5 (pin 18, ‘Shutdown’)« . Attention, car si vous faites une recherche pour avoir le schéma des ports GPIO vous arriverez le plus souvent sur le type d’image de gauche. Dans le manuel, il parle des ports Wiring Pi que l’on peut voir au lien suivant en cliquant sur le pin, il faut donc bien se baser sur le numéro des pins.

Afin d’éviter les erreurs et de connecter quelque chose sur ces broches, la petite astuce est de mettre un connecteur sans fil pour faire bouchon.

Si vous souhaitez faire vous-même cette carte et au format HAT, vous trouverez des explications et les côtes au lien suivant.

Conclusion

Cette carte est très pratique pour les gros projets qui demandent plusieurs sources d’alimentation et un peu de puissance avec une alimentation plus importante que 3A est nécessaire. Elle fonctionne très bien et le circuit est de qualité. Je dois juste remonter un problème à son concepteur. J’utilise cette carte pour mon serveur d’impression 3D Octoprint. Sur le menu de l’interface web, quand je demande un redémarrage, la carte fait un arrêt au lieu du reboot.

Enfin, ce même concepteur a créé d’autres cartes avec connecteur ATX qui vous permettent de choisir celle qui vous conviendra le mieux. Vous les trouverez toutes au lien suivant.

Cet article fait partie d’une série qui suivra sur le Raspberry, avec à la fin la présentation de mon projet finale.