Carte de puissance moteurs

Posted in construction, electronique on novembre 26th, 2007 by Cyril

Voici enfin la première carte électronique sortie des laboratoires Mectons’corp !!

Il s’agit de la carte de puissance qui commandera les deux moteurs de propulsion de mon robot. Pourquoi cette carte en premier lieu ? tout simplement parce que je reste attaché à mon challenge personnel de faire faire ses premiers tours de roue au robot avant la fin de l’année et que l’interfaçage des moteurs ne pouvait pas se faire (ou difficilement) à la méthode goret.

Cette carte est constituée du circuit intégré L298 de ST Microelectronics.
Le L298 est un double Pont en H pouvant supporter 2A max par moteur et jusqu’à une tension de 46V. Je dispose de la version en boîtier Multiwatt15 horizontal qui est celle distribuée en samples chez ST. J’aurais surement préféré une version verticale mais faute de mieux et surtout comme c’est gratos, je m’en contenterai. En cas de soucis avec le mignon petit composant (explosion soudaine, cramage impromptu…) j’en ai 2 de rabiot sous la main !!

Vous pouvez consulter et télécharger ici la Datasheet du L298

J’ai créé le schéma et le routage sous Kicak, un excellent logiciel open source sous licence GPL. Pour tester ce logiciel ou tout simplement l’utiliser pour lire mes schémas, c’est par ici.

Image JPG du schéma:

Le circuit est très simplement conçu autour du L298. Chaque entrée du circuit est isolée par un opto-coupleur ce qui pourra éviter la remontée de signaux parasites pouvant perturber le pic qui se chargera de générer les signaux de commande, et éventuellement éviter de cramer un pic si un problème survient au niveau de la partie puissance. La carte dispose de son propre régulateur 5V pour alimenter le L298 et les transistors des optocoupleurs. Les signaux de commande et aux retours sont disponibles sur la carte via un connecteur 10 points et les sorties vers les 2 moteurs ainsi que l’alimentation en 12V se font sur des borniers à vis.

Image JPG du routage des 2 faces:

Image JPG des PCB:

Le circuit est routé en double face avec les résistances en cms. Pour une première carte depuis des années, je peux dire que je suis assez content du résultat. Pour effectuer les vias entre les 2 faces, je voulais initialement utiliser des petits oeillets métalliques prévus à cet effet. Malheureusement, les pastilles de mes vias sont trop petites (ou les oeillets sont trop gros…) et je ne peux pas percer mes trous sans bouffer tout le cuivre de la pastille donc pour cette fois, ça sera fait avec des queues de résistances (mode Goret ON).

J’ai passé ma journée d’hier à réaliser ce circuit. Non je n’ai pas fait que ça de la journée rassurez vous car avant de passer à la réalisation, j’ai commencé par me fabriquer un banc à insoler avec une vieux système de 4 néons 60cm que j’avais construit pour faire pousser des tomates dans ma chambre. Ensuite j’ai entamé la réalisation du circuit à proprement parler mais j’ai foiré une première plaque en beauté à cause d’un temps d’insolation beaucoup trop long (5 minutes). Quelle déception de voir tout le vernis se barrer en sucettes quand on plonge la plaque dans le révélateur… argg !!
J’ai profité de cette foirade pour quand même insoler la 2ème face et régler du coup mon temps de pose: 2 minutes 20-30, nickel !! Après la découpe à la scie sauteuse d’un 2ème morceau d’époxy, j’ai enfin pu révéler mes 2 faces comme il faut et procéder à la gravure, tout excité de voir le cuivre se faire bouffer :-)
Le circuit est tip-top et après passage dans un bain d’étain chimique qui lui donne une allure magnifique, il est enfin prêt pour le perçage et la mise en place des composants mais tout ça fera l’objet d’un autre billet.

Voici les fichiers sources à télécharger au format Kicad : carteL298.rar

