Aller au contenu


Photo
- - - - -

Ash, Self balancing robot

Raspberry PI 2B Arduino UNO PID OpenBeam USB equilibre balancing

140 réponses à ce sujet

#61 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 22 mars 2016 - 09:13

Bravo tu as bien compris le truc ;)

Si tu accepte de sacrifier la moitié de ta résolution ( moi c'est ce que j'ai fais au début) , tu peux utiliser uniquement les pins 2 et 3 et les interruptions hard, optimisées pour tes deux encoders  ;) 

Et en plus du coup tu as plus besoin de de faire " A^PreviousB " et tu peux te contenter de A^B ;) 

post-5864-0-74532900-1458677571.png


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#62 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 23 mars 2016 - 12:13

Merci ^^ Je kiffadonf.

 

J'ai remis le sense hat sur le PI. Avec une vue plus physique, voilà ce que tout cela donne.

 

ça consomme vraiment que 15 mA un UNO ???

Vu ici :) http://www.robot-maker.com/forum/blog/45/entry-41-tout-ce-que-vous-pourriez-vous-demander-sur-la-consommation-dune-puce-atmega328p-puce-darduino/

 

cablagev1.2.png

 

Edit : Je vais le compter à 500mA (12x40mA) + 15mA pour lui.



#63 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 23 mars 2016 - 12:44

Merci ^^ Je kiffadonf.

 

J'ai remis le sense hat sur le PI. Avec une vue plus physique, voilà ce que tout cela donne.

 

ça consomme vraiment que 15 mA un UNO ???

Vu ici :) http://www.robot-maker.com/forum/blog/45/entry-41-tout-ce-que-vous-pourriez-vous-demander-sur-la-consommation-dune-puce-atmega328p-puce-darduino/

 

 

relis c'est 55mA environ  15 c'est si tu fais la carte toi même avec moins de composants ;) mais dis toi que tu peux mettre des truc gourmand sur les pattes ... rien si tu mets 1 led sur chaque pin tu du peux consommer plus de 150 mA ! ^^

 

Edit : Tu as déjà la connection smartphone RPI en wifi ? 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#64 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 23 mars 2016 - 01:17

Oui effectivement, j'ai lu trop vite. Je le compte à 500 mA. Faut juste que je dépasse pas les 1A que la batterie peut donner.

Pour la connection, oui, en wifi. C'est avec ça que je test les variables pid.

#65 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 23 mars 2016 - 01:30

Oui effectivement, j'ai lu trop vite. Je le compte à 500 mA. Faut juste que je dépasse pas les 1A que la batterie peut donner.

Pour la connection, oui, en wifi. C'est avec ça que je test les variables pid.

 

 

Faire un tuto dessus ça serais trop demandé ? :P  je suis convaincu que ça + ton précédent tuto et en 2 tuto tu fournis une méthode génial pour commander un robot à distance =) 
( d'ailleurs tu utilise quoi comme méthode ? Une appli android ou une "page web hébergé sur le pi en serveur " ? 


 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#66 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 23 mars 2016 - 08:14

J'en suis convaincu aussi. Les interfaces Bluetooth ou RC doivent faire le job aussi.

Le PI configuré en point d'accès me permet d'y accéder sans avoir un routeur wifi. Dehors par exemple. Il faut remercier Macerobotics pour ce point ^^

J'ai une interface web servi par le PI directement. Je n'ai rien à installer sur mon smartphone. Et au passage, c'est compatible Android et iOS ;).

Pas de pb pour le tuto. Je mettrai ça dans la foulée avec nodejs :)



#67 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 26 mars 2016 - 12:13

Encore une reflexion avant de me lancer sur le câblage.

 

L'arduino aura 2 sources d'alimentation : le port usb et le pin 5V. Je lis et je comprends que ce n'est pas bon. Le Duino ne switch pas sur l'alimentation externe si elle est inférieur à 7,5V.

 
Si je compte le uno à 55 mA comme le dis Mike, cela doit passer avec l'alimentation seule de l'USB du PI.

 

Je vais tester ça ...

 

:unsure:



#68 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 26 mars 2016 - 02:02

Oui uniquement l'alimentation par le Pi devrait je pense suffire ;)
 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#69 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 27 mars 2016 - 12:13

Je vais essayer ça.

 

J'utilise ce sujet en mode blog  :zsmoke:  J'espère que vous ne m'en voudrez pas.

 

En attendant pour vérifier que le PI peut alimenter tout le montage arduino via l'USB, je t'ai promis de tester le pwm de l'arduino en faisant varier la fréquence de l'arduino.

Je ne tiendrai pas cette promesse pour le moment :) Je n'ai pas encore bien compris ce que j'ai lu ici http://playground.arduino.cc/Main/TimerPWMCheatsheet ou là http://arduino103.blogspot.fr/2013/02/ajuster-le-frequence-pwm-sur-un-arduino.html voire là http://www.righto.com/2009/07/secrets-of-arduino-pwm.html

 

Code pour modifier la fréquence -> http://playground.arduino.cc/Code/PwmFrequency

 

Compliqué quand même. Ça fait bouger les mesures de temps : 

Default: delay(1000) or 1000 millis() ~ 1 second
0x01: delay(64000) or 64000 millis() ~ 1 second
0x02: delay(8000) or 8000 millis() ~ 1 second
0x03: is the default
0x04: delay(250) or 250 millis() ~ 1 second
0x05: delay(62) or 62 millis() ~ 1 second

Sans avoir pu vérifier théoriquement la fréquence par défaut des pin 5 et 6 sur le UNO (490 ou 976 Hz , uno ou mega), je sais qu'elle est proche de ce que j'ai pu mettre avant sur le PI pour contrôler les moteurs et qu'elle est inférieur aux 20kHz max du contrôleur.

 

Je voulais aussi contrôler les servos directement avec un PWM à 50 Hz mais avec le duino, je n'y crois plus. J'ai utilisé la librairie Servo.h.

 

NB. Avec le PI 2 B, aucun pb pour compiler sur le PI le .ino, avec des .h perso et des .h fournis. C'est confirmé !!

 

Le PI n'a pas autant de sorties PWM mais c'est plus simple pour ce type de sortie ^^.

 

Bref, je me suis lancé dans le dev du robot et je vais me concentrer là dessus.



#70 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 27 mars 2016 - 02:35

J'avais bougé une fois les fréquences en dépassant les 20khz du contrôleur et ca avait fonctionné quand même ( du moins a l'oreille le moteur ne sifflait plus ). Par contre en changeant la fréquence je crois que servo.h est inutilisable, à moins de la modifier aussi.

#71 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 27 mars 2016 - 12:54

Ouais. Je m'amuserai à changer les fréquences pour réaliser un cas d'école, mais il y a trop d'inconvénients pour que je le fasse pour Ash dans l"état de mes connaissances.



#72 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 01 avril 2016 - 08:39

http://www.robot-maker.com/forum/topic/10343-un-convertisseur-12vcc-dc-5vcc/

 

Après l'ajout du LM2576 et le retrait de la batterie 5V, ce montage ressemble à ça

 

cablagev1.3.png



#73 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 02 avril 2016 - 02:58

Pas bouger Ash !!

 

Jusque là, j'ai réussi à tenir la position verticale via un asservissement des moteurs par l'inclinaison. Mais je constatais que le robot pouvait partir en balade sans qu'on lui demande.

 

Donc avant de le faire avancer ou même tourner, j'en suis toujours à améliorer la position de base : Ash se tient debout et reste où il est.

 

Maintenant que les roues codeuses sont là, je vais m'en servir pour doubler l'asservissement. Je vais tenter d'expliquer comment je conçois les choses.

 

Pour corriger l'écart de distance, je fait pencher le robot dans le sens opposé pour qu'il retourne à sa place initiale. Pour cela, je change l'inclinaison de référence par un asservissement fonction des ticks des roues codeuses.

 

Le 1er asservissement est composé du 2eme. Dans le principe, la vitesse et le sens des moteurs est la somme des 2 angles.

 

En bleu la forme du Ash

En noir le sol et la référence verticale

En vert l'asservissement de stabilisation vertical

En orange l'asservissement d'immobilisation.

double asservissement.png



#74 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 03 avril 2016 - 11:40

C'est exactement ce qu'il faut faire =) Hâte de voir le résultat ;) 
 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#75 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 04 avril 2016 - 07:21

Merci, moi aussi ^^

Dès que j'aurai intégré le régulateur 5V et retiré la batterie 5V, le robot sera complet.

Je vais attendre ce régulateur avant de l'équilibrer. Ça ne devrait pas être long :)

Je kiffe toujours.



#76 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 10 avril 2016 - 05:33

J'ai reçu la carte du LM2576. Je vous joins son schéma. Elle est configurée pour sortir du 5V.

Une sortie USB pour le PI. Une sortie bornier pour le reste : les 2 codeurs, les 2 servos et capteur à ultrasons.

post-9452-0-83534600-1460293791.png

 

 

Le Ash est donc au complet. Voici la forme (que j'espère) définitive du robot.

Assemblage mécanique terminé.

Assemblage électrique terminé.

Il me reste le meilleur pour la fin : la programmation.

 

post-9452-0-36525600-1460305150.jpg

 

post-9452-0-63953700-1460305293.jpg

 

post-9452-0-72847600-1460305664.jpg

 

post-9452-0-71507600-1460305684.jpg

 

L'équilibrage n'est pas terminé. Démo en video dès que j'ai quelque chose à montrer.

 

 



#77 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 10 avril 2016 - 06:18

Une petite chose au passage.

Pour le moment, j'envoi toujours la même commande aux 2 moteurs. Les codeurs envoient des valeurs différentes entre les 2 moteurs. 

Par exemple, ce que je reçoit du Duino pendant une accélération.

[Arduino says]COUNT:-934:994
[Arduino says]COUNT:-1394:1473
[Arduino says]COUNT:-2594:2719

Le négatif, c'est le gauche, le positif, le droit.

 

6533 ticks par tour.

Périmètre des roues : 22 cm

Soit 0,00336751875096 cm/tick

 

On va dire que c'est négligeable. Mais Ash n'avance pas droit !!



#78 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 965 messages
  • Gender:Male
  • Location:Anglet

Posté 10 avril 2016 - 06:53

Une petite chose au passage.

Pour le moment, j'envoi toujours la même commande aux 2 moteurs. Les codeurs envoient des valeurs différentes entre les 2 moteurs. 

 

 

On va dire que c'est négligeable. Mais Ash n'avance pas droit !!

 

Oui mais dans très peu de temps tu n'enverras plus la même commande aux deux moteurs . 

Tu vas avoir un asservissement en position et en angle. 
Et tu vas devoir séparer l'asservissement de tes moteurs. Il y a plusieurs façon de faire cette séparation. J'en avais discuté sur je ne sais plus quel autre thread ( EDIT : asservissement polaire ) avec je ne sais plus quel autre membre ( EDIT : Transistance ) . Je sais ça t'avance beaucoup ^^  mais si tu veux faire une recherche je crois que le mot clef qui va t'intéresser est "asservissement polaire "  (EDIT : j'ai fais les recherches pour toi => http://www.robot-maker.com/forum/topic/9858-asservissement-polaire/?hl=%2Basservissement+%2Bpolaire ) 

Enjoy ;)

 

EDIT 2 : Dommage les images ( qui étaient intéressante ) ne sont plus présente sur les fils de transistance et ce dernier n'est plus actif ... 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#79 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 10 avril 2016 - 09:49

Je vais regarder ça merci

#80 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 10 avril 2016 - 10:18

Avec toutes les belles photos et et les bons descriptifs que tu nous fais, j'espère que tu penseras bien à déposer ton robot sur le robotscope !!!  ;)

http://www.robot-maker.com/robotscope/





Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : Raspberry PI 2B, Arduino UNO, PID, OpenBeam, USB, equilibre, balancing

0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users