Home › Magazines › 2007 › novembre › Carte d'acquisition de données USB

Carte d'acquisition de données USB

Numérique et analogique; entrées et sorties

publié dans Elektor n° 353, novembre 2007

Carte d'acquisition de données USB

Un module d’acquisition bien doté :

 

  • Microchip PIC18F4550
  • application écrite en C et code source commenté
  • compilée sous Microchip MPLAB
  • liaison USB vers un PC
  • identifications USB VID/PID de Microchip
  • module directement alimenté par le port USB
  • 8 canaux A/D 10 bits (0V à 5V)
  • 2 canaux D/A (0V à 5V)
  • 8 sorties logiques
  • 8 entrées logiques

 

Avec une petite application sous Windows :

 

  • compatible WinXP
  • nécessite Net Framework 2 à l’installation (disponible gratuitement au téléchargement)
  • pilote USB fourni
  • application écrite en C++ et code source commenté
  • compilée sous Visual C++ 2005 Express (compilateur gratuit au téléchargement)

 

Anodin en apparence, le projet  présente une synthèse pratique, et permet de maîtriser tant la programmation d’un µC en langage évolué que la programmation en langage évolué pour PC, y compris la gestion de l’interface USB.

Important en cas de problèmes de compilation de CUSTOM_TAD

Contrairement à ce que pensent certains lecteurs, le progiciel CUSTOM_TAD ne comporte as de bogue. S'il est compilé, comme le dit le magazine dans la section "Progiciel PIC", sous le compilateur MPLAB C18 C v3.02, il se compile parfaitement (il apparaît 6 messages d'avertissement, sans importance) et le fichier .hex est généré sans le moindre problème.

 

Cependant, si le progiciel est compilé avec une version plus récente du compilateur C18, sous MPLAB C18 C v3.14 (version récente) par exemple, il apparaît certaines erreurs qui empêchent la compilation. Pour pouvoir effectuer une compilation réussie il faut procéder à quelques modifications :


1. Fichier main.c, ligne 52

Le texte: #pragma config FCMEM = OFF

Doit devenir : #pragma config FCMEN = OFF

2. Fichier user.c, ligne 76

Le texte : OpenPWM2(0xFF);

Doit devenir : TRISCbits.TRISC1=0; CCP2CON=0b00001111;

3. Fichier user.c, ligne 79
Le texte : OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_6_TAD,ADC_CH0 & ADC_INT_OFF & ADC_VREFPLUS_VDD & ADC_VREFMINUS_VSS,7);

Doit devenir : OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_6_TAD,ADC_CH0 & ADC_INT_OFF & ADC_REF_VDD_VSS,7);


Ces 3 modifications sont indispensables. Après avoir procédé à ces modifications le progiciel se compile parfaitement (il apparaît 6 messages d'avertissement, sans importance) et le fichier .hex est généré sans le moindre problème.

 

Matériel

Sur le schéma, les broches USB+ et USB– du bornier K2 doivent être interverties. Il faudra également modifier en conséquence le dessin des pistes de la platine proposé dans l'article. Les platines fournies par Elektor Shop comportent le routage correct du signal USB et ne sont donc pas concernées.

Bien que le schéma et la liste des composants donnent des valeurs différentes pour R3 et R4, il n'y a pas de problème à utiliser des valeur de 27 Ω ou de 33 Ω pour R3 et R4.

 

Cliquez ci-dessous pour télécharger l'article ou le fichier pdf.

 

Téléchargements 

PDF de l'article
10 unités de crédit
PDF de la platine
Gratuit !
 

Revue 

Magazine de Novembre 2007
FR353 (US $ 8,70)
 

Produits 

platine sans composants
070148-1 (US $ 21,70)
PIC18F4550 DIP40, programmé
070148-41 (US $ 32,70)
 

Téléchargements gratuits 

Logiciel

Gratuit !

Informations complémentaires

Gratuit !

Compte tenu de la complexité du marché international, Elektor ne saurait garantir la disponibilité des composants requis pour cette réalisation.

Elektor 2/2010 en kiosque

Elektor-Hebdo gratuit !

Mon adresse électronique :

Unités de crédit Elektor

Elektor PCB Service

10 ans d'Elektor sur DVD