Carte d'asservissement du robot Pidzy
Date d'initialisation : Décembre 2006
État actuel : Terminé
Sommaire
![]()
Description générale
La carte d'asservissement a pour rôle de récupérer les informations venant des encodeurs optiques (éventuellement via le décodeur et diviseur de signaux en quadrature si les encodeurs sont "trop" precis) et de s'en servir pour piloter deux moteurs à courant continu (via la carte moteur à L298) en mettant en place un asservissement de type PID.
De multiples types d'asservissement sont possibles, selon les besoins :
- Asservissement en position de chaque moteur individuellement
- Asservissement en vitesse de chaque moteur individuellement
- Double asservissement vitesse/position de chaque moteur individuellement
- Asservissement bimoteurs en vitesse
- Asservissement bimoteurs en position
L'ensemble des détails à propos des différents types d'asservissement PID, leur mise en place et les résultats obtenus est disponible dans ce document PDF.
La carte s'articule principalement autour d'un AVR AtMega32 à 16MHz. Étant donnée la fréquence de sortie des encodeurs, il peut s'avérer nécessaire de diminuer cette fréquence pour que le microcontrôleur puisse traiter les quatre signaux (deux signaux en quadrature par moteur) tout en recalculant continuellement les corrections à apporter, selon un algorithme d'autant plus complexe que l'asservissement est puissant. C'est pourquoi il est possible de faire un pré-traitement des signaux avec le décodeur et diviseur de signaux en quadrature.
Un bargraph à 16 leds est disponible pour monitorer l'état de la batterie, piloté via un circuit CD4040 pour limiter le coût en IO du microcontrôleur. Une liaison I2C est disponible pour être éventuellement pilotable par la carte de contrôle.
Photos
Schéma et Circuit Imprimé
Commentaires des visiteurs
Par SPIROU34 le 09/03/2008
L'ATMEGA32 sur le schema et sur le board eagle est nommé ATMEGA16
bizare...
Fred
Par Totofweb le 10/03/2008
Spirou34> Les microcontrôleurs AtMega16 et AtMega32 sont compatibles pin-à-pin, c'est-à-dire qu'il est possible de prévoir une carte électronique pour l'un et d'utiliser l'autre à la place. La seule différence sera que l'AtMega32 dispose de plus de mémoire interne que l'AtMega16.
J'ai donc prévu mon schéma pour un AtMega16 car je savais que cela fonctionnerait avec, mais j'ai néanmoins utilisé un AtMega32 car c'est tout ce que j'avais en stock.
Par achraf_abdmouleh le 12/05/2011
ou je trouve le code de programmation PID
Par hamouda le 30/05/2011
c'est un très bon travail, merci!!
Par hamouda le 30/05/2011
c'est un très bon travail, merci!!
Laisser un commentaire
Merci de ne poster ici que des questions ou commentaires concernant réellement le projet présenté sur cette page. Si vous recherchez de l'aide pour réaliser vos propres projets, merci de vous tourner vers des forums appropriés tel que celui de Planète-Sciences (où je suis très présent).
