Pages: [1] 2 3   Go Down
Author Topic: icareDuino  (Read 2561 times)
0 Members and 1 Guest are viewing this topic.
Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Pardon pour le titre, je ne vais pas ré-inventer le monde Arduino.
Je n'ai pas la compétence hard et soft pour développer ce type de produit. Juste un peu le sens de l'observation et j'ai décider de remplacer ATmega328p par un ATmega1284p pour bénéficier dans un premier temps de plus de RAM et quelques pins de plus ne font pas de mal.
Un petit circuit adaptateur (attention aux yeux et à la tremblote) à enficher en lieu et place du 328p. On garde bien sur le quartz et le circuit de download de la UNO (La UNO n'a subit aucune modification). 
Voila la "bête"  smiley-wink


Après installation du bootload via l'interface ISP et c'est parti.
La carte fonctionne pour les premiers tests, Serial.println(), et leds clignotantes sur les I/O (mais pour l'instant par accès direct aux ports).
Il me reste à résoudre l'intégration des pins dans l'environnement IDE Arduino pour pouvoir utiliser les pinMode, digitalWrite, etc ...
Si quelqu'un a une idée sur les fichiers à adapter, je suis preneur.
Lorsque tout fonctionnera je le mettrai dans la bonne rubrique.
@+
Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Offline Offline
Faraday Member
**
Karma: 33
Posts: 5045
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Pardon pour le titre, je ne vais pas ré-inventer le monde Arduino.
Je n'ai pas la compétence hard et soft pour développer ce type de produit. Juste un peu le sens de l'observation et j'ai décider de remplacer ATmega328p par un ATmega1284p pour bénéficier dans un premier temps de plus de RAM et quelques pins de plus ne font pas de mal.
Un petit circuit adaptateur (attention aux yeux et à la tremblote) à enficher en lieu et place du 328p. On garde bien sur le quartz et le circuit de download de la UNO (La UNO n'a subit aucune modification). 
Voila la "bête"  smiley-wink

Bonjour Icare
"pakon"  smiley-mr-green
sur ce coup là,  je ne te serais pas d'une grande aide
mais bidouille pour bidouille  smiley-mr-green
je deriverais le support DIP d'origine du uno vers un ZIF
je fais ça de temps en utilisant de la nappe IDE de recup (2X20)
attention :  sur les nappes IDE 2X20 sur une des lignes il y a un point generalement obturé
Logged

Offline Offline
Sr. Member
****
Karma: 12
Posts: 288
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Il me reste à résoudre l'intégration des pins dans l'environnement IDE Arduino pour pouvoir utiliser les pinMode, digitalWrite, etc ...
Si quelqu'un a une idée sur les fichiers à adapter, je suis preneur.

Tu devrais pouvoir trouver ton bonheur ici : https://github.com/maniacbug/mighty-1284p
Logged

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3628
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bin l'atmega 1284 est pris en charge par Arduino depuis longtemps :o

pinout correspondant => http://forum.arduino.cc/index.php/topic,146315.0.html
Logged


Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
Merci de vos réponses, je vais étudier tout çà.
@+
[EDIT1] Tout fonctionne et on a finalement une super-UNO avec 128kO FLASH, 4kO EEPROM, 16kO SRAM, 8 entrées analogiques et 23 I/O. Le tout pour moins de 8€ (en plus de la carte UNO bien sur).
Le temps de mettre mes notes en forme et je vous livre le dossier complet de la modification.
Pour l'intégration dans l'environnement Arduino, il existe  une multitude de solutions et j'ai choisi celle qui se rapproche le plus du pin mapping de la UNO.
@+
« Last Edit: February 26, 2014, 05:14:30 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Pour intégrer l'ATmega1284p dans l'environnement Arduino, il existe de multiples solutions (Sanguino, Bobuino, Breatroller, Calcium, BahBots, etc...) pour ma part j'ai retenu mighty-1284p car le plan d'affectation des pins et le plus proche de la UNO (mais toutes les autres solutions restent valides).
Vous trouverez ci-dessous le tableau d'affectations des pins entre le 328p et le 1284p permettant de réaliser la carte d'interface.


La même chose en version schéma électronique.


Les entrées/sorties avec les repères Arduino.


Les liaisons RX0 et TX0 sont utilisées pour le téléversement des sketchs.
A suivre la partie logiciel...
Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,
Pour la partie logiciel j'ai utilisé la description Mighty1284.
Les fichiers utilisés se trouvent ici.
Après décompression, il y a lieu de copier le répertoire mighty-1284p dans le répertoire hardware de Arduino.
Le répertoire mighty-1284p contient les répertoires et fichiers suivants :
Avec cette configuration, on a accès à 5 modes d'utilisation différents mais pour mes besoins, je n'ai utilisé que Mighty 1284p 16 MHz using Optiboot. Les autres options ont été commenté (#) dans le fichier boards.txt du répertoire mighty-1284p.
Avant d'utiliser la carte, il y a lieu de programmer le bootloader du 1284p. Pour réaliser cette opération, il faut utiliser un programmateur USBasp ou USBtiny.
1) Choisir la carte.
2) Choisir le programmateur.
3) Graver la séquence d'initialisation.

A partir de maintenant, on peut utiliser icareDuino comme une carte normale dans l'IDE Arduino.

Comparaison entre différents micro-contrôleurs

                   ATmega 328p             ATmega 1284p           ATmega 2560p
RAM                     2k                      16k                    8k
FLASH                  32k                     128k                  256k
EEPROM                  1k                       4k                    4k
UART                    1                        2                     4
IO pins                23                       32                    86
Interrupts              2                        3                     8
Analog inputs           6                        8                    16


Bonne amusement avec cette super UNO si cela vous intéresse  smiley-wink
@+
« Last Edit: February 27, 2014, 03:15:36 pm by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,
En prime  smiley-wink
CI côté cuivre
CI côté composants
CI ensemble
@+
« Last Edit: March 30, 2014, 08:32:16 am by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Excellente initiative, et je me permets :

Du fait de l'ajout du circuit "adaptateur", l'utilisation de shield devient impossible. Alors pourquoi ne pas mettre simplement un quartz sur ton PCB et bricoller un shield type arduino qui t'offre un connecteur permettant d'envoyer Alim, Reset et Rx/Tx (5 fils) sur ton PCB? Tu obtiendrais alors une platine stand-alone que tu pourrais reprogrammer à souhait en la connectant simplement à ton arduino dépourvu de 328p.

C'est ce que j'avais fait pour reprogrammer des cartes sparkfun (ATMEGA128), et ça marchait très bien...



Ca marche aussi pour des petits projets avec un 328p en stand-alone, ça coûte juste un arduino en DIP... J'ai d'ailleurs toujours dans l'idée de fabriquer une petite plateforme en partant d'un arduino DIP : en séparant le 328p de la carte, on aurait alors le FTDI pour l'USB et donc la programmation d'autres ATMEGA et en bricolant un peu, le 328 passerait sur un petit circuit à côté (via un sélecteur) pour flasher des boot-loader avec "arduino as ISP"... le tout dans une petite boîte, de quoi adapter n'importequel ATMEGA en arduino.

Ce ne sont que des idées, si ça peut t'en donner...

A pluche!
Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour Super_Cinci,
Salut,

Excellente initiative, et je me permets :

Du fait de l'ajout du circuit "adaptateur", l'utilisation de shield devient impossible. Alors pourquoi ne pas mettre simplement un quartz sur ton PCB et bricoller un shield type arduino qui t'offre un connecteur permettant d'envoyer Alim, Reset et Rx/Tx (5 fils) sur ton PCB? Tu obtiendrais alors une platine stand-alone que tu pourrais reprogrammer à souhait en la connectant simplement à ton arduino dépourvu de 328p.

C'est ce que j'avais fait pour reprogrammer des cartes sparkfun (ATMEGA128), et ça marchait très bien...

Ca marche aussi pour des petits projets avec un 328p en stand-alone, ça coûte juste un arduino en DIP... J'ai d'ailleurs toujours dans l'idée de fabriquer une petite plateforme en partant d'un arduino DIP : en séparant le 328p de la carte, on aurait alors le FTDI pour l'USB et donc la programmation d'autres ATMEGA et en bricolant un peu, le 328 passerait sur un petit circuit à côté (via un sélecteur) pour flasher des boot-loader avec "arduino as ISP"... le tout dans une petite boîte, de quoi adapter n'importequel ATMEGA en arduino.

Ce ne sont que des idées, si ça peut t'en donner...

A pluche!
Merci pour tes remarques.
L'idée de départ était d'utiliser le hard de la UNO et uniquement remplacer le processeur et d'ajouter les quelques I/O supplémentaires.
On peut mettre certains shields en intercalant des connecteurs mâles/femelles (photo d'ici ce soir).
Entre temps j'ai commandé un  PCB qui permet la mise en place du 1284P comme un shield mais les délais de livraison chinoises sont très longs. Ce PCB presente encore quelques défauts d'ergonomie mais sera résolus dans la révision suivante (photos prochaines).
J'ai également fait une version autonome à base de 1284P en version plaque à pastilles pour l'instant (PCB en cours).
Idem pour le 328P.
Cette carte à base de 328p permet une utilisation "normale" ou directement sur le breadboard
En attendant les PCB, voila 2 versions pour transformer une UNO en super UNO.

@+
« Last Edit: March 30, 2014, 08:40:35 am by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
New look for icareDuino


Le lecteur aura rectifier 318 en 328 (merci Artouste)
« Last Edit: April 11, 2014, 10:40:16 am by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Offline Offline
Faraday Member
**
Karma: 33
Posts: 5045
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir,
New look for icareDuino

bonsoir Icare
C'est joli et  propre
Je ne sais passi tu a du stock de PCB "en rab"  smiley-cool
mais okazou , je suis par curiosité intéressé par un ex
Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1952
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hahahahaha, ca m'aurait étonné aussi smiley
sacré Artouste
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 5045
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hahahahaha, ca m'aurait étonné aussi smiley
sacré Artouste
smiley-mr-green
on ne se refait pas  smiley-cool

@ Icare , je regarderais mieux et plus precisemment plus ... tard  smiley-cool , mais si j'ai bien tout suivi
il suffit simplement d'ajouter une clock pour que ton board (chargé) soit/devienne  autonome ?
si le 1284 se comporte là dessus comme un 328 (sans aucune modif soft)
un simple oscillateur doit etre suffisant .

http://forum.arduino.cc/index.php?topic=203695.msg1500161#msg1500161
« Last Edit: April 11, 2014, 06:58:24 am by Artouste » Logged

Moselle (FR)
Offline Offline
Edison Member
*
Karma: 16
Posts: 1241
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re,
@ Icare , je regarderais mieux et plus precisemment plus ... tard  smiley-cool , mais si j'ai bien tout suivi
il suffit simplement d'ajouter une clock pour que ton board (chargé) soit/devienne  autonome ?
si le 1284 se comporte là dessus comme un 328 (sans aucune modif soft)
un simple oscillateur doit etre suffisant .
Non, il n'y a rien à rajouter le 1284p est connecté aux pins qui vont bien du 328p et les i/o sup sont câblés sur le PCB.
Le 1284p utilise le quartz de la carte UNO et la liaison USB vers TX et RX.
Il suffit de programmer le bootloader qui va bien (voir plus bas ou haut suivant ton format d'affichage).
L'idée de départ était d'utiliser un 1284p qui dormait sur un coin d'une table et de profiter de l'ergonomie de la UNO avec les capacités du 1284p (128k flash, 16k RAM et 4k EEPROM)
Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Pages: [1] 2 3   Go Up
Jump to: