Atmega128 /328 est un microcontrôleur puissant utilisé dans divers domaines d’application. C’est un microcontrôleur 8 bits hautement intégré avec une large gamme de périphériques et de fonctionnalités. Dans cet article de blog, nous examinerons les différentes fonctionnalités de l’Atmega128 / 328, sa configuration des broches, les techniques de programmation et les applications. Nous discuterons également des avantages du microcontrôleur Atmega128 / 328 par rapport aux autres microcontrôleurs, et nous fournirons quelques bonnes pratiques pour travailler avec lui.
Qu'est-ce que Atmega128 / 328 ?
Atmega128 / 328 est un microcontrôleur 8 bits fabriqué par Atmel Corporation. Il est basé sur l’architecture AVR et est l’un des microcontrôleurs les plus populaires utilisés dans les systèmes embarqués. Il est disponible dans divers boîtiers et configurations, notamment un PDIP 40 broches, un TQFP 44 broches et un VQFP 64 broches. L’Atmega128 / 328 est basé sur l’architecture RISC et dispose d’une large gamme de périphériques, notamment un convertisseur A/D 10 bits à 8 canaux, trois timers 16 bits, un port série et un port SPI. Il dispose d’un total de 128 Ko de mémoire programme et de 2 Ko d’EEPROM.

Aperçu de Atmega128 / 328
Caractéristiques
Atmega128 / 328 possède une large gamme de capacités, ce qui en fait un microcontrôleur polyvalent et puissant. Il possède une architecture RISC 16 bits, qui lui permet d’exécuter des instructions rapidement et efficacement. Il peut fonctionner à 8 MHz, 16 MHz ou 20 MHz, ce qui le rend adapté à une large gamme d’applications. L’Atmega128 / 328 dispose également d’une large gamme de périphériques, notamment un convertisseur A/D 8 canaux 10 bits, trois timers 16 bits, un port série et un port SPI. Il dispose également de 128 Ko / 328 Ko de mémoire de programme et de 2 Ko d’EEPROM, ce qui lui permet de stocker de grandes quantités de données.
L’Atmega128 / 328 est également hautement intégré, ce qui le rend idéal pour une utilisation dans les systèmes embarqués. Il dispose d’un oscillateur intégré, d’un circuit de réinitialisation intégré et d’une régulation de tension intégrée. Il dispose également d’un circuit de réinitialisation à la mise sous tension intégré, qui garantit que le microcontrôleur est réinitialisé lorsque l’alimentation est appliquée. De plus, l’Atmega128 dispose d’une large gamme de ports d’E/S, ce qui lui permet de s’interfacer avec une variété d’appareils externes.
Configuration des broches
Atmega128 / 328 possède un total de 64 broches, qui sont disposées en deux rangées. Les broches sont divisées en deux catégories : les broches d’E/S numériques et les broches d’E/S analogiques. Les broches d’E/S numériques sont utilisées pour contrôler les signaux numériques, tandis que les broches d’E/S analogiques sont utilisées pour contrôler les signaux analogiques. L’Atmega128/ 328 dispose également d’un port série, d’un port SPI et d’un port I2C.

