compteur internet compteur de site  
CHARGER un BOOTLOADER dans un ATMÉGA 328







PRÉAMBULE
L'utilisation de l'IDE arduino est recommandé lors de l'utilisation d'une platine arduino quelle que soit le microcontrôleur équipant cette platine.
De plus la platine Arduino simplifie et facilite de par sa conception l'expérimentation et la mise en œuvre d'un montage.

Pour les raisons évoquées précédemment :
• De diminuer les coûts en utilisant uniquement les composants nécessaires,
• Diminuer l'encombrement d'un montage,
• Diminuer la consommation d'un montage,
• Ne pas immobiliser une platine arduino inutilement, elles est utilisée uniquement pour le développement,
• Libérer des broches d'entrée/sortie, utilisées pour le fonctionnement de la platine Arduino,
• Faire fonctionner les microcontrôleurs à des vitesses supérieures que celle permise par les platines Arduino :
   • Pour un Atméga 328 utilisation d'une fréquence de 20 Mhz. Dans ce cas les temporisations seront différentes du fait que l'IDE Arduino utilise comme base une fréquence de fonctionnement de 16 Mhz.

Pour toutes ces raisons et d'autres il peut être judicieux de n'utiliser que le microcontrôleur sans la platine arduino. On utilise dans ce cas la platine arduino comme support de développement en profitant des instructions et de la facilité de mise en œuvre offerte par l'IDE Arduino et sans coût supplémentaire on utilise cette même platine Arduino UNO comme programmateur
Les avantages sont :
• Utilisation de l'IDE Arduino,
• Utilisation du support de l'arduino,
• Utiliser toujours le même outil de développement,
• Profiter des nombreux exemples présent dans l'IDE Arduino ou sur internet,
• ...

Lorsque l'on acquière une platine Arduino, le microcontrôleur est d'office programmé avec le bootloader qui est positionné en mémoire basse du microcontrôleur.

Le bootloader permet après qu'un programme ait été réalisé en utilisant l’IDE Arduino de l'implanter dans le microcontrôleur.
Il permet également de lancer le programme contenu dans le microcontrôleur lors de sa mise sous tension. 

Nous verrons le chargement du bootloader dans deux Atméga différents :
• L'Atméga 328 qui équipe les platines Arduino UNO,
• L'Atméga 1284 qui n'existe pas dans univers Arduino.

Pour réaliser ce qui suit il faut avoir lu la page :  

CHARGEMENT du BOOTLOADER dans un ATMÉGA 328
Dans un premier temps il faut se procurer des microcontrôleurs vierges.
• Un Atméga 328 P-PU.

Nota : On peut se procurer des Atméga 328 intégrant déjà le bootloader mais ils sont plus cher.

Dans un deuxième temps il faut réaliser le montage suivant.

MONTAGE à RÉALISER

raccordement entre l'arduino uno et l'atmega 328
Montage à réaliser
Liste des composants utilisés
1 platine Arduino UNO,
1 Atméga 328P-PU,
1 Quartz 16 Mhz,
2 Condensateurs : 10, 15, 18, 22 pF,
1 Résistance de 1 kΩ.

PROCÉDURE
Dans un premier temps il faut que :
• L'IDE arduino soit installé sur le PC,
• Il faut avoir placé le sketch ArduinoISP dans le microcontrôleur de la platine Arduino UNO.

1). Ensuite il faut ouvrir l'IDE Arduino.

ouverture ide arduino
Ouverture IDE Arduino

2). L'Atméga 328 doit être sélectionné. Pour cela il faut :
• Allez dans : Outils > Types de carte > 
• Sélectionner Arduino Duemilanove or Diecimila,
Lorsque l'on clique sur Arduino Duemilanove or Diecimila la fenêtre de dialogue se ferme.

selection de l'Atmega 328
Sélection de l'Atméga 328
4). On peut confirmer en observant le bas de la fenêtre que l'Atméga a été sélectionné automatiquement.

