Carte programmable : ARDUINO an openhardware project.

N

Nos

Nouveau
Bonjour,

ARDUINO : "... is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software"

Voici de quoi équiper à moindre cout vos différentes réalisations, la plateforme de base a environ 24/25euros (je revends mon fer à souder à ce prix là), y a plus qu'a programmer!

site version anglaise ici : http://arduino.cc/en/
site version française la http://arduino.cc/fr/


Enjoy
A+
 
L

lion10

Compagnon
bonjour

J'ai regardé certes rapidement aussi quelques points à voir :

Le logiciel permet via une liaison hyperterminal de débugger la carte. C'est bien mais les liaisons rs232 sur les pc récents sans carte en plus cela n'existe plus.

Cette console permet de taper des commandes sur une fenêtre réduite à priori en taille , c'est moyen.

La carte selon sa version gère -t-elle l'usb ?

Quid de la main dans le logiciel pour gérer au plus près les interruptions ?
Interruptions sur les niveaux des signaux des ports ?

Nombre de ports ?


En terme de vitesse ceux sont des micro 16 mhz c'est peu !

Un plus le codage en C avec certaines librairies fournis .

Reste à voir les possibilités du compilateur, les capacités mémoires.

cdlt lion10
 
B

BBenj

Apprenti
Hello

Quelques infos pour ceux qui découvrent :)

lion10 a dit:
Le logiciel permet via une liaison hyperterminal de débugger la carte. C'est bien mais les liaisons rs232 sur les pc récents sans carte en plus cela n'existe plus.
Les cartes sont équipées d'un connecteur USB ainsi que d'un convertisseur USB-Série émulé via les drivers de FTDI (gratuit et multi-plateforme)
Et l'IDE est également multi-plateforme (Java)

lion10 a dit:
Cette console permet de taper des commandes sur une fenêtre réduite à priori en taille , c'est moyen.
La fenêtre est extensible.

lion10 a dit:
La carte selon sa version gère -t-elle l'usb ?
Connecteur usb oui, "vrai" usb non, mais une librairie "Arduino" existe pour cela. (basée sur V-USB, la librairie USB pour µC Atmel.)

lion10 a dit:
Quid de la main dans le logiciel pour gérer au plus près les interruptions ?
Interruptions sur les niveaux des signaux des ports ?
La librairie Arduino permet de gérer les IT externes, avec une simple fonction. Sinon il faut mettre la main à la pâte.
Quelques infos en plus sur ce qui est fourni par défaut: http://arduino.cc/fr/Main/Reference

lion10 a dit:
Nombre de ports ?
Dépend de la carte.

lion10 a dit:
En terme de vitesse ceux sont des micro 16 mhz c'est peu !
C'est plutôt rapide je trouve et bien suffisant dans la plupart des cas. Et pas cher.

lion10 a dit:
Un plus le codage en C avec certaines librairies fournis .
C++, et une grande communauté autour, avec plein de librairies pour quasiment tout faire...

lion10 a dit:
Reste à voir les possibilités du compilateur, les capacités mémoires.
C'est le compilo avr-gcc, qui n'a rien à voir avec Arduino. La mémoire, c'est Atmel.


Par contre il faut dire que l'éditeur est moyen moyen je trouve, de ce côté là ça laisse à désirer. Mais bon, tellement simple...

Très cool, comme boards. Et très économique. Elles sont vraiment polyvalentes, mais peuvent ne pas convenir pour quelques applications très spécifiques.
 
N

Nos

Nouveau
Salut,

Par contre il faut dire que l'éditeur est moyen moyen je trouve, de ce côté là ça laisse à désirer. Mais bon, tellement simple...

pour ce qui est de L'UI, VI , Bash, et une bonne ligne de commande, connait pas autre chose :)

A+

Nos.
 
C

coredump

Compagnon
Le système arduino c'est bien si on utilise leur librairies qui vont avec, ainsi que les "shield". Sinon ca n'a pas beaucoup d’intérêt et il y a plein de carte a base d'atmel qui vont aussi bien (genre teensy).

