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.
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.
Le diagramme des broches du microcontrôleur ATMEGA328 est le suivant.
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.
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.
Allez simplement dans « Outils » et cliquez sur « BurnBootloader ». Votre microcontrôleur ATMEGA328 cible sera programmé à l’aide du chargeur de démarrage.
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.
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 ».
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.