Previous Up Next

2  Circuit imprimé

Votre circuit imprimé doit comporter un microcontrôleur connecté sur un connecteur USB mâle de type A. Il doit aussi comporter un connecteur ISP pour la programmation du microcontrôleur et une LED, au moins, commandée par le microcontrôleur pour que votre carte puisse s’exprimer.

Pour simplifier le microcontrôleur est imposé est sera un ATTiny85. Vous partirez du circuit présenté à l’adresse https://codeandlife.com/2012/02/22/v-usb-with-attiny45-attiny85-without-a-crystal/. Il suffit d’ajouter le connecteur ISP et d’ajouter quelques LED si le coeur vous en dit.

Vous allez concevoir votre carte en utilisant le logiciel KiCAD (version 5). Commencez par la vue "schématique" en ajoutant à votre schéma les composants suivants :

Une fois les composants posés, placez les de façon rationnelle et connectez les composants entre-eux. N’hésitez pas à utiliser des "labels de réseau" pour éviter de surcharger le schéma avec des croisements de connexions.

Quand votre schématique est validé par un encadrant passez au routage (icône "éditeur PCB"). Votre but est de créer la carte la plus petite possible avec des pistes (connexions) ne se croisant pas (pour éviter les court-circuits). Procédez comme pour le schématique, placez d’abord les composants pour minimiser les croisements de pistes puis tracez les pistes (sur la face supérieure). Attention les composants traversants (le connecteur ISP) doivent être posés sur la face inférieure. Si vraiment vous n’arrivez pas à tout router en face supérieure vous pouvez implanter quelques pistes en face inférieure en utilisant des via.

Une fois votre routage validé par un encadrant, demandez sa fabrication sur le site http://eei.polytech-lille.net. La carte fabriquée il ne vous reste plus qu’à souder les composants et à la programmer avec un Arduino servant de programmateur.

La dernière étape est celle de la programmation de la carte. Le principe est d’arriver à lire un octet sur une liaison USB/série et à implanter cet octet comme valeur d’attente pour le clignotement de la LED commandée (en considérant l’unité de cette valeur en centième de seconde par exemple).

Vous partirez du code fourni à la page https://wiki-ima.plil.fr/mediawiki/index.php/PeiP_enseignement_spécialité_SE_2022/2023. Nous vous laissons enrichir la fonction usbFunctionWriteOut du fichier source tiny85_peip/main.c avec les commandes de votre choix. Vous pouvez aussi ajouter des variables globales et une fonction pour implanter le minuteur, cette fonction est à appeler dans la boucle principale de la fonction main. La compilation se fait via la commande make dans le répertoire tiny85_peip_2022_1LED/default.

La programmation de la carte se fait obligatoirement via le connecteur ISP avec un programmateur Arduino. La commande pour télécharger le code sur la carte est (remplacez éventuellement -c arduino par -c stk500v1 pour certains programmeurs) :

avrdude -c arduino -p attiny85 -P /dev/ttyUSB0 -b 19200 -U flash:w:cdctiny85.hex
avrdude -c arduino -p attiny85 -P /dev/ttyUSB0 -b 19200 -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m

Testez ensuite la carte en utilisant la commande Unix minicom -os, rentrez dans le troisième item du menu et sélectionnez /dev/ttyUSB0, sélectionnez 9600 bauds, supprimez le contrôle de flux matériel, sortez du sous-menu et enfin prenez le premier item "sortie".


Previous Up Next