Au dessus y'a les ARM/ARM core A3 ou les PIC32 (Mips). Nettement plus puissants, et pas si difficile que ça a utiliser, surtout quand on utilise un rtos avec.

Une application utile pour la CNC a base d'atmel (pas arduino):

http://generichid.sourceforge.net/
 
D

didierh

Ouvrier
Hello
Pour l'éditeur j'utilise UtraEdit, il y a un paramètre à activer pour utiliser un éditeur externe (Files->Preferences->Use External Editor);
L'environnement Arduino reste juste ouvert pour la compil et l'upload.

A+ Didier
BBenj a dit:
Par contre il faut dire que l'éditeur est moyen moyen je trouve, de ce côté là ça laisse à désirer. Mais bon, tellement simple...

Très cool, comme boards. Et très économique. Elles sont vraiment polyvalentes, mais peuvent ne pas convenir pour quelques applications très spécifiques.
 
S

Sham

Ouvrier
Faites une recherche sur les "JeeNodes" : une base arduino + communication sans fil... Super base pour plein de projets.
 
L

lion10

Compagnon
bonjour

Coredump qu'appelles tu un "shield" ?

Entends tu par la, la surcouche logiciel trop lourde à ton gôut pour accéder aux ports E/S par exemple ?

Tu parles d'autres micro , mais quid des cartes à quels prix et les outils de développement, flashage sont ils gratuits ?

En regardant plus près le hard de la carte j'ai constaté qu'il y a avait de l'eeprom ok, mais peu de mémoire vive, 1Ko qu'en pensez vous ?

Tu parles de rtos moniteur temps réel, je ne pense pas qu'un amateur à moins qu'il en soit aussi professionnel utilise un tel système.

Il serait interessant d'avoir ; je sais que cela dépend de ce que l'on veut faire" un état des lieux des familles de micro facile à mettre en oeuvre dans un cadre hors industriel donc amateur.

Un autre aspect dont il faut tenir compte c'est la pérennité .

Quid de la consommation pour ces différents micros, je pense à une activité sur pile par exemple.

J'avais dit que la fréquence était faible, mais il vrai qu'on peut quand même faire des choses avec sans doute, par exempel une interface usb vers série... Sauf s'il faut de gros buffer en ram !

cdlt lion10
 
C

coredump

Compagnon
Salut,

lion10 a dit:
bonjour

Coredump qu'appelles tu un "shield" ?

Ce sont les cartes d'extensions qui se rajoutent sur la carte de base. Un gros plus car elles sont généralement gérées par des librairies fournies. C'est le point fort d'arduino: pas besoin de mettre les mains dans le cambouis dès le début, mais si on le désire, on peut.

Entends tu par la, la surcouche logiciel trop lourde à ton gôut pour accéder aux ports E/S par exemple ?

Contrairement a ce que l'on pense, les surcouches logicielles ne font pas perdre énormément de temps. C'est même un défaut souvent vu sur les devs amateurs: le mélange des fonctions bas niveau et haut niveau. Ce qui rend les programmes très dur a déboguer et a maintenir, ne parlons même pas à écrire.

Tu parles d'autres micro , mais quid des cartes à quels prix et les outils de développement, flashage sont ils gratuits ?

