Arduino atmega644/1284 clone

Ce projet va permettre de fabriquer un board Arduino a base d'un atmega 644P ou 1284P afin de b n ficier d'un peu plus d'entr es/sorties qu'avec un atmega328P. Les atmegas seront "bootload s" avec Sanguino et le projet s'inspire,au niveau du pin mapping, d'un autre projet CALUNIUM.

(noter que le plancher en chêne sur la photo est tres bien entretenu)
Ce clone permettra galement d'adapter le shield ethernet Arduino et le faire communiquer avec une application android ou visual basic qui fera l'objet d'un autre projet.

Actuellement le projet fonctionne parfaitement sous Atmega1284p, je n'ai pas essay le 644p mais je pense ne pas avoir de mauvaises surprises et je ne dis pas ca pour me la p ter.

Step 1: Utiliser arduino 1.0.5 : Charger le bootload avec ATMEGA 328P sur la platine Arduino

Arduino atmega644/1284 clone

Il faut tout de même pour initier le projet une platine Arduino Uno.

Voici les diff rentes connexions entre la platine Arduino Uno et la cible atmega1284p ou 644p (num ro des pins atmega644/1284, fonction et num ro des bornes Arduino) :

borne 9 (RESET) avec r sistance de 10K , jaune borne 10 (SS)

borne 6 (MOSI), vert borne 11 (MOSI)

borne 7 (MISO), violet borne 12 (MISO)

borne 8 (SCK), orange borne 13 (SCK)

borne 10 (Vcc), 5V

borne 30 (AVCC), 5V

borne 32 (AREF), 5V

borne 11 (GND), 0 V

Quartz 16 mHz, 2 condensateurs 22 pF

Step 2: Transfert du bootload Sanguino

Arduino atmega644/1284 clone
Arduino atmega644/1284 clone

Une fois le circuit int gr connect , relier l'USB a la platine Arduino et ouvrir le logiciel:
1 - S lectionner File->Sketchbook->examples->Basics->Arduino ISP

2 - S lectionner le port s rie.

3 - Selectionner le type de carte Tools->Board->Arduino uno

4 - Compiler et charger l'exemple "Arduino ISP" vers l'Arduino Uno

5 - Utiliser arduino 1.0.5 avec SANGUINO int gr (librairie a t l charger sur le site fourni a la fin)

6 - S lectionner tla cible a programmer. Dans notre cas atmega644p ou 1284p in Tools->Board-> Sanguino W/Atmega 1284 16Mhz
7 - menu programmateur/arduino as ISP, graver la s quence d'initialisation (Burn Bootloader).

Apres un certain temps il devrait s'afficher le message: "Done burning bootloader".
A ce niveau vos atmega 644p ou 1284p sont bootload s et peuvent d sormais fonctionner avec le logiel arduino 1.0.5.

Step 3: Schema de la platine Arduino atmega 644/1284 clone

Arduino atmega644/1284 clone
Arduino atmega644/1284 clone

Plan de l'Arduino UNO board pour r aliser le clone en respectant les fonctions des bornes.

Tableau de correspondances du câblage inspir du CALUNIUM : Arduino Uno vers atmega 644p ou 1284p Sanguino.

WARNING!!! Les correspondances des entr es analogiques sont les suivantes sous Sanguino (there is a mess!!):

A0 devient A1

A0 devient A0

A0 devient A7

A0 devient A6

A0 devient A5

A0 devient A4

A0 devient A3

A0 devient A2

Step 4: Schema du clone

Arduino atmega644/1284 clone

Arduino Atmega 644/1284 CLONE board.
Cette platine possedera un connecteur HE10 pour pouvoir programmer l'atmega 644p ou 1284p par un connecteur USBasp toujours sous le logiciel arduino1.0.5.

Le sch ma sous PROTEUS au format pdf:

Arduino atmega644/1284 clone
schema.pdf57 KB

Step 5: Atmega 644p/1284 pin map

