Accueil

Schéma global :


Carte Mère :

La carte mère est une FOX Board produite par Acme-Systems, à base d'Etrax-LX 100. C'est une carte assez petite, qui consomme peu. Elle possède 2 ports USB, une interface Ethernet 10/100, et des ports d'extension variés. Elle comprend un systéme d'exploitation Linux (et pas de Micro-linux). 32Mo de RAM et 8 de Flash.

Cette carte est un bon compromis pour mon robot entre complexité, performance, taille, consommation. Elle est assez facile à prendre en main. Je voulais surtout une carte mère avec un vrai système d'exploitation et assez de mémoire pour programmer des algorithmes complexes.


www.acmesystems.it

Electronique logique :

L’électronique logique sert uniquement à interfacer la carte mère (Fox Board) qui emporte l’intelligence du robot, avec les capteurs, moteurs. Elle comprend les éléments suivants:

PicBasic :
J’ai choisi un PicBasic, au lieu d’un PIC qui aurait permis d’atteindre des performances plus élevées. C’est un choix rationnel : je n’avais pas envie d’apprendre à programmer les PICs ou autres micro-contrôleurs, et les performances du PicBasic me convenaient parfaitement ; je n’embarque aucune intelligence dans ce composant. Il set juste à interfacer capteurs et actionneurs suivants:
  • commande des 2 moteurs de propulsion
  • 5 sonars à Ultra-sons
  • un Buzzer + une LED
  • un afficheur 2x16 caractères
  • mesure de la tension batterie
Il est relié à la carte mère par une liaison série asynchrone bi directionnelle (niveaux TTL) à 19200bds. Ce débit peut paraître faible, mais c’est suffisant, et surtout cela permet de limiter au maximum l’influence d’éventuels parasites, donc d’améliorer la robustesse

HCTL2032 :
Le HCTL2032 sert à décoder les signaux en provenance des encodeurs optiques. Il interprète les signaux en quadrature provenant des 2 codeurs, en déduit le sens de rotation, et compte/décompte à chaque incrément. Vu la faible fréquence à laquelle je travaille sur les encodeurs (quelques centaines de Hz maximum) ce composant est largement sur-dimensionné, et je n’utilise que 16 bits sur les 32 bits des compteurs. Mais il remplit parfaitement sa fonction : compter/décompter 2 encodeurs en hardware, et il s’interface facilement.

Justement, parlons interface : le HCTL2032 est directement raccordé au port I/O G de la carte Fox. Il se contrôle à l’aide de 5 lignes de commandes, et de 8 bits de données. Pour les lignes de commandes, j’ai du placer un 78HCT04, pour convertir les signaux 3.3V de la Fox en signaux TTL dont a besoin le HCTL2032. Un composant de plus…

Pour réaliser l'horloge, je reprend simplement l'horloge du PIC (broche CLKOUT) pour la relier à l'entrée horloge du HCTL2032.

passez la souris pour voir l'autre face

Electronique de « puissance » :

La carte d'élétronique de puissance regroupe les éléments suivants:

Charge batterie:
J’ai installé sur la « carte de puissance » un régulateur de charge batterie à base de Max712. Le courant de charge est réglé à 600mA. La régulation de courant se fait par l’intermédiaire d’un simple transistor, ce qui engendre des pertes par effet joule, d’où la présence d’un radiateur. Un simple bloc secteur 15V 1A suffit à alimenter le tout, y compris lorsque le robot est allumé. A ce jour, j’ai un problème de charge : la charge s’arrête vers une capacité injectée de 1.6Ah, alors qu’un chargeur de modélisme atteint les 2.4Ah de courant injecté (soit avec le rendement, un accu chargé à 100%). Je n’ai pas encore résolu le problème.

Alimentation 5V :
un régulateur à découpage (rendement élevé) régule la tension batterie 9.6V en 5V. Un LM2575 fait l’affaire, avec les selfs, condos et diode adaptés. Il me fallait 700mA en sortie, le montage répond parfaitement au besoin (tests concluants à 1A). Le 5V sert à alimenter toute l’électronique logique :
  • Carte mère FOX
  • Clef USB WiFi
  • PicBasic
  • HCTL2032
  • Sonars
  • Codeurs optiques
Pilotage des moteurs:
Pilotage des moteurs : la commande des moteurs passe par un double pont en H L298N. Chaque moteur est piloté par 2 signaux : un signal PWM et un signal « sens ». Le signal « sens » sert à piloter 2 entrées input. Une des entrées passe par un inverseur réalisé à l’aide d’un transistor et de 2 résistances. Les 2 demis ponts sont ainsi toujours pilotés de manière inversée. Il n’est pas possible de rentrer en mode « frein » dans cette configuration, mais je n’en n’ai pas besoin. Contrairement à une pratique répandue, les circuits logique et de puissance ne sont pas isolés galvaniquement. Si le montage est bien réalisé, avec un beau plan de masse et des découplages partout, je pense que ça n’est pas nécessaire.

passez la souris pour voir l'autre face

Réalisation de l’électronique :


L’électronique est répartie sur 2 cartes. Pour ce faire, j’ai utilisé des cartes pastillées. Pourquoi ? Je n’avais pas envie d’investir dans du matériel de gravure de circuit, ni perdre trop de temps à maîtriser un logiciel de routage qui ne m’aurait servi qu’à faire ces 2 cartes. Mes expériences précédentes m’ont montré qu’il est possible de faire des choses très correctes avec de simples plaques pastillées.

J’utilise des plaques pastillées avec plan de masse. C’est beaucoup plus cher, mais ça comporte des avantages : un plan de masse permet d’éviter les effets d’antenne, de limiter les perturbations électromagnétiques. C’est en général réservé à la HF (radio) et c’est donc un peu sur-dimensionné pour mon utilisation. En plus, cela permet de ne pas avoir à câbler la masse, qui est l’équipotentiel le plus présent dans une carté électronique. Mais en retour, il faut faire très attention : il est facile de créer des courts-circuits par inadvertance, avec un connecteur baladeur, une pointe de multimètre… Je me suis fait avoir une seule fois !

Ensuite, pour le câblage, j’utilise plusieurs méthodes : la majorité des signaux « logiques » sont câblés en wrapping, donc du côté soudure, avec du câble 30AWG. Le wrapping est une technique simple et efficace, qui permet d’avoir une forte quantité de câblage. Certains affirment que la fiabilité n’est pas au rendez-vous. Je n’ai jamais eu de problème, mais pour plus de sécurité, je soude mes wrappings une fois la carte testée à 100%. Dès qu’on passe à des liaisons de « puissance », à partir de 300mA, je passe à du câble plus épais (25AWG), monté sur le dessus, traversant la carte, et soudé sur les pastilles. Pour les liaisons de puissance ou de logique courtes, je soude de pastille en pastille. Regardez les photos pour comprendre ce dont je parle.
Leon | 04/05/2008