Arduino Forum

International => Français => Topic started by: meiko on Jan 28, 2013, 06:39 pm

Title: Du monde à controler
Post by: meiko on Jan 28, 2013, 06:39 pm
bonsoir à tous,

J'envisage de faire fonctionner un robot commandé par joystick par arduino.

Le robot en question dispose de 7 moteurs DC 12V, 3servos, 3 Led.
Je souhaite utiliser des joysticks analogique prélevés d'une radio-commande de modélisme pour contrôler les moteurs. ( Marche AV/marche AR) donc utilisation de pont en H.
Je doit pouvoir faire varier la vitesse d'un seul moteur. n°7 sur le schéma.

http://www.casimages.com/img.php?i=130128063657372913.jpg

Je voudrais aussi contrôler:  3 servos à l'aide de potentiomètres.
                                      L'intensité lumineuse de 3 LED, 1 LED indépendante, les deux autres couplées. par potentiomètre aussi.
Le souci, est que je ne suis pas un expert en arduino, donc avant d'aller plus loin, je voulais savoir si cela était faisable de controler tout ce monde la  avec une carte arduino uno r3 et quelques éléments?

Je suis conscient que la programmation risque d'être complexe mais si oui, pouvez vous m'éclairé sur les raccordements de tout ces éléments.
Title: Re: Du monde à controler
Post by: schizophrene on Jan 28, 2013, 08:51 pm
Salut,

Je pense que, pour commencer, tu devrais apprendre à contrôler chaque élément indépendamment: d'une part, tu apprendras à créer ton code pour chaque partie. D'autre part, tu te rendras compte du nombre de pins à utiliser en tout pour ton robot.

A savoir qu'avec une UNO, il est possible d'ajouter des expandeurs d'entrées/sorties assez facilement, pour en arriver à un nombre assez impressionnant.
Title: Re: Du monde à controler
Post by: meiko on Jan 28, 2013, 09:30 pm
Merci beaucoup schizophrene.

Donc c'est faisable avec une uno R3 et quelque shields :)
Admet-on que je réussisse à faire un code pour chaque éléments.
Je peux mettre tout les codes les un à la suite des autres pour que le programme fonctionne?
Title: Re: Du monde à controler
Post by: schizophrene on Jan 29, 2013, 06:17 pm

Admet-on que je réussisse à faire un code pour chaque éléments.
Je peux mettre tout les codes les un à la suite des autres pour que le programme fonctionne?


Oui et non: si tu les mets à la suite, chaque portion de code sera exécutée à la suite. Il faudra les imbriquer dans des structures conditionnelles, des boucles, pour que ton robot réagisse comme tu le veux.
Title: Re: Du monde à controler
Post by: skywodd on Jan 30, 2013, 09:30 am
Bonjour,

Je partirai plutôt sur une mega2560, avec une UNO il n'y aura pas assez d'entrées analogique et de sorties numérique ...
On peut toujours prendre une UNO + multiplexeur analogique (CD4067) mais ça ne ferait que compliquer les choses à mon avis.
Title: Re: Du monde à controler
Post by: schizophrene on Jan 30, 2013, 08:33 pm
Entièrement d'accord, surtout quand un considère que le plus difficile est la programmation. Tout dépend après de la volonté de meiko :)
Title: Re: Du monde à controler
Post by: meiko on Jan 31, 2013, 12:02 am
Merci pour vos réponses :)

Le truc c'est que j'ai l'arduino uno R3.
Pour la prog, en effet j'ai pu voir ici et la que de mettre bout à bout le programme ne sera pas évidents.
J'ai plutôt intérêt à réaliser un bon schéma pour le repérage et valider tout ça et de faire le programme d'une seule fois.
Bon, je débute tout juste et commence à lire les montages et programmations que je vois sur le net, plus ça va mieux je comprend, c'est bon signe ;)

