Aller au contenu


Photo
- - - - -

Quadricopter


28 réponses à ce sujet

#1 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 27 décembre 2010 - 05:42

Bonjour à tous !



Ç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à: Image IPB



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)



Image IPB



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 ! ;)





Image IPB



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 :



Image IPB



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. Image IPB



Lui communique en SPI il faudra voir ça dès que je le reçoit !



Je suis en pleine construction du chassie :



Image IPB



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





#2 miky-mike

miky-mike

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 27 décembre 2010 - 05:59

Bonjour Maïck

Très beau projet que tu nous propose la !
Plus tard j'aimerai également en faire avec une caméra embarqué :)

Bonne merde pour la suite

#3 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 27 décembre 2010 - 06:14

Le but est aussi d'embarqué une caméra ! A terme il sera aussi équipé d'un GPS !

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

#4 Wiwi31

Wiwi31

    Nouveau membre

  • Membres
  • 19 messages

Posté 27 décembre 2010 - 08:41

Salut, je trouve ton projet intéressant et je voulais te poser une question qui parait un peu bête, comment est-ce que tu fait pour contrôler l'altitude ? (par exemple pour faire voler ton quadricoptère a tel ou tel altitude)

#5 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 27 décembre 2010 - 08:57

Dans un premier temps le quadricopter va ressembler à ceux acheté dans le commerce: la partie électronique s'occupe juste de maintenir le quadri horizontal et qu'il garde un cape fixe !

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 Esprit

Esprit

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 27 décembre 2010 - 09:39

Salut Maïck !

Ç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.



#7 robocop

robocop

    Habitué

  • Membres
  • PipPip
  • 357 messages
  • Gender:Male

Posté 27 décembre 2010 - 10:23

Pour avoir de la précision sur l'altitude, que penses-tu de la solution capteur de pression + capteur d'accélération ?

Sinon super intéressant comme projet, j'espère que tu arriveras a le mener a terme !



#8 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 27 décembre 2010 - 10:42

@Esprit: Les USA ont cessé le brouillage des données venant des satellites, la précision ne dépend plus que du temps de pose ! Qui n'est pas très élevé, sur le mien par défaut nouvelle valeur toutes les secondes pouvant être augmenté à toutes les 100ms.

Ç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 robocop

robocop

    Habitué

  • Membres
  • PipPip
  • 357 messages
  • Gender:Male

Posté 27 décembre 2010 - 11:01

Maïck : tu intègres l'accélération deux fois, en prenant comme valeur de départ pour l'intégration la dernière valeur de ton capteur de pression, ça devrait te faire une valeurs plutôt précise non ?

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 alex93

alex93

    Habitué

  • Membres
  • PipPip
  • 283 messages

Posté 27 décembre 2010 - 11:18

Salut maick, tres beau projet, dis moi un truc j'ai jamais compris la différence entre un accéléromètre et un gyroscope.
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 robocop

robocop

    Habitué

  • Membres
  • PipPip
  • 357 messages
  • Gender:Male

Posté 27 décembre 2010 - 11:50

Un gyroscope (ou une boussole) va te donner un angle absolu, alors qu'un accéléromètre va te donner une variation de la vitesse de déplacement : si tu veux mesurer un angle, il va falloir intégrer cette variation (deux fois) : c'est donc moins précis et rapidement tu as des erreurs, donc si tu veux mesurer un angle il faut mieux utiliser un gyroscope.


#12 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 28 décembre 2010 - 10:03

Pour mon projet les deux sont obligatoire !



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é !)

Si l'engin est en accélération sur la droite disons mais tout en restant plat (poussé par le vent par ex.) l'accélération qu'il va mesuré sera légèrement vers la droite, donc comme si il penchais vers cette direction. Il va donc pencher vers la gauche ce qui va le freiner !



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 Jbot

Jbot

    Membre passionné

  • Membres
  • PipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 28 décembre 2010 - 12:15

[quote"Maïck"]
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 zeqL

zeqL

    Habitué

  • Membres
  • PipPip
  • 393 messages
  • Gender:Male

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 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 28 décembre 2010 - 12:30

Pour le moment je vais essayer d'éviter les intégrales, sources d'erreur et de dérives !

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 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 28 décembre 2010 - 05:36

J'ai réfléchit tout de travers... Pour la mesure d'angle avec les accéléromètre ça va bien si on ne bouge pas, en cas de mouvement ça se corse pas mal...

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 Esprit

Esprit

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 28 décembre 2010 - 06:19

Courage ! :D

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 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 28 décembre 2010 - 06:43

Bon obligé de passer par l'intégration on dirais...

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...

#19 Esprit

Esprit

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 28 décembre 2010 - 08:49

Il va falloir que je négocie une adresse e-mail à l'école alors... (Pour le moment, on utilise nos adresses "classiques")

Bon, j'arrête de pourrir ton post ! C'est vraiment intéressant à savoir cette histoire de "sample". :)

#20 Maïck

Maïck

    Habitué

  • Membres
  • PipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 29 décembre 2010 - 05:57

Bon gyro enfin là !





Image IPB



C'est pas bien grand ! Faudra pas faire des pâtés de soudure !



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users