l'atmega a ete selectionne
L'Atméga a été sélectionné

5). Si on ouvre à nouveau la fenêtre en cliquant sur :
Outils > On peut confirmer que l'Atméga 328 a bien été sélectionné.

l'atmega 328 est bien selectionne
L'Atméga 328 est bien sélectionné

6). Branchez l'Arduino UNO et Sélectionnez le port sur lequel est branchée la platine Arduino UNO en cliquant sur :
Outils >Port > COMxxx.

selection du port de la platine arduino uno
Sélection du port de la platine arduino UNO 
7). Une fois que :
• L'Atméga 328 a bien été sélectionné,
• Le port ou est branché la platine Arduino Uno a été sélectionné,
• Le montage a été réalisé,
• Le sketch arduinoISP est chargé dans la platine Arduino UNO,
• La ligne au-dessus de graver la séquence d'initialisation doit indiquer : Programmateur : "Arduino en ISP",

On peut passer à la gravure du bootloader dans l'Atméga 328.

Allez dans :
Outils >  Graver la séquence d'initialisation.

graver la sequence d'initialisation
Sélection : Graver la séquence d'initialisation

8). La gravure commence.

On voit apparaître sur le milieu de la fenêtre : Grave la séquence d'initialisation vers la carte E/S (Cela pourrait prendre quelque temps)...

grave la séquence
Le bootloader se charge dans l'Atméga 328
9). La gravure est terminée.

On voit apparaître sur le milieu de la fenêtre : Gravure de la séquence d'initialisation terminée.

la gravure du bootloader est termine
La gravure du bootloader est terminé

10). Lorsque la gravure du bootloader est terminée, on peut charger un sketch dans l'Atméga 328 en respectant les spécifications de l'IDE Arduino.

L'Atméga 328 n'est pas sur la platine Arduino UNO mais il faut respecter la ventilation du numéro des broches comme si on utilisait une platine Arduino UNO.

correspondance des broches
Correspondance des broches de l'Atmega 328 et l'Arduino UNO

correspondance des broches
Correspondance des broches de l'Atmega 328 et l'Arduino UNO

Par exemple si on veut brancher une led sur la sortie numéro 15 de l'Atméga 328, il faut dans l'IDE Arduino spécifier la broche numéro 9 qui correspond au fait que la broche 15 est reliée sur la sortie 9 sur une platine Arduino UNO.
RÉALISATION d'un SKETCH à TÉLÉCHARGER
Exemple de sketch :
Clignotement d'une led sur la sortie 15 de l'Atméga 328.

sketch clignotement d'une led
Sketch de clignotement d'une led

Câblage de la LED.
Le montage reste le même que pour la programmation ISP, on rajoute simplement sur la broche 15 :
• Une résistance de 1kΩ,
• Une Led.

raccordement de la led
Raccordement de la LED
TÉLÉVERSEMENT du SKETCH dans l'ATMÉGA 328
Maintenant que la led est branchée et le sketch réalisé il reste à le téléverser dans l'Atméga 328.

1). Allez dans :
Croquis > Téléverser avec un programmateur.

Nota : Il ne faut pas cliquer sur la flèche horizontale sinon le sketch serait téléversé dans la platine Arduino UNO et son utilisation comme programmateur ISP serait écrasée.

cliquez sur televerser avec un programmateur
Cliquez sur téléverser avec un programmateur

Le téléversement du sketch commence.

le televersement est termine
Le téléversement est terminé

montage programmation isp
Montage programmation ISP

Après quelques secondes le sketch est enregistré dans l'Atméga 328, la Led se met à clignoter.
Après la programmation on peut retirer les fils utilisés pour la programmation ISP, l'Atmega 328 est autonome.

Nota :
La programmation ISP est possible sans implanter le bootloader, mais la configuration des fusibles de l'Atméga 328 nécessite de passer par un autre type de programmateur. Le bootloader n'occupant pas une place très importante il est préférable d'effectuer la programmation avec son implémentation dans l'Atméga 328.