Partage
  • Partager sur Facebook
  • Partager sur Twitter

Avis carte Arduino suite à la lecture du tutoriel

Pour acquisition de données et simulation

6 août 2011 à 23:42:57

Bonjour à vous,

Tout d'abord, pour éviter tout malentendu sur les possibles idioties que je vais dire, je suis totalement débutant en électronique.

Voilà, j'ai deux petits projets, qui sont plus ou moins liés. Venant de découvrir ce tutoriel alors que je cherchais sur la toile des renseignements, je suis retombé sur ce bon vieux site du Zéro, où j'ai découvert avec joie qu'une section sciences était désormais ouverte.

Avant toute chose, je voudrais vous présenter mes projet :

Projet n°1



Ce premier projet est de faire un système d'acquisition de données.

Je souhaite principalement récupérer une vitesse de rotation, une température, mais aussi une accélération. La durée de l'acquisition serait de 10' environ. Il faut donc un moyen de stockage des données.

Les capteurs que je souhaiterais utiliser serait donc un capteur de présence (qui envoi 1 par exemple quand la cible passe, pour calculer la vitesse il suffirait de calculer le delta de temps), un thermocouple ou un capteur IR (je crois qu'on peut avoir une température avec ce type de capteur), et un accéléromètre.

La cerise sur le gâteau serait d'avoir 5 capteurs de température et 4 capteurs de rotation. Mais si c'est un et un je serai déjà content.

Le hic, et c'est la où ça commence à devenir peut-être problématique, c'est que je voudrais enregistrer ces données à une fréquence de 10 à 20 Hz, voir plus si possible. Après peut-être que c'est totalement réalisable, je n'en sais rien.

L'idée serait ensuite de connecter mon PC pour récupérer les données et les exploiter ensuite sous Excel, mais ça si j'ai les données c'est bon je sais faire!

Ce système serait un système embarqué, donc pas possible de mettre un PC à proximité.

Projet n°2



Le but serait de piloter en fonction des données acquises précédemment un moteur pas à pas, en fonction d'une vitesse de rotation. Il y aurait donc une boucle d'asservissement, avec en entrée la vitesse de rotation, en sortie la position du moteur.

Pour expliquer un peu mieux, je voudrais en fait faire des simulations avec les données récupéré dans le projet 1, qui est le projet prioritaire d'ailleurs. Le top serait de visualiser ces données en direct sur un PC.

Voilà, je pense avoir été pour le moment assez clair pour expliquer le projet.

Donc, mes questions :

Pensez-vous que ce projet est réalisable? :-°

Si oui, est-ce techniquement très compliqué?

Est-ce que l'utilisation d'une carte Arduino permettrai de faire ce que je projette de faire?

Si non, auriez-vous une idée/proposition pour rendre ce projet réalisable?

Si oui, est-il possible d'utiliser de tels capteurs avec une carte Arduino?


Merci à tous pour votre aide, et soyez indulgent si je raconte des idioties. Et si vous voulez apporter des éléments qui ne se rapportent pas à mes questions, n'hésitez pas!

  • Partager sur Facebook
  • Partager sur Twitter
7 août 2011 à 0:22:18

Bon on va la faire court en citant un exemple.
Il y a peu traînait la mode des drones. Qui dit mode dit bricoleur.
On retrouve donc maintenant des kits sur internet à base d'Arduino pour piloter des moteurs brushless à partir de centrale inertielle...

OK, en quoi ca me concerne ? oO
me diras-tu....

Et bien sur ces drones Arduino (appelé ArduCopter) on retrouve une possibilité de faire des logs des infos de la centrale inertielles (3 accelerometres, un sonar...), des commandes de la radiocommandes (plusieurs axes) et aussi des consignes appliqués aux moteurs et de la mesure de leurs vitesses réelles il me semble... le tout à une fréquence de 50 Hz si je ne m'abuse.

Je crois que l'enregistrement sr faisait sur de la mémoire flash intégré sur la carte Arduino, ptet une carte arduino développé "pour l'occasion"

tout ca pour dire que ton projet "Oui c'est réalisable"...

Citation : catsur

je suis totalement débutant en électronique


Tant pis pour toi ca prendra juste plus de temps :p
Plus sérieusement, l'avantage de l'Arduino est qu'il ne te reste "que" les capteurs à interfacer, donc tu gagnes un temps fou... j'espere juste que tu n'es pas trop débutant en informatique car sinon ca va commencer à devenir galère :p

Bon courage à toi !

Citation : catsur

Le top serait de visualiser ces données en direct sur un PC


Dans le projet ArduCopter il propose d'envoyer les données avec un module sans fil XBee à une IHM sur un PC pour visualiser les données en live (rafraichissement entre 1 et 2 frames par secondes il me semble, voire un peu mieu :) )
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

7 août 2011 à 0:40:21

Bonsoir à toi,

Je te remercie pour ta réponse.

En ce qui concerne les capteurs, on peut prendre n'importe lequel, ou alors il faut du matériel spécifique Arduino?

Avec ce que tu me racontes sur les drones, il semblerait qu'avec mon projet je sois loin d'en demander trop à l'Arduino... Et c'est tant mieux!

Pour ce qui concerne l'informatique, j'ai suivi les cours de C/C++ et PHP/HTML du SdZ, il y a un petit moment que je n'ai pas pratiqué, mais je devrais, j'espère, pouvoir me débrouiller.

Bref, merci, il n'y a plus qu'à faire un peu de théorie pour voir ce qu'il me faut exactement comme carte... As-tu une idée? Quel doit être mon cahier des charges pour le choix de la carte?

Merci à toi!
  • Partager sur Facebook
  • Partager sur Twitter
7 août 2011 à 23:52:08

Citation : catsur

En ce qui concerne les capteurs, on peut prendre n'importe lequel, ou alors il faut du matériel spécifique Arduino?



Tu peux prendre les capteurs que tu veux, tant que tu peux réaliser une interface que tu pourras exploiter ensuite (par exemple niveau 0/5V ou analogique de 0 à 5V...)

Comme carte, ca dépendra du nombres d'entrées/sorties tu as besoin... donc du coup en carte de base tu as la "Uno" ou la "Méga" qui sont passe partout, par contre je ne sais rien sur le stockage SD...

Le tout est de bien préparer les choses en amont pour pas perdre de temps ensuite... On a souvent tendance à vouloir acheter trop vite du matériel pour "jouer avec" mais ca fait perdre plus de temps qu'autres choses...
Donc première étape, bien plancher sur :
Quel technologie utilisé (pour les capteurs, le choix Arduino vient plus tard...) ?
Combien de capteurs me faut-il ?
Combien d'I/O je vais avoir besoin ?
A quel surprise je dois m'attendre ??

Je te souhaite bon courage pour ce début, je serais ravi de continuer à en parler plus tard, mais n'attends pas des réponses trop rapides de ma part, je suis en vacances sans "vrai internet" cette semaine :p
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

8 août 2011 à 9:19:34

Merci à toi pour tes réponses.

Je vais me faire un petit cahier des charges précis et faire une liste du matériel que je vais utiliser, en particulier les capteurs. Sur le site Arduino, j'ai trouvé qu'il était possible de sauvegarder les données, par contre il y a certaines personnes qui sont limitées à 4Hz pour l'enregistrement des données, mais apparemment ce n'est pas normal. Bref , on verra bien!

A bientôt donc
  • Partager sur Facebook
  • Partager sur Twitter
10 août 2011 à 21:54:51

Après avoir passé un petit peu de temps sur le net, voici donc la liste du matériel que je compte utiliser.

Mesure température



Je compte mesurer 4 températures à l’aide de capteurs infrarouges : voici le capteur que je compte utiliser.

Par contre je n’ai pas bien compris le câblage de ce capteur, comme montré en page 1 :
• Faut-il ajouter un condensateur comme expliqué dans le schéma ? Ou est-il inclus dans le composant ?
• Faut-il absolument utiliser les quatre pattes, ou peut-on en utiliser que trois : en effet, je pense avoir compris qu’il en faut une pour l’alimentation, une pour la masse, et une connectée à une fiche analogique pour lire le résultat non ? A quoi sert donc la quatrième ?

Mesure température 2



Je compte mesurer une autre température, mais avec un thermocouple. Je n’ai pas encore trouvé le thermocouple en question, mais ça va venir. Est-il possible de brancher un thermocouple sur une entrée analogique de l’Arduino ?

Mesure vitesse de rotation



Ensuite, je compte mesurer deux vitesses de rotation, qui seront entre 1000 et 20000tr/minutes. Pour cela, je vais utiliser un capteur inductif. Je pense réaliser une cible avec une ou plusieurs dents, et coder un morceau de programme qui me calcule le temps écoulé entre deux passages. A partir de là, je saurais en déduire la vitesse de rotation. Voici le capteur que je compte utiliser.

Cependant, ce capteur me pose un problème car la tension d’utilisation est de 10 à 30 VDC, et si j’ai bien compris la carte Arduino ne délivre que du 5V c’est cela ? Existe-t-il une possibilité de passer en 10V, sans abimer la carte bien sûr ?

Mesure accélérations



Je vais également avoir besoin de mesurer des accélérations, pour cela, je vais utiliser un accéléromètre deux axes.
Je n’ai pas de questions particulières pour le moment concernant l’utilisation de cet accéléromètre. Mais je suis ouvert à vos remarques!

Mesure position angulaire



Je vais également avoir besoin de mesurer une position angulaire, pour cela je pense utiliser un potentiomètre monté en bout d’axe : cela est-il possible ? Je ferais un étalonnage afin de connaitre mes valeurs de résistances en fonction de mes angles. De toute manière, l’évolution d’un potentiomètre est linéaire ? De plus, est-il possible de connecter le potentiomètre sur une entrée analogique de l’Arduino ?

Enregistrement des données



Ensuite, afin d’enregistrer les données recueillies, je vais avoir besoin d’interfacer ma carte Arduino avec une SD Card. J’ai vu qu’il existait des cartes toutes faites pour interfacer la carte Arduino directement avec des supports de cartes SD. Voici le matériel que je pense utiliser. Je dois bien avouer que je ne comprend pas trop (voir pas du tout) comment connecter la carte mais bon on verra bien le moment venu... Sauf si quelqu'un veut bien m'expliquer au passage s'il s'en sent le courage....

Comme je pense que c’est un peu compliqué de communiquer et d’écrire sur une SD Card, voici un tutoriel pour s’inspirer, pour ceux que ça intéresse.

Choix de la carte



Résumons, en gros je vais avoir besoin de 4+1+2+2+1 = 10 entrées analogiques pour lire les données (enfin si j’ai bien compris le fonctionnement global de l’Arduino)…

De ce fait, il n’est pas possible d’utiliser la UNO, car le nombre d’entrée n’est pas suffisant. Je vais donc me diriger vers la MEGA2560, qui a 16 entrées analogique. Ça tombe bien, car j’ai d’autres idées pour les utiliser…mais pas maintenant….il y a d’autres choses à apprendre avant !!!

Autre matériel :



Je vais suivre les conseils ce tutoriel pour l’achat du matériel de base, dont je me servirai pour m’exercer.


Voilà, je sais que ce message est très long, mais je serai très reconnaissant auprès de ceux qui accepteront de répondre aux questions semées au cours de ce long message…

Je le dis et je le répète, je débute vraiment et c’est pourquoi je viens demander votre aide… n’hésitez pas à me faire des remarques !

Merci d'avance!
  • Partager sur Facebook
  • Partager sur Twitter
11 août 2011 à 3:00:18

Salut à toi !

Je vais essayer de te diriger vers les différents produits nécessaires pour ton projet.

Pour le thermomètre infrarouge, n'ayant jamais travaillé avec ceux-ci, je ne peux l'expliquer. Cependant, le tableau à la page 5 du manuel semble expliquer comment brancher le tout. La pin 2 devrait sortir la température en PWM. Le calcul des données commence à la page 25, toujours du manuel.

Pour le deuxième thermomètre, oui il est tout à fait possible de brancher le thermocouple sur une borne analogique du Arduino. J'ai personnellement utilisé dans quelques projets ce capteur : http://www.robotshop.com/eu/module-cap [...] x-inex-2.html . Facilement interfaçable et peut se mettre dans l'eau. C'est un thermistor NTC avec une couche de polymère.

Concernant le capteur de rotation, tu peux faire ça : http://www.arduino.cc/playground/Main/ [...] oltageBooster . Sinon c'est de s'amener une alimentation continue de 10V DC, mais c'est moins propre quoi !

Pour la position angulaire, très bonne idée peu couteuse. En effet, cela fonctionne à merveille sur une entrée analogique. De plus, plusieurs potentiomètres sont linéaires, donc une courbe toujours équivalente d'après la résistance.

Pour l'enregistrement des données, j'y viendrai après le prochain point.

Pour le board, je prendrais un faux Arduino, beaucoup moins coûteux et qui serais plus petit : le Teensy (http://pjrc.com). En effet, il y a deux version : Teensy2 et Teensy2++. Pour ton utilisation, tu en aura besoin de 9 analogues, 4 digitales et 1 PWM (incluant le lecteur de carte SD.) Le Teensy2 serait le plus aproprié. Tu peux donc commander le lecteur de carte SD à 8$. Attention par exemple, si tu n'a pas de fer à souder ou pas de talent à souder, il faut prendre celui avec des Header (donc des pins pour le mettre dans le breadboard.) Sinon, tu peux souder des pins très facilement à la place de payer 3$ de plus.

Si tu as d'autres questions, n'hésite pas !


  • Partager sur Facebook
  • Partager sur Twitter
11 août 2011 à 14:43:36

Bonjour à toi,

Je pense qu'en raison de l'ampleur de ce projet pour un simple débutant comme moi, je vais déjà commencer par acheter quelques éléments de base, pour comprendre le fonctionnement d'une Arduino, et essayer de faire des choses simples, comme faire clignoter une diode quand on appuie sur un bouton.

En effet,là il y a trop de théorie, et je commence à perdre les pédales. Mais j'espère faire fonctionner ce système pour la fin de l'été, donc ne t'inquiète pas je reviendrais poster ici même dès que j'aurais un peu avancé et compris le fonctionnement global du système!

Un grand merci à tout ceux qui ont contribué à éclairer mon chemin en tout cas. :)
  • Partager sur Facebook
  • Partager sur Twitter
14 août 2011 à 22:12:59

Dans ce cas, on te laisse avancer à ton rythme !
N'hésite pas à reposter sur ce fil si tu as des questions ou juste pour nous tenir au courant (moi ca m'intéresse :p ) !

