laurent
Posts: 323
Joined: Thu Jul 26, 2012 11:24 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:10 pm

ToOnS wrote:ca se commande comme un servomoteur , par impulsions de 1000 a 2000 micro secondes , faut faire attention de commander un avec un bec a 5V (un rpi a fummé a cause d'un bec a 5.5v) et comme tu bricoles pas mal tu peux prendre un avec un MCU atmel pour le flasher avec le firmware SimonK (en plus le RPI doit pouvoir faire ca assez facilement si tu veux pas acheter un truc pour flasher) ca par exemple http://www.hobbyking.com/hobbyking/stor ... oller.html (quoique apperement les nouveaux "plush" sont plus en atmel , a verifier)
D'acc ! Merci pour ces infos ;)
Question dont j'ai peur de la réponse : il n'y a pas d'ESC qui se pilote directement en série/I²C/SPI ?
Enfin... des ESC accessibles niveau prix, je m'entends :mrgreen:
(on peut rêver ?)

EDIT : Tu as répondu dans l'edit de ton précédent post :D Apparemment, je suis pas le seul à chercher ce mode de pilotage.

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:17 pm

il y'a ca en i2c/serie/ppm : https://www.mikrocontroller.com/index.p ... cts_id=209 mais c'est le prix de 3 turnigy (pour l'edit de l'autre post en fait c'est pour flasher avec un autre firmware via le port serie mais les turnigy se commandent juste en impulsions , a moins de reecrire le firmware :mrgreen: )
Last edited by ToOnS on Wed May 29, 2013 9:20 pm, edited 1 time in total.

laurent
Posts: 323
Joined: Thu Jul 26, 2012 11:24 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:20 pm

ToOnS wrote:il y'a ca en i2c/serie/ppm : https://www.mikrocontroller.com/index.p ... cts_id=209 mais c'est le prix de 3 turnigy
Ouch ! Multiplié par 4 pour chaque moteur ça pique :oops:
Je fais le tour de quelques sites, rien de bien terrible :(

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:34 pm

il reste la solution du pic , arduino ... etc (tampis pour le vrai defi) , avec le rpi tu communiques en serie ou en i2c ou comme tu veux et le MCU genere les 4 (ou 6 ou 8 ou ...) impulsions de 1000 a 2000 us (d'ailleur c'est ce que Daniel du forum a fait) , t'economise sur le prix des esc et tu communiques comme tu le veux (ou meme t'utilises pas de RPI mais la je pousse peu etre le bouchon un peu loin sur ce forum :mrgreen: )
Last edited by ToOnS on Wed May 29, 2013 9:41 pm, edited 1 time in total.

laurent
Posts: 323
Joined: Thu Jul 26, 2012 11:24 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:40 pm

ToOnS wrote:il reste la solution du pic , arduino ... etc , avec le rpi tu communiques en serie ou en i2c ou comme tu veux et le MCU genere les 4 (ou 6 ou 8 ou ...) impulsions de 1000 a 2000 ms , t'economise sur le prix des esc et tu communiques comme tu le veux (ou meme t'utilises pas de RPI mais la je pousse peu etre le bouchon un peu loin sur ce forum :mrgreen: )
Je crois en effet que ça reste la meilleure solution.
La période du signal est de combien au juste avec ces machins ? Si elle est proche des 2ms (signal max en PPM), je trouve que c'est quand même très bon comme réactivité, sachant qu'il ne sert à rien d'aller trop vite, le moteur ayant tout de même une certaine inertie.

Sinon si, si ! Le but serait bien d'utiliser un Rpi, pas de doute là dessus ;)

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:44 pm

la periode depand grandement des esc , certains veulent que du 50hz , d'autres acceptent sans broncher 450hz (2.2ms)

laurent
Posts: 323
Joined: Thu Jul 26, 2012 11:24 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:46 pm

ToOnS wrote:la periode depand grandement des esc , certains veulent que du 50hz , d'autres acceptent sans broncher 450hz (2.2ms)
Là... tu viens de me déprimer :?
Bon, espérons que ce soit marqué sur le descriptif du revendeur.

Merci encore pour ces renseignements en tout cas ;)

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet DCY'Fly (Drone, Quadricopter)

Wed May 29, 2013 9:54 pm

le multistar accepte n'importe quoi (bon pas au dessus de 500hz parceque ca laisserait meme pas 2000us) mais par contre le bec est a 5.5v (donc on peu pas alimenter le RPI avec) : http://www.hobbyking.com/hobbyking/stor ... _2_4S.html
(a chaque fois je met des 30A mais ca depend des moteurs ca)

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Fri May 31, 2013 12:06 pm

Hi all !

J'ai commencé la réalisation du site internet dédié au projet avec mise à disposition des sources : http://pix.dcylabs.com/

EDIT : Les threads, c'est fait (restera quand même a intégrer les gyros et caméra), niveau temps de réponse, je pense que c'est pas mal : http://youtu.be/8ns8Ke1OXZI

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Sun Jun 16, 2013 8:25 pm

Hi all !

Je suis enfin rentré chez moi, et j'ai retrouvé tous mes chers colis :

- Camera Pi
- Rallonge PWM
- Cable female/female 1pin

Et j'ai récupéré mon AltImu à la boutique Rhaaa à Grenoble que je remercie :D

J'ai voulu mettre en route ma camera sur ma Pi, branchement ok, mise à jour raspbian ok.
Mise à jour du raspi-config ok, par contre aprés l'activation de la caméra, ma Pi ne boot plus sur la carte SD en question (sur un raspbian sain, ça boot)

Quand le Pi démarre la led de la camera s'allume, mais aucune réponse de la Pi. Si quelqu'un a une idée d'où ça peut venir.

blueberry4pi
Posts: 2
Joined: Mon Jun 17, 2013 8:07 am

Re: Projet PiX (Drone, Quadricopter)

Mon Jun 17, 2013 8:13 am

Super projet en tout cas, tu pourrais faire un petit récap de tout ce que tu as utilisé en matériel et logiciel depuis le départ, Concernant la caméra du raspberry, il est possible que ton OS soit en erreur au démarrage et qu'il attende une validation de ta part pour vérifié le système de fichiers.

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Mon Jun 17, 2013 10:26 am

Un petit récap est prévue ouaip, j'attend de monter le gyro et la camera :D

En faite c'est ma carte SD qui a laché (c'était une noname) du coup je repart sur une samsung 4go et je réinstalle tout sur la dernière Raspbian Wheezy.

J'ai juste un probleme avec hostapd et dnsmasq, en gros, une fois démarré, je suis obligé de redémarré hostapd et dnsmasq pour que mon AP fonctionne. J'avais pas ce problème sur occidentalis.

Edit : trouvé, c'était le p*tin de "auto lo" dans le /etc/network/interfaces qui faisait que eth0 et wlan0 étaient skippés :evil:

Edit 2 : je cherche un moyen de streamer ma camera Pi de manière fluide, et si possible faire ça avec du C++ (openCV ? trop lent :( )

blueberry4pi
Posts: 2
Joined: Mon Jun 17, 2013 8:07 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jun 18, 2013 9:33 am

va voir sur mon site blueberry4pi.com

J'ai un post sur Motion (lighthttpd) donc pas gourmand niveau process

De plus t'ora une super qualité

http://blueberry4pi.com/2012/10/29/vide ... pberry-pi/

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet PiX (Drone, Quadricopter)

Fri Jun 21, 2013 4:12 pm

PHPower wrote: Edit 2 : je cherche un moyen de streamer ma camera Pi de manière fluide, et si possible faire ça avec du C++ (openCV ? trop lent :( )
Salut ,
dans les sources de RaspiVid : https://github.com/raspberrypi/userland ... RaspiVid.c
dans encoder_buffer_callback surement il doit y'avoir moyen de recuperer le buffer et d'envoyer ce buffer via socket au lieu de l'ecrire dans un fichier (en plus ca va preserver la SD en lui évitant des écritures) et coté client (donc PC) soit ecrire ce buffer dans un fichier ou soit le lire directement en html5 (pour le html5 ca je suis pas trop sur de moi , je sais pas si ca peu lire en direct une video d'un socket)
en gros remplacer cette ligne : bytes_written = fwrite(buffer->data, 1, buffer->length, pData->file_handle); par l'envoie avec un socket

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 6:29 am

Plop' all !

Désolé pour ma disparition du forum depuis un petit mois :(
Mais là, c'est promis ! je reviens pour de vrai !

Merci pour vos conseils pour la caméra, je test ça aujourd'hui et je vous dit ce que ça donne ! :)
J'ai enfin trouvé le temps de faire la rallonge PWM pour alimenté la Pi, avec mes batteries vieille de (je sais même plus tellement elles sont vieilles), la Pi seule tient 4h (peut être plus, j'ai pas voulu abimé ma petite framboise)

Bientot la raspberry au centre de ce quadcopter sera une raspberry rouge (j'attend que le livreur sonne à la porte :D)
Le GyroScope est fixé avec du chatterton pour le moment, j'ai pas eu le temps de lui faire un support, (d'ailleurs les petits trous qu'il y dessus, c'est des trou de fixation ?)

Et niveau branchement du GyroScope, y'a moyen d'émuler SCA / SCL sur d'autres ports GPIO ? car j'ai déjà utilisé les "vrai" pour le PCA9685.

Dernière question, quelqu'un s'y connais en Proportionnelle Intégrale Dérivée (PID) ?

Merci à tous ceux qui m'aide dans cette aventure :)

laurent
Posts: 323
Joined: Thu Jul 26, 2012 11:24 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 8:22 am

PHPower wrote:Plop' all !

Désolé pour ma disparition du forum depuis un petit mois :(
Mais là, c'est promis ! je reviens pour de vrai !

Merci pour vos conseils pour la caméra, je test ça aujourd'hui et je vous dit ce que ça donne ! :)
J'ai enfin trouvé le temps de faire la rallonge PWM pour alimenté la Pi, avec mes batteries vieille de (je sais même plus tellement elles sont vieilles), la Pi seule tient 4h (peut être plus, j'ai pas voulu abimé ma petite framboise)

Bientot la raspberry au centre de ce quadcopter sera une raspberry rouge (j'attend que le livreur sonne à la porte :D)
Le GyroScope est fixé avec du chatterton pour le moment, j'ai pas eu le temps de lui faire un support, (d'ailleurs les petits trous qu'il y dessus, c'est des trou de fixation ?)

Et niveau branchement du GyroScope, y'a moyen d'émuler SCA / SCL sur d'autres ports GPIO ? car j'ai déjà utilisé les "vrai" pour le PCA9685.

Dernière question, quelqu'un s'y connais en Proportionnelle Intégrale Dérivée (PID) ?

Merci à tous ceux qui m'aide dans cette aventure :)

Salut !

Concernant le SCA/SCL, ils font partie d'un bus I²C, il est donc possible de mettre plusieurs éléments sur ce bus, inutile d'en utiliser un autre ;)
Si ton bus est physiquement inaccessible car le PCA9685 n'a pas un connecteur déporté (beaucoup de cartes rendent accessibles leur bus pour rajouter des périphériques), il faudra un peu bricoler, mais il n'y a aucun souci à mettre plusieurs composants sur ce bus, au contraire (attention à ne pas rajouter de résistance de pull-up supplémentaires).

