Programmateur de PIC

Bonjour à toutes et à tous.

Aujourd’hui, je vais vous présenter mon premier projet personnel : un programmateur de PIC. Pour commencer, quelques explications avec une mise en contexte.

Qu’est-ce que PIC ?

PIC est une famille de microcontrôleurs, développée par une entreprise appelée Microchip. Cette dernière fournit aux entreprises des microcontrôleurs polyvalents et peu coûteux. Cela se ressent parfois sur la qualité de certaines solutions proposées – je pense notamment aux compilateurs et librairies, développés par Microchip et distribués en ligne gratuitement. Ils restent toutefois des systèmes stables pouvant servir à un grand nombre d’applications.

Microcontrôleurs PIC
Quatre microcontrôleurs PIC de familles différentes : 18F, 16F, 12F et 10F.

Pourquoi réaliser un programmateur de PIC ?

Tout d’abord, ces microcontrôleurs sont vendus vierges, c’est à dire qu’ils n’ont aucun programme intégré dedans. Pour y intégrer un programme, il faut un appareil appelé un programmateur.

Il en existe de toutes sortes, les plus chers étant ceux qui permettent de programmer le plus grand nombre de modèles de microcontrôleurs. L’ennui vient justement de leur coût – trop élevé pour mes maigres moyens – et que les plus abordables sont limités et/ou disposent uniquement d’un port RS232, port absent de certains ordinateurs de nos jours (notamment les portables).

L’idéal serait de le connecter en USB, possibilité offerte par certains programmateurs figurant parmi les plus onéreux. Il existe bien des adaptateurs RS232/USB mais les programmateurs ne fonctionnent pas toujours avec. Le but est donc d’en réaliser un avec les moyens du bord. Cela apporte également l’opportunité d’étudier le fonctionnement d’un programmateur.

PicKit2
Le PicKit2 sert d’intermédiaire entre l’ordinateur et le microcontrôleur PIC pour permettre de le programmer et le déboguer.

Comment le réaliser ?

Pour ce projet, j’ai besoin de connaître le fonctionnement d’un programmateur et d’avoir un matériel adapté pour mettre en œuvre la méthode de programmation.

Pour cela, je dispose de la documentation de Microchip fournie gratuitement en ligne, expliquant en détails la méthode de programmation ICSP. Concernant le matériel, je possède un microcontrôleur PIC18F2550 à programmer et une carte de développement Arduino, dédiée à l’apprentissage simplifié de l’électronique embarquée pour les débutants et amateurs, facilement programmable par USB.

Arduino Diecimila

Le projet se déroule comme suit :

– Une étape d’étude de documentation consacrée à la lecture de la documentation et à la compréhension de la méthode ICSP,

– Le développement – conception, réalisation et tests unitaires – du programme Arduino,

– Le développement d’une application fenêtrée servant d’interface de programmation,

– Enfin, le montage électronique suivi de l’intégration des différents programmes pour procéder aux tests finaux.

Le but est d’obtenir un logiciel de programmation permettant d’analyser et extraire les données d’un fichier de programme .hex et de les transmettre au programme Arduino pour qu’il programme le PIC18F2550.

Où en est le projet ?

Le projet a déjà débuté. L’étude de la documentation est terminée et le développement du programme Arduino est en cours.

Quelle sera la suite du projet ?

Un rapport de projet sera établi afin d’expliquer étape par étape comment réaliser son programmateur de PIC avec un Arduino. Pour l’instant, le projet se concentre exclusivement sur le PIC18F2550. Par la suite, il sera possible d’étendre les possibilités du programmateur.

J’envisage donc 3 cheminements possibles :

– Le perfectionnement du programmateur par ajout de fonctionnalités,

– L’extension du nombre de modèles gérés par le programmateur,

– Le développement d’un nouveau modèle de programmateur USB, libre et plus performant au niveau du matériel et des fonctionnalités.

Ces trois chemins peuvent se rejoindre pour au final obtenir un projet libre de programmateur universel de microcontrôleurs, performant, utilisable via USB et, si possible, gratuit.

Je vous tiens au courant et vous dis à bientôt.

Nicolas SAN AGUSTIN

Copyright Nicolas SAN AGUSTIN 2018
Tech Nerd theme designed by Siteturner