hacheur). Décalage : 255 Copyright © Pour réaliser cette analyse, il est nécessaire de linéariser le diagramme. Configurez les blocs à l'aide des données initiales. Le courant circulant dans la bobine génère des forces de Laplace qui se traduisent par un couple moteur Cm. Le potentiomètre permet de définir la consigne de vitesse du moteur en incréments par seconde. Région des Délices Introduction à la modélisation _____ 4 Vitesse angulaire (rad / s). Nous avons vu précédemment que la consigne issue du potentiomètre varie de 0 à 1023. Lancez une simulation sur 0.5 s (en prenant 1000 points) et observez l'allure de la réponse. Academia.edu is a platform for academics to share research papers. La programmation de toutes les cartes de la famille Arduino, dont le modèle Uno, se fait dans un langage simplifié adapté du C / C++, basé sur l'utilisation de « classes » (ou macro-commandes) faciles à comprendre et à modifier, y compris par des personnes non spécialistes de la programmation. Il a été président du CNRS de 2010 à 2017. Temps de départ : 1 s, Durée : 2 s Pour faire fonctionner un codeur, nous avons besoin d'entrées en interruption. Comportements physiques élémentaires, II-B-2. Insérez un bloc MEMC_DCmotor (sous-palette Composants / Actionneurs) dans une fenêtre d'édition. Vous avez aimé ce tutoriel ? Ouvrez une nouvelle fenêtre d'édition Xcos et ajoutez le bloc de configuration du port série ARDUINO_SETUP (sous-palette Configuration) et le bloc échantillonnage TIME_SAMPLE (sous-palette Configuration) avec un échantillonnage de 0.01 s. Pour commencer, double-cliquez sur le bloc d'alimentation et choisissez un échelon d'amplitude 80 V (tension maximale du moteur). Lancez ensuite une simulation. Modélisation multiphysique acausale (module SIMM), II-A. Modifiez le bloc Trapèze MBS_Ramp (sous-palette Signaux / Sources) pour obtenir directement la tension de commande du moteur (Amplitude -80, Décalage 80 V). Les forces volumiques sont des forces qui vont s'appliquer à tout un objet. Durée : 0.15 s On choisit alors de renseigner le gain Ki du correcteur PI : kitxmlcodeinlinelatexdvpC(p) = Kp + \frac{Ki}{p} = Kp \left ( 1 + \frac{1}{T i p} \right )finkitxmlcodeinlinelatexdvp. En réalité, la tension délivrée au moteur ne peut pas être constante, car la commande est gérée par un joystick. c) Résultat de la modélisation On multipliera par 10 tous les résultats précédents pour avoir des résultats en N. Remarque 1 : Concernant les unités, en physique : - Les forces sont en N - Le poids est une force Néanmoins, par abus de langage, en RDM ou … Afin de ne pas trop solliciter le moteur électrique, on l'alimente progressivement jusqu'à la valeur nominale (voir figure ci-contre) : on donne tm = 0.1 s (temps de montée) et U0 = 40 V (tension nominale). 10 000 points Commande de sorties analogiques : PWM, IV-B-3-a. Cette tension est liée à d'importants frottements secs dans le réducteur. En pratique, la mesure de courant est réalisée par une résistance ou une sonde ampèremétrique de gain égal à 0.245 V.A-1. Nous pouvons donc en x4 obtenir 12 incréments par tour de l'arbre moteur. L'ENAP offre des programmes d’études de maîtrise et de doctorat pour les gestionnaires et les professionnels du secteur public ainsi que des services de formation continue, de sélection de personnel, d’évaluation des compétences, de gestion de la carrière, de coaching, de conseil en gestion et d’appui à la gouvernance tant au plan local qu’à l’échelle internationale. Cette variable tient compte de l'ensemble correcteur + module d'amplification (hacheur) en amont de l'ensemble constitué du moteur et de la chaîne cinématique. Lancez alors la simulation. Les sources présentées sur cette page sont libres de droits Un gain de 30 / Ï (qui s'écrit dans Scilab 30 / %pi) permet d'obtenir la vitesse de rotation en rad.s-1. Afin d'améliorer sensiblement la capacité du système à suivre la consigne de vitesse, il est nécessaire d'apporter un effet intégral à la correction. Ajoutez un bloc moteur continu DCMOTOR_SB (sous-palette Motor) et configurez-le pour gérer la carte PMODHB5 et le moteur n°1. Lancez la simulation et observez l'influence du gain du correcteur sur les performances en comparaison aux attentes du cahier des charges. Pour faire varier la tension d'alimentation du moteur, il est nécessaire d'utiliser un hacheur. Dans cette première partie, nous allons construire le diagramme du moteur à courant continu (résistance Rm, inductance Lm, constante de couple Kt, constante de vitesse Ke et inertie équivalente rapportée à l'axe moteur Je). Le module CPGE permet de dimensionner les correcteurs à mettre en place dans le système par des analyses fréquentielles. L'asservissement est également réalisé sur la vitesse brute, car le filtre introduit un retard dans le calcul de la vitesse. la tension d'entrée doit nécessairement être inférieure à la tension de référence (5 V ou 1.1 V ou AREF : référence externe). On s'intéresse dans un premier temps au déplacement de l'ensemble en supposant l'armature fixe par rapport au chariot. Elles se déforment puis finissent par casser. Correction personnalisée. Les PINS 0 et 1 ne seront donc pas utilisables. %PDF-1.1
%����
9 0 obj
<<
/Length 10 0 R
/Filter /LZWDecode
>>
stream
De … d��@.\�"D��A�{D4��8Ս4��>oB���pP�(j*�� Pour analyser l'influence des paramètres et le réglage du correcteur, on réalise une analyse fréquentielle en boucle ouverte. Effectuez des recherches dans l'index de livres complets le plus fourni au monde. Cette structure de commande est très classique de nos jours. Dans Xcos, ajoutez le bloc ENCODER_SB (sous-palette Digital). Celui-ci est téléchargeable depuis le site http://atoms.scilab.org/toolboxes/arduino. Normalement les blocs non-linéaires (type saturation) sont remplacés par des gains unitaires (sauf pour le retard qui peut être traité exactement en boucle ouverte). Le cahier des charges du système est donc le même que dans le chapitre précédentExemple 3 : axe asservi d'angiographie bi-plan. L'équation 3 traduit le lien entre la vitesse angulaire et la force électromotrice. Une valeur trop grande du gain entraînera nécessairement un dépassement de la tension maximale. On doit voir une courbe variant de 0 à 1023 selon l'angle du potentiomètre. On constate cependant que, pour plusieurs valeurs de Kp, cette tension est dépassée. Une méthode de vérification du graphe des prestations (phrase de synthèse). Le but est de réaliser un variateur de lumière à partir de la consigne issue du potentiomètre grâce à la diode. Ensuite, il est nécessaire de spécifier les bons PINS pour la voie A (forcément 2 ou 3) et la voie B, qui permet de trouver la direction. Pour simplifier la commande du moteur, on peut utiliser une source d'intensité pilotée MEAS_SignalCurrent (sous-palette Ãlectrique / Sources) plutôt que l'asservissement d'intensité, ce qui revient à considérer cet asservissement comme parfait. N. B. Les deux forces ne sont égales que lorsque la bille atteint une vitesse de chute stationnaire. Par contre, la page de présentation De nombreux axes linéaires (imprimante par exemple) utilisent ce type de commande (boucle d'intensité et de vitesse) pour contrôler précisément les mouvements. trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Le principe de la boucle de courant est simple. Sinon vous encourez selon la loi jusqu'à Les séismes ont pour origine une rupture brutale des roches en profondeur sous l’action de forces (les contraintes). Les clubs étudiants sont dynamiques à la Faculté de génie! Acquisition et pilotage de moteur (module arduino), IV-A. Ajoutez un gain GAINBLK_f de 256 / 1024 disponible dans la palette standard (sous-palette Opérations mathématiques) puis reliez l'entrée potentiomètre à la sortie PWM en passant par le gain et enfin lancez l'acquisition via le bouton de simulation afin de suivre l'évolution de la structure ainsi créée. Vous trouverez aussi deux liens menant à la correction des exercices que j'ai choisis dans les livres : Les manuels utilisés pour ces exercices sont les Nathan collection Tomasino, en physique et en chimie. L'écart est ensuite adapté à l'aide d'un correcteur de type proportionnel intégral (PI) qui fournit la consigne au moteur. Les autres exercices 24 ... La modélisation du 400m haies 48 10. Nous introduisons les nouveaux blocs suivants : La structure du diagramme est la suivante : Dans ce diagramme, on note les évolutions suivantes : modification de la typologie de l'entrée pour réaliser une commande en trapèze de vitesse (valeur de maintien de 0.1 m.s-1 au bout de 0.1 s), ce qui correspond à une commande classique pour ce type d'axe linéaire asservi ; ajout d'une observation de l'évolution de la tension d'alimentation du moteur ; mise en place d'un soustracteur et d'un correcteur PI, PIcontrol (sous-palette Opérateurs linéaires). VM et GND correspondent à l'alimentation externe (chaîne d'énergie). Pour réaliser une étude temporelle, positionnez dans le diagramme un bloc REP_TEMP (sous-palette Analyses). Lancez la simulation et observez l'effet de la saturation pour la valeur Kp = 100. Reliez l'entrée Pulse et la sortie logique puis lancez l'acquisition via le bouton de simulation. Double-cliquez sur le bloc et configurez les valeurs des constantes du moteur (voir tableau précédent). Si la position est négative, il faut inverser les voies physiquement sur les PIN2 et PIN3 de l'Arduino ou inverser les PIN dans la configuration des blocs ENCODER_SB et DCMOTOR_SB. En double-cliquant sur ce bloc, configurez une durée de simulation de 1 s et 500 points d'affichage. On peut maintenant essayer d'afficher la vitesse de rotation du moteur. Dans le cas du système étudié, ceci est réalisé par l'implantation d'un codeur incrémental sur l'axe moteur et l'adjonction d'un calculateur permettant de traiter les informations de manière numérique. Intercalez juste avant le capteur de vitesse linéaire un bloc CMTC_Mass (masse en translation) de la sous-palette Mécanique / Translation 1D / Basique. Un guide d'installation est disponible à l'adresse : http://arduino.cc/en/Guide/HomePage. L'ordre exposé est celui du programme, il ne constitue pas forcément un ordre de progression en classe. Durée : 0.15 s Double-cliquez sur ces blocs pour les nommer « E » et « S » (tout nom est possible). Pour lancer une simulation, il est nécessaire de spécifier le type d'étude retenu (temporelle et / ou fréquentielle). m2 (moment d'inertie axe moteur + vis) Comme pour le moteur, des blocs prédéfinis sont disponibles pour les hacheurs et évitent ainsi d'avoir à détailler leur comportement. La carte Arduino Uno est prête à être interfacée avec Scilab / Xcos grâce au module que nous allons maintenant étudier. Branchez les deux broches du codeur incrémental sur les voies 2 et 3. La partie précédente a permis de montrer qu'il est nécessaire d'asservir en intensité un moteur pour contrôler les accélérations. Attention, le calcul de marges n'est fait que pour une seule courbe (pas le tracé des asymptotes). On constate ainsi qu'il est nécessaire de contrôler l'intensité du moteur pour gérer les accélérations de l'armature. Des exercices pour s'entrainer à exprimer le besoin d'un objet technique. sans l'autorisation expresse de l'auteur. Grâce à la quadrature des deux signaux SA et SB, on arrive à déterminer le sens de rotation. L'entrée du bloc sortie analogique correspond à la valeur du rapport cyclique qui peut varier de 0 (0 %) à 255 (100 %). CHIMIE. ... Exercices de révision et fixation Word et PDF de la physique chimie cycle secondaire qualifiant. Connectez la borne DIR sur une sortie digitale de l'Arduino. Il est possible d'utiliser des cartes toutes prêtes qui permettent de relier simplement l'Arduino, le hacheur externe et le moteur. Ma bibliothèque Éditeurs À propos Confidentialité Conditions d'utilisation Aide Le logiciel de programmation, gratuit et utilisable sans installation sur l'ordinateur sur les environnements Windows, Mac OS X et Linux, est téléchargeable en ligne à l'adresse : http://arduino.cc/en/Main/Software Cette activité expose les possibilités de simulation de type « hardware in the loop » (intégration de matériel physique dans une simulation logicielle) de Scilab / Xcos et du module Arduino couplés à une carte Arduino Uno. L'asservissement de vitesse se fait en comparant la vitesse de rotation du moteur (capteur sur l'axe du moteur) à la vitesse de consigne (en trapèze). Le bloc PARAM_VAR permet de faire des études paramétriques sans avoir besoin de linéariser le système. Le module Arduino permet, en effet, d'intégrer dans l'outil de simulation, la commande d'une carte Arduino Uno afin de faire de l'acquisition ou du pilotage de systèmes. Les vibrations nées de cette rupture se propagent à partir du foyer dans toutes les directions et peuvent produire de nombreux dégâts. Dans la fenêtre de configuration du bloc, il est possible de définir les pulsations minimale et maximale : prendre ici 1 et 10 000. capables d'arrêter le programme principal lors d'un changement d'état afin d'exécuter un sous-programme à partir du diagramme initial, créez alors le diagramme ci-dessous, correspondant à la commande en boucle ouverte du système (entrée : tension du moteur en V, sortie : vitesse de déplacement de l'axe en m.s-1 perturbation : force Fr à l'instant tr = 0.5 s). Les exercices d’apprentissage par niveau d’expertise en sprint 24 5. Vous pouvez supprimer le bloc REP_FREQ pour n'observer que la réponse temporelle. Remarquez que la vitesse n'est plus du tout la même, car le moteur est piloté en intensité (donc à une intensité constante correspondra une vitesse linéaire de par l'équation de dynamique). La composition d'un graphe des prestations (objet, utilisateur, matière d'oeuvre, fonction d'usage). Sur la carte Arduino Uno, identifiez les ports (PINS en anglais) suivants : 14 Entrées / Sorties logiques (port ou « PIN Digital » de 0 à 13) : série asynchrone (avec 0 sur Rx et 1 sur Tx). Nous tenons à remercier Winjerome pour la gabarisation et f-leb pour la relecture orthographique. Complétez le contexte avec les informations Kch = 31.8.10-3 / 50, tm, tr, U0 et Fr à la suite des précédentes puis ajoutez trois gains GAINBLK_f (sous-palette Opérateurs linéaires). On se rend compte qu'il existe une forte tension de seuil avant la rotation. f = 10-5 N.m.s (frottement visqueux). �V0 h�0ڸ���{�^)�N���{?�uoJD������Ѓn��-�d��8��^���(�#����] Ns���s�w����ΐ�!v�W��E���pf��C�q�
��H�n���R���9BW�\�q�!�������pP��pr Supprimez les blocs hacheurs, PWM, source d'alimentation et remplacez-les par une alimentation variable pilotée MEAS_SignalVoltage (sous-palette Ãlectrique / Sources). Supprimez le bloc REP_TEMP et remplacez-le par un bloc REP_FREQ (sous-palette Analyses) qui réalisera l'analyse fréquentielle. Comme il s'agit d'un système très rapide (le temps de réponse est de l'ordre de la nanoseconde), elle va donc clignoter à la fréquence de 490 Hz avec un rapport cyclique variable. Il y a 6 broches à connecter via la rallonge sur la carte Arduino, il s'agit du connecteur J1 du schéma suivant. On voit que ce réglage PI n'est pas idéal dans le cas d'étude, car le moteur utilisé peine à entraîner de manière efficace le système avec cette structure série. Un gain de 120 / 1024 a été ajouté entre la consigne issue du potentiomètre et le moteur. Modélisation du pilotage par hacheur, II-D. Exemple 3 : axe asservi d'angiographie bi-plan, II-D-2. On voit qu'il est possible, en utilisant cette structure, d'atteindre des performances relativement importantes tout en ne modifiant ni la structure globale de l'asservissement (donc en gardant un codeur incrémental sur l'axe du moteur) ni le choix du moteur à courant continu, ce qui est toujours délicat (coût, implantation, etc.). 2000 points Mise en place d'un diagramme de moteur à courant continu, III-B. Ce filtre est modélisable simplement par un bloc du premier ordre MBC_FirstOrder (sous-palette Signaux / Continu) de constante de temps 1 ms. Réalisez l'asservissement de vitesse suivant et configurez en entrée une consigne rampe de valeur maximale 0.1 m.s-1. L'asservissement portant sur le couple, il faut imposer une intensité de consigne, soit U / R avec U la valeur maximale utilisée précédemment (vous pouvez aussi ajouter un gain comme sur la figure précédente). Dénominateur : Lm*s + Rm, Intensité (A) Nous allons avoir différentes options pour compter les impulsions : x1 : incrémente / décrémente (selon le sens de rotation) le compteur à tous les fronts montants de la voie A. x2 : incrémente / décrémente (selon le sens de rotation) le compteur à tous les fronts montants et descendants de la voie A. x4 : incrémente / décrémente (selon le sens de rotation) le compteur à tous les fronts montants et descendants de la voie A et de la voie B. Sur les moteurs utilisés, il y a trois périodes pour chaque cellule par tour d'arbre moteur. On constate qu'il est très difficile de visualiser correctement le signal PWM (ou en sortie du hacheur) sur la durée de simulation compte tenu de la commande retenue. Il est donc indispensable d'adapter la consigne d'intensité pour retrouver des niveaux de vitesse raisonnable. Visualisez alors les marges de gain et phase sur les diagrammes de Bode. Utilisation du module arduino intégré à Scilab / Xcos, IV-B-1. Le réglage du correcteur PI pour l'asservissement de courant du moteur se fait en choisissant une constante de temps égale à 10xL / R. Renseignez cette valeur et laissez un gain proportionnel de 1 pour l'instant. Afin d'arrêter le déplacement de l'axe au niveau souhaité, il serait nécessaire de couper l'alimentation au bon moment (donc en tenant compte à la fois des perturbations et de l'inertie du système), ce qui est bien entendu illusoire. La quasi-totalité des cartes de commande actuelles dispose de cette fonctionnalité que nous utilisons ici. On va maintenant créer l'interface avec Scilab / Xcos et le module Arduino. En effet, les moteurs admettent une tension nominale maximum de 6 V, mais l'alimentation du hacheur est en 12 V. Il faut donc envoyer uniquement 50 % environ de la tension maximale 12 V, ce qui correspond à un rapport cyclique maximal de 120 pour se limiter à 6 V avec une marge de sécurité (255 correspond à 12 V) pour une valeur de consigne maximale de 1024. 2 interruptions externes sur 2 et 3 (utilisées pour le codeur en quadrature). Le hacheur demi-pont MEMC_Q2driver que nous avons choisi pour ce test, est piloté par un PWM ayant une commande sur 8 bits à une fréquence de 500 Hz. On utilise à nouveau un correcteur PI pour simplifier (gain 0.15, constante de temps 0.025 s). Ce sont des entrées Une telle réponse correspond à la réponse d'un système du premier ordre de gain et constante de temps donnée. Commande d'un moteur à courant continu avec un potentiomètre, IV-B-3-c. Récupération des informations issues d'un codeur, IV-B-3-d. Asservissement en vitesse d'un moteur, http://lists.scilab.org/mailman/listinfo/enseignement, http://www.scilab.org/fr/community/education, http://atoms.scilab.org/toolboxes/arduino, Modélisation Multiphysique avec Simscape. Il sera remplacé par la source de tension variable. Ajoutez un bloc CEAS_PredefVoltage (sous-palette Ãlectrique / Sources) et connectez le moteur à cette source d'alimentation.