Academie pro

Programmeur de PIC à interface USB

élaboré par : M. Oumnad Abdelmajid
Ecole Mohammadia d'ingénieurs

Ce programmeur est une version fortement simplifiée du programmeur PICKIT2 de Microchip. Il permet de flasher les PICs 5V.

  • La résistance R12 (10 Ω) est facultative. Elle permet de limiter un peu le courant vers la carte cible. Je m'en sers comme strap sur le circuit imprimé.
  • Pour les deux résistances R7 et R11, il est évident qu'une seule suffit. J'en ai mis deux, d'une part, une me sert comme strap sur le circuit imprimé, d'autre part, avec 20k au lieu de 10k, on limite légèrement la saturation du transistor Q3 ce qui améliore son comportement dynamique.
  1. Réalisez le circuit. Voici le schéma et le typon format Proteus ISIS et typon format pdf  et implantation
  2. Flasher le PIC18f2550 avec le firmware du PICKIT2. Actuellement c'est la version PK2V023200.hex. Il n'est pas impossible que microchip sort une nouvelle version. Il est donc conseillé de le télécharger directement sur le site de microchip. Pour flasher le 18f2550, il vous faudra un programmeur, or justement, c'est ce qu'on est en train de réaliser. Une solution consiste à utiliser le programmeur à deux résistances qui marche très bien sur le port série d'un PC de bureau (ne marche pas avec un PC portable). Pour le logiciel, j'ai une préférence pour le logiciel PICPGM qui a  l'avantage de détecter le PIC quand le cablage est correct. En cas de difficulté, sélectionner le programmeur JDM programmer dans la section Hardware

    programmeur 2R           PICPGM - JDM



  3. Placer le PIC18F2550 à sa place sur le circuit (Il est fortement conseillé d'utiliser un support)

  4. Brancher le cable USB, normalement Windows doit le détecter et émettre un petit gling-gling comme quand on branche une souris. Si vous recevez le message Périphérique USB non reconnu. Essayez (plusieurs fois avant de déclarer forfait) sur un autre port USB éventuellement avec un autre cable USB.
  5. Si vous utilisez MPLAB, lancer MPLAB et choisir le programmeur PICKIT2: Programmer -> Select Programmer -> PICKIT2. La barre d'outils Programmeur  apparaît  pickit2 toolbar

  6. La fenetre Output affiche   

    MPLAB output

    MPLAB essaye de détecter Le PIC cible configuré dans le menu Configure/select  device (PIC16f877 dans mon cas) et ne le trouve pas, il affiche le warning ci-dessous. Cliquer sur OK
    MPLAB Warning

    Connectez maintenant le programmeur au PIC cible (le PIC que vous désirer programmer)
    Vpp --> MCLR
    Vdd -->  Vdd
    GND  -->  Vss
    DATA -->  RB7
    CLK  --> RB6

    PICKIT2 Clone & PIC cible

    Sur la barre d'outil programmeur de MPLAB, cliquer sur le bouton  qui permet de rafraîchir l'état du programmeur. Cette fois il détecte le pic cible

    Mplab PICKIT2 output & cible

  7. Si Vous n'utiliser pas MPLAB, vous pouvez utiliser le logiciel PICKIT 2 actuellement (juin 2012) c'est la version 2.61 . La dernière version doit être téléchargée sur le site de microchip.

  8. Pour programmer sur MPLAB, rien de plus simple.
    1. Saisir un programme
    2. Le compiler jusqu'à obtenir "BUILD SUCCEEDED"
    3. Cliquer sur le bouton dans la barre d'outil programmeur.
    4. On obtient la sortie suivante dans la fenêtre Output




    5. Si vous voulez que le programme s'éxécute immédiatemet alors que le PIC cible est encore connecté au programmeur, il faut forcer la broche MCLR au niveau haut. Pour cela il suffit de cliquer sur le bouton dans la barre d'outil du programmeur. Vous pouvez configurer le programmeur sous MPLAB pour qu'il force la sortie MCLR au niveau haut à la fin de chaque programmation: menu Programmer --> Settings --> cocher la case "Run after a successful program" --> OK