PYBStick: un automate programmable sous MicroPython

Il y a pas mal d'année, nous avions croisé le projet PLDuino, un automate programmable à base d'Arduino, un projet captivant mais malheureusement devenu inaccessible :-/

Et pourquoi pas un automate MicroPython ?

Si on l'a fait avec PLDuino alors on peut aussi le faire avec MicroPython.
Mais attention, il faut un truc sérieux qui tient vraiment la route!

Vu que je suis automaticien de formation, littéralement accro à MicroPython au point d'écrire des pilotes et que nous brassons beaucoup de matériel électronique chez MCHobby. Deux association germent rapidement.

Choix 1: quelle plateforme MicroPython?

Utiliser une plateforme MicroPython abordable qui a le vent en poupe.
Et pourquoi pas la PYBStick Std ou PYBStick pro?
C'est Français, super abordable, de qualité exceptionnelle. La PYBStick supporte MicroPython et Arduino IDE (support officiel).
Que demander de plus ?

Choix 2: l'interface de puissance

Un automate doit pouvoir fonctionner dans un environnement 24 Volts, disposer de relais de puissance (pas des gadgets chinois), une nombre d'entrées/sorties convenable. Pouvoir être utiliser avec des capteurs I2C, OneWire, etc, etc, etc.

Alors le premier produit de qualité "Pro" qui me vient à l'esprit, c'est la carte UniPi version complète (existe aussi en version UniPi Lite).
Ce n'est plus des jouets.

UniPi-MicroPython-Automation

Nous voici avec une solide base de travail, le projet UniPi-MicroPython-Automation vient de naître.
Il ne reste plus qu'à faire coexister les deux mondes (et puisque MCHobby à documenté UniPi en Français, nous avons déjà un train d'avance).

Voici le tout premier prototype de travail du projet.

C'est qu'avec UniPi, nous disposons d'une série d'interface de choix pour l'automation:
  • 8 x relais 250V/5A
  • 12 (+2) × entrées digitales 5 et 24V DC
  • 2 × entrée analogique 0-10 V DC
  • 1 × sortie analogique 0-10 V DC
  • 1 × port 1-Wire (RJ45)
  • 1 × port I2C (RJ11)
  • 1 × port UART (RJ11)
  • 1 × Horloge temps réel (RTC)
  • 1 x breakout I2C
  • 1 x sortie 12v 200mA
Pour notre part, nous avons ajouté un connecteur UEXT (Olimex) qui transporte un bus I2C, SPI, UART et alimentation.
Idéal pour interfacer des éléments complémentaires sur la plateforme.

Résultat préliminaire

C'est le tout début du projet mais déjà prometteur.
from unipi import unipi

# Change some relays
unipi.relays[1] = True
unipi.relays[3] = True
unipi.relays[8] = True

# Display the relay state (one at the time)
for i in range(1, 9):
print( "%s = %s" % (i, unipi.relays[i]) )

Un projet tout taillé pour la PYBStick et en droite lignée avec ses applications industrielles :-)

Où acheter

Aucun commentaire