Vous êtes sur la page 1sur 2

Le but de ce projet consiste à développer une boucle d’asservissement de vitesse d’un moteur à courant

continu (moteur DC) mesuré par un codeur optique incrémentale et qui la convertit en un train d’impulsion dont la
fréquence est en relation directe avec la vitesse du moteur, le signal à la sortie du capteur est ensuite divisé par un
compteur programmable avant d’être renvoyé à un comparateur de phase qui évalue la déférence entre cette fréquence
de retour et la fréquence de référence (consigne un point de fonctionnement).

Ce mini projet comporte 3 chapitres, dont


le premier parle sur Commande PID d’un moteur électrique à courant continu : dans ce chapitre, on a choisi
d’implémenter la commande PI pour ce moteur CC à encodeur pour un seul objectif est d’annuler l’erreur statique,
diminuer le dépassement, diminuer le temps de réponse et le temps de monté afin d'obtenir une réponse adéquate du
procédé et de la régulation et d’avoir un système précis, rapide, stable et robuste.

le seconde sur l’étude des solutions technologiques et choix du moteur à courant continu :
*Microcontrôleurs PIC16F877 :
Fonctionne à 20 MHz maximum. Possède :
 35 instructions (composant RISC « Réduce Instructions Construction Set »).
 8Ko de mémoire Flash interne pour le programme,
 368 octets de RAM,
 256 octets de d'EEPROM.  3 compteurs / Timer de 8 bits (PWM)
1 Watchdog.
 8 entrées analogiques 10bits / comparateur de tension
 1 port série (RS232), 1 port I2C / SPI
 15 sources d'interruption,
 33 entrées/sorties numériques configurables individuellement.
 disposés en 5 ports nommés de A à E,
 Fonctionnement en mode sleep pour réduction de la consommation.
*Moteur à cc : l’objectif. Il faut pouvoir mesurer ce qu’il se passe pendant que le moteur est
en marche, une vitesse, en déduire une erreur, puis la corriger pour atteindre la consigne de sortie. Il
faut donc se servir des encodeurs optiques, et qui sont fixés dans l’arbre du moteur CC pour acquérir
les données, faire les calculs et commander le moteur en même temps. Ce modèle motor-codeur, est
paramétré en fonction du nombre d'impulsions par révolution (PPR), et utilise des techniques
d'interpolation sophistiqués pour générer les impulsions numériques au bon moment sans limiter
indûment la vitesse de la simulation.
*Tr NPN et un diode pour alimenter le moteur et proteger le PIC.
*Afficheur LCD.

et le dernier à été consacré pour la simulation sous ISIS.


*Le fonctionnement général de ce montage se base sur 2 fonctions principales :

 La première fonction « readbutton() »: qui a pour rôle de lire l’état logiques des entrées du PIC (RA0, RA1, RA2).
 La deuxième fonction « afficher() » : qui va nous afficher la vitesse du moteur et la vitesse consigne sur un écran
LCD.
Dès qu’on lance la simulation, le moteur commence à suivre la vitesse consigne donné par un procédé bien déterminer :
1. En premier temps, le PIC va mesurée la vitesse du moteur à l’aide du TIMER0 (compteur) et le TIMER1(pr
l'asservissement).
2. En deuxième temps, le PIC va calculer l’erreur entre la vitesse actuelle et la vitesse consigne par la formule
suivante : erreur = vitesse consigne – vitesse mesurée
3. En troisième temps, il va calculer la correction par la commande PD qu’on a choisie à l’aide de la formule
suivante : Puissance moteur = (erreur*Kp) + Kd * (erreur – erreur précédente) Avec : Kp : le gain d’action
proportionnelle. Kd : le gain d’action dérivée.
4. Dernièrement, il va affecter la nouvelle puissance au moteur qui va lui permettre de changer carrément sa
vitesse jusqu’il se stabilise sur la vitesse consigne donné au départ.

Ce procédés va se répéter à chaque 100ms par une interruption déclenché par le TIMER0
la fonction asservissement() est exécutée toutes les 10ms et la fonction compteur() est exécuté à chaque fois
que la codeuse change d'état.
L'objectif de ce projet d'électronique est de créer un robot détecteur de présence qui se déplace dans une pièce
et évite les obstacles lorsqu'il en rencontre. Les “yeux” du robot sont un capteur à ultrasons (HC-SR04). Ce capteur est
connecté à une carte Arduino. Lorsque le capteur envoie l'information à l'Arduino qu'il y a un obstacle devant lui,
l'Arduino doit envoyer une instruction aux moteurs qui contrôlent les roues pour éviter l'obstacle.

Pour les materiels utilisé :


STM32F407 discovry : La carte de microcontrôleur elle-même a des sorties 3 V et 5 Vpouvoir alimenter
les moteurs, les capteurs ou les circuits dont mettre en place la plate-forme mobile. D'un autre côté, il
est important de savoir que les moteurs vont consommer beaucoup. Et peut-être, ils travaillent à des
tensions 28,
 1 MByte de memoria flash.
 192KBytes de RAM. 97
 Oscilador RC 8Mhz, 4-to-26 MHz crystal oscillator
 Alimentación por una sola fuente de 1.8 V a 3.6 V.
 Puede operar a una velocidad de 168 MHz.
 50 Pines I / O multiplexadas con muchos periféricos internos. 2 ports de 25.
 17 timers 12 16bits 2 32bits
 2 × CAN interfaces (2.0B Active)
• 2×12-bit D/A converters
 USB OTG HS / FS.
 Ethernet.
 Controlador de memoria estática de soporte Compact Flash, SRAM, PSRAM, NOR y NAND.
 Interface paralela para LCD
Moteur DC : Les moteurs doivent satisfaire au moins aux exigences suivantes:
 Tension d'alimentation entre 6 et 12 V.
 Courant maximum 2 A.
Circuit de puissance L298N : double pont H il se branche à un pin de 5v du uc, 6-48v
Capteur de detecteur d'obstacle HC-SR04 : 15 degré, Ce capteur nous permet de connaître la
distance à laquelle un objet mesurant le temps qu'il faut à l'onde ultrasonore pour
aller et revenir au capteur
LCD 2*16

STM32CubeMX fait partie de l'initiative originale de STMicroelectronics STMCube ™ pour faciliter la vie des
développeurs en réduisant les efforts de développement, le temps et les coûts. STM32Cube couvre l'ensemble du
portefeuille STM32.
STM32Cube inclut STM32CubeMX, un outil de configuration logicielle graphique qui permet la génération de
code d'initialisation C à l'aide d'assistants graphiques.
Il embarque également des packages MCU STM32Cube complets, fournis par série de microcontrôleurs STM32 (tels
que STM32CubeF4 pour la série STM32F4). Ces packages incluent le STM32Cube HAL (un logiciel embarqué de
couche d'abstraction STM32 assurant une portabilité maximale sur le portefeuille STM32), le LL STM32Cube (API de
couche inférieure, une couche experte, légère et rapide), ainsi qu'un ensemble cohérent de middleware des composants
tels que RTOS, USB, TCP / IP et graphiques. Tous les utilitaires logiciels embarqués sont fournis avec un ensemble
complet d'exemples.
L'IDE μVision associe la gestion de projet, l'environnement d'exécution, les fonctions de génération, l'édition de
code source et le débogage de programme dans un seul environnement puissant. μVision est facile à utiliser et
accélère le développement de votre logiciel embarqué. μVision prend en charge plusieurs écrans et vous permet
de créer des dispositions de fenêtres individuelles n'importe où sur la surface visuelle.

Vous aimerez peut-être aussi