Arduino atmega644/1284 clone
Arduino atmega644/1284 clone

Les pattes dessin es en marron sont les adresses des pins de l'atmega644/1284 que j'ai recopi es dans le tableau de correspondance.

Même remarque quant aux entr es analogiques.

Step 6: Adressage des pin : ATMega644P ou 1284P sous Sanguino

Arduino atmega644/1284 clone

Un autre pin mapping trouv sur le net qui r sume les pr c dents.

Exemple d'adressage d'une borne atmega644/1284 : sur la borne D8 de l’Arduino Uno connexion de la pin 20 de l’atmega644/1284 qui aura donc l'adresse 14 (D14).

J'ai test quelques sorties et les adresses paraissaient coh rentes d'apres cette m thode. Je pense qu'elles sont toutes fonctionnelles et je n'ai pas modifi le pin mapping Sanguino.

Les entr es analogiques ont une autre correspondance: voir la page du tableau de correspondance.

Step 7: Programmation du board par USBasp

Arduino atmega644/1284 clone
Arduino atmega644/1284 clone

Configurer l'IDE Arduino
Voici maintenant le cœur de ce qui nous int resse ici. Si vous avez t l charg une version r cente de l'IDE Arduino et que vous le lancez, vous trouverez dans le menu Tools > Programmer le moyen de s lectionner le programmateur que vous souhaitez utiliser. Vraisemblablement, pour les moins chers du march il s'agira pour vous comme dans mon cas d'un programmateur compatible USBasp.

Vous devrez galement s lectionner une carte utilisant le même micro-contrôleur que celui que vous poss dez. Dans mon cas, j'ai choisi Sanguino W/atmega 644p ou 1284p.

Step 8: Programmation du board par USBasp (suite)

Arduino atmega644/1284 clone
Arduino atmega644/1284 clone

Si tout est convenablement raccord , vous allez pouvoir proc der a la compilation et au t l chargement du firmware sur votre cible. Ici, contrairement a ce que l'on ferait avec une vraie carte Arduino, vous n'allez pas cliquer sur le bouton upload de l'IDE Arduino. Il va falloir passer par le menu File > Upload Using Programmer. a par ca, la s quence des op rations sera identique du point de vue de l'utilisateur: compilation et t l chargement s'il n'y a pas d'erreur.

Pour savoir si le t l chargement a t un succes, observez les messages dans la partie inf rieure de l'IDE. Si l'IDE reporte qu'avrdude a rencontr des erreurs, c'est mauvais signe. Les avertissements (warning) peuvent la plupart du temps être ignor s - en particulier si votre programmateur est un clone bon march : la compatibilit avec l'original tant souvent approximative.

Malgr les apparences, le t l chargement est un succes - Avrdude reporte des avertissements (warnings) caus s par une compatibilit partielle de mon programmeur avec l'USBasp original. N anmoins, il n'y a pas d'erreur (error). Le t l chargement est un succes et c’est vraiment super la frime.

Step 9: L'aspect de arduino atmega644/1284 clone:

Arduino atmega644/1284 clone
Arduino atmega644/1284 clone

Vue de dessus avec l'USBasp connect pour la programmation.

Vue de dessous avec un petit bricolage afin de d caler un des borniers de l'arduino avec un pas diff rent de 2.54mm (epoxy sci e puis r ajust e par soudure a l' tain).

Et enfin le clone avec l'ethernet shield qui s'emboite parfaitement et est pleinement fonctionnel (cf projet arduino/advancedHMI modbus TCP).

Step 10: Remerciements et liens utiles:

Pour r cup rer le bootload Sanguino:
http://sanguino.cc/hardware

Le projet Calunium: http://sanguino.cc/hardware

Technique du bootload: http://sanguino.cc/hardware

Merci aux internautes pour leurs remarques constructives. J'ai essay de remettre en francais mes notes d'exp rimentation afin que les traductions soient compr hensibles.

 
 

Tag cloud

make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel