février 1, 2022

Comment graver le chargeur de démarrage sur le microcontrôleur ATMEGA328

Introduction

Si vous consultez ce projet, vous avez peut-être utilisé une carte Arduino. Le microcontrôleur ATmega328 de l’ArduinoUNO risque de tomber en panne après un certain temps (ou une connexion incorrecte). Afin de réutiliser ArduinoBoard, vous avez besoin d’un nouveau ATmega328IC avec chargeur de démarrage. Il existe d’autres raisons de graver le microcontrôleur ATMEGA328 sur celui-ci, si vous avez écrit votre propre chargeur de démarrage et souhaitez le tester, ou si vous souhaitez en savoir plus sur la situation de travail des microcontrôleurs.

Avertissement: Si vous n’êtes pas familier avec ce genre de chose, il n’est pas recommandé d’ajuster le chargeur de démarrage dans Arduino.

 mcu

Qu’est-ce que le chargeur de démarrage?

En termes simples, le chargeur de démarrage est un petit morceau de code (code exécutable en.format hexadécimal) qui réside dans la mémoire du microcontrôleur. Le chargeur de démarrage dans Arduino nous permet de programmer l’Arduino via le port série, c’est-à-dire à l’aide du câble USB.

Le travail du chargeur de démarrage dans Arduino consiste à accepter le code de l’ordinateur et à le mettre dans la mémoire du microcontrôleur.

Pourquoi avons-nous besoin d’un chargeur de démarrage ?

Traditionnellement, les microcontrôleurs tels que le MCU ATMEL ATMEGA328 sont programmés à l’aide de programmeurs dédiés, ce qui implique des connexions particulières. Bootloader élimine cette complexité et nous fournit un moyen simple de programmer le microcontrôleur, c’est-à-dire à l’aide d’un câble USB.

Le chargeur de démarrage est situé dans un emplacement sûr spécial de la mémoire flash programmable. Les microcontrôleurs occupent généralement moins de 1 Ko de mémoire.

De quoi ai-je besoin pour graver le chargeur de démarrage sur ATMEL ATMEGA328?

Comme mentionné précédemment, si vous souhaitez télécharger le programme sur le tout nouveau circuit intégré de microcontrôleur ATMEGA328, vous devez utiliser un programmeur spécial (et définir le bit de fusible). Mais si vous gravez le chargeur de démarrage sur la puce ATMEGA328, il vous suffit de programmer le microcontrôleur via le port série (câble USB).

Une fois que le microcontrôleur ATMEGA328 est prêt pour le chargeur de démarrage, vous pouvez simplement l’utiliser. Si vous envisagez de fabriquer votre propre carte Arduino, veuillez l’utiliser comme carte Arduino (comme alternative) ou comme microcontrôleur.

Comment graver un chargeur de démarrage sur ATMEGA328?

Il existe plusieurs façons de graver le chargeur de démarrage sur ATMEGA328IC. La première méthode consiste à utiliser du matériel de programmeur AVR dédié. La deuxième méthode consiste à utiliser une carte Arduino fonctionnelle en tant que programmeur et à graver le chargeur de démarrage sur le microcontrôleur Arduino ATMEGA328 cible.

Dans ce projet, j’utiliserai la deuxième méthode, qui consiste à utiliser Arduino comme programmeur.

Schéma de circuit

Le schéma de circuit pour graver le chargeur de démarrage sur ATMEGA328 à l’aide du microcontrôleur Arduino est illustré ci-dessous.

 ATMEGA328

Le diagramme des broches du microcontrôleur ATMEGA328 est le suivant.

 ATMEGA328

Composants requis

ArduinoUNO

Circuit intégré microcontrôleur ATMEGA328

Cristal 16 MHz

Condensateur céramique 22pFx2

Résistance 10KΩ

Bouton

Résistance 330Ω

led

Platine de prototypage

Connectez les fils

Alimentation 5V

Le processus de programmation du chargeur de démarrage sur la fiche technique ATMEGA328.

Comme mentionné précédemment, ArduinoUNO est utilisé ici comme programmeur AVR. Pour y parvenir, vous devez télécharger un programme spécial sur votre tableau de travail ArduinoUNO, appelé « ArduinoISP ».

avant d’établir la connexion, connectez l’Arduino fonctionnel pour connecter UNO à l’ordinateur à l’aide d’un câble USB et sélectionnez la carte et le PORT appropriés dans ArduinoIDE.

Maintenant, allez à ArduinoISP. Téléchargez ce code sur ArduinoUNO pour convertir la carte ArduinoUNO en programmeur AVRISP.

 ATMEGA328

Après avoir terminé cette étape, effectuez les connexions nécessaires (sinon). Allez maintenant dans Outils > Programmeur et sélectionnez l’option « ArduinoasISP ». Après cela, vous êtes prêt à graver le chargeur de démarrage.

 ATMEGA328

Allez simplement dans « Outils » et cliquez sur « BurnBootloader ». Votre microcontrôleur ATMEGA328 cible sera programmé à l’aide du chargeur de démarrage.

 ATMEGA328

Téléchargez l’image sur les paquets ATMEGA328

Après avoir téléchargé le chargeur de démarrage sur le microcontrôleur ATmega328, vous pouvez continuer à télécharger l’esquisse de test. Pour ce faire, conservez les mêmes connexions que précédemment et ouvrez tous les croquis, tels que BlinkSketch.

Ne modifiez aucune option, c’est-à-dire que le programmeur est toujours réglé sur « ArduinoasISP ». Maintenant, maintenez le bouton « Maj » du clavier enfoncé et cliquez sur l’icône « Télécharger ». Cela téléchargera l’esquisse sur le circuit intégré du microcontrôleur ATMEGA328 en utilisant ArduinoUNO comme programmeur.

Après avoir terminé cette opération, vous pouvez déconnecter l’ArduinoUNO du microcontrôleur ATMEL ATMEGA328 et utiliser l’ATMEGA328IC comme périphérique autonome pour exécuter Blinksketch dessus.

 ATMEGA328

La figure suivante montre le microcontrôleur ATMEGA328 exécutant Blinksketch après le téléchargement à l’aide d’ArduinoUNO.

Remarque: Afin de télécharger le code sur ArduinoUNO, assurez-vous de replacer le programmeur sur « AVRISPmkII ».

 ATMEGA328

conclusion

Dans ce projet, je vous ai montré comment graver le chargeur de démarrage sur le circuit intégré du microcontrôleur ATMEGA328. En option supplémentaire, je vous ai également montré comment utiliser ArduinoUNO pour télécharger l’esquisse Arduino sur l’ATMEGA328 avec le chargeur de démarrage.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.