Machine a graver
Le but de notre projet est de programmer une machine à graver par USB. En utilisant gravostyle et en passant par le PIC32 USB STARTER KIT II et un module d'extension.
Sommaire
- 1 PIC32 USB Starter Kit II
- 2 Les modes USB et les types de connecteur
- 3 MPLAB ® IDE X
- 4 Journal de bord
- 4.1 Séance 2 : 27.09.2013
- 4.2 Séance 3 : 04.10.2013
- 4.3 Séance 4 : 11.10.2013
- 4.4 Séance 5 : 18.10.2013
- 4.5 Séance 6 : 23.10.2013
- 4.6 Séance 7 : 22.11.2013
- 4.7 Séance 8 : 29.11.2013
- 4.8 Séance 9 : 6.12.2013
- 4.9 Séance 10 : 13.12.2013
- 4.10 Séance 11 : 10.01.2014
- 4.11 Séance 12 : 17.01.2014
- 4.12 Séance 13 : 14.02.2014
- 4.13 Séance 14 : 21.02.2014
- 4.14 Séance 15 : 28.02.2014
- 4.15 Séance 16 : 14.03.2014
- 4.16 Séance 17 : 21.03.2014
- 4.17 Séance 18 : 28.03.2014
PIC32 USB Starter Kit II
Le PIC32 USB Starter Kit II permet comme son nom l'indique de faire fonctionner des application utilisant principalement l'usb (esclave,maître,OTG). La carte fait aussi fonctionner la plus part des applications USB utilisant les microcontrôleur PIC32. Enfin elle peut être utilisée comme une carte d’extension.
Nous utiliserons cette carte pour gérer les fichier crée via Gravostyle et envoyer en USB.
Détail de la carte
Schéma avant:
- PIC32MX795F512L le fameux microcontrôleur 32 bits.
- LED verte qui indique la mise sous tension de la carte.
- Oscillateur a quartz embarquer (8Mhz).
- Connecteur USB Type mini-B pour la connexions en mode debugger.
- LED orange indiquant que la carte est en mode debugger.
- Boutons poussoirs pouvant être programmés.
- LEDs pouvant être programmés.
- Connecteur USB Type A (femelle) destinés aux applications en mode usb.
- connecteur pour cavalier d'alimentation.
schéma arrière:
- PIC32MX440F512H microcontrôleur qui gère l'USB.
- Régulateur +3.3V qui fournit la tension nécessaire a la carte pour fonctionner lorsqu'elle est connectée en USB ou via une carte d’extension.
- Connecteur pour d'autre carte d'extension.
- Permet l’alimentation des applications USB du Pic32 tournant sous USB OTG(on-the-go) ou en maître.
- connecteur USB type micro-AB pour l'usb OTG.
Les modes USB et les types de connecteur
Nous ne détaillerons pas le fonctionnement de L'USB en général mais les différents modes et connecteurs car le PIC32 SKII peut se configurer de telle sorte à gérés les différents modes USB.
Modes USB
Mode CDC
Le mode CDC(Convertisseur USB-Série) sert à simuler un port série (port obsolète mais encore utiliser par nos imprimante par ex). L'ordinateur voit le périphérique USB comme un port série, donc le dialogue utilise les même bibliothèques qu'un port série. Nous choisirons ce mode de communication car gravostyle communique avec des imprimante donc le PIC32 SKII devras fonctionner en CDC et simuler un port série.
Mode human interface device(HID)
Ce mode est utilisé pour les souris, claviers et autres périphérique du même type. transfert de données faible et a basse vitesse.
Mode Mass storage (MSD)
Mode utilisé par les clés USB, autres périphériques de stockage.
Mode Générique
Permet d'envoyer un nombre d'information a un vitesse de communication choisi(480 MBits/s, 12 MBits/s, 2Mbits/s).
Type de connecteur
MPLAB ® IDE X
Lien direct : www.microchip.com
MPLAB ® IDE X est un logiciel qui s'exécute sur un PC (Windows ® ,Mac OS ® , Linux ® ) pour développer des applications pour microcontrôleurs Microchip et contrôleurs de signaux numériques. Il est appelé un environnement de développement intégré (IDE), car il fournit un «environnement» intégrée à développer du code pour microcontrôleurs embarqués
Journal de bord
Voici notre journal de bord qui présente la progression du projet au fil des séances.
Séance 2 : 27.09.2013
Présentation du pic32 et du pic 32 starter kit II. Recherche et installation de MPLAB(X) IDE (L’environnement de développement).
Séance 3 : 04.10.2013
Installation de MPLAB(X) C32 (Compilateur C).
Séance 4 : 11.10.2013
Installation et configuration du logiciel Gravostyle.
Séance 5 : 18.10.2013
Mise en oeuvre de nouveau Port série et utilisation de Gravostyle.
Séance 6 : 23.10.2013
Etude d'un exemple de programme en C utilisant l'USB. C:\microchip_solution_v2013-06-15\usb\device-CDC-basic demo
Séance 7 : 22.11.2013
Programmation de la carte usb starter kit 2.Test de la communication en CDC grace a un hyper terminal (programme-accesoire-communication) Recherche sur la carte starter kit I/O Expansion Board (DM320002)
Séance 8 : 29.11.2013
Étude de la liaison port série entre deux pc(logiciel gravostyle(PC1)-->hyperterminal(PC2)).
Conclusion: On ne peut contrôler les données envoyées par le logiciel (bits ajoutés sur l'information essentiel), c'est pourquoi nous décidons de passer par une interface qui nous permettras de maîtriser les données envoyés.
Séance 9 : 6.12.2013
Programmation du logiciel en c avec interface graphique via National Instrument VCI (pour contrôler la communication entre les deux interfaces). Et étude du langage HPGL en parallèle.
Séance 10 : 13.12.2013
Test du logiciel créé la séance dernière, et observation de la communication via un hyperterminal.
Nous avons rencontré un problème. Dans les données il manque des retours chariots ce qui ne reflètent pas ce que l'on veut communiquer.
Séance 11 : 10.01.2014
Recherche sur la façon de pouvoir télécharger un fichier généré par le programme dans la mémoire RAM du PIC32.
On compte le nombres de bits à communiquer.
Solution possible: envoyés une partie des informations et les stocker dans un tableau, ensuite quand ce tableau est remplie on envoie les données vers l'imprimante.
Séance 12 : 17.01.2014
Ecriture du programme gérant la communication entre le pc et le pic32:
-USB communique par paquet de 64 bit
-On envoie jusqu’à ce que le Pic sois plein (80% du maximum en réalité pour prévoir de la place)
-le pic envoie au pc un bit pour stopper l'envoie
-le pic traite les donné reçus et renvoie un bit pour reprendre la communication
Recherche des port du Pic occupé par les éléments de la carte:
- led:
RD0 à RD2(PortD).
- Bouton poussoir:
RD6,RD7,RD13.
Séance 13 : 14.02.2014
Recherche d’après les docs du pic32, nous allons déterminer les ports à utiliser pour commander les moteur pas a pas.
recherche du fonctionnement des Timers utilisé par le PIC32 conclusion:
-Les Timer que l'on va utiliser sont dit de "Type B" (16 bit)
-Les Timers fonctionne seulement en compteur
Voir documentation Timer, chapitre 14.3.3 16-bit Synchronous Clock Counter Mode.
Séance 14 : 21.02.2014
Détermination des pattes connectés du PIC32 vers la carte d'extension via la documentation et réflexion sur le programme de contrôle des moteur via le fichier HPGL.
Séance 15 : 28.02.2014
Soudage des connecteurs sur la carte d'extension, et détermination de la fréquence correct pour commande des moteurs puis du sens.
Séance 16 : 14.03.2014
réalisation du connecteur carte via wraping.
Séance 17 : 21.03.2014
Programme pour commande de moteur. moteur axe X et Y maîtrisée.
Séance 18 : 28.03.2014
finalisation du projet.