Quadricopter
#1
Posté 27 décembre 2010 - 05:42
Ça fait un bon moment que le projet me trotte dans la tête, mais c'est seulement ces dernières semaines que je l'ai commencé !
Création d'un Quadricopter fait maison! Le gros du projet sera dans la partie électronique: compensation du couple et stabilisation !
Pour que l'engin tienne un stationnaire sans faire la toupie il faut que la somme des couples soit nulle, on se retrouve donc avec une configuration des moteurs comme celle là:
Ce qui implique de trouver des hélices contre rotatives... Difficiles à trouver et souvent hors de prix...
J'ai opté pour des tripales trouvées chez allerc.com : http://www.allerc.com/props-gws-props-c-36_38.html?page=2&sort=products_sort_order Pour un coût faible malgré les frais de port ! :D
Pour les moteurs j'ai continué dans le low cost, quatre moteurs de chez HK : http://hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=5688
Moteur de ~150W qui peuvent entraîner directement une hélice. (12$ pièces)
Avec ça il fait moins de 500gr sans accu et devrais pouvoir soulever une charge "utile" (accu + matos de prise d'image) de ~1.5kg !
Toute "l'intelligence" sera gérée par un microcontrolleur PIC de chez microchip: 40MHz 16bits. On est pas aux capacités des PC actuels mais pour ce qu'il va faire ça suffira ! ;)
C'est un uP de la "nouvelle" gamme de chez microchip, avec tous les périphériques qui sont remappable! (24HJ64GP504)
Niveau capteur j'ai des accéléromètre de chez freescal :
Sur une pièces de 5cts pour l'échelle !
Cette petite bête me permet de savoir quel angle fait mon engin avec l'horizontal ! En fait il transmet l'accélération mesurée sur trois axes. Un peut de trigo et on retrouve l'angle par rapport à l'horizontal !
Ils renvoient une tension entre 0V et VCC donc un AD et l'affaire est bouclée !
Ça c'est pour la stabilisation, il faut encore un gyroscope pour qu'il ne parte pas en toupie dès qu'on le fait avancer !
Un gyro 3 axes est en commande, les info qu'il retourne sont une vitesse angulaire (rad/s). Pour contrer cette vitesse et que le quadri ne bouge pas il faut changer le couple mais pas la portance !
Pour ça il faut diminuer la vitesse de rotation des deux moteurs qui tournent dans le même sens et augmenter celle des deux autres.
Lui communique en SPI il faudra voir ça dès que je le reçoit !
Je suis en pleine construction du chassie :
Quatre barre de profilé alu maintenu en croix. Faut encore que je réfléchisse à la fixation des moteurs...
Pour le moment le projet en est au tout début! L'architecture général est réfléchie et la gestion des servos en parallèle fonctionne. (faut bien commencer à une place ! :p )
Donc le tout est codé en C avec une architecture interface/modules/gestionnaire c'est à dire que le code se décompose en plusieurs couches:
Les interfaces gèrent vraiment les périphériques niveau hardware. (configuration, et toutes les spécialités propre au uP)
Les modules permettent l'utilisation des périphériques sans s'occuper du Hard (fonction d'envoi d'un message en SPI par ex.)
Les gestionnaire sont l'intelligence du code et emploient les modules.
Dans mon code il y aura principalement un gestionnaire d'entrée qui va acquérir les info des accéléromètre et du gyro, un calcul qui va calculer l'angle que fait le quadri et décider de la commande a envoyer aux moteurs et un de sortie qui va appliquer aux moteurs la consigne calculée.
Tous ces gestionnaires sont dans des fichiers séparé et sont exécuter en boucle dans le main. (architecture round-robin)
Niveau électronique le gestionnaire de sortie est quasiment terminé j'ai encore deux trois soucis avec l'acquisition AD du uP et il faut que je fasse un PCB pour l'accéléromètre !
Voila suite ces prochaines jours pour ceux que ça intéresse !
++
Maïck
#3
Posté 27 décembre 2010 - 06:14
Il est déjà en "étude" lui ! C'est super facile d'emploi il te renvoi ta position, vitesse, orientation,... en liaison série ! Le tout pour ~20€ ! http://shop.trioflex.ee/product.php?id_product=47
#5
Posté 27 décembre 2010 - 08:57
Une foi que ça fonctionne je vais lui intégré le GPS, lui te fournit aussi ton altitude ! Il semble que celle-ci ne soit pas très précise, si c'est vraiment catastrophique il y a toujours la possibilité de mettre un capteur de pression ! Avec ça ~2m de différence d'altitude est aisément mesurable !
#6
Posté 27 décembre 2010 - 09:39
Ça faisait un moment, je suis content de te voir revenir avec en plus un beau projet comme ça !
J'ai hâte de voir la suite ! ;)
Pour ce qui est du gps, j'ai déjà pensé au problème du manque de précision. (L'armée ne veut pas que les puces vendues au public dépasse une précision d'1 mètre...)
Une des solutions serait de faire une série de mesure et une moyenne sur le tout.
Genre une mesure toute les 10ms et une moyenne toutes les seconde.
#8
Posté 27 décembre 2010 - 10:42
Ça limite pas mal les possibilité de moyenne, avec le problème en plus des moyenne c'est que tu a bien une valeur fixe mais elle n'est pas forcément la valeur juste...
En DGPS ou avec des temps de mesure de plus de 8h certains arrivent à des précision de l'ordre du mm, mais c'est pas vraiment ces temps qui m'intéressent...
J'ai une position avec une erreur inférieur à 2.5m c'est déjà bien !
@Robocop: Pourquoi l'accéléromètre ? Le capteur de pression c'est sur que c'est pas mal mais obliger d'embarqué aussi un thermomètre pour calculer les corrections !
Edit:
Bon après 2h d'acharnement les mesure D/A bufferisée automatiquement fonctionnent enfin... Pas super intuitif ces gros uP de microchip...
Bon maintenant bricoler des connections pour l'accéléromètre en attendant qu'on puisse me faire ce PCB !
#9
Posté 27 décembre 2010 - 11:01
Maintenant, je ne sais pas si c'est vraiment nécessaire à ton projet, ni même si ça marche bien, c'est juste une idée en l'air :p.
#10
Posté 27 décembre 2010 - 11:18
L'accél te donne une tension entre vss et vcc qui dépend de l'angle de l'axe, pourquoi parle t'on d'accélération? Si tu accélère ta tension va augmentée?
Le gryroscope, c'est un principe mécanique non?en électronique il va te donner quoi?et pourquoi sans gyroscope on peut pas arriver a rester droit, un accélérometre 3 axe suffit?
Mercii
#11
Posté 27 décembre 2010 - 11:50
#12
Posté 28 décembre 2010 - 10:03
A savoir que les deux sont basé sur des principes mécanique, c'est ce que l'on appelle des MEMS: http://fr.wikipedia.org/wiki/MEMS
L'accéléromètre mesure bien une accélération et pas seulement une variation de vitesse ce qui fait que l'accélération terrestre est aussi capté !
En supposant que le quadri n’accélère pas, si on sait dans quelle direction va l'accélération mesurée on sait qu'elle est l'angle qu'il fait avec l'horizontal. (Arctangente de la composante z avec la x ou y suivant l'angle cherché !)
Le gyro lui ne donne pas un angle absolu, mais une accélération angulaire ! (rad/s²) Don ça permet de savoir si l'engin tourne sur lui même ou non !
Ou c'est utile dans le projet c'est que pour que le quadri ne tourne pas sur lui même il faut que la somme des couples des moteurs soit nulle ! En théorie pas de problème, quatre même moteurs qui tournent à la même vitesse deux dans chaque sens = couple nulle.
Le problème c'est que ça ne marche jamais comme ça ! Donc le gyro est là pour compenser la rotation en changeant la vitesse de rotation des moteurs !
Pour la mesure de l'altitude je ne sais pas ce que vaut l'intégration sur des accéléromètres... Les ~1-2m du capteur de pression vont me suffire pour le moment !
#13
Posté 28 décembre 2010 - 12:15
Pour la mesure de l'altitude je ne sais pas ce que vaut l'intégration sur des accéléromètres... Les ~1-2m du capteur de pression vont me suffire pour le moment ![/quote]
Tu peux aussi ajouter un capteur ultrason pour le moment ou tu es en basse altitude et que tu veux te poser par exemple, comme ca dés que tu es sous les 1metre, tu regardes les valeurs du capteur ultrason pour garder la bonne "altitude par rapport au sol"
#14
Posté 28 décembre 2010 - 12:18
Pour info, une intégrale peut être approximée par une série d'additions (/soustractions) et de multiplication, avec la précision voulue. Ce qui est plus simple à faire avec un microcontroleur :)
La formule de Simpsons est relativement simple, il te faut 3 points, 2 extrémités et un milieu. Tu peux même calculer l'erreur mais dans ce cas il faut calculer l'équation de la courbe car il faut faire des dérivées (pour l'erreur).
[url="http://fr.wikipedia.org/wiki/Calcul_numérique_d'une_intégrale"]http://fr.wikipedia.org/wiki/Calcul_numérique_d'une_intégrale
Sinon pour l'accéléromètre, Sparkfun vend sur un petit pcb :
http://www.sparkfun.com/categories/163 (Accéléromètres 3 axes : environ 30$ )
http://www.sparkfun.com/categories/158 (Gyros 1 axe : environ 30$ )
#15
Posté 28 décembre 2010 - 12:30
Après c'est sur que une intégral n'est rien d'autre qu'une somme! Les pas sont un peut grossiers c'est sur...
Passer par le calcul de la courbe c'est sur que ça limite les erreurs mais pas sur que mon pauvre petit uP tienne le coups...
Mon gyro est celui là : http://www.sparkfun.com/products/9793
Et l'accéléromètre: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MMA7341L&fsrch=1&sr=1
Généreusement offert par Freescale !
Les PCB je peut les faire donc pas un soucis !
#16
Posté 28 décembre 2010 - 05:36
Je potasse là dessus !
Edit: Erf, j'aurais mieux fait de dormir hier... Les gyros renseignent en vitesse angulaire pas en accélération évidemment !
#17
Posté 28 décembre 2010 - 06:19
Repose toi bien surtout avant de commencer tes montages, ça évite de griller des composants pour rien...
Et dis moi, quand tu dis qu'ils sont offerts par Freescale, ça veut dire quoi ? Ils te sponsorisent ?
Je pensais proposer ce genre de choses à des magasins d'électronique près de chez moi...
Genre je veux bien construire un robot avec votre logo dessus. Le robot sera baladé un peu partout, vu sur internet, ... Mais j'ai besoin de matos ! :P
#18
Posté 28 décembre 2010 - 06:43
On va faire un moyenne pondérée des valeurs du gyro et de l'accéléromètre. Et peut être un choix si l'accélération résultant est trop grande on prend on compte juste l'angle fournit par l'intégration.
A voir... Mais toujours pas ce gyro !!!
Pour les Accéléromètre c'est Freescal qui les donnent en "sample". Pub en nature en gros ! ^^
Si tu a une adresse mail d'une école ou d'une entreprise ou tu bosse tu peut choisir un certains nombre de composants par mois qu'ils t'offrent ! (Port également !)
Tu ne peut pas commander ce que tu veut certain sont destiné seulement à la vente. Les Gyro par exemple qui sont assez cher...
Plusieurs fabricants le font: Freescale, Maxim IC, ST, Texas,... Microhip le faisait je ne sais pas si ils ont recommencé...
Il y en a sûrement d'autres, c'est ceux ou j'ai déjà commandé donc ou ça marche !
Pour le sponsoring c'est sur que c'est pas mal mais pas évident à négocier je pense...
Répondre à ce sujet
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users