Vous parler de multiplexeur analogique (CD4067), en restant sur une uno R3, je n'aurait donc pas le choix si je veux réaliser cette config avec cette carte?
Je serais partant la dessus, mais compliqué comment :smiley-eek-blue:
Si la prog est complexe mais réalisable je suis ok, hormis celle-ci, je voulais avant toute chose disposer ou de déterminer tout les éléments (cartes) nécessaire à la réalisation, comme le nombre de "CD4067B multiplexer";  tb6612fng ou  "L298N" ect... afin de pouvoir réaliser un schéma et me donner une idée du dispositif électronique complet pour que cela puisse fonctionné.
Title: Re: Du monde à controler
Post by: skywodd on Jan 31, 2013, 01:26 pm

Pour la prog, en effet j'ai pu voir ici et la que de mettre bout à bout le programme ne sera pas évidents.
J'ai plutôt intérêt à réaliser un bon schéma pour le repérage et valider tout ça et de faire le programme d'une seule fois.
Bon, je débute tout juste et commence à lire les montages et programmations que je vois sur le net, plus ça va mieux je comprend, c'est bon signe ;)

Conçois ton programme en fonctions morceau par morceau, ça facilitera grandement son développement son intégration.
Faire tout le code d'un coup c'est un peu utopique, mais pas impossible ;)


Vous parler de multiplexeur analogique (CD4067), en restant sur une uno R3, je n'aurait donc pas le choix si je veux réaliser cette config avec cette carte?
Je serais partant la dessus, mais compliqué comment :smiley-eek-blue:
Si la prog est complexe mais réalisable je suis ok, hormis celle-ci, je voulais avant toute chose disposer ou de déterminer tout les éléments (cartes) nécessaire à la réalisation, comme le nombre de "CD4067B multiplexer";  tb6612fng ou  "L298N" ect... afin de pouvoir réaliser un schéma et me donner une idée du dispositif électronique complet pour que cela puisse fonctionné.

Il reste cependant un point à ne pas négliger : la taille de la mémoire RAM et Flash.
Tu peut très bien ajouter des multiplexeurs & co un peu partout au final c'est le code qui risque de ne pas passer en mémoire.
Title: Re: Du monde à controler
Post by: meiko on Jan 31, 2013, 09:41 pm

Conçois ton programme en fonctions morceau par morceau, ça facilitera grandement son développement son intégration.
Faire tout le code d'un coup c'est un peu utopique, mais pas impossible ;)

Par contre avant de pouvoir faire le programme il faut que je réalise le schéma du montage afin de pouvoir faire la déclaration des entrées/sorties?


Il reste cependant un point à ne pas négliger : la taille de la mémoire RAM et Flash.
Tu peut très bien ajouter des multiplexeurs & co un peu partout au final c'est le code qui risque de ne pas passer en mémoire.

Aie, en effet, je suis limité à 32KB...
En considèrent un joystick comme deux potentiomètres.
Cela me fait 7 potentiomètres pour les moteurs,
                  3     //              pour les servomoteurs
                  2      //             intensité éclairage (LED)
                  2 capteurs voie d'eau (affichage par led sur console de contrôle)
Se qui fait 14 Entrées c'est bien ça?
Un CD4067 Multiplexer me permettrais de rajouter 16 sorties, donc un seul devrait suffire.
Title: Re: Du monde à controler
Post by: skywodd on Feb 01, 2013, 06:44 pm

Par contre avant de pouvoir faire le programme il faut que je réalise le schéma du montage afin de pouvoir faire la déclaration des entrées/sorties?

C'est la première chose à faire avant même de coder / monter quoi que ce soit, prendre une feuille, un crayon et réfléchir.


Aie, en effet, je suis limité à 32KB...
En considèrent un joystick comme deux potentiomètres.
Cela me fait 7 potentiomètres pour les moteurs,
                  3     //              pour les servomoteurs
                  2      //             intensité éclairage (LED)
                  2 capteurs voie d'eau (affichage par led sur console de contrôle)
Se qui fait 14 Entrées c'est bien ça?
Un CD4067 Multiplexer me permettrais de rajouter 16 sorties, donc un seul devrait suffire.

Pour le hardware tu doit pouvoir t'en sortir sans trop de problème.
Réfléchis plutôt au software, voir ce qu'il va falloir que tu fasses et comment.
Title: Re: Du monde à controler
Post by: meiko on Feb 01, 2013, 11:20 pm
Yes, je vois ça. Merci skyodd.

Par contre, je regarde les multiplexeurs, notamment le composant "4067". Lorsque je regarde les référence sur:
http://www.alldatasheet.fr/view.jsp?Searchword=CD4067
Je vois qu'il y en a une multitude, ex: B; BE; BF; BF3A....... :~ De plus, y a une autre référence qui diffère pour le même composant (en rouge sur la photo)
(http://nsa31.casimages.com/img/2013/02/01/130201111447696823.jpg) (http://www.casimages.com/img.php?i=130201111447696823.jpg)
Savez vous comment choisir ce composant?
Title: Re: Du monde à controler
Post by: skywodd on Feb 02, 2013, 02:36 pm

Je vois qu'il y en a une multitude, ex: B; BE; BF; BF3A....... :~

Ce sont les "sous références" du circuit, normalement les différences sont minimes et dans ton cas ça ne changera pas grand chose.


De plus, y a une autre référence qui diffère pour le même composant (en rouge sur la photo)

C'est le numéro de série (unique) ;)
Title: Re: Du monde à controler
Post by: meiko on Feb 02, 2013, 08:01 pm
Merci beaucoup.

Grosso modo, ce serait comme ça?:
(http://nsa31.casimages.com/img/2013/02/02/130202080208941234.jpg) (http://www.casimages.com/img.php?i=130202080208941234.jpg)
Title: Re: Du monde à controler
Post by: schizophrene on Feb 03, 2013, 10:47 am
Petite erreur: les capteurs ne sont pas connectés à des sorties, puisqu'il faut recueillir leurs informations.

Tu as des capteurs analogiques (pouvant être branchés sur des entrées analogiques du µcontroleur ou sur un multiplexer analogique) et des capteurs numériques (utilisant différent protocoles, comme l'I²C ou le 1-Wire par exemple). Il te faudra obligatoirement utiliser des entrées, et non pas des sorties.
Title: Re: Du monde à controler
Post by: meiko on Feb 03, 2013, 11:43 am
Ok,
Donc pour les entrées analogique (joysticks) c'est ok avec un multiplexeur 4067.
Et l'autre multiplexeur doit être lui aussi utiliser en entrée en PWM?
Je peux peut être utiliser le composant "pca9685" Je vois qu'il peut gérer les servos mais alors les moteurs 12V DC????
J'avoue que je suis perdu...
Title: Re: Du monde à controler
Post by: schizophrene on Feb 03, 2013, 03:37 pm
Je crois que tu as quelques problèmes de compréhension entre entrée et sortie...  ;)

Tu devrais revoir un peu les bases (ne le prends pas mal, on est tous passé par là).
Il faut que tu te demandes, quels sont tes composants qui t'envoient une information (information que tu dois récupérer, via une entrée), et ceux qui en demandent une (information que tu dois envoyer, via une sortie).

Ton Arduino UNO possède 14 entrées/sorties digitales, 6 entrées analogiques (qui peuvent aussi servir entrées/sorties digitales).. Mais dans ces entrées/sorties, tu as aussi les pins qui servent à différent mode de communication: I²C, SPI, ... ce qui t'enlèvent des entrées/sorties.
Title: Re: Du monde à controler
Post by: meiko on Feb 03, 2013, 07:07 pm
A no, je ne le prend pas mal du tout, j'apprend au fur et à mesure.
La par contre, je patine dans la semoule.
Title: Re: Du monde à controler
Post by: meiko on Feb 04, 2013, 09:55 am
Bonjour,
J'ai trouvé une carte qui je pense pourrait convenir:   http://mchobby.be/PrestaShop/product.php?id_product=72
Title: Re: Du monde à controler
Post by: schizophrene on Feb 04, 2013, 03:20 pm
Pas mal ce shield, mais tu n'as pas de sorties PWM dessus. Il faut voir si l'utiliser te coûte des sorties PWM de la carte.

En l'occurence, non: tu as toujours les 6 sorties PWM de la carte non utilisée.
Title: Re: Du monde à controler
Post by: meiko on Feb 04, 2013, 06:23 pm
Ah oui, pas de sorties PWM dessus =( Du coup, il ne sera d’aucune utilité pour mon robot. 6 sorties n'est pas assez.
Je ne peux pas contrôler un moteur par du digital?
Il faut que je trouve le même shield mais avec du PWM......
Title: Re: Du monde à controler
Post by: Christian_R on Feb 04, 2013, 07:44 pm
Petit rappel pour compter de combien d'entrées / sorties tu as besoin (avant de passer à la suite !)

Un bouton poussoir = 1 entrée numérique
Un résistance variable = 1 entrée analogique
Un Joystick 2 axes = 2 entrées analogiques
Capteur voie d'eau = 1 entrée numérique je présume

Un moteur DC en marche/arrêt  = 1 sortie numérique
Un moteur DC en vitesse variable PMW = 1 sortie analogique
Un servo = 1 sortie
Une LED = 1 sortie numérique pour allumer/éteindre
Une LED = 1 sortie numérique pour varier l'éclairage en PWM

Un multiplexeur utilise 4 adresses (donc 4 pins) pour aiguiller vers 16 E/S

Donc
7 potentiomètres (pour les moteurs)= 7 IN
3 potentiomètres (pour les servomoteurs)= 3 IN
2 potentiomètres (pour intensité LED )= 2 IN
2 capteurs = 2 IN
Total = 14 IN

Mais il y a aussi les sorties à compter :
7 moteurs + 3 servos + 2 leds = 12 OUT au minimum (plus si tu veux aussi inverser les moteurs)
TOTAL 26 pins  minimum, mais la carte UNO n'en possède que 14.

A mon avis, le passage sur carte Mega sera plus simple que du multiplexage à câbler de partout.
Title: Re: Du monde à controler
Post by: meiko on Feb 04, 2013, 11:44 pm
Merci beaucoup Christian_R

En effets, tout les moteurs doivent pouvoir fonctionner en marche AV/AR d'ou l'utilisation de ponts h. Dont 1 aura une variation de vitesse.
En vue du tarif des shield et composants, c'est sur je ferait mieux de passer sur une méga. Au pire, si il n'y a toujours pas assez de place, je pourrait éventuellement changer ma config mécanique afin de m’exempter d'un servo et d'un capteur voie d'eau.
En regardant ici et la les ponts H,  je suis tomber sur ce schéma:
(http://nsa32.casimages.com/img/2013/02/05/130205122032377700.jpg) (http://www.casimages.com/img.php?i=130205122032377700.jpg)
Je pensais que se composant aurais exploiter une PWM.
Title: Re: Du monde à controler
Post by: schizophrene on Feb 05, 2013, 05:11 pm

mais la carte UNO n'en possède que 14.


Faux, il y a bien 20 entrées/sorties sur la UNO :)
Title: Re: Du monde à controler
Post by: Christian_R on Feb 05, 2013, 05:22 pm
C'est 14 E/S numériques + 6 E analogiques = 20 pin
Title: Re: Du monde à controler
Post by: schizophrene on Feb 05, 2013, 06:16 pm
Les entrées analogiques peuvent servir d'entrées/sorties numériques, tout comme tu comptes les pins Rx/Tx en tant qu'entrées/sorties.

Meiko, le schéma que tu as trouvé n'utilises pas de PWM parce que le but est de faire tourner le moteur dans un sens ou dans l'autre, sans contrôle de vitesse.
Tu peux utiliser du PWM en software, avec cette libraire (http://code.google.com/p/rogue-code/wiki/SoftPWMLibraryDocumentation) par exemple. Ça te permet d'ajouter du PWM sur des pins qui ne le font pas de base (mais tu perdras des pins qui te serviraient à autre chose, d'où l'ajout d'un multiplexeur analogiques par exemple).
Title: Re: Du monde à controler
Post by: meiko on Feb 05, 2013, 07:25 pm
Ok, ;)

Pour mes moteurs il n'y en aura qu'un qui aura une variation de vitesse + marche AV/AR. Sinon pour les 6 autres marche AV/AR.
Je vient de commander une Méga. Ce sera plus simple et pas de multiplexeur du coup. Et je crois qu'elles dispose de toutes les E/S sans avoir à rajouter de shield hormis les doubles pont H.