Bon courage !
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

21 août 2011 à 22:31:19

sur ton arduino, rajoute un datalogger shield de chez ladyada, y'a le connecteur pour carte SD et le code est fourni...

> Je compte mesurer 4 températures à l’aide de capteurs infrarouges

t'es obligé de le faire par infrarouge ?

> Faut-il ajouter un condensateur comme expliqué dans le schéma ?

Oui

> Faut-il absolument utiliser les quatre pattes, ou peut-on en utiliser que trois

D'après la datasheet le machin parle l'I²C (4 pattes) ou a une sortie PWM (3 pattes), à toi de choisir, l'I²C sera beaucoup plus précis, c'est numérique.

> Est-il possible de brancher un thermocouple sur une entrée analogique de l’Arduino ?

Non impossible, il faut un ampli de thermocouple qui gère la compensation en température. SI tu ne veux pas mesurer des températures trop hautes ni trop basses, mets un bête thermistor.

> je vais utiliser un capteur inductif

Une LED IR et un phototransistor ça marche bien aussi...

> Existe-t-il une possibilité de passer en 10V, sans abimer la carte bien sûr ?

il me semble que l'arduino s'alimente entre 9 et 12V (il y a un régulateur 5V dessus) donc problème réglé.

> est-il possible de connecter le potentiomètre sur une entrée analogique de l’Arduino ?

oui

  • Partager sur Facebook
  • Partager sur Twitter
29 août 2011 à 10:19:04

Bonsoir à tous,

Ça y est, j'ai reçu mon matériel pour commencer à me familiariser avec Arduino. Je suis franchement impressionné par la facilité de prise en main de ce système. Avec un peu de recul, je me rend compte qu'il est possible de faire une infinité de choses avec ce matériel!!!

J'ai déjà réalisé quelques circuits/programmes, sans trop de difficulté, sans doute parce que j'ai de bonnes base en langage C, car c'est très similaire.

Je tenais donc à vous remercier pour vos conseils.

Pour répondre à la question de Lord, oui je suis obligé d'utiliser un capteur IR, car je veu mesurer la température d'un solide en mouvement, et techniquement, c'est impossible de mettre un capteur sur ce solide et l'environnement proche est refroidi, donc pas à la température exacte du solide.

D'ailleurs, en parlant du capteur IR, j'ai acheté celui-ci, et j'ai suivi ce tuto pour le connecter.

Ça marche très bien, si ce n'est que je comprend pas un poil ou presque de code. Voulant utiliser 4 de ces capteurs, il est indispensable que je comprenne comment utiliser l'adressage pour ce type de composants, et là je suis bloqué depuis 2 jours.

Si l'un d'entre vous a un tutoriel utilisant la librairie Wire pour les néophytes, si possible en Français, je suis sincèrement preneur, car là je ne sais vraiment pas comment décoller.

