Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Aide pour comprendre fonctionnement VI commande sorties digitales
    Bonjour,

    Dans le cadre d'un travail j'ai à utiliser un VI faisant tant l'acquisition de grandeurs physiques (force, pression, température) que la commande de plusieurs éléments (allumeur, electrovannes, détendeur)par des interrupteurs dans le cadre d'une application expérimentale et j'ai sous la main un VI reprenant les 2 parties (qui fonctionne), mais je voudrais comprendre ce qui se passe exactement dans la partie commande (utilisation des sorties numériques d'une carte DAQ NI USB 6218).
    En effet plusieurs éléments sont commandés à l'aide d'interrupteurs 5v/15mA, il y'en a 5 au total (il a fallu ajouter une alim 5V supplémentaire)
    dans une séquence réglable: allumage à la sec 4, ouverture des 3 électrovannes à la seconde 5, 5.2, 5.4, fermeture électrovannes seconde 15 suivie d'un "venting" purge (par ouverture d'un détendeur)...je joins au fichier rar "moteur fusée.rar" le schéma du cablage également.

    Ce qui m'intéresse le plus c'est de savoir quelle est "l'idée " ou la "logique" de la partie commande (en dessous dans le diagramme en blocs) qui m'échappe, j'essaye de visualiser "à la main" la succession des opérations, mais ça ne m'aide pas vraiment.
    Aussi si quelqu'un a compris comment je pourrais ajouter un élément AVANT dans le temps la commande "ignition", c-à-d commander un switch juste avant (seconde 2 p.ex).
    Merci beaucoup, si ce n'est pas clair dites-le moi, j'ai vraiment besoin d'aide.

    Merci


    PS:ci-dessous la description du VI (partie commande) par celui qui a conçu la partie commande :

    "Pour controler avec précision le timing de la séquence d'allumage-injection il a été choisi d'intégrer une série d'interrupteurs électroniques dans le système. Ceux-ci sont directement contrôlés avec labVIEW via la partie digitale de la carte d'acquisition dont nous disposons.

    Avant de continuer plus loin dans les explications sur le boîtier de commande, il nous
    semble utile d'expliquer succinctement le principe de fonctionnement des interrupteurs et
    de la partie digitale de la carte d'acquisition.
    Les interrupteurs possèdent 2 paires de connecteurs IN=OUT. La première paire sert pour
    le contrôle via une alimentation en 5V=15mA, la seconde sert de commutateur normalement
    fermé pour la ligne d'alimentation à contrôler.

    Les canaux utilisés pour la commande des switchs sont :
     Le canal + 5V faisant oce de borne "+" ou de ligne.
     Le canal D GND faisant oce de prise de terre.
     Les canaux P1.0 à P1.4 faisant oce de borne "-" ou de retour

    Nous avons donc travaillé avec une ligne commune à tous les interrupteurs. Celle-ci est
    toujours alimentée en 5V=50mA via le port USB de la carte d'acquisition. Néanmoins,
    étant donné que nous utilisons 5 switchs consommant chacun 15mA, il nous a été né-
    cessaire d'ajouter une alimentation 5V extérieure se branchant directement sur le canal
    digital +5V.
    Le retour se fait via les canaux P1.0 à P1.4 qui sont quant à eux isolés du circuit tant que
    la commande n'est pas donnée via LabView. À ce moment, ils sont connectés à la terre
    et le circuit est fermé. Les interrupteurs sont alimentés et le courant peut passer à travers
    l'interrupteur.

    Une fois cette parenthèse terminée et le principe de fonctionnement du circuit connu,
    nous pouvons passer à la présentation du boîtier de commande.
    Les gures 3.9(a) et 3.9(b) donnent une représentation du boîtier de commande vu de
    la droite et de la gauche respectivement.(voir figures "boitier.jpg")

    Sur la face droite sont disposées une série de ches bananes femelles servant à relier le
    boîtier à la carte ainsi que la che servant à l'alimentation des prises situées sur la face
    arrière et de l'alimentation 5V disposée dans le boîtier.
    Les ches jaunes sont prévues pour les bornes "-", la che verte pour la borne "+" et la
    rouge pour le contact à la terre. De la gauche vers la droite les ches jaunes sont reliées
    aux canaux contrôlant l'allumage, l'ouverture des 3 électrovannes et le venting.
    La coupure d'urgence du circuit (champignon rouge) se fait en interrompant l'alimentation
    des interrupteurs (coupure du"+").
    Sur la face arrière se trouvent trois prises en 220 V alternatif. Les deux premières en
    partant de la gauche contrôlent le venting et l'allumage. La troisième est disposée an
    d'avoir une alimentation pour l'ordinateur portable utilisé.
    Sur la face de gauche se trouve une che six broches servant à relier le boîtier de commande
    aux interrupteurs des trois électrovannes. Ceux-ci ne se trouvent pas dans le boîtier
    de commande car le courant qu'ils contrôlent est en 12VdC=18A. Il a été dès lors choisi
    de limiter au maximum le câblage électrique entre ces interrupteurs et les électrovannes
    pour de raisons évidentes de limitation des pertes par effet Joule.

    Nous avons également trouvé utile d'ajouter un système de contrôle manuel des électrovannes
    (boutons blancs) et de la ventilation (bouton rouge). Cela permet après chaque
    test de pouvoir purger le circuit après fermeture des bouteilles de N2O sans pour autant
    devoir relancer l'acquisition.
    Ces boutons sont normalement fermés et, lorsqu'ils sont poussés, la borne "-" de l'interrupteur
    est reliée directement à la terre.
    Pour terminer, la face supérieure présente différentes LED nous renseignant sur l'ouverture
    ou la fermeture des différents circuits 2.




    À côté du boîtier de commande, il a également fallut adapter le VI utilisé dans LabView. Nous nous sommes pour cela basé sur le VI précédemment réalisé.
    Celui-ci a été modifié afin d'intégrer la gestion de la partie digitale de la carte. Celle-ci
    étant indispensable pour le contrôle des interrupteurs
    L'utilisation du programme est aisée, l'utilisateur peut rentrer sur la face avant les différentes valeurs qu'il désire pour le timing.
    Nous pouvons voir que l'utilisateur a la possibilité de contrôler séparément les différents
    timings. Il dispose également à côté de la partie commande, d'une partie indicateur lui
    permettant de voir le temps écoulé ainsi que l'état des différents interrupteurs.
    La programmation consiste en fait en une successions de sélecteurs placés en cascade.
    Le tout est situé dans une boucle FOR de 100000 itérations an d'être certain que le
    programme ne se termine avant la n de la séquence.
    Pour chaque sélecteur une condition sur le temps écoulé permet de vérier quelles valeurs
    le programme doit renvoyer.
    Cette solution n'est sans doute pas la plus élégante possible mais elle est relativement
    facile à comprendre et simple à modier.

  2. #2
    Membre averti
    Salut,

    Je comprend pourquoi tu te prend le chou pour réussir à comprendre la partie dans la boucle FOR ... c'est une vrai "usine à gaz".
    J'ai eu du temps à te consacrer mais normalement, pour ce genre de problème, nous ne devrions pas être sollicité.

    Bref, je t'ai mis en PJ une "légère" amélioration du code. Toutes les conditions étaient testées 2 fois => inutile. VIVE LES ALGORITHMES !!! . J'ai mis les deux codes en parallèle pour que tu vois que ça fait la même chose.
    Si tu veux rajouter quelque chose avant "l'ignition", ça se passe tout en bas.

    Losaque.

    P.S : Pour ce genre de problème, il faut réorganiser le VI (sous VI pour les parties de code redondante, commande à gauche, indicateur à droite ...).