jumeaux-numeriques/portail_coulissant
2024-01-22 08:43:28 +01:00
..
img liens vers les maquettes Grove 2023-09-20 11:16:55 +02:00
test Portail coulissant : test du shield moteur 2024-01-14 14:36:33 +01:00
asset Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
AUTHORS.md Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
CC-BY-NC-SA-4.0.txt Transfert du projet 2022-12-05 14:07:17 +01:00
porcou_cmd-bak.py Supression des commandes pour les maquettes AutoProg 2024-01-22 07:05:23 +01:00
porcou_cmd.py Mise en place du pilotage moteur par le shield moteur suite 2024-01-18 04:35:49 +01:00
porcou_doc.py Bugfix capteur barrage du portail, documentation avec plusieurs textes suivante la variante de la maquette 2024-01-18 01:49:39 +01:00
porcou_lib.py Bugfix : runpy manquant pour le monte charge 2024-01-22 08:43:28 +01:00
porcou.csv Déplacement de la commande fin() dans les scripts 2024-01-06 10:19:56 +01:00
porcou.py Mise en place du pilotage moteur par le shield moteur 2024-01-18 04:08:18 +01:00
portail_coulissant-17.blend Ajout de la page Crédits 2023-02-04 13:28:28 +01:00
portail_coulissant-18.blend Fixbug : suppression des liens bugués des polices de caractères 2024-01-22 04:52:39 +01:00
portail_coulissant.bat Ajout des bat pour Windows 2022-12-11 09:57:43 +01:00
portail_coulissant.sh Ajout des scripts shell 2023-01-29 03:35:23 +01:00
README.md Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_about.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_config.xml Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_daq.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_doc.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_file_qt.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_file_wx.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_plot_qt.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_plot_wx.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_plot.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_pylint.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_serial.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin_threading.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00
twin.py Migration de Forge AEIF -> Forge Apps.education 2024-01-21 17:43:50 +01:00

Jumeau numérique d'un portail coulissant

Ce jumeau numérique permet la programmation en Python d'une maquette réelle d'un portail coulissant.

Maquette réelle

Il y a 3 déclinaisons de la maquette réelle :

Capture écran FreeCAD

Maquette numérique

La maquette numérique est basée sur le modèle 3D de la maquette développée par l'entreprise A4 technologie. Les documents techniques et pédagogiques signés A4 Technologie sont diffusés librement sous licence Creative Commons BY-NC-SA.

Site internet de la maquette A4 Technologie : https://www.a4.fr/wiki/index.php?title=Portail_coulissant_(BE-APORT-COUL)

Téléchargement

Les binaires (Game Engine Runtime) sont hébergés sur phroy.org.

Instructions

Le script Python qui permet la commande du portail est le fichier 'porcou_cmd.py'. Il est éditable avec tout éditeur (Spyder, Emacs, Pulsar, ...).

Actions

Les actions (ordre = True ou False) sont :

  • Gyrophare : gyr(True | False)
  • Ouvrir le portail (moteur sens trigo) : mot_o (True | False)
  • Fermer le portail (moteur sens horaire) : mot_f (True | False)
  • Emetteur pour le capteur barrage IR : ir_emet(True | False)

Capteurs

Les compte-rendus (valeur retournée = True ou False) des capteurs sont :

  • Capteur fin de course portail ouvert : fdc_o()
  • Capteur fin de course portail fermé : fdc_f()
  • Capteur barrage IR (absence d'obstacle) : ir_recep()

Pupitre

Les consignes (valeur retournée = True ou False) du pupitre sont :

  • Bouton poussoir coté rue : bp_ext()
  • Bouton poussoir coté cour : bp_int()

Gestion du temps

  • Temporisation : tempo(duree) avec la durée en seconde.
  • Réinitialiser la valeur du temps : reset_t().
  • Obtenir la valeur du temps en seconde depuis le démarrage du cycle : get_t().
  • Définir la valeur (x) du temps en seconde : set_t(x).

Accès aux données

  • Retourne la valeur de la variable à l'instant : get(variable).
  • Enregistre les données et génére un fichier de données CSV à l'arrêt du cycle : daq([variables]).
  • Affiche, à l'arrêt du cycle, le chronogramme des données enregristrées : plot([variables]).

Variables publiques :

  • Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet' et 'ir_recep'.
  • Variables réels (si il y a jumelage) : 'bp_ext_r', 'bp_int_r', 'fdc_o_r', 'fdc_f_r' et 'ir_recep_r'.
  • Autres variables : 't' (temps), 'mot_angle', 'mot_vitesse', 'portail_x' et 'portail_vitesse'.

Jumelage

  • Démarrer le jumelage : jumeau(brochage).
  • Arrêter le jumelage : jumeau_stop().
  • Définit les modes d'activation des entrées/sorties (True ou False) : jumeau_mode(entrées réelles, entrées numériques, sorties réelles, sorties numériques).

Brochage

Le brochage est un dictionnaire qui permet d'associer les objets 3D du jumeau numérique aux broches du jumeau réel.

Son format est le suivant : brochage = { nom:[type, broche, mode] } :

  • nom : nom de l'objet 3D du jumeau numérique,
  • type : a (analogique) ou d (binaire),
  • broche : numéro de la broche de carte (Arduino, ...),
  • mode : i (entrée), o (sortie) ou p (pwm).

Objets 3D du jumeau numérique :

  • Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet' et 'ir_recep'.