Je suis désolé mais j’ai complètement oublié de prendre des photos de toutes les phases de réalisation. Je posterai une photo du circuit terminé le plus vite possible.
Sur ce, je vous dit à très bientôt pour de nouvelles aventures. (un peu de mécanique je pense)

Pic et pic et colegram…

Posted in electronique, etude, I2C, PIC on octobre 1st, 2007 by Cyril

Un des gros morceau de la réalisation du robot va concerner les différentes cartes électroniques.
C’est bien beau de disposer d’une carte mère avec 512Mo de ram et un proc à 1,3Ghz mais aussi intelligent qu’il soit, le cerveau du robot aura besoin de nerfs pour communiquer avec ses organes (pitoyable métaphore, je vous l’accorde).
On a vu que c’est un bus I2C qui est utilisé pour communiquer entre la carte mère et les différentes cartes, or qui dit bus i2C dit numérique, et qui dit numérique dit Microcontroleur.

Il existe plusieurs familles de microcontroleurs et je ne vais pas tenter de les citer ni de les comparer. Si vous voulez participer au débat (enflammé), rendez-vous dans la section « Robotics » du forum de planète science. Les adeptes des différentes familles s’y entretuent à coup d’arguments plus ou moins crédibles, certains s’accusent d’avoir des parts dans les différents fondeurs, bref que du bonheur : Planète Science

J’en profite pour remercier tout les participants de ce forum très vivant pour leurs conseils et tout et tout. C’est une vraie mine d’informations sur laquelle je passe tout les jours et ou j’ai trouvé beaucoup de solutions aux problèmes qui m’empêchaient de dormir. (En plus le président de l’assoc est un ami des parents de ma femme… le monde est petit :-) )

Bon je me lance, j’ai choisi de travailler avec des microcontroleurs de Microchip, les fameux PIC.
Vous vous en doutiez ? rhooo tout de suite… j’ai hésité quelques jours à utiliser des AVR mais la gratuité des logiciels, la simplicité de l’architecture et la communauté des Pic ont finis de me convaincre.
Un plus très appréciable pour les radins comme moi, c’est que Microchip a une politique très interessante pour les étudiant/bidouilleurs/profiteurs: les Samples !!
Grace à une simple inscription sur leur site, ils envoient gratos des échantillons de leurs microcontroleurs, frais de ports offerts, et ceci jusqu’à une commande de 12 unités tout les 2 mois. Pas de quoi ouvrir une usine de production en chine mais pour tester et faire joujou avec un robot, c’est plus que suffisant.

Voici la liste des modèles que j’ai choisis pour les différentes applications que j’envisage:

  • PIC16F88 (1ère commande, surement pas utilisés)
  • PIC16F627A (idem)
  • PIC16F819 (carte d’alimentation)
  • PIC18F2431
  • PIC18F4520
  • PIC18F2550

Avec ça, j’ai de quoi faire tout ce dont j’ai besoin et en particulier une carte de commande pour mes moteurs (PWM hardware) et une carte de décodage pour les encodeurs rotatifs.
Tout ces Pics supportent le protocole I2C et seront donc connectés à la carte mère via la petite carte Diolan que je vous ai présentée dans un autre post.

C’est tout fébrile qu’après 10 ans d’abstinence je me suis recollé devant une plaquette à essai, que j’ai branché quelques résistances un condos et 2 leds, et que j’ai vu mes 2 leds clignoter, une larme à l’oeil tellement c’était beau !! (Lise perplexe: « Si c’était pour faire ça, t’aurai pu acheter un interrupteur aussi… » no comment).

En une soirée, j’ai bidouillé mon 16F819 dans tout les sens et j’ai réussi à intégrer 2 commandes ON et OFF en I2C qui allument et éteignent la led ! ouaiiiiii !!!

