Robots @ Loamok

Aller au contenu | Aller au menu | Aller à la recherche

mardi, 3 juillet 2007

Concept de programmateur multi-ports ICSP pour pics


Pendant une séance de réflexion à la conception de mon Robot, il m'est venu une idée que je pourrais presque qualifier de géniale :


Le "Concept de programmateur multi-ports ICSP pour pics". Je m'explique :

Premières contatations :

- Il est convenu que l'électronique nécessaire à la programmation d'un micro-controleur est coûteuse pour l'autonomie d'un robot.
- La technique du "Boot-loader" (technique permettant de charger du code dans la mémoire au démarrage du pic) est également coûteuse en termes de réservation d'une partie des ports d'entrée-sortie du micro-controleur pour les dédier à une communication série ainsi qu'en consommation de la mémoire de programme, puisque le fragment de code "Boot-loader" doit être inscrit de manière "résidente" dans la mémoire de programme du micro-controleur. (Cela fait des octets libres en moins :( et puis il faut quand même un programmateur pour placer le "Boot-loader" en mémoire ...).
- La technique du programmateur externe nécessite d'avoir un accès physique au micro-controleur en permanence. Il faut << arracher >> le micro-controleur de son support, le placer sur le programmateur, le remettre sur le support de sa carte mère ..... Bref c'est loin d'être idéal comme concept.

Secondes constatations :

- Il semble peu pratique de devoir s'équiper d'un programmateur par type de port exploité sur un PC. En effet si l'on souhaite pouvoir faire preuve de mobilité il faut :
-A) : trouver un port pc suffisament générique pour être disponible en toutes circonstances.
-B) : s'équiper d'autant de programmateurs que de ports de programmation possibles.
-C) : se prommener partout avec une tour pc dédié à la programmation du robot.

Analyse :

Un programmateur c'est quoi ? Ce sont quelques composants dédiés à la programmation d'un micro-controleur faisant le lien entre un port (Série, Parallèlle, Usb) et les pattes dédiées à la programmation d'un micro-controleur.

L'ICSP c'est quoi ? C'est l'extériorisation des composants de programmation sur une plaquette séparée de la carte de support du micro-controleur, les deux plaquettes "dialoguant" au travers d'un connecteur.

Un Port (Série, Parallèlle, Usb) c'est quoi ? C'est une interface Machine-Machine. C'est une série de broches permettant des entrées - sorties d'un ordinateur vers un autre équipement au travers d'un protocole commun.

Conclusion :

Un programmateur multi-ports ICSP peut être conçu selon le croquis suivant :

Le "PC" est relié au programmateur via un "module" (Série, Parallèlle, Usb). Le programmateur est relié au support du micro-controleur via une liaison ICSP.

De cette façon il suffit de disposer du module adéquat pour reprogrammer le micro-controleur du robot depuis n'importe quelle plate-forme (PC, portable, Apple, Palm, .....).

lundi, 2 juillet 2007

Les outils du Geek


J'ai faillit oublier l'essentiel !!!
Quels outils pour la robotique sous Linux ? :

Outils de conception :

Tout d'abord pour faire de jolis schémas, dessiner des plaques électroniques (PCB), obtenir un aperçu en 3 dimensions de la plaque résultante, imprimer Typons et autre liste de composants :
L'excellent Kicad

Pour les PICS :

Ensuite pour compiler de l'assembleur pour les pics, simuler le fonctionnement d'un programme (le premier qui réussi à faire clignoter une led pour pic16f84 dans un simulateur sous ubuntu-gnome, .... je lui offre une barquette de fraises (NDLR)), ... et bien plus :
GpUtils

Et enfin histoire d'envoyer le code compilé directement entre les pattes de notre puce :
PKP extrait du projet PikDev (pour les Kde'istes).

dimanche, 1 juillet 2007

Le(s) cerveau(x) d'un Robot : un micro-controleur


Tout robot digne de ce nom ce doit d'être doté d'un ou plusieurs cerveau(x).

Ces cerveaux sont matérialisés sous la forme de micro-controleurs (pic 16fxxx, Atmel, ...etc etc...).

Je commence donc mon étude des micro-controleurs avec l'ultra classique PIC 16F84A.

Ayant tenté, par le passé, de réaliser un robot "Monty", je dispose de presque tout le matériel nécessaire pour démarrer une longue période d'aprentissage, de ratages et de bugs divers :) . Bref le lot quotidien de tout geek convaincu. Pour le reste je le fabriquerais au fur et à mesure et ferais en sorte que chaque "module" soit suffisamment générique pour servir aussi bien mon robot qu'un autre.

Ce que j'ai appris lors de ma tentative de "Monty" :

- un micro-controleur est programmable à souhait (limité toutefois à sa structure physique),
- ces petites bestioles à multiples pattes ont besoin d'un programmateur pour ingérer le code compilé,
- ces mêmes bestioles ont besoin d'un support électronique pour fonctionner,
<< ce support pouvant se confondre avec le précédent (cas du robot "Monty" dont la platine principale sert aussi à la programmation ce qui n'est pas sans poser quelques problèmes à nombre de Montyliens) >>

Ce que j'ai appris bien plus tard :

- Le fabricant des PICS (Microchip) a breveté une technique de programmation nommée ICSP (In Circuit Sérial Programming).

Au sommaire donc :

- Carte de commande "Monty" et adaptations diverses,
- Concept de programmateur multi-ports ICSP pour pics,
- Carte mère minimale pour pic.

Création, un nouveau blog est né ..


Il existe beaucoup de ressources sur le thème de la robotique de par le web.

Un constat tout de même sur ce florilège de ressources :

- la plupart sont totalement désorganisés,

- beaucoup "piquent franchement les yeux",

- la grande majorité s'adressent à des utilisateurs de plate-formes propriétaires.

Et le Libre dans tout ca ?

Quelle est la place du Linuxien passionné désireux de créer son petit robot ?

Malheureusement, elle est faible et rarement francophone.

Alors si comme moi vous avez jeté Gill Bates aux horties ... Que vous ne concevez plus l'informatique autrement que sous Linux ...

Bienvenue, ce site s'adresse tout d'abord à vous.

J'ai entamé la construction d'un Robot, et ce blog est un recueil de mes explorations dans ce domaine appliqué aux Logiciels Libres.

Tout les thèmes nécessaires à la construction de ce robot seront explorés, fouillés, traduit en Libre. Vous trouverez ici mes réflexions, des schémas électroniques adaptés aux besoins de mon robot (et donc peut-être du votre).

Vous pourrez y poser des questions, ou répondre aux miennes qui seront très nombreuses.