Carte d'asservissement du robot Pidzy
Date d'initialisation : Décembre 2006
Etat actuel : Terminé
Sommaire
![]()
Description générale
La carte d'asservissement a pour rôle de récupérer les information 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
- Asservissement en vitesse de chaque moteur
- Double asservissement vitesse/position de chaque moteur
- 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. Etant donné 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 bragraph à 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 piloté 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.




