Go Down

Topic: icareDuino (Read 3556 times) previous topic - next topic

icare

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"  ;)



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.
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Artouste


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"  ;)


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é

haifger

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

B@tto

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
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

icare

#4
Feb 26, 2014, 08:09 pm Last Edit: Feb 26, 2014, 11:14 pm by icare Reason: 1
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.
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

icare

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...
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

icare

#6
Feb 27, 2014, 08:24 pm Last Edit: Feb 27, 2014, 09:15 pm by icare Reason: 1
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  ;)
@+
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

icare

#7
Feb 27, 2014, 08:41 pm Last Edit: Mar 30, 2014, 03:32 pm by icare Reason: 1
Re,
En prime  ;)
CI côté cuivre

CI côté composants

CI ensemble

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

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!

icare

#9
Mar 29, 2014, 09:25 am Last Edit: Mar 30, 2014, 03:40 pm by icare Reason: 1
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.



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

icare

#10
Apr 10, 2014, 09:04 pm Last Edit: Apr 11, 2014, 05:40 pm by icare Reason: 1
Bonsoir,
New look for icareDuino




Le lecteur aura rectifier 318 en 328 (merci Artouste)
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Artouste


Bonsoir,
New look for icareDuino



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

infobarquee

hahahahaha, ca m'aurait étonné aussi :)
sacré Artouste

Artouste

#13
Apr 11, 2014, 01:52 pm Last Edit: Apr 11, 2014, 01:58 pm by Artouste Reason: 1

hahahahaha, ca m'aurait étonné aussi :)
sacré Artouste

:smiley-mr-green:
on ne se refait pas  8)

@ Icare , je regarderais mieux et plus precisemment plus ... tard  8) , 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

icare

Re,

@ Icare , je regarderais mieux et plus precisemment plus ... tard  8) , 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)
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Go Up