Applications
- Projets de robotique, tels que les bras robotiques et les robots autonomes.
- Projets de communication, tels que les modules Bluetooth et Wi-Fi.
- Systèmes d’acquisition de données et systèmes embarqués pour l’enregistrement et le contrôle des données.
- Applications automobiles, telles que les systèmes de contrôle moteur et les systèmes d’infodivertissement embarqués.
- Produits de consommation, tels que les télécommandes, les appareils photo numériques et les appareils électroménagers.
Programmation de l'Atmega128 / 328
Le circuit intégré Atmega128 / 328 peut être programmé en C ou en langage assembleur. Il possède un large éventail de fonctionnalités qui facilitent sa programmation, notamment un large éventail de ports d’E/S, un oscillateur intégré et un régulateur de tension intégré.
Si vous souhaitez programmer l’Atmega128 / 328, vous aurez besoin d’un programmateur. Un programmateur est un appareil utilisé pour transférer le code du programme d’un ordinateur vers l’Atmega128 / 328. Une fois le code du programme transféré, le circuit intégré peut être programmé à l’aide du logiciel approprié. Toutes les étapes peuvent être divisées en 4 parties comme ci-dessous:
- Partie 1: Préparation des composants nécessaires.
- Partie 2: Construction de circuits Arduino sur une plaque d’essai.
- Partie 3: Graver le bootloader dans le circuit intégré Atmega128 / 328.
- Partie 4: Programmation du circuit intégré Atmega128 / 328.
Partie 1: Préparation des composants
Atmega128 / 328 : Le composant clé sur la plaque d’essai et son schéma de brochage sont indiqués ci-dessus.
Platine d’essai (LM7805) : Un dispositif sans soudure pour connecter des composants électroniques avec des fils de connexion.
Oscillateurs (16 MHz): Fournissant les horloges pour le circuit intégré, connectés aux broches 23 et 24.
Condensateur (10uF) : Utilisé dans les sections d’entrée et de sortie du LM7805 pour dériver tout composant AC vers la masse.
Fil de connexion : Un fil métallique reliant deux points sur un circuit imprimé ou des plaques d’essai.
Partie 2 : Construction de circuits Arduino sur une plaque d'essai sans soudure
Étape 1 : Tout d’abord, connectez la section d’alimentation comme indiqué sur le schéma de circuit et testez-la avec l’alimentation externe du LM7805. Cela ressemble à ceci :

Étape 2 : Ensuite, connectez la partie microcontrôleur comme indiqué sur le schéma de circuit.

Étape 3 : Maintenant, utilisez des cavaliers pour connecter l’alimentation et la section microcontrôleur.

Partie 3 : Graver le bootloader dans le CI Atmega128 / 328
Un bootloader est un petit morceau de code exécutable stocké de manière permanente dans la mémoire du microcontrôleur. Cela prend moins de 1 Ko de mémoire. Un bootloader permet au circuit intégré d’accepter du code provenant de l’ordinateur et de le placer dans la mémoire du microcontrôleur.
Lorsque vous achetez un nouvel Atmega128 / 328 sur le marché, il ne possède pas de bootloader. Par conséquent, pour le programmer à l’aide de l’IDE Arduino, vous devez d’abord télécharger le bootloader.
Pour télécharger le bootloader, nous avons deux méthodes :
- Utilisation du programmeur USBasp
- Utilisation d’une carte Arduino UNO
Comparé à la première méthode, la seconde méthode est plus facile. Car elle nécessite moins de connexions et les dernières versions de l’IDE Arduino sont moins compatibles avec les programmeurs USBasp.
Donc, dans ce tutoriel, nous utiliserons la carte Arduino UNO pour télécharger le bootloader.
Étape 1 : Ouvrez l’IDE Arduino. Accédez au menu : Fichier -> Exemples -> ArduinoISP. Ensuite, choisissez ArduinoISP.

Étape 2 : Maintenant, vous devez télécharger ce code sur votre carte Arduino. Sélectionnez le port COM et la carte dans le menu Outils et cliquez sur le bouton Téléverser.
Étape 3 : Après avoir terminé le téléchargement, déconnectez la carte Arduino de l’ordinateur. Et ensuite, connectez la carte Arduino avec le circuit intégré Atmega128 / 328 comme indiqué sur l’image ci-dessous.

Étape 4 : Veuillez ouvrir l’IDE Arduino après avoir connecté la carte Arduino à votre ordinateur. Ensuite, accédez au menu : Outils -> Carte : « Arduino/Genuin0 Uno » et sélectionnez le port correct pour votre carte. Ensuite, sélectionnez Programmeur : en tant que « Arduino as ISP ».

Étape 5 : Maintenant, retournez dans la barre de menu Outils et cliquez sur Burn Bootloader sous l’option Programmeur. Après quelques secondes, le bootloader est téléchargé avec succès. S’il y a des erreurs lors du téléchargement, veuillez vérifier la connexion.

Partie 4 : Programmation du circuit intégré Atmega128 / 328
La puce Arduino Atmega128 / 328 peut être programmée de différentes manières, notamment :
- Utiliser une carte Arduino sans le circuit intégré Atmega128 / 328.
- Utiliser le module de conversion USB vers série TTL (module FTDI).
- Utiliser un programmeur USBasp (s’il y a de nombreuses connexions).
Ici, nous présentons la première et la deuxième méthode pour programmer le circuit intégré Atmega128 / 328.
4.1 Programmation du circuit intégré Atmega128 / 328 à l'aide d'une carte Arduino
Étape 1 : Prenez une carte Arduino sans puce Atmega128 / 328. Connectez ensuite la carte Arduino à notre plaque d’essai comme indiqué.