Je mettrai à disposition les codes sources de mes différentes applis quand elles seront fonctionnelles, ce blog n’ayant pas vocation à devenir un cours de PIC. (Bigonoff s’en charge très bien)

A bientôt !

Carte d’alimentation

Posted in electronique, etude, I2C on octobre 1st, 2007 by Cyril

La création de la carte d’alimentation du robot est presque terminée. Pour la création du schéma et du PCB, j’utilise le logiciel gratuit KiCad qui est très pratique à utiliser après quelques heures de prise en main.

Bon, ça fait très longtemps que je n’avais pas fait d’électronique donc je galère un peu pour mon routage et il n’est pas exclu que je rencontre des problèmes divers et que cette carte finisse soit toute plein de straps, soit dans un placard pour voir une V2 un peu plus aboutie.

Caractéristiques techniques::

  • Distribution du 12V de la batterie.
  • PIC 16F819 pour le pilotage de la carte
  • Détection de placement sur la base de recharge du robot (2 microswitchs)
  • Monitoring des 3 tensions: 12V batterie, 12V externe, 13,5V charge.
  • Basculement de l’alimentation du robot sur le 12V externe (relai).
  • Connexion de la source 13,5V vers la batterie pour la recharge (relai).
  • Régulation 5V pour le PIC et les composants de la carte (7805).
  • 3 leds d’état: 12V batterie, 12V externe, charge ON.
  • Bus I2C pour lecture de l’état et des tensions par le système central (PC embarqué).
  • Connecteurs de sortie pour le 12V vers le reste du robot.

Le schéma et le PCB sont en cours de mise en forme pour la publication. je publierai les images et les fichiers sources au format KiCad.

Schéma électrique général

Posted in electronique, etude on juillet 18th, 2007 by Cyril

Voici le résultat d’une première étude sur l’architecture électrique générale du robot et je vous livre donc ce schéma d’ensemble assez synthétique et pas très détaillé je l’avoue.
Bien entendu, le descriptif détaillé et les schéma électroniques viendront s’ajouter au fur et à mesure, pour chaque carte.

N’hésitez pas à laisser des commentaires et à poser des questions , je me ferais un plaisir d’y répondre !


Système de contrôle

Posted in electronique, etude, informatique on juin 12th, 2007 by Cyril

Les solutions envisageables pour le système de contrôle du robot sont nombreuses et voici quelques solutions triées sur le critère de la puissance de calcul disponible. (Ce tri ne correspond pas au critère de simplicité ou de prix de revient…)

* La première solution, utilisés pour des petits robots suiveurs de ligne ou des micro robots qui vont se diriger par une source de lumière, est une poignée de composants discrets (transistors, condensateurs, résistances, …) qui permettent de « programmer » un comportement très simple.

* Une solution plus avancée est d’utiliser des circuits intégrés linéaires (portes logiques entre autres) pour donner plus de possibilités de réagir de façon appropriée à l’environnement.

* La majorité des robots ludiques construits et présentés par des particuliers/universités sur internet utilisent cette 3ème catégorie de système de commande. L’utilisation d’un microcontroleur (PIC, 68HC11, etc…), programmé le plus souvent dans un langage de bas niveau comme l’assembleur, permet d’effectuer des taches beaucoup plus complexes que précédemment. (gestion d’entrées/sorties analogiques/numériques, évitement d’obstacles, comportement adapté en fonction de la luminosité, réaction au bruit ambiant, etc…)

* La solution que j’ai retenue est l’intégration d’un système PC autonome sur le robot. Cette solution offre des possibilités impressionnantes et est une solution qui retient l’attention de plus en plus de gens concernés par la conception de robots.
Les principaux problèmes sont la taille et le poids d’un PC complet incluant carte mère, disque dur, alimentation, etc… Tout ceci n’est pas forcement compatible avec un petit robot d’une 30aine de centimètres de diamètre mais nous verrons très prochainement le détail de cette intégration problématique car des solutions existent !!

See you soon