[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
12 vues6 pages

TP Flowcode

Transféré par

gatien assi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues6 pages

TP Flowcode

Transféré par

gatien assi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 6

Flowcode

Pilotage d’un moteur à courant continu, d’un


servomoteur et d’un moteur pas à pas

TP 2h

Logiciel : Flowcode
Composant :16F877A

Pilotage d’un moteur à courant continu

Le pilotage d’un moteur à courant continu à partir d’un microcontroleur se fait par l’intermédiaire d’une interface de
puissance
TRAITER DISTRIBUER CONVERTIR

Microcontrôleur ENA
RC0 IN1 MCC
RC1 Interface de
RC2 IN2 puissance

Les sorties du microcontrôleur utilisées sont : L’interface de puissance est un pont en H piloté par trois entrées
- RC0 : Validation de l’interface de puissance dont voici la table de vérité :
- RC1 et RC2 : Sortie PWM du microcontrôleur ENable IN1 IN2 Etat moteur
0 X X Arrêt
1 1 0 Sens 1
1 0 1 Sens 2

Pour piloter un moteur à courant continu sous Flowcode, on utilise l’outil PWM (Pulse Width Modulation) ,
dans l’onglet Mechatronics, qui permet de générer les signaux pilotant l’interface de puissance qui fourni l’énergie
électrique au moteur à courant continu.

Q1. A l’aide de la notice de Flowocode, réaliser le programme suivant puis lancer la simulation :

Valider la sortie
PWM1

Page 1/6
S SI Flowcode TP 2h

Q2. Télécharger le programme dans le pic et le tester. Commenter les résultats de la simulation.

Q3. Réaliser un programme qui permet de faire tourner le moteur à 75% de sa vitesse dans le sens 1 si on n’appuie
pas sur l’interrupteur A0 et à 50% de sa vitesse dans le sens 2 si on appuie sur A0. Vous utiliserez l’outil de décision

Pilotage d’un moteur pas à pas

Le pilotage d’un moteur à pas à pas à partir d’un microcontroleur se fait également par l’intermédiaire d’une
interface de puissance

TRAITER DISTRIBUER CONVERTIR

Microcontrôleur Phase 1
RD0 Phase 2
Interface de PaP
RD1 Phase 3
RD2 Phase4 puissance
RD3

Les sorties du microcontrôleur utilisées sont : Table de vérité de l’interface de puissance :


- RD0 : Pilotage de la phase 1 du moteur PaP Phase 1 Phase 2 Phase 3 Phase 4
- RD1 : Pilotage de la phase 2 du moteur PaP 1 1 0 0 1
- RD2 : Pilotage de la phase 3 du moteur PaP 2 0 1 0 1
- RD3 : Pilotage de la phase 4 du moteur PaP 3 0 1 1 0
4 1 0 1 0

Pour piloter un moteur pas à pas sous Flowcode, on utilise l’outil STEPPER , qui permet de générer les signaux
pilotant l’interface de puissance qui fourni l’énergie électrique au moteur pas à pas.

Q1. A l’aide de la notice de Flowocode, réaliser le programme suivant puis lancer la simulation :

Page 2/6
S SI Flowcode TP 2h

Le moteur tourne de fait 1.8° par pas.

Q2. Quel est le nombre de pas par tour ? Renseigner « Fullstep » avec cette valeur. Remplacer la temporisation de 1s

par 10ms puis télécharger le programme dans le pic et le tester. Commenter les résultats de la simulation.

Q3. Changer la valeur de la temporisation afin de trouver la valeur (plage) de fréquence de rotation maximum.

Q4. Réaliser un programme qui permet de faire tourner le moteur à une fréquence de 100 Hz dans le sens 1 si on
n’appuie pas sur l’interrupteur A0 et à une fréquence de 200 Hz dans le sens 2 si on appuie sur A0. Vous utiliserez

l’outil de décision .

Pilotage d’un servomoteur

Un servomoteur analogique se présente sous un aspect physique similaire à ce que vous pouvez découvrir ci-dessous

Coté électrique, un tel servomoteur ne dispose que de trois fils codés par des couleurs. Les fils rouge et noir sont
destinés à son alimentation qui peut être comprise entre 4.8V et 6V. Le troisième fil de couleur jaune ou blanche sert
à transmettre les ordres au servomoteur sous forme d’impulsions codées en largeur.

Principe de codage :

- Une impulsion de 1.5ms de large place le servo


dans sa position dite centrée ou de repos.
- Une impulsion de 1ms de large fait tourner le
servomoteur dans sa position maximale en sens
inverse des aiguilles d’une monte. Ce qui
représente un angle de 45° par rapport sa
position de repos.
- Une impulsion de 2ms de large fait tourner le
servomoteur dans sa position maximale dans le
sens des aiguilles d’une monte. Ce qui
représente là aussi un angle de 45° par rapport
sa position de repos.

- Toute autre largeur d’impulsion comprise entre 1 et 2ms permet d’obtenir les innombrables positions
intermédiaires

Page 3/6
S SI Flowcode TP 2h

Ces dernières doivent se répéter à un rythme tel que l’on ne doit pas avoir plus de 10 à 20ms d’écart entre deux
impulsions successives.

Une fois que le servomoteur à atteint la position désirée, il n’est plus absolument indispensable de continuer à lui
envoyer les impulsions de commande avec la période de répétition de 10 à 20ms.

Si vous le faite, le servomoteur tiendra sa position avec toute la force permise par son moteur et son engrenage, ce
qui est évidement la solution idéale. Si vous ne le faites pas, le servomoteur tiendra la position atteinte que si
l’organe commandé ne force pas trop sur son arbre de sortie (dans une telle situation le moteur n’est plus
commandé)

Il est alors très simple de programmer un servomoteur. Sous Flowcode, toutes les opérations (calculs, tests, etc.…)
sont en décimal. Cette valeur est une valeur décimale comprise entre 0 et 255, c’est pourquoi :

- Une durée de 1ms vaudra 0,


- Une durée de 1.5ms vaudra 128,
- Une durée de 2ms vaudra 255.

Afin de piloter un servomoteur sous Flowcode, on utilise l’outil SERVO .

Outil
servomoteur

En cliquant droit sur l’objet on peut accéder

Propriétés étendues Connexions

Nombre de
voies

Port de
Bit du port de
connexion
connexion
Nombre de
voies

Page 4/6
S SI Flowcode TP 2h

Réaliser le programme suivant puis simuler .

Sélectionner (Component
Macro)
Valider le servomoteur de la voie
0 (PORTD bit 6)
Mettre 0,128 dans Channel,
Position

Sans toucher au servomoteur remplacer 128 par 255. Simuler le programme , que constatez-vous ?
Prendre 2 ou 3 valeurs intermédiaire afin de valider le fonctionnement. Conclure, quelle est la course utile
du servomoteur ?
Réaliser le programme suivant pour le servo0.
Rajouter un interrupteur, et le relier à A0.
Cliquer ‘droit’ sur l’interrupteur :

- Connexion : ‘Port A bit 0’

- Propriétés étendues :
Créer variable touche
Bit unique A0

Mettre une valeur de


votre choix (différente de
celle du dernier Simuler le programme .
programme) Que se passe t-il ?

Appuyer sur le bouton poussoir A0, que se


passe t-il ?

Modifier le programme afin de réaliser la


même chose sur le servo2.

Page 5/6
S SI Flowcode TP 2h

Réaliser puis lancer le programme suivant.


0

Que fait le servomoteur au démarrage ?


0,128 Pourquoi ?

Appuyer plusieurs fois sur le bouton poussoir


A0, que se passe t-il ? Justifier.

Lorsque le servo arrive en bout de course il


revient à 0, pourquoi ? proposer une solution
pour résoudre le problème.

Modifier le programme afin de piloter le


servomoteur dans l’autre sens
0,in

Réaliser un programme qui permet de faire tourner le servomoteur dans le sens 1 si on appuie sur

l’interrupteur A0 et dans le sens 2 si on appuie sur A1. Vous utiliserez l’outil de décision .

Télécharger le programme dans le pic et le tester sur la carte de développement.

Page 6/6

Vous aimerez peut-être aussi