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

Leave a comment

2 Comments

  1. alexandre

     /  2015-03-27, 12:35:30

    Bonjours, j’aimerai savoir ou en est le projet, car cela m’intéresse (pour des 16f84).
    Cordialement.

    Répondre
    • nsanagustin

       /  2015-03-27, 14:58:00

      Bonjour.

      Le projet est malheureusement en suspens… J’avais galéré pendant un temps à essayer de faire fonctionner l’Arduino pour programmer le PIC mais sans succès alors j’ai lâché l’affaire en pensant y parvenir plus tard. Entre temps, j’ai pu obtenir un PICKit 2 (même si j’aurais peut-être dû prendre un 3…).

      Cependant, j’ai peut-être une solution à vous proposer. En fait, un hollandais du nom de Frans Schreuder (que le grand monstre spaghetti volant le bénisse de son appendice nouillesque) a développé un petit programmateur de PIC, à peine plus gros que mon pouce, connecté en USB et entièrement libre, que ce soit les schémas du circuit, le logiciel de programmation ou le firmware. Le hic c’est que c’est basé sur un PIC18F2550 et il faut donc un programmateur pour réaliser le programmateur. Cependant, le gars propose de vous réaliser lui-même le programmateur et de l’expédier. Ça coûte 20€ plus les frais de port qui sont plutôt raisonnables (5€ pour la France), soit le même prix qu’un Arduino Uno. Et la livraison se fait assez vite.

      Tout est sur ce site : http://usbpicprog.org/

      En espérant que ça vous aidera.

      Cordialement.

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *