Les projets basés sur les microcontrôleurs AVR
I. PRESENTATION
Les AVR sont des petits microcontrôleurs fabriqués
par ATMEL qui sont désormais facilement accessibles aux amateurs que nous sommes.
Ceux-ci se déclinent en plusieurs gammes. Je me limiterai à l'ATtiny85, microcontrôleur à 8
pattes qui permet déjà de faire des petites merveilles.
Les programmes sont développés en langage "C".
Les projets AVR ne sont pas dans la rubrique électronique car l'intégration de ces
microcontrôleurs est telle que la partie électronique en est grandement
simplifiée.
II. LES PROJETS A BASE D'AVR
TZD signifie Tiny (extrêment petit, minuscule en
anglais) et ZD pour Z-Drive.
Ce minuscule montage permet de commander 2 propulseurs
azimutaux de type Z-Drive sur 360°,
sans butée et avec connaissance de l'angle depuis l'émetteur, et cela,
sans ambiguïté: idéal pour un remorqueur de type tracteur ou ASD.
![]() |
![]() |
Dimensions de la carte intégrant 2 contrôleurs TZD: L x l = 75 x 45 mm Notez qu'aucun composant de type CMS n'a été utilisé: câblage facile! |
Un des
encodeurs angulaires supportés: encodeur optique basé sur les éléments
d'une souris à boule. Résolution 0,5° une fois monté: largement suffisant. |
![]() |
|
Position du propulseur
azimutal en fonction du manche de l'émetteur RC. Explication avec un
seul propulseur afin d'en faciliter la compréhension. |
II.1.1. Génèse du projet TZD
Ce petit contrôleur azimutal est l'aboutissement d'un projet commencé en 2007.
Fervent utilisateur des logiciels "Open Source", j'avais à l'époque fait sur PC un simulateur écrit sous Linux en langage Gambas.
Le but de ce simulateur était de démontrer qu'il était possible de
piloter un propulseur azimutal sur 360° sans butée à partir d'un simple
manche d'émetteur RC, et ce, sans effectuer la moindre modification sur
l'émetteur. Il démontrait également qu'il était possible de piloter un
variateur électronique pour doser les gaz du moteur de propulsion du
Z-Drive à partir de l'éloignement du manche par rapport au centre.
Simulateur de Z-Drive
Pour en comprendre le principe il suffit de regarder la vidéo en cliquant sur l'image:
La qualité de la vidéo est très
médiocre: à l'époque, n'ayant pas trouvé d'outil de capture vidéo,
j'avais filmé mon écran de PC avec mon appareil photo numérique!
II.1.2. Le prototype du contrôleur de Z-Drive: ZDC (solution abandonnée: trop chère, trop encombrante)
II.1.3. Le contrôleur final: TZD
Fort de cette expérience avec les
moteurs pas-à-pas
et avec les calculs trigonométriques nécessaires à l'extraction de la
consigne de gisement, afin de réduire les coûts, j'ai complètement revu
ma copie en concevant un nouveau contrôleur et en confiant sa gestion à
un tout petit microcontrôleur et en abandonnant les moteurs pas-à-pas
ainsi que toutes les protections de type isolation galvanique, le
driver de ligne pour le port série RS232, etc... Le fait d'abandonner
les moteurs pas-à-pas au profit de moteurs classiques à courant continu
(servo ou moto-réducteur) pour le contrôle de l'azimut, a conduit à
l'utilisation d'un capteur angulaire de type encodeur absolu. Les
encodeurs commerciaux étaient alors hors de prix, la seule solution
était d'en faire un "maison". Le
contrôleur TZD supporte aujourd'hui jusqu'à 4 types de capteurs
angulaires
différents (dont un
optique et un résistif) et cela sans aucune modification. Les 2
derniers types d'encodeurs s'appuyant sur des encodeurs magnétiques
apparus après le début du projet. Pour que le contrôleur TZD puisse
gérer le capteur réellement utilisé, il suffit, à l'aide d'un assistant de configuration (petit
programme PC), de sélectionner le type de capteur. Voir ci-dessous:
![]() La carte TZD qui permet de commander l'azimut (360° sans butée) et les gaz de 2 propulseurs de type Z-Drive. Notez la symétrie de la carte:
|
![]() L'assistant de configuration (programme sur PC) qui permet de paramétrer TZD via une liaison série de type RS232: Appairage avec l'ensemble émetteur/récepteur RC. |
![]() Assistant de configuration (suite): Paramétrage des options matérielles et comportementales du contrôleur TZD. |
Le contrôleur TZD supporte les variateurs externes du
commerce mono et bi-directionnel. Il supporte également le
chaînage/jumelage par radio-commande.
Ce fut un vrai challenge que de faire rentrer le programme qui gère
tant d'options dans un si petit microcontrôleur à 8 pattes. Les
caractéristiques sont inversement proportionnelles à sa taille et
également à son coût!
Le résultat est tel que la carte qui inclut 2 contrôleurs TZD peut être
utilisée dans des remorqueurs portuaires de type tracteur ou ASD au
1/100e!
II.1.4. Câblage du contrôleur TZD
II.1.4. Câblage du PC pour configurer le contrôleur TZD
II.1.5. Appairage du contrôleur TZD avec l'ensemble RC
Ce contrôleur de Z-Drive a été conçu pour fonctionner avec des ensembles RC programmables ou non, fonctionnant en PPM.
Pour les ensembles RC programmables, il n'est pas nécessaire de faire
l'opération d'appairage au niveau du contrôleur puisqu'il est possible
d'ajuster les neutres et excursions de chaque voie directement sur
l'émetteur.
Par contre dans le cas d'utilisation d'ensemble RC non programmable, il
est nécessaire de régler les neutres et les excursions directement au
niveau du contrôleur TZD.
Pour cela, rien de plus simple, il suffit d'utiliser l'assistant de configuration:
II.1.6. Paramétrage des options matérielles et comportementales du contrôleur TZD
Une fois les opérations d'appairage, de sélection du
type de capteur azimutal, du type de variateur et de comportement
(support du jumelage) effectués, le contrôleur TZD peut être déconnecté
du PC et devient ainsi autonome.
II.2. LE SIMULATEUR DE REMORQUEUR ASD/TRACTEUR
Le pilotage d'un remorqueur de type tracteur ou ASD
est très particulier et n'a rien à voir avec celui d'un remorqueur à
propulsion classique.
De nombreuses heures d'entrainement sont nécessaires afin d'assimiler toutes les subtilités de pilotage.
Voulant m'initier à ce type particulier de pilotage, j'ai investi dans le père Noël m'a offert le livre "ASD Tugs: Thrust
and Azimuth / Learning to drive a Z-Drive" de Jeff Slesinger.
En potassant ce bouquin, l'auteur préconise de se faire la main en
pilotant un vrai remorqueur ASD (ben voyons), ou encore en utilisant un
simulateur dont les stages coûtent plusieurs k€ (bis repetita: ben
voyons).
D'où l'idée de concevoir mon propre simulateur de remorqueur ASD: "Good Philing"
Ce nom est inspiré du fait que pour piloter un tel remorqueur, il faut un ... bon feeling!
- utilisation de la librairie 2D graphique SDL (Simple Direct media Layer) qui est multi plate-forme (principalement Linux/Window$), gestion des claviers/souris/joystick(s),
- utilisation des librairies additionnelles: