1. Bienvenue sur Bonjourchine.com, le 1er forum francophone sur le travail, les études et le voyage en Chine.

    Pour poser une question ou répondre à une discussion déjà ouverte, inscrivez vous. C'est facile, rapide et gratuit !

    Cela vous permettra de sucroit de ne plus avoir de pub qui s'affiche à l'écran (0 pub pour les membres du forum!).
    Rejeter la notice

Arduino (ou clones) et electronique DIY

Discussion dans 'Bistrot Chine du "Lotus Bleu"' créé par bzhmaddog, 23 Janvier 2015.

  1. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    J'ouvre ce Topic au cas ou il y ait d'autres amateurs de bidouillage d’électronique sur ce forum.
    Il y a par exemple Dui ni shuo de dui qui construit son 'air filter'.

    Perso je commence plus simple : Mon fils a reçu un circuit 24 pour son anniversaire et j'ai eu l’idée d'essayer contrôler la vitesse des voitures via Bluetooth (Android/Iphone) en passant par un Arduino.

    J'en suis encore a la phase d'apprentissage (je faisais de l’électronique quand j’étais jeune mais j'ai presque tout oublie donc je posterais mon projet (ou l’évolution) quand j'aurais quelque chose de concret.

    Si vous avez vos projets n’hésitez pas a partager (idées / photos/ Liens taobao pour les composants).
     
    #1 bzhmaddog, 23 Janvier 2015
    Dernière édition: 23 Janvier 2015
  2. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    Project Circuit 24 > 2.0

    Le projet peut se séparer en trois sous projets :
    1 - Communication entre le Smartphone et l'Arduino via Bluetooth pour l'envoi de commande de vitesse
    2 - Contrôle de la vitesse des moteur via un H-Bridge (la manette originale étant juste une résistance variable)
    3 - (Non électronique) App Android/iOS/PC pour contrôler la vitesse.
    Basiquement il s'agit d'envoyer une valeur entre 0 et 255 a l'Arduino.
    Edit : http://www.instructables.com/id/Simple-RC-car-for-beginners-Android-control-over-/
    Je devrais pouvoir utiliser cette app android pour mes besoins

    Les composants nécessaires sont (liste non exhaustive) :
    - 1 Arduino (pour l'instant je teste avec un UNO mais je pense que d'autres board plus simples peuvent faire l'affaire).
    - 1 Une extension Bluetooth (pour le moment je pars sur un HC-05 qui peut être utilise en mode slave).
    Problème a résoudre : Est-ce que le HC-05 peut être lier a deux maitres en même temps ? ou dois-je utiliser deux modules (1 par voiture)
    - 1 H-bridge pour controler la vitesse/sens du moteur (j'ai trouve un shield qui semble convenir)
    http://detail.tmall.com/item.htm?id=20084497603&spm=a1z09.2.9.22.w1ejIw&_u=nu6i75pf96b

    PI: Le circuit fonctionne en 6V 900mA.

    Pour le moment j’attends de recevoir les quelques composants nécessaires (HC-05 / L293D) Et je continue de chercher des infos sur le net.
     
    #2 bzhmaddog, 23 Janvier 2015
    Dernière édition: 23 Janvier 2015
  3. Dui ni shuo de dui

    Dui ni shuo de dui Alpha & Oméga

    Inscrit:
    18 Septembre 2007
    Messages:
    5 651
    Localité:
    Shanghai
    Ratings:
    +6 300 / -18
    Cool !
    Si je comprends bien, tu fais une voiture telecommandee en bluetooth, c'est ca?

    J'ai deja fait un truc vaguement similaire pour mon robot arduino. En plus du mode automatique, il possede un mode telecommande mais pas a base de bluetooth, ca marche en infrarouge (moins pratique donc, faut viser). Je peux le controler dans toutes les directions.

    Va egalement falloir que tu puisses diriger le vehicule. Pour ca tu as plusieurs solutions mais utiliser un servo et un systeme de tringlerie me semble etre le plus simple et probablement le mieux. Pas de sens de rotation a envoyer, juste un signal numerique compris entre 0 et 180, 90 etant le point milieu. Le servo se demerde ensuite pour atteindre la position indiquee et y reste jusqu'a nouvel ordre.

    J'ai pas la reponse a ta question au sujet des modes maitre/esclave du module par contre, desole j'ai encore jamais essaye le bluetooth pour le moment. Je suis ton post avec interet cela dit vu que c'est un truc que je compte integrer sur mon purificateur.

    A quoi est ce que ton chassis ressemble pour le moment?
     
    #3 Dui ni shuo de dui, 23 Janvier 2015
    Dernière édition: 23 Janvier 2015
  4. Lyka

    Lyka Membre Platinum

    Inscrit:
    30 Juillet 2014
    Messages:
    716
    Localité:
    Shanghai
    Ratings:
    +508 / -5
    Le post a l'air très intéressant même si j'ai pas trop de temps pour m'y intéresser. Je vais suivre de loin ce que vous faites ;)
     
  5. Zed

    Zed Dieu Supérieur

    Inscrit:
    27 Septembre 2007
    Messages:
    486
    Localité:
    Guangzhou
    Ratings:
    +595 / -0
    Circuit 24, que de nostalgie. Vivement quelques années de plus, que mon fils puisse me servir d'excuse pour en acheter un :)
    Topic sympa, je suis une quiche en électronique mais j'attends avec impatience de voir le résultat de tout çà.
     
  6. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    Non ca n'est pas une voiture de type RC. mais une voiture qui roule sur une piste electrique (on appelait çà un circuit 24 quand j’étais gamin).
    http://item.taobao.com/item.htm?spm=a1z09.5.0.0.yKrCxF&id=18367172432

    Il y a une petite poignée avec des résistances et plus on appui fort, plus la voiture va vite (resistance plus faible donc ampérage plus élevé.

    U = R * I > I = U / R > U étant constant donc si R diminue I augmente
    ce qui donne P = U * I donc si I augmente P augmente donc le moteur va plus vite.
    C'est ce qui me reste de mes cours sur les courants continus du lycée (j’espère que je ne me plante pas).
     
    #6 bzhmaddog, 23 Janvier 2015
    Dernière édition: 23 Janvier 2015
  7. Dui ni shuo de dui

    Dui ni shuo de dui Alpha & Oméga

    Inscrit:
    18 Septembre 2007
    Messages:
    5 651
    Localité:
    Shanghai
    Ratings:
    +6 300 / -18
    Aahh, ok je vois.... Je savais pas que ca s'appelait comme ca, je croyais que tu parlais d'un circuit imprime Arduino like qui s'appelait circuit 24...

    A Reims on avait un super magasin specialise la dedans, avec plusieurs pistes et des decors, c'etait vraiment genial. D'ailleurs, a la reflexion il me semble bien que le nom du magasin c'etait... circuit 24 :D

    Ces bagnoles sont assez petites, du coup, je te conseille de prendre un arduino nano, voire plus petit. Le nano a plus ou moins les memes specs que le Uno, il prend moins de place et coute moins cher, donc que du bonus.

    Pour le Hbridge, quel est le voltage du circuit et la puissance maxi necessaire au fonctionnement du moteur?
     
  8. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    Oui j'ai commande des nano aussi. Mais l'avantage du UNO c'est que les Shields se branchent par dessus facilement.
    Le transfo AC/DC qui alimente le circuit fournis du 6V/900mA donc si P = U*I on obtient 6 * 0.9 = 5.4W mais sachant qu'il y a deux voitures a faire rouler il doit falloir diviser la puissance Max par 2 soit 2.7W Max par voiture.

    Le shield que j'ai commande est certainement un overkill pour mon application mais une fois que j'aurais quelque chose qui marche je ferais un montage statique sur une plaque a trou
     
  9. Dui ni shuo de dui

    Dui ni shuo de dui Alpha & Oméga

    Inscrit:
    18 Septembre 2007
    Messages:
    5 651
    Localité:
    Shanghai
    Ratings:
    +6 300 / -18
    Disons que les shield ca prend beaucoup de place, mais ouai, c'est plus simple au debut.

    T'as des ponts en H plus petits qui existent, un peu la flemme de rechercher les noms la tout de suite mais tu trouveras sans souci :)

    Tu risques d'avoir un probleme avec l'alimentation de ton arduino cela dit. Ton circuit fonctionne en 6 volts. 6 volts c'est la limite basse pour que l'Arduino fonctionne... 7 volts c'est le minimum recommande. En dessous, ton arduino risque de s'eteindre, de planter ou de saccader, bref il y a de fortes chances que tu aies des problemes, vu qu'a chaque fois que les moteurs vont s'allumer ils feront chuter la tension.
    A ta place je remplacerais donc le chargeur actuel par un chargeur d'au moins 7 volts, voire huit.

    ...Mais a la reflexion d'ailleurs, un systeme d'alimentation independant pour l'arduino serait nettement mieux, pour ne pas dire indispensable. Le risque etant que si tu l'alimentes avec les balais de la voiture, au moindre faux contact entre les balais et la piste l'Arduino va s'eteindre. Or ca lui prend environ 5 secondes pour se rallumer, donc ca sera inutilisable. Donc rajouter une pile 9V au montage... C'est un camion qu'il va falloir, pas une voiture :D.
     
  10. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    C'est exactement ce que je pensais faire. L'arduino aura sa propre alimentation 9V. J'aime autant que le circuit puisse continuer a fonctionner normalement sans l'arduino donc je vais faire un minimum de bidouille dessus.

    Pour les ponts en H le L293D (utilise sur le shield) fera très bien l'affaire
    http://detail.tmall.com/item.htm?sp...cm_id=140105335569ed55e27b&pm_id=&abbucket=17
     
    #10 bzhmaddog, 23 Janvier 2015
    Dernière édition: 23 Janvier 2015
  11. Zed

    Zed Dieu Supérieur

    Inscrit:
    27 Septembre 2007
    Messages:
    486
    Localité:
    Guangzhou
    Ratings:
    +595 / -0
    Du coup je ne suis pas certain de bien comprendre, ce que souhaite bzhmaddog, c'est le cas numéro 2 ou numéro 3 ? le 3 vu la taille des voitures ca me parait utopique non ?
    circuit24.jpg
     
    • J'aime J'aime x 1
  12. Dui ni shuo de dui

    Dui ni shuo de dui Alpha & Oméga

    Inscrit:
    18 Septembre 2007
    Messages:
    5 651
    Localité:
    Shanghai
    Ratings:
    +6 300 / -18

    Ah ben oui, t'as raison...
    Je suis super con en fait, je pensais au cas 3 mais c'est debile, c'est forcement le cas 2
    Pas besoin d'embarquer l'Arduino dans la bagnole, la variation de puissance se fait au niveau de la piste, pas de la voiture....
     
  13. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    Oui c'est le numéro 2 au quel je pense. Car la voiture est juste un moteur qui tourne plus ou moins vite
     
  14. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    Update/WIP : Bon j'ai le contrôle du moteur DC qui fonctionne (Arduino nano + l293d)

    J'ai réussi à réutiliser la connectique d'origine du circuit (juste eu à inverser la polarité dans le boitier).

    Dès que j'ai un moment je fait un schéma propre avec Fritzing.

    Petite Vidéo (V-P-N requis)


    Schéma du montage actuel:
    circuit24_bb.png

    Code:
    #define ENABLE 9 // Mapped to pin 1 of the L293D (EN1)
    #define DIRB 4 // Mapped to pin 2 of the L293D (IN1)
    #define DIRA 5 // Mapped ti pin 7 of the L293D (OUT2)
    
    #define MIN_PWM 30 // Minimun power
    #define NORMAL_DELAY 100 // The default delay
    
    int i = 80; // start at 80 otherwise the motor does start without help
    int sens = 1; // accelerate
    int d = NORMAL_DELAY; // delqy between acceleration/deceleration
    
    void setup() {
    
      // Debugging
      //  Serial.begin(9600);
    
      // Set pin direction
      pinMode(ENABLE,OUTPUT);
      pinMode(DIRA,OUTPUT);
      pinMode(DIRB,OUTPUT);
    
      digitalWrite(ENABLE,HIGH); //enable on
    
    //  Set the motor to turn anticlockwise
    //  digitalWrite(DIRA,HIGH);
    //  digitalWrite(DIRB,LOW);
    
      // Set the motor to turn clockwise
      digitalWrite(DIRA,LOW);
      digitalWrite(DIRB,HIGH);
    
      // start the rotation
      analogWrite(ENABLE,i);
    }
    
    // Main loop
    void loop() {
    
      i = i + 5 * sens; // Increase speed
    
      d = NORMAL_DELAY; // reset delay
    
      // if maximum PWM value is reached then slow down
      if (i > 255) {
      sens = -1;
      i = 255;
    //  d = 1000;
    //  analogWrite(ENABLE,i); // Set the speed
      } else if (i < MIN_PWM) { // if slowest speed reached then accelerate
      sens = 1;
      i = MIN_PWM;
      d = 1000;
      analogWrite(ENABLE,i); // Set the speed
      }
    
      delay(d); // wait a little before changing speed again
    
      analogWrite(ENABLE,i); // Set the speed
    
      //Serial.println(i); // Debug current PWM
    }
    
     

    Fichiers attachés:

    • pwm_cut.jpg
      pwm_cut.jpg
      Taille de fichier:
      273.9 KB
      Affichages:
      10
    • J'aime J'aime x 2
    #14 bzhmaddog, 3 Février 2015
    Dernière édition: 3 Février 2015
  15. Dui ni shuo de dui

    Dui ni shuo de dui Alpha & Oméga

    Inscrit:
    18 Septembre 2007
    Messages:
    5 651
    Localité:
    Shanghai
    Ratings:
    +6 300 / -18
    Cool, bien joue.
    Par contre je pige pas trop comment ca marche pour le moment avec ta photo.

    Normalement, si je me souviens bien, tu dois faire l'acquisition du signal de la resistance de ta gachette via les ports analog de l'arduino, puis retourner un signal PWM a ton module L293D + un sens de rotation.
    Or je vois que deux fils qui arrivent de la gachette, dont un qui va directement au moteur.

    A priori j'aurais tendance a dire que les deux devraient aller a l'arduino: un a la masse et l'autre vers le port analog de ton choix, apres avoir mis une resistance de protection.

    Ensuite des fils partant des ports numeriques activent le L293d avec la modulation de frequence, celui ci envoie alors la puissance au moteur selon l'instruction donnee.

    Au niveau du code: mappage du ports analogique d'abord puis conversion du signal vers les ports numeriques.

    Bref, y a un truc qui m'echappe.
     
  16. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
  17. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    C'est parce que le câble n'est plus utilisé pour la manette. Il ya maintenant 1 fil pour alimenter le L293D en +6V et le retour en sortie du L293D. Ce qui est intéressant c'est que ça reste compatible avec la manette (il y a juste une inverstion du sens de rotation du moteur).

    Pour l'instant il n'y a pas d'input c'est le programme qui varie la vitesse dans une boucle)

    Avec un Schéma tout sera plus clair (cf le Schéma dans la post au dessus).
     

    Fichiers attachés:

    #17 bzhmaddog, 3 Février 2015
    Dernière édition: 3 Février 2015
  18. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    J'ai une question pour un autre projet auquel je pense
    IMG_20150204_095220_AO_HDR.jpg
    Est il possible de savoir quel voltage est suppose sortir de cette batterie ? Ça vient d'un mini hélicoptère que je veux réutiliser sur un montage lego. Le chargeur est une simple prise USB (donc 5V).
    Puis-je en déduire que la tension acceptée par le circuit varie entre 0~5V. Ca serait logique car la plus part des CI fonctionnent en 5V (a part ceux qui fonctionnent en 3.3V)
     
  19. Dui ni shuo de dui

    Dui ni shuo de dui Alpha & Oméga

    Inscrit:
    18 Septembre 2007
    Messages:
    5 651
    Localité:
    Shanghai
    Ratings:
    +6 300 / -18
    Ok, je comprends mieux maintenant avec le schema et le code :)

    Je croyais que le bidule noir etait la manette en fait.
    Te reste plus qu'a faire l'acquisition du signal, ce qui est plutot facile a faire maintenant, tu as fait le plus dur (enfin si on excepte la partie bluetooth qui viendra apres)

    Oui, avec un multimetre.
    Branche une resistance (par exemple une de 10K) sur la batterie puis mesure le voltage, ca te donnera une idee.

    Par le circuit, probablement, mais ca ne veut pas necessairement dire que la batterie elle meme soit en 5V. Il peut y avoir des convertisseurs donc la batterie peut avoir un voltage different. Le mieux c'est de mesurer pour en etre sur. D'autant plus que ca m'a l'air d'etre une batterie lithium donc vaut mieux pas se planter (ca crame assez violemment en cas d'erreur).


    J'imagine que le voltage de la batterie correspond plutot au voltage des moteurs de ton helico qu'au voltage du circuit de controle. A voir.
     
  20. bzhmaddog

    bzhmaddog Dieu Supérieur

    Inscrit:
    8 Mars 2013
    Messages:
    1 271
    Localité:
    Shanghai / Pudong
    Ratings:
    +632 / -5
    2.18V la batterie est morte en fait donc pas possible d'avoir la valeur a pleine charge

    Malheureusement aucun marquage sur les moteurs (ils sont minuscules).

    Il y a une Reference sur le PCB (HY-B-016RI-2c) je vais essayer de trouver des info sur internet.

    Edit: Sur taobao les batteries de 150mAh ont l'air d’être de 3.7V (avec une tension de charge a 4.2V)
     
    #20 bzhmaddog, 4 Février 2015
    Dernière édition: 4 Février 2015

Partager cette page