Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Equipment >> Équipement industriel

Breadboard et programmation de l'ATmega328P et de l'ATtiny45 dans Atmel Studio 7

Dans ce projet, nous construirons des circuits pour programmer deux microcontrôleurs Atmel différents et nous discuterons de la configuration logicielle nécessaire.

Dans ce projet, nous construirons des circuits pour programmer deux microcontrôleurs Atmel différents et nous discuterons de la configuration logicielle nécessaire.

Ce projet décrira la construction de deux circuits très similaires :un pour programmer un ATmega328P et un autre pour programmer un ATtiny45. L'article fournira un schéma de principe complet des circuits de programmation ainsi que des photographies détaillées des assemblages de la maquette sans soudure. De plus, Atmel Studio 7 IDE (Integrated Development Environment) sera également introduit.

Tout d'abord, le matériel

L'ATmega328P est un microcontrôleur à 28 broches d'Atmel et fait partie de la gamme AVR. Il est probablement mieux connu comme le μC le plus fréquemment utilisé dans la marque de plates-formes de développement Arduino, mais l'AT328P est capable de bien plus que ce qu'on peut en tirer. Si vous voulez voir des preuves de cette affirmation, jetez un œil à la fiche technique de 660 pages.

L'ATtiny45 est un μC à 8 broches et pourrait être considéré comme le « petit frère » de l'ATmega328P. Il possède bon nombre des mêmes fonctionnalités, mais bien sûr, il n'a pas autant de broches d'E/S.

L'interface périphérique série (SPI) est utilisée pour programmer l'ATmega328P et l'ATtiny45; il s'agit d'un bus à trois fils (plus la terre), composé d'un signal Master Out, Slave In (MOSI), d'un signal Master In, Slave Out (MISO) et d'un signal Serial Clock (SCK). L'horloge est générée par le dispositif maître et sert à assurer une communication synchronisée entre le maître et l'esclave (ou les esclaves); par conséquent, SPI est un bus de communication « synchrone ».

Circuits de programmation

Les schémas des circuits de programmation sont présentés ci-dessous. Notez que les résistances R2 et LED1 ne sont pas strictement requises pour la programmation mais sont incluses dans le circuit à des fins de test, comme défini plus loin dans ce projet.

Choix du programmeur

Plusieurs programmeurs sont disponibles pour gérer l'ATmega328P et l'ATtiny45; l'Atmel-ICE est en tête de liste, et c'est un bon programmeur qui sera discuté dans un prochain article. Pour l'instant, il existe des options moins coûteuses pour les skinflints parmi vous, et le programmeur de poche Sparkfun AVR est celui utilisé par l'auteur de skinflint de cet article. Si vous préférez autre chose, n'hésitez pas à choisir celui qui convient à vos préférences et à votre portefeuille. Assurez-vous simplement qu'il utilise l'interface de périphérique série comme décrit précédemment et soyez prêt à apporter les modifications appropriées aux informations contenues dans cet article.

ATTENTION ! Assurez-vous de télécharger et d'installer le pilote approprié pour le programmeur de poche AVR sur votre ordinateur avant de brancher le programmeur pour la première fois. Si Windows est autorisé à installer le mauvais pilote, cela peut être très problématique à corriger. Les instructions pour obtenir le pilote AVR Pocket Programmer sont fournies plus loin dans cet article.

L'AVR Pocket Programmer est livré avec un câble plat qui doit être connecté à l'Atmel μC. Il est équipé de trois connecteurs :un 2 × 5 femelle qui est branché dans l'embase mâle correspondante sur le programmeur de poche AVR, un autre 2 × 5 femelle qui se trouve à environ 9 pouces (23 cm) le long du câble plat (qui n'est pas utilisé dans cet article), plus une femelle 2×3 à l'extrémité du câble plat. Les brochages sont illustrés sur les photographies ci-dessous.

Circuit de programmation des assemblages de planche à pain sans soudure

Les assemblages de cartes d'essai sans soudure du circuit de programmation ATmega328P et ATtiny45 sont illustrés sur les photographies suivantes. Six cavaliers courts sont utilisés pour connecter les fils requis du connecteur femelle 2 × 3 aux broches appropriées sur le microcontrôleur de la platine d'expérimentation sans soudure. Notez que les couleurs des fils dans les photographies d'assemblage ci-dessous correspondent à celles des schémas ci-dessus.

Liste des pièces

En plus de certains cavaliers, les pièces requises pour les ensembles de circuits de programmation sont répertoriées dans le tableau suivant.