Mon objectif est de faire moi même mon code afin de bien comprendre, et pas d'utiliser des codes venants d'internet qu'il faut juste copier puis coller dans l'éditeur.

Merci d'avance pour votre aide!!!!
  • Partager sur Facebook
  • Partager sur Twitter
29 août 2011 à 12:00:10

La librairie "Wire" sers à utiliser du matériel en I²C (bus de communication).

Premier conseil : Se renseigner sur comment marche l'I2C (wikipédia par exemple)

Ensuite, nous demander des détails ;)

En I2C, on utilise le principe "maître/esclave", dans ton cas, Arduino est le maître et les autres composants sur le bus seront les esclaves.
Pour savoir avec qui on communique, on utilise des adresses, que l'on déclare en faisant un define

#define AdresseComposant 0xA2   // Adresse I2C du composant


Si l'adresse de l'esclave n'est pas reglable, attention lors de l'achat à ne pas en avoir deux avec la même adresse...


Ensuite, dans le setup tu vas initialiser ta voie I²C en faisant appel à Wire.begin() (sans argument pour déclarer que Arduino est le maître)

Enfin, pour de la lecture/écriture il te restera à ouvrir la com' avec le composant désiré
Wire.beginTransmission(AdresseComposant);

Puis faire de l'écriture des commandes qui vont bien pour lire des valeurs ou écrire des paramètres...

