jeudi 24 octobre 2019

RASPBERRY PI : UPS DFRobot DFR0494



RASPBERRY PI : UPS DFRobot DFR0494


Vous savez probablement que lorsque l'on coupe la tension d'une RASPBERRY PI il peut arriver que l'on détériore le système de fichiers de la µSD, lors d'un accès en écriture notamment.
Cela peut arriver bien évidemment lors d'une coupure ou d'une micro-coupure secteur.
La première solution qui vient à l'esprit est l'onduleur.

Il existe plusieurs solutions :
  • onduleur classique
  • powerbank onduleur
  • cartes spécialisées

1. Onduleur

Un onduleur classique est volumineux et cher.

2. Power-Bank

Tous les power-banks ne conviennent pas. Il faut en effet que la fonction recharge et la fonction alimentation soient disponibles simultanément. C'est rarement la cas.
On en parle ici : https://www.iotera.fr/batteries-externes-avec-fonction-onduleur-pour-votre-box-jeedom-ou-raspberry/

J'ai essayé cette solution :

Ce mini-chargeur semble bien pratique mais ne pourra hélas pas être utilisé comme UPS. Lorsque l'on débranche l'alimentation secteur, l'alimentation de la RASPBERRY PI est coupée.
Par contre il peut être utilisé sans problème comme alimentation portative.

3. Cartes spécialisées

Il existe des cartes spécialisées enfichables sur la RASPBERRY PI. J'ai essayé la DFRobot DFR0494 (prix : 18.50€ chez GoTronic).

Cette carte a été testée plus en profondeur dans un autre article :
https://riton-duino.blogspot.com/2020/02/raspberry-pi-ups-dfrobot-dfr0494-en-test.html

3.1. Mise en œuvre

Attention : je pense qu'il est préférable de ne pas enficher la carte équipée de sa batterie sur la RASPBERRY PI. J'ai préféré enficher la carte et insérer la batterie ensuite.

Après déballage, j'ai collé un support de batterie 18650 sur la carte, soudé les deux fils sur les bornes prévues :


Ce n'est pas très esthétique ni très pratique. Il serait plus intéressant d'utiliser une batterie LIPO et de la raccorder au connecteur JST prévu sous la carte.
La carte peut supporter une batterie LIPO de 40mm x 60mm.

On peut ensuite brancher un câble micro-USB sur la carte pour recharger éventuellement la batterie.

Une fois la batterie chargée, il vaut mieux la retirer avant d'enficher la carte sur la RASPBERRY PI.

Apparemment, il y a un problème de compatibilité avec la PI 3b : le connecteur de batterie vient buter sur le connecteur POE :


On peut soit se passer du POE et couper les pins du connecteur, soit dessouder le connecteur JST de la carte DFRobot et connecter la batterie par soudure, comme vu plus haut.

On peut ensuite brancher les  câbles de la RASPBERRY (Ethernet, USB, écran, alimentation). Une fois la carte démarrée, mettre la batterie en place.

3.2. Test

Il ne reste plus qu'à débrancher l'alimentation de la RASPBERRY PI pour tester. Bonne nouvelle, cela fonctionne.

3.3. Autonomie

Normalement l'autonomie devrait être de 3 heures avec une batterie de 1000mAH et une RASPBERRY PI 1 ou 2, moitié moins avec une RASPBERRY PI 3 ou 4.

3.4. Recharge

On pourrait penser que la batterie va se recharger lorsque l'on rebranche l'alimentation de la RASPBERRY PI. Hélas non.

La recharge de la batterie nécessite le raccordement de la carte à une deuxième alimentation USB. La recharge sera plus ou moins rapide en fonction de la puissance de l'alimentation. Un chargeur de téléphone peut faire l'affaire.

Le courant de charge maximal est de 1.6A.
Le courant de charge d'une batterie LIPO ou LITHIUM-ION ne doit pas dépasser C/2. Si l'on installe une batterie de 1000mAH il serait préférable d'utiliser un chargeur de 500mA maximum.

Si l'on se contente d'un courant de charge plus faible, il est possible de brancher la carte sur un port USB de la RASPBERRY PI à laide d'un simple cordon USB.
Pendant la charge, si l'alimentation de la RASPBERRY PI est coupée, la charge est stoppée. Ils ont pensé à tout.

3.5. État de la batterie

Un bouton permet de visualiser l'état de charge à l'aide 5 LEDs.