Étape 2 : Connectez la carte Arduino à l’ordinateur et ouvrez l’IDE Arduino. Sélectionnez Arduino Uno dans le menu Carte dans Outils, Programmeur en tant que USBasp et le port COM correct de la carte.
Étape 3 : Nous allons commencer par télécharger le programme Blink. Sélectionnez donc le programme Blink dans les exemples et cliquez sur le bouton Télécharger.

Vous pouvez maintenant voir la LED sur la plaque d’essai commencer à clignoter.
Programmation de l'Atmega128 / 328 à l'aide d'un convertisseur USB vers série
C’est la meilleure façon de programmer l’Atmega128 / 328 si vous n’avez pas de carte Arduino.
Étape 1 : Configurez les connexions du convertisseur USB vers série comme suit :
Broche RXD de FTDI -> Broche Tx de l’Atmega128 / 328 (broche 3)
Broche TXD de FTDI -> Broche Rx (broche 2) de l’Atmega128 / 328
GND -> GND (broche 8)
5v -> Vcc (broche 7)
Certains modules FTDI ont une broche de réinitialisation, également connue sous le nom de broche DTR, qui doit être connectée à la broche de réinitialisation (broche 20) de l’Atmega128 / 328.
Étape 2 : Maintenant, connectez le FTDI à l’ordinateur et ouvrez le gestionnaire de périphériques dans le panneau de configuration. Vous verrez la section Ports, développez-la. Si le pilote a une marque jaune devant, le pilote du module doit être mis à jour.

Si ce n’est pas marqué, notez le numéro de port COM et ouvrez l’IDE Arduino. Allez dans Outils -> Ports -> Sélectionnez le COM que vous avez noté.
Étape 3 : À la fin, nous téléversons le programme Blink sur notre Arduino Breadboard. Allez dans Fichier -> Exemples -> Bases -> Blink. Dans le menu Carte dans Outils, sélectionnez Arduino Uno, Programmateur comme USBasp et le port COM de la carte correct.
Puis cliquez sur le bouton de téléversement.
(Note : Si votre module FTDI n’a pas de broche DTR, appuyez sur le bouton de réinitialisation sur la plaque d’essai et appuyez sur le bouton de téléversement. Si cela affiche « Compilation de l’esquisse… », appuyez et maintenez-le enfoncé jusqu’à ce que « Téléversement… » apparaisse et relâchez le bouton.)
Maintenant, le programme sera téléversé avec succès dans la puce Atmega128 / 328 du Bootloader Arduino.
Atmega128 / 328 contre autres microcontrôleurs
Atmega128 / 328 est un microcontrôleur puissant et polyvalent, mais il existe d’autres microcontrôleurs disponibles qui peuvent être plus adaptés à certaines applications. Par exemple, le processeur ARM Cortex-M est plus adapté aux applications qui nécessitent des performances plus élevées. Le processeur ARM est également plus économe en énergie et est plus adapté aux applications à faible consommation.
L’Atmega128 / 328 est également plus cher que certains autres microcontrôleurs. Cependant, c’est un microcontrôleur puissant et polyvalent, et il convient à un large éventail d’applications. Par conséquent, il est important de tenir compte des exigences de l’application lors du choix d’un microcontrôleur.
Meilleures pratiques pour travailler avec Atmega128 / 328
Atmega128 / 328 est un microcontrôleur puissant et polyvalent, et il existe quelques bonnes pratiques pour travailler avec lui. Il est important de maintenir le microcontrôleur dans un environnement sans électricité statique, car l’électricité statique peut endommager le microcontrôleur. Il est également important de s’assurer que le microcontrôleur est alimenté avec la tension correcte et que le régulateur de tension intégré fonctionne correctement. De plus, il est important de s’assurer que l’oscillateur intégré fonctionne correctement, car il est utilisé pour générer le signal d’horloge.
Il est également important de s’assurer que les outils de développement sont à jour et que le code de programmation est soigneusement testé avant d’être utilisé dans le microcontrôleur. De plus, il est important de respecter les réglementations de sécurité appropriées lors du travail avec le microcontrôleur.