- un exemple simple
(A la fin de l'exemple se trouve d'autres exemples)
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

Anonyme
17 septembre 2011 à 10:36:34

Citation

Cependant, ce capteur me pose un problème car la tension d’utilisation est de 10 à 30 VDC, et si j’ai bien compris la carte Arduino ne délivre que du 5V c’est cela ? Existe-t-il une possibilité de passer en 10V, sans abimer la carte bien sûr ?



Si je puis me permettre, je te conseil d'utiliser un AOP pour adapter la tension de sortie du capteur.

En gros tu rentre du 10 à 30V sur l'AOP et il ressort une tension qui varie exactement comme celle d'entrée, mais ne dépassera pas les 5V. Je te laisse réfléchir au montage, la flemme...
  • Partager sur Facebook
  • Partager sur Twitter
17 septembre 2011 à 21:45:11

euh... pour passer de 30 V à 5 V de manière "proportionelle" un bete diviseur de tension avec deux résistances suffit non ?
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

18 septembre 2011 à 21:04:13

genre un 7805 ? Il va chauffer pas mal...
  • Partager sur Facebook
  • Partager sur Twitter
18 septembre 2011 à 23:53:59

Non un 7805 sortira toujours du 5V quoi qu'il se passe (et il ne chauffera pas tant que tu tires pas de courant).
Je pense vraiment juste a un diviseur de tension correctement calculé...
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

Anonyme
19 septembre 2011 à 18:17:30

Citation

Je pense vraiment juste a un diviseur de tension correctement calculé...



On peut effectivement utiliser cette solution si le courant demandé n'est pas important (normalement, vu l'application, c'est bon ;) )
  • Partager sur Facebook
  • Partager sur Twitter
19 septembre 2011 à 20:22:47

même s'il y a du courant, tant que le milieu du pont n'en demande pas ca risque rien (et vu que le milieu du pont se fera sur une entrée arduino elle pompera rien et tout ira bien :) )
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

Anonyme
19 septembre 2011 à 20:27:26

Citation

tant que le milieu du pont n'en demande pas ca risque rien



voilà, c'est de ça dont je voulais parler ;)
  • Partager sur Facebook
  • Partager sur Twitter