La carte est également équipée d'un microcontrôleur qui peut communiquer par I2C avec la RASPBERRY PI. Un petit script PYTHON pourra facilement récupérer l'état de charge de la batterie.

Voir ici : https://wiki.dfrobot.com/Raspberry_Pi_%20UPS_HAT_SKU_DFR0494

Avec une RAPBERRY PI 2 le résultat est immédiatement au rendez-vous :

La détection du module se passe bien :

pi@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
40: -- -- -- -- -- 45 -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                        


L'exécution du script donne le résultat attendu :

pi@raspberrypi:~ $ python ./ups.py
capacity=4196mV
electricity percentage=98.38
pi@raspberrypi:~ $


J'ai l'impression par contre que le support de l'I2C sur RAPBERRY PI 1 laisse à désirer.
Le seul résultat que j'ai obtenu se résume à peu de choses :

pi@raspberrypi:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                        
pi@raspberrypi:~ $ Connection to 192.168.1.16 closed by remote host.
Connection to 192.168.1.16 closed.


Autrement dit la RASPBEERY PI s'éteint après la détection du module UPS.

3.6. Shutdown automatique

Dans un script de surveillance on peut décider de faire un shutdown de la RASPBERRY PI quand la capacité de la batterie chute en dessous d'un certain seuil.

Après un shutdown automatique, lorsque la tension secteur est rétablie la RASPBERRY PI ne redémarre pas automatiquement.
Si l'on dispose d'un bouton POWER sur la RASPBERRY PI le redémarrage sera facile. Sinon pour redémarrer la carte il faudra débrancher les alimentations secteur, retirer la batterie, puis rebrancher le tout.

Voir ici pour ajouter un bouton POWER :
https://riton-duino.blogspot.com/2019/10/raspberry-pi-un-bouton-power-off.html
Paragraphe 4. Le bouton POWER complet.

3.7. Écran natif 7 pouces

Je remarque après coup qu'avec ce module UPS le backlight de l'écran ne s'éteint pas quand la RASPBERRY PI passe en mode veille.
Testé avec une RASPBERRY PI 2.

4. Les alimentations

Avant de conclure il faut aussi parler du bloc secteur qui alimentera la carte DFR0494.

J'avais jusqu'à présent un bloc 5V / 2A :
Goobay 43652 2A

Acheté fin décembre 2015, décédé il y a peu, début mai 2020.

Ce modèle 5V / 3A également, acheté en 2016, a fonctionné quelques mois :
Aukru-bs-530 3A

J'estime qu'une RASPBERRY PI mérite d'être alimentée avec un bloc de meilleure qualité que ces chargeurs bas de gamme. Ceux-ci ne sont pas capables d'assurer une alimentation permanente 24H/24.

J'ai donc commandé une alimentation plus sérieuse :
MeanWell RS-15-5 3A

Pour un montage sur rail DIN j'utilise ceci :
MeanWell HDR-15-5 2.4A

Le prix de le qualité n'est finalement pas si élevé :
  • Goobay 43652 2A : 10€
  • Aukru-bs-530 3A : 13€
  • MeanWell RS-15-5 3A : 8.50€
  • MeanWell HDR-15-5 2.4A : 12€
  • MeanWell HDR-30-5 3A : 15€
Une alimentation MeanWell nécessitera simplement d'ajouter un cordon µUSB que l'on pourra fabriquer en coupant un cordon classique. On dénudera les fils noir et rouge pour pouvoir les serrer dans son bornier à vis.

5. Photo

Voici la photo du montage avec sa batterie LIPO 3000mAH (42mm x 60mm) et le bouton ON / OFF :


6. Conclusion

Le produit est plutôt bien pensé mais pas totalement. Le shutdown automatique est problématique. Ce système convient seulement si l'on vise à conserver le fonctionnement pendant une coupure secteur de quelques heures, sans shutdown automatique.

Un autre regret : le bouton présent sur la carte pourrait aussi servir de bouton POWER.
La version 1.1 du firmware le permet. Voir ici : https://wiki.dfrobot.com/Raspberry_Pi_%20UPS_HAT_SKU_DFR0494

Cette alimentation UPS est en place sur mon serveur DOMOTICZ (RASPBERRY PI 3B) et donne entière satisfaction, sans shutdown automatique.


Cordialement
Henri

7. Mises à jour

08/11/2019 : 3.7. Écran natif 7 pouces
09/11/2019 : 2. PowerBank
09/05/2020 : 4. Les alimentations
04/06/2020 : 5 Photo

Aucun commentaire:

Enregistrer un commentaire