Carte odométrie
2014-02-17 - No comments
- Alim : 5v ( ~100mA avec les codeurs)
- Entrées : Codeurs optiques, Arduino Mega (1280/2560), Série
- Sorties : cartes moteur LMD18200, Arduino Mega, Série
- Dimensions : 60mm * 120mm
Principe
Asservissement en angle et en position d'un robot à deux roues motrices, pour la coupe de France de robotique.
Les coefficients P, I, D de l'asservissement linéaire et angulaire, sont réglables.
Le HCTL2032 sert à compter les pas de chaque codeur optique (deux canaux en quadrature) sur 32 bits
L'Arduino s'occupe de faire des calculs de trigonométrie et de commander les moteurs.
Schéma
HCTL2032 + Arduino : le HCTL2032 compte les pas des deux roues codeuses, l'Arduino l'interroge régulièrement (pas besoin de reset en comptant sur 32 bits) et asservit en position et en angle (P, I, D codés en dur), Position en X,Y,Vitesse,Angle à donner via l'interface série Voir le schéma dans la doc.
Typon
Doc
hctl2032
Photos
TODO
Composants
- HCTL2032 (difficile à trouver)
- Arduino Mega
- Oscillateur à 1~10MHz
- capas de découplage
- résistances de pullup (1206 à souder sur le connecteur)
Auteurs
- Schéma : Agilent/Avago/HP, Damien Favre, Camille Bouvard, Xavier Bourgeois
- PCB : Damien Favre, Camille Bouvard, Xavier Bourgeois
- Code : Yohan Bearzi, Damien Favre, Camille Bouvard, Xavier Bourgeois
Corrections
Tout est dans le code…
Il faut rajouter des résistances de pullup pour des codeurs à sortie en collecteur ouvert.
Il reste deux gros bugs:
- Un des timer doit foirer ou une variable doit overflow, après 30s ou 8 à 12m, impossible de s'arrêter
- Il arrive que la carte ne réponde pas après avoir attendu trop longtemps sans recevoir de commande
Utilisations
Carte assez robuste, honteusement pompée sur la carte d'Asservissement Polaire PE de 2008, (mais en mieux)
Le développement à commencé en Septembre 2012 et les corrections de bugs ont duré jusqu'à la coupe 2013.
Cette carte a été réutilisée en 2014 et 2015.
Cette page est disponible sur le site de l'association Galiléo.