Go Down

Topic: Quel est le mieux pour un quadricoptère ? Arduino? Teensy? (Read 4072 times) previous topic - next topic

VicPi

Bonjour, tout est dans le titre, n'oubliez pas d'argumenter, merci d'avance :)

Ps: est ce la différence de fréquence d'horloge, du teensy par rapport à l'arduino uno, peu changer quelque chose dans la réactivité du quadricoptère ?

Merci d'avance :)

Jambe

Bonjour,

Pas de réponse à te donner dans l'immédiat mais une piste: contacte Arduinopizza du forum, il me semble qu'il monte un drone sous arduino

VicPi

Merci, je l'ai contacté !

Pas d'autres réponses ?

icare

Bonjour,
Tu essayes de comparer des produits incomparables, ils n'utilisent pas les mêmes processeurs :
- Teensy = technologie 32 bits AMR
- Arduino (hors Due) = technologie 8 bits AVR
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

arduinopizza

Salut ! :)

Bah écoute moi je ne connaissais pas teensy...J'ai bientôt fini mon quadricopter mais je ne m'y connais pas assez encore pour parler de fréquence d'horloge de l'arduino...J'y avais pensé à vrai dire...mais si tu veux j'ai déjà testé la réactivité de mon drone en cablant les commandes par fils pour le calibrage (enfaite j'ai fabriqué mon propre joystick...avec du bois, des métaux et des élastiques pour cheveux qui appartenaient à ma soeur...x) ) et j'ai pu constater que la réactivité était excellente...mais après j'ai pas encore testé le sans fil...je suis actuellement entrain de programmer l'envoie et la réception de commandes du NRFL2401 donc je pense finir dans pas longtemps ^^"

J'ai regardé vite fait ce qu'était la teensy et je dois dire que c'est plutôt petit et assez complet ^^"

Et honnêtement je ne sais pas si la différence des fréquences d'horloges va avoir un grand impact sur la réactivité...du moins si c'est un projet à petit budget tu peux oublier ce genre de détails...
Si tu constates que ce n'est pas assez réactif alors mets à jour tes esc avec BHeli ;)

VicPi

D'accord, merci ^^ Et quel est ton niveau sinon ? Je crois que je vais oublié l'idée du teensy, c'est du détail.
Et globalement, quelle a été ta démarche pour mener à bien ce projet ? + des régulateurs PIDs, il en faut 1 par axes c'est ça ? donc 3 ?

arduinopizza

Alors mon niveau est pas super élevé on va dire :s mais le but de mon projet n'est pas que de faire un drone tout simplement, il faut que ce soit fait avec le plus de difficultés possibles. Je m'explique : pas de télécommande préfaite, pas de chassis pré-fabriqué, pas de controleur de vol tout programmé etc etc evidemment je ne vais pas construire mes propres moteurs...du moins pour l'instant ^^

Mais tu vois les PID j'en ai entendu parler mais j'ai pas tout de suite compris comment ça marche et comment s'en procurer...moi je bosse avec un gyroscope que je programme sous arduino evidemment...
Du coup, pas besoin de régulateur PID j'imagine...^^"

Pour mener ce projet j'ai pris une feuille de papier et un crayon x) je suis nul en dessin mais c'était pour donner une idée de la tête que ça aurait... et puis plus les idées arrivaient et plus les feuilles se remplissaient de flèches et de  schéma ^^ .

J'ai ensuite vu l'aspect mécanique et aérodynamique.

Quand tu dis régulateur PID ...c'est une sorte de contrôleur de vol déjà programmé c'est ça ?

VicPi

Ah oui d'accord ^^ Je serais curieux de voir ton code ^^  PID si j'ai bien compris c'est un algorithme que tu implémentes dans ton code, donc oui ça prend une bonne partie du code, ça sert à stabiliser le drone. D'ailleurs tu as des photos de ton drone, pour voir le chassis etc^^ J'ai pensé à ça aussi : "est ce que je construis tout de A à Z ?", pour l'instant non je vais me concentré sur le code, mais j'ai l'habitude de m'égarer très facilement ^^ Puis après ça sera peut être le cas.

Comment tu as fait pour l'aspect mécanique et aérodynamique ? car j'y connais absolument rien ^^

tu as utilisé quel gyro aussi ?

+ quand je te demande ta démarche, je voulais plutôt savoir par quoi as tu commencé pour construire ton code.

Par exemple, as tu déjà commencé par créér le joystick, ou alors récupérer les valeur du gyro, etc ?

Merci :D

hazerty565

alors, entre le gyro et le PID aucun rapport

le gyro permet de stabiliser le drone et le PID d'asservir le moteur ( PID = proportionnel integral dérivé), ce fait juste par calcul dans le soft permet de réguler la position et vitesse moteur.

Un correcteur est un algorithme de calcul qui délivre un signal de commande à partir de la différence entre la consigne et la mesure.

En gros, sans PID, tu peux avoir une erreur de vitesse, tu dis a tes moteurs d'aller a une certaine vitesse,
Dans certain cas si tu as 4 moteurs, les moteurs ne tourneront pas tous a la même vitesse, ce qui provoque un disfonctionnement de ton drone.

Alors qu'avec un PID, les moteurs vont tourner à la même vitesse, réguler en même temps, ceux qui peux aussi faire gagner quelque minutes de la batterie :)

Plein de blabla n'explique pas tout alors, voici des petits lien et schema pour explication de la chose.


https://fr.wikipedia.org/wiki/R%C3%A9gulateur_PID

http://www.ferdinandpiette.com/blog/2012/04/asservissement-en-vitesse-dun-moteur-avec-arduino/

http://blog.3sigma.fr/arduino/tutoriel-arduino-asservissement-en-vitesse-dun-moteur-a-courant-continu/

arduinopizza

Eh bien enfaite je compte mettre mon drone fini sur le forum avec toutes les démarches et tout et tout mais d'abord faut que je finisses ^^"

Quote
PID si j'ai bien compris c'est un algorithme que tu implémentes dans ton code, donc oui ça prend une bonne partie du code, ça sert à stabiliser le drone
Ah bon ? Mais tu trouves ça où ? :O

Quote
Comment tu as fait pour l'aspect mécanique et aérodynamique ? car j'y connais absolument rien ^^
Quand je dis mécanique et aérodynamique c'est surtout pour me la péter x)
Enfaite quand je dis mécanique c'est pour la fabrication du système du joystick et aérodynamique c'est du genre puissance des moteurs (kv), portance, taille des hélices etc etc

Pour le gyro j'utilise un GY-521  mais pour la programmation ça s'annonce horrible parce qu'il va y avoir des filtres complémentaire à ajouter et foudrait aussi fouiller dans les registres x_x

Quote
+ quand je te demande ta démarche, je voulais plutôt savoir par quoi as tu commencé pour construire ton code.

Par exemple, as tu déjà commencé par créér le joystick, ou alors récupérer les valeur du gyro, etc ?
Euh le code je l'ai fais sur le tas ^^" en faite je le modifie tout le temps parcequil y a toujours des trucs que j'ai pas pu anticipé...Donc si tu veux savoir si j'avais un plan tout défini, non du tout ^^
j'ai commencé par tester mon joystick je crois...j'ai branché mes moteurs sur l'arduino et j'ai pris des notes pour faire des fonctions "maps" qui me permettent de convertir mes valeur entre 0 et 179 car après j'utilise moteur.write(x) pour donner la vitesse et x doit être compris entre 0 et 179 :)

Le joystick je l'ai fais après le chassis mais les valeurs du gyro je ne l'ai pas encore fait :s

hazerty565

en gros si tu as 4 moteurs, un qui tourne a 3000TR/min, l'autre a 2500TR/in, le troisieme a 2500TR/min et le dernier a 3000TR/min, tu as un déséquilibre de la commande et du robot ou drone donc  il faut essayer de corriger au mieux cela. et le PID sert a ça.

et généralement   tous les robots ont un PID pour contrôler les moteurs.
Si tu as un robots voitures avec 2 roue arrière qui tourne plus vite que les 2 roues avant, tu risques de faire des têtes a queue. :smiley-grin:  :smiley-grin:  :smiley-grin:  :smiley-grin:

arduinopizza

#11
Aug 16, 2015, 03:36 pm Last Edit: Aug 16, 2015, 03:45 pm by arduinopizza
en gros si tu as 4 moteurs, un qui tourne a 3000TR/min, l'autre a 2500TR/in, le troisieme a 2500TR/min et le dernier a 3000TR/min, tu as un déséquilibre de la commande et du robot ou drone donc  il faut essayer de corriger au mieux cela. et le PID sert a ça.

et généralement   tous les robots ont un PID pour contrôler les moteurs.
Si tu as un robots voitures avec 2 roue arrière qui tourne plus vite que les 2 roues avant, tu risques de faire des têtes a queue. :smiley-grin:  :smiley-grin:  :smiley-grin:  :smiley-grin:
Aaaaah tu m'avais fait peur! :O J'ai cru que sans PID et même avec un gyroscope mon drone n'allait pas être stable ! Mais mes moteurs sont tous identiques ! Donc selon les mesures du gyroscope je ferais des boucles dans mon programme avec des conditions et je dirais que pour chaque intervalles de mesures allume les moteurs à telle vitesse mais du coup ce ne sera pas très fluide...Ah mais attends....tu n'as pas tord...j'avais effectivement remarqué que certains moteur tournaient un chouilla moins vite que les autres...Arf je vais devoir me lancer dans les PID x_x

hazerty565

le PID c'est pour la regulation et réponses du moteur par rapport à la tension de la batterie aussi,

pas pour la stabilisation de ton drone.

Par exemple sur les commande de moteurs de volet roulant, il y en a, admettons que ton moteur va a une vitesse quand tu descends ton volet et arrivé a une certaine hauteur on ne sais pas pourquoi le moteur s'emballe est va plus vite, ca va abîmer tout ton système et vieillir prématurément ton le système.

Alors qu'avec un PID le moteur va descendre à la même allure et sera contrôler de bout en bout jusqu'à ce que les volet soit arrivé en bas.

que les moteurs soit identique ou NON c'est préférable d'implanter un système de régulation. le PID va contraindre les 4 moteurs a avoir un même rythme




Pourquoi l'asservissement en position d'un moteur à courant continu quand on dispose d'un servomoteur ?


Mais parce que le moteur DC ne connait pas de limite d'angle ! Cela peut être par exemple utile pour imposer précisément une position à un bras mobile, une roue, un robot...

Et pourquoi l'asservir en vitesse ?

Et pourquoi pas, c'est toujours utile de savoir créer un asservissement en vitesse. Par exemple pour faire avancer droit un robot qui possède deux moteurs de récupération différents (à condition d'avoir les datasheets des deux moteurs) !

arduinopizza

Mais si je ne veux pas que mes moteurs aillent à la même vitesse ? par exemple si mon drone doit aller tout droit...les deux moteurs arrières vont accélérer...donc le PID va m'empêcher cela non ?

68tjs

Tu emploie le mot PID mais as-tu chercher à savoir ce qu'il y a derrière ?
Je crois que non parce que tu aurais la réponse à tes questions.
PID = Proportionel Intregrale Dérivée.

https://fr.wikipedia.org/wiki/R%C3%A9gulateur_PID

Go Up