Concernant le PID, c'est un algorithme étonnamment simple et facile à mettre en oeuvre. Je l'ai déjà mis en oeuvre de nombreuses fois et il est plutôt bien expliqué sur le net (bien lire l'influence des 3 paramètres sur la réponse).
Un site rapidement trouvé qui m'a l'air très didactique : http://www.ferdinandpiette.com/blog/201 ... e-calculs/
L'auteur met d'ailleurs un petit avertissement sur la fréquence de la boucle de régulation (et d'échantillonnage). Ce qu'il faut aussi garder à l'esprit, dans ton cas, c'est que cette fréquence n'est pas régulière du fait de l'utilisation d'un OS comme Linux. En fait, ce n'est pas tout à fait juste : il faut dire que la régularité n'est pas garantie. ;)
Cela n'empêchera pas de faire des essais, mais il faut faire attention à ne pas surcharger le système, car au plus il est chargé et au moins la régularité sera garantie et respectée.

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 2:44 pm

Salut , oui le trou de l'altimu sert a le fixer et oui pour l'i2c il faut le brancher sur les memes 2 gpio que la carte adafruit (sda et scl) , c'est fait pour :
http://learn.adafruit.com/adafruits-ras ... guring-i2c
"Once this is all done, you can type the following command to see all the connected devices (if you are running a 512MB Raspberry Pi Model B)
sudo i2cdetect -y 1
"
sur le screen qui est juste apres on peu voir que y'a 2 composant sur son bus i2c

(d'ailleur sur l'altimu il y'a 3 ou 4 composants i2c routés sur le meme bus :mrgreen:)

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 2:59 pm

Okay' je vois le truc.

Cet après-midi : atelier soudure, je vais me faire deux rallonges 1pin female > 2pin male

Par contre pour alimenter l'altimu, je le branche sur du 3V3 ou du 5V ? sur le pin VIN ou VDD ? (oui je suis toujours un cas en électronique, pardonnez moi ! xD)

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 3:15 pm

comme tu veux (de toute facon le 5v de l'altimu est transformé en 3.3v) mais pas les 2 en meme temps , bon apres le 3.3v du rpi fournis pas beaucoup d'amperage , 50 ma si je me souvien bien , ca suffit je pense pour l'atimu mais si tu veux etre sur de ton coup (ou si y'a autre chose sur le 3.3v) met le sur 5v (la tu auras l'amperage du bec donc 2A ou 3A , je sais plus avec ton ESC mais de toute facon largement assez de courant)

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 3:42 pm

Je pensé au 5V du GPIO, mais effectivement, je vais me faire plaisir avec un ESC (ça devient le bordel ya trop de cable xD)

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 3:54 pm

heu ... moi aussi je pensais au GPIO +5v mais :
PHPower wrote: ...
J'ai enfin trouvé le temps de faire la rallonge PWM pour alimenté la Pi, avec mes batteries vieille de (je sais même plus tellement elles sont vieilles), la Pi seule tient 4h (peut être plus, j'ai pas voulu abimé ma petite framboise)
donc au final le gpio 5v est sur un bec :mrgreen: non ? A moins que tu passes par la micro usb pour amener le 5v du bec donc par le polyfuse (beurk) , dans ce cas tu as a peu pres 400ma de dispo sur le gpio +5v de toute facon ca suffit aussi largement (quoique tu as une clef wifi qui doit pomper pas mal de ses 400ma).
(d'ailleur c'est pas RPI rouge qui aurait été le top mais un RPI A qui consomme moins , tu me diras avec ce que consomment les 4 moteurs la conso du RPI B reste negligeable , ca changerait pas l'autonomie enormement)

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 4:52 pm

Je prendrais un A quand il sera terminé, mais j'aime le rouge :(

Sinon, ca y est, l'atelier soudage c'est fini, les branchements sont fait (c'est alimenté avec le BEC finalement :) )

dans le i2cdetect, il me sort bien les 4 nouveaux capteurs en plus du 0x40 (le PCA9685)

j'ai

0x19 (Edit : pas 16 )
0x1e
0x5d
0x6b

Je vais me lire la doc histoire de voir comment lire les données :D

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 6:05 pm

pour le gyro (et l'accelero et le magneto) il y'a ca : https://github.com/mwilliams03/Raspberry-Gyro-Acc ,
avec les explications ici :
http://marks-space.com/2013/04/29/guide ... pberry-pi/
et comme le monde est bien fait y'a meme une petite explication sur le PID : http://marks-space.com/2013/04/18/succe ... pberry-pi/

manque que le 0x5D histoire d'avoir la gestion de l'altitude
il faut juste lire 0x29 et 0x2A , puis multiplier la valeur de 0x2A par 256 et ajouter la valeur de 0x29
d'ailleur pour l'altimetre peu etre prévois de lui mettre sur la tete une boite en plastique (ouverte par le bas pour quand meme attraper la pression , comme par exemple la partie transparente de ca : http://i2.cdscdn.com/pdt2/8/2/2/1/700x7 ... rbatim.jpg) parceque avec le souffle des hélices ca risque de fausser la pression atmospherique

User avatar
PHPower
Posts: 84
Joined: Tue Jan 01, 2013 7:48 pm
Location: PACA
Contact: Website

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 6:49 pm

Je viens de tester le code du GitHub que tu m'as passé, ça fonctionne, et (roulement de tambour ...) je l'ai mis a l'envers ! :lol: j'aurais juste a inversé les valeurs que j'aurais ^^

L'altimètre je verrais plus tard, pour le moment c'est "gadget" ^^

Je refais un coup de propre dans mon code, et j'implémente le Gyro avec un PID :D ça va donner !

EDIT : Je me prend la tête à coder le Gyro seul (la lib que tu m'as passé me plait pas trop trop ^^)
J'ai compris qu'il faut donner un ordre au Gyro pour lui dire de renvoyer les données sur 6 octets
On a donc X( low & high) , Y(low & high), Z(low & high).

Par contre, quand je calcul à la main comme le dit la formule du L3GD20 ça me donne

X = 64760
Y = 64504
Z = 63995

Alors qu'avec la lib que tu m'as passé j'obtiens -180° / -180°, je pense qu'il y a un calcul a faire pour convertir, mais je doute que la manip que j'ai faite soit la bonne

Code: Select all

i2cset -y 1 0x6b 0x28 x080 #On demande au gyro de renvoyer les valeurs 
i2cget -y 1 0x6b #Recupère xlow --> sort 0xf8 --> 248 
i2cget -y 1 0x6b #Recupère xhigh--> sort 0xfc --> 252 --> X = 252*256 + 248 = 64760 
i2cget -y 1 0x6b #Recupère ylow --> sort 0xf8 --> 248 
i2cget -y 1 0x6b #Recupère yhigh--> sort 0xfb --> 251 --> Y = 251*256 + 248 = 64504
i2cget -y 1 0x6b #Recupère zlow --> sort 0xfb --> 251
i2cget -y 1 0x6b #Recupère zhigh--> sort 0xf9 --> 249 --> Z = 249*256 + 251 = 63995

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Projet PiX (Drone, Quadricopter)

Tue Jul 02, 2013 10:12 pm

déjà avec le set tu mets 0x80 dans le registre 0x28 (qui est un registre qui sert a etre lu c'est xlow)
// Enable Gyro
i2cset -y 1 0x6B 0x20 0x0F // Normal power mode, all axes enabled
i2cset -y 1 0x6B 0x23 0x30 // Continuous update, 2000 dps full scale

puis en fait tu lis toujours le meme registre (0x00 qui d'ailleur est reservé au composant donc que ca sert a rien de le lire)
http://www.pololu.com/file/download/L3G ... e_id=0J563 , page 3 on trouve quels registres lire
i2cget -y 1 0x6b 0x28 #Recupère xlow
i2cget -y 1 0x6b 0x29 #Recupère xhigh
i2cget -y 1 0x6b 0x2A #Recupère ylow
i2cget -y 1 0x6b 0x2B #Recupère yhigh
i2cget -y 1 0x6b 0x2C #Recupère zlow
i2cget -y 1 0x6b 0x2D #Recupère zhigh
pour la peine tu devras regarder 10 fois cette video : http://www.youtube.com/watch?v=-HnwhGgsgXc
Last edited by ToOnS on Tue Jul 02, 2013 10:28 pm, edited 1 time in total.

Return to “Français”