Oui de nos jours tout est pratiquement gratuit, même chez microchip le compilateur C PIC32 l'est.
Sous ARM et AVR, le compilateur est opensource (gcc), les outils de developpement aussi (gdb, eclipse).
Les interfaces de flash, quand il y en a (une carte teensy se programme depuis l'usb), ne sont pas chères, ni celles de debug.

En regardant plus près le hard de la carte j'ai constaté qu'il y a avait de l'eeprom ok, mais peu de mémoire vive, 1Ko qu'en pensez vous ?
2kB de ram pour la carte Uno, 8kB pour la méga (32 et 256k de flash respectivement. Oui c'est peu, mais ce sont des cartes avant tout fait pour des taches simples. Les cartes a base de ARM ont généralement entre 16 et 64kB de ram.

Tu parles de rtos moniteur temps réel, je ne pense pas qu'un amateur à moins qu'il en soit aussi professionnel utilise un tel système.

un rtos est un système d'exploitation temps réel. Détrompe toi, on en trouve beaucoup des gratuits qui fonctionnent très bien. L'avantage est que le développement est simplifié, on sépare bien les couches logicielles et on va beaucoup plus vite.
Pour le débogage sur ARM (et certains AVR aussi), on utilise l'interface JTAG, qui permets le debug depuis le PC. La aussi c'est peu cher (entre 5 et 50€ l'interface).

Il serait interessant d'avoir ; je sais que cela dépend de ce que l'on veut faire" un état des lieux des familles de micro facile à mettre en oeuvre dans un cadre hors industriel donc amateur.

PIC: obsolètes, aucun amateur ne devrait plus commencer par ça.
AVR: simples, mais limités
PIC32: puissants mais limités a microchip
ARM/cortex: beaucoup de vendeurs, une même application pourra aussi bien tourner sur un ARM 20 pins qu'un gros ARM11 sans nécessiter autre chose qu'une re-compilation et une adaptation des couches basses. Les cortex sont la version la plus évoluée actuellement (A3 en microcontroleur et A9/A15 en multiprocesseur).

Le développement se fait aujourd'hui majoritairement en C. Il ne reste que quelques bastions de l'assembleur: les petites tailles mémoire et les très hautes performances optimisées (traitement du signal et autre), et quand bien même dans ce cas les devs partent du C et l'optimisent après coup.
C'est utile de savoir l'assembleur pour le debug. Pour l'amateur on en restera la.

Un autre aspect dont il faut tenir compte c'est la pérennité .

Pour ca, ARM. Les vendeurs facile a trouver en amateur:
Atmel (AVR ARM et Cortex)
NXP (arm et cortex)
ST (surtout les Cortex)
TI (les petits ARM et gros: luminary et Beagle board)
Samsung (gros ARM qui tournent android)

On trouve des cartes chez Olimex et d'autre vendeurs asiatiques. Les cartes olimex sont bien supportées par la communauté, les asiatiques sont souvent interessantes mais pas forcément simple d'accès.

Quid de la consommation pour ces différents micros, je pense à une activité sur pile par exemple.
La les 8 bits sont imbattable (les derniers AVR tournent entre 3 et 5v), les ARM nécessitent souvent une alim stabilisée en 3.3v, voir 1.8v sur les gros.

J'avais dit que la fréquence était faible, mais il vrai qu'on peut quand même faire des choses avec sans doute, par exempel une interface usb vers série... Sauf s'il faut de gros buffer en ram !

Pas forcement beaucoup de RAM, le contrôle de flux est la pour ca!
 
B

BBenj

Apprenti
coredump a dit:
[...]
un rtos est un système d'exploitation temps réel.
Dans nos cas, c'est plutôt du multitâche, et moins du temps réel. Au moins à un niveau amateur.
Et souvent ce n'est même pas du tout temps réel...
 
L

lion10

Compagnon
bonjour

Un automate avec des tableaux de pointeurs et un fonctionnement par évenement liés par interruption devrait faire aussi l'affaire sans rtos pour un logiciel amateur.

Mais il est vrai qu'à ce niveau cela sous entend une bonne expérience professionnelle.
Et par "déformation professionnelle" là on en revient au rtos qui sont utilisés en plus des automates pour faciliter le développement sutout quand il y a de nb tâche en temps réel.


Concernant les rtos gratuit il serait interessant d'en avoir quelques noms.
Après il faudriat voir ce qu'ils exigent en terme de capacité mémoire.


Je parlais de la faisabilité de faire par exemple une if usb => rs232 avec une telle carte ARduino.
Mais une question autre :

L'interface usb c'est pour dialoguer avec la carte pour télécharger le logiciel voir la debugger. Mais ensuite une pour faire une telle appli il faudrait en quelque sorte une liaison hyperterminale sur le pc qui puisse accéder à l'usb cela exite -t-il ? Sur xp par exemple ?

cdlt lion10



cdlt lion10
 
B

BBenj

Apprenti
lion10 a dit:
Concernant les rtos gratuit il serait interessant d'en avoir quelques noms.
Après il faudriat voir ce qu'ils exigent en terme de capacité mémoire.
FreeRTOS, FemtoOS, AvrX (le seul que je suis arrivé à utiliser...)
Une ptite recherche google en donnera qqun en plus.
DuinOS: RTOS pour Arduino.


lion10 a dit:
L'interface usb c'est pour dialoguer avec la carte pour télécharger le logiciel voir la debugger. Mais ensuite une pour faire une telle appli il faudrait en quelque sorte une liaison hyperterminale sur le pc qui puisse accéder à l'usb cela exite -t-il ? Sur xp par exemple ?

L'interface USB Arduino est un port série émulé, donc il faut pouvoir communiquer avec un port série. En C, il y a Termios. Avec Qt, QSerialDevice ou QextSerialPort.
Pour dialoguer en USB, il y a libusb.
Pour le "vrai" USB sur Arduino, il y a ceci: http://code.google.com/p/vusb-for-arduino/ (c'est un portage de V-USB)
 
C

coredump

Compagnon
Sur les cartes arduino, l'usb est un convertisseur usb<->série en fait. Donc on peut l'utiliser comme port série il me semble.

Certains AVR (comme sur les cartes teensy) sont en USB natif, on peut donc les utiliser comme on veut et implémenter la fonction USB désirée.
 
J

j.f.

Compagnon
Salut,

c'est peut-être hors sujet, mais dans la même gamme de prix on trouve en ossase des tas de PocketPC sous WinCE.

- noyau WinNT
- temps réel
- multitache et multithread
- ARM au moins à 400 MHz
- port USB
- parfois port IRDa
- WiFi
- Bluetooth
- affichage graphique
- écran tactile
- certains remplacent la ROM par d'autrs systèmes (Linux ou autres)
- c'est pas bien gros, c'est pas gournant en électricité

Doit y avoir de sacrées belles bidouilles à faire avec ça, quitte à les désosser et à en intégrer l'électronique dans autre chose !

On n'est même pas obligé de conserver l'affichage standard, il suffit de faire des applis plein écran.

Z'en pensez quoi ?

Tiens, y'a un truc que j'ai pas tenté... Y connecter un disque dur de portable (alimenation externe, car faut quand même pas pousser). En tous cas, l'USB fonctionne avec claviers et souris. Périphériques de masse : à voir... Ce soir.
 
E

ewidance

Ouvrier
L'arduino est une plateforme sympa et avec pas mal d'applications pratiques pour la cnc. Du coup, ca m'a tellement amusé que j'ai fait plein de trucs avec...

Ici, un contrôle direct de carte de puissance pas à pas en Gcode :

http://www.civade.com/post/2011/06/15/p ... -pas-a-pas

Mais sans faire du contrôle moteur, on peut aussi l'utiliser avec une sonde de température pour faire de la régulation de vitesse de ventilos dans un rack puissance cnc:
http://www.civade.com/post/2011/05/25/S ... 0-fanduino

Ou alors intégrer un contrôle domotique pour allumer ou éteindre des équipements par Ethernet dans la maison :
http://www.civade.com/post/2009/07/25/4 ... tique-heyu


Pour ceux qui veulent une petite idée des cartes d'extensions (shields) disponibles :
http://www.civade.com/post/2009/07/08/3 ... -s-etendre

Et enfin, quand on pense qu'un Makerbot (imprimante 3D) et motorisée par une Arduino Mega, ça donne une idée de la relative puissance de l'ensemble :

http://www.youtube.com/results?search_q ... talab&aq=f

Ah, au fait, il y en a même qui utilisent des Arduino pour ajouter des entrées à un PC pour les utiliser sur le logiciel EMC2 ( http://axis.unpy.net/01198594294 , par l'un des concepteurs de l'interface graphique Axis d'Emc2).

Alors finalement, vous ne trouvez pas l'interaction d'Arduino avec la CNC plutôt naturelle?
 

Sujets similaires

01power
Réponses
3
Affichages
13 829
01power
01power
D
Réponses
9
Affichages
3 050
David80
D
taratata
Réponses
4
Affichages
4 238
taratata
taratata
Haut