Réf. de pièce Description Source N° d'article
U1 IC, ATmega328P-PU, 32 ko Flash, DIP-28, 1,8-5,5 V Digi-Key ATMEGA328P-PU-ND
U1 IC, ATtiny45-PU, Flash 4 Ko, DIP-8, 2,7-5,5 V Digi-Key ATTINY45-20PU-ND
R1 Résistance, W, 10kΩ Digi-Key 10KQBK-ND
R2 Résistance, W, 470Ω Digi-Key 470QBK-ND
LED1 Diode, électroluminescente, T1 3/4, jaune Digi-Key 754-1889-ND
C1 Condensateur, Céramique, 0,1µF, 50V Digi-Key 399-9797-ND
N/A Programmeur, AVR Pocket, PGM-09825 Digi-Key 1568-1080-ND
N/A Planche à pain, sans soudure, 400 contacts Digi-Key 377-2094-ND

Ensuite, le logiciel

Pilote de programmeur de poche AVR

Le pilote Windows pour le programmeur de poche AVR est le même que celui utilisé par le programmeur Adafruit USBTiny. Accédez à cette page Web Adafruit et cliquez sur le lien du pilote Windows USBtinyISP signé construit avec libusb v1.12. Cela vous permettra de télécharger un fichier zip contenant deux fichiers installer.exe :un pour les ordinateurs 32 bits et un pour les ordinateurs 64 bits. Double-cliquez sur celui qui convient à votre PC Windows et le pilote sera installé.

Ce n'est qu'après avoir installé le bon pilote Windows que vous devez connecter l'AVR Pocket Programmer à votre ordinateur pour la première fois. Vous aurez besoin d'un câble mâle-mâle USB Type A vers Miniature B pour connecter votre PC au programmeur de poche AVR. Lorsque vous effectuez les connexions, la LED PWR bleue et la LED Stat1 rouge doivent s'allumer; les deux LED de données bleues peuvent également s'allumer et/ou clignoter. Windows essaiera de localiser le pilote et vous devrez diriger Windows vers l'emplacement correct du pilote si nécessaire. Une fois correctement installé, le programmeur de poche AVR apparaîtra dans le Gestionnaire de périphériques sous les périphériques libusb-winXX sous le nom « USBtiny » ; il ne sera pas énuméré comme un port COM. Voir la capture d'écran ci-dessous :

Atmel Studio 7

Comme de nombreuses entreprises de conception de microcontrôleurs, Atmel dispose d'un environnement de développement intégré (IDE) qui fonctionne avec leurs offres matérielles :Atmel Studio 7. Bien que ce ne soit pas la seule façon de programmer des C Atmel, c'est la méthode la plus complète pour Windows 7, 8, et 10 (à la fois 32 bits et 64 bits); malheureusement, il ne peut pas être utilisé avec les systèmes d'exploitation Linux ou Mac.

Le nombre d'options et de choix dans Atmel Studio 7 peut être écrasant pour un nouvel utilisateur. Ainsi, une approche étape par étape sera fournie dans ce projet, et simplifiera grandement le processus. Commencez par télécharger et installer l'IDE sur votre PC. Le guide de l'utilisateur de Studio 7 et une multitude d'informations supplémentaires sont également disponibles en téléchargement.

La prise en charge de plusieurs programmeurs matériels est incluse dans Studio 7, mais les choix exacts dépendent du microcontrôleur Atmel que vous allez utiliser. Dans la capture d'écran ci-dessous, les programmeurs pris en charge pour l'ATMega328P sont répertoriés sur la droite.

Comme vous pouvez le voir, l'AVR Pocket Programmer n'est pas dans la liste. Cependant, il peut toujours être utilisé avec Studio 7 à l'aide d'un logiciel appelé AVRDude.

AVRDude

AVRDude est un utilitaire de ligne de commande qui est utilisé pour télécharger depuis et télécharger vers des microcontrôleurs Atmel. Les versions sont disponibles pour les systèmes Linux et Windows. Au moment d'écrire ces lignes (7 juin 2017), la dernière version disponible est la 6.3; Cela peut être téléchargé ici. Les utilisateurs de Windows doivent télécharger avrdude-6.3-mingw32-zip (cliquer sur ce lien pour télécharger le fichier zip !), décompresser les fichiers et installer AVRDude. A noter qu'installer le programme à la racine de votre disque dur principal n'est pas indispensable mais simplifiera son utilisation avec Atmel Studio 7. Si une version supérieure à 6.3 est disponible, vous pouvez décider de l'installer à votre guise. Le guide d'utilisation d'AVRDude est disponible ici.

Pour vérifier si AVRDude est correctement installé et fonctionne, procédez comme suit :

  1. Cliquez sur le bouton Démarrer de Windows.
  2. Dans la zone de recherche, tapez cmd et appuyez sur Entrée. Une fenêtre d'invite DOS devrait s'ouvrir.
  3. À l'invite DOS, accédez au répertoire dans lequel vous avez installé AVRDude.
  4. Tapez avrdude -c USBtiny et appuyez sur Entrée. Si tout va bien, AVRDude renverra une liste des appareils Atmel pris en charge.

Voir la capture d'écran ci-dessous pour un exemple de la procédure. Notez que la capture d'écran a été tronquée et ne montre qu'une partie de la liste des appareils Atmel pris en charge.

Rassembler le tout

En supposant que le programmateur soit connecté à l'AVR sur votre maquette sans soudure comme décrit précédemment, vous êtes presque prêt à programmer votre AVR. Téléchargez le fichier Nouveau Blink.zip à l'aide du bouton ci-dessous, décompressez-le et enregistrez-le sur votre PC dans un emplacement pratique.

Nouveau_Blink.zip

Maintenant, suivez cette procédure.

  1. Démarrez Atmel Studio 7.
  2. À gauche de l'écran de démarrage, cliquez sur Nouveau projet. L'écran Nouveau projet s'ouvrira.


  3. Sur l'écran Nouveau projet, cliquez sur Projet exécutable GCC C ; nommez le projet New Blink comme indiqué ci-dessus, puis cliquez sur OK. L'écran de sélection de l'appareil s'ouvrira.


  4. Sur l'écran de sélection de l'appareil, choisissez l'appareil AVR que vous utilisez :ATmega328P ou ATtiny45 comme indiqué ci-dessous. Cliquez sur OK. Le nouveau projet sera créé et l'écran Nouveau projet Blink s'ouvrira.


  5. Cliquez sur le menu déroulant Outils, choisissez Outils externes… et cliquez sur le bouton Ajouter.
  6. Dans la zone Titre, saisissez un nom pour l'outil que vous créez ; c'est bien si le nom est descriptif de l'outil. Par exemple, vous pouvez saisir une combinaison du nom du programmeur et du nom de l'appareil.
  7. Dans la zone Commande, saisissez l'adresse DOS de l'emplacement où vous avez installé AVRDude ainsi que la commande pour démarrer AVRDude.
  8. Dans la zone Arguments, saisissez l'une des deux lignes suivantes en fonction de l'AVR que vous utilisez. Pour l'ATmega328P, tapez :
-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i 

Pour l'ATtiny45, tapez :

-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i 
  1. Dans la zone Répertoire initial, saisissez l'adresse DOS de l'emplacement où vous avez installé AVRDude.
  2. Assurez-vous que la case Utiliser la fenêtre de sortie est cochée et que les deux autres cases ne sont pas cochées. La fenêtre doit être similaire à l'écran ci-dessous, mais refléter l'AVR que vous utilisez.


  3. Cliquez sur Appliquer, puis sur OK. La fenêtre Outils externes devrait se fermer.
  4. Allez à l'emplacement où vous avez décompressé et stocké New Blink.c au début de cette section, ouvrez le fichier, sélectionnez tout le contenu et copiez-le dans le presse-papiers.
  5. Allez à la fenêtre New Blink.c dans Atmel Studio 7, sélectionnez tout le contenu et collez le contenu du presse-papiers dans la fenêtre New Blink.c. Il devrait apparaître comme indiqué ci-dessous.


  6. Si l'Explorateur de solutions Atmel Studio 7 n'est pas ouvert en haut à droite de la fenêtre du projet, cliquez sur le menu déroulant Afficher, puis sur Explorateur de solutions. L'explorateur de solutions devrait s'ouvrir en haut à droite de la fenêtre du projet.
  7. Cliquez avec le bouton droit sur le fichier main.c et choisissez Renommer. Renommez le fichier main.c en New Blink.c.
  8. Cliquez sur le menu déroulant Fichier, puis sur Enregistrer tout.
  9. Cliquez sur le menu déroulant Créer, puis sur Créer une solution.
  10. Cliquez sur le menu déroulant Outils, puis sur le nom de l'outil créé aux étapes 5 à 11 ci-dessus. Le code New Blink compilé doit être téléchargé sur l'AVR de votre maquette et la LED 1 doit commencer à clignoter :allumée pendant ½ seconde et éteinte pendant ½ seconde, 60 fois par minute.

Le début

Certes, c'était un long processus pour simplement faire clignoter une LED, mais la vérité est que vous avez franchi avec succès quatre obstacles majeurs :créer une plate-forme matérielle pour programmer un microcontrôleur AVR, installer un environnement de développement intégré (Atmel Studio 7), intégrer un (AVRDude), et définir un outil de programmation pour l'AVR de votre choix. Soyez assuré que cela deviendra plus facile pour les futurs projets Atmel qui sont beaucoup plus amusants. Surveillez-les sur AllAboutCircuits.com.

Essayez ce projet par vous-même ! Obtenez la nomenclature.


Équipement industriel

  1. Les avantages et les inconvénients du moulage sous pression
  2. Système d'aspirateur industriel :discuter des types et des avantages
  3. Pourquoi et comment l'automatisation industrielle est l'avenir
  4. La différence entre les moteurs à courant continu et à courant alternatif
  5. L'impact de la sécurité en usine et pourquoi c'est important
  6. Comprendre la précision et le processus de la technologie de découpe laser
  7. L'avenir des machines industrielles en 2020 et au-delà
  8. Les types de freins mécaniques et leurs différences
  9. Les avantages et les inconvénients du revêtement de votre pompe