ATTENTION : Je ne suis pas sur de l'ordre des autres voies, j'ai juste inverser Throttle et Aileron
Pour le montage, je pense qu'il faut juste "splitter" le signal ppm. 3 fils vers la CC3D et 3 fils vers un microcontrolleur style Attyni85 avec une alimentation en parallèle pour Le rx + l'attyni + la CC3D + les neopixels en +5V (Ne pas alimenter les leds par un output de l'attyni) : Attention à l'ampérage max
Pour le signal ppm, un vers input attyni et l'autre vers la CC3D.
Il me semble que ça devrait marcher comme ça !
A+
Re: Débuguage et optimisation code.
Posté : mer. 4 mars 2015 23:33
par vilajea1
oui pour l'ordre des voies c'est simple, mais je voyait plutôt un bouton poussoir qui permet de faire le changement de mode de vol, par contre pour les autres modes de transmission autre que ppm, c'est faisable ?
Re: Débuguage et optimisation code.
Posté : mer. 4 mars 2015 23:50
par Tomdu38
Un bouton poussoir ??? je ne comprends pas ! c'est pour une application en multirotor ? ou tu veux simplement indiquer tes modes de vols par des indicateurs de couleurs ?
Pour le reste, oui tout est faisable... faut juste voir l'utilité... développer ou modifier un code pour 2 personnes ???
Pour le Sbus, sauf erreur de ma part, ce n'est pas encore le standard des contrôleurs de vol ! en général Pwm, PPM. Dans le cas de rx sbus, on peut utiliser un Sbus to PPM converter.
Pour le PWM, on doit pouvoir utiliser un code similaire à celui du PPM. Dans ce cas, on est pas obligé de préciser quelle pulsation lire, puisque dans le PWM on aurait : une voie = un input. Or dans le PPM on a 8 voies sur un input.
A+
Tom
Re: Débuguage et optimisation code.
Posté : jeu. 5 mars 2015 08:23
par CoyotteDundee
Hello Dehas,
Post intéressant...
Par contre, il y a des "trous" dans le code fourni. Ce n'est pas catastrophique mais ce n'est pas propre :
//detection de l'absence d'un creneau radio valide (<900ms), flash LED specifique
if (ch1<900)
{
//séquence de flash failsafe, jouez a modifiez les valeurs de delay du ON et du OFF
}
//séquence de flash entre 1000 et 1250ms (de 0 a 25% des gaz)
if ((ch1>1000) && (ch1<1250))
{
}
//séquence de flash entre 1250 et 1500ms (de 25 a 50% des gaz)
if ((ch1>1250) && (ch1<1500))
{
}
//séquence de flash entre 1500 et 1750ms (de 50 a 75% des gaz)
if ((ch1>1500) && (ch1<1750))
{
...
Pour la clarté, j'ai viré le code utile pour ne garde que les tests. Que se passe-t-il si ch1 vaut exactement 1000, ou 1250 ou 1500 ?
RIen ! :-)
Le bon test devrait inclure un > et un <= comme dans
if ((ch1>1000) && (ch1<=1250))
{
}
//séquence de flash entre 1250 et 1500ms (de 25 a 50% des gaz)
if ((ch1>1250) && (ch1<=1500))
{
}
D'autre part, a lire le code, il semble que une fois que l'on est dans une des fourchettes, on n'est pas dans l'autre. Or ici, toutes les fourchettes sont testées même si l'on a déjà traité l'info.
La première approche qui avait été faite, en "else if", est plus optimisée mais il faut la prendre à l'envers :
if (ch1>1500) // On part du haut et on redescend
{
}
else if (ch1>1250) // > 1250 (mais <= 1500 à cause du test précédent)
{
}
else if (ch1>1000) // > 100 (mais <= 1250 à cause des tests précédents)
{
}
...
Voilà... Ce ne sont que quelques idées, bien évidement.
Coyotte
Re: Débuguage et optimisation code.
Posté : jeu. 5 mars 2015 10:27
par vilajea1
Tomdu38 a écrit :Un bouton poussoir ??? je ne comprends pas ! c'est pour une application en multirotor ? ou tu veux simplement indiquer tes modes de vols par des indicateurs de couleurs ?
Pour le reste, oui tout est faisable... faut juste voir l'utilité... développer ou modifier un code pour 2 personnes ???
Pour le Sbus, sauf erreur de ma part, ce n'est pas encore le standard des contrôleurs de vol ! en général Pwm, PPM. Dans le cas de rx sbus, on peut utiliser un Sbus to PPM converter.
Pour le PWM, on doit pouvoir utiliser un code similaire à celui du PPM. Dans ce cas, on est pas obligé de préciser quelle pulsation lire, puisque dans le PWM on aurait : une voie = un input. Or dans le PPM on a 8 voies sur un input.
A+
Tom
Le but est d'avoir un module prêt a l'emploi pour ceux qui ne programme pas.
Genre : tu fourni les modules dans un club et pas besoin de retoucher le code en fonction des utilisateurs et leurs modes de vol.
Ils programment directement sur les modules fourni, par le biais d'un bouton poussoir et une led indiquant le mode (1 flash = mode 1, 2 flash = mode 2,...).
En fonction du type de modulation (PPM, S-bus,...) un cavalier a mettre sur le module et hop modulation selon l'utilisateur.
Je sais pas si c'est vraiment utile mais au WWS Team plusieurs pilote sont en modulation différente.
A voir si intérêt pour d'autre, mais merci pour tes conseils :-)
Une autre question : quel type de matériel faut t'il prévoir pour faire des CI en mode anglaise comme Will... (un lien sur le matériel peut être ?).
A+
Re: Débuguage et optimisation code.
Posté : jeu. 5 mars 2015 10:37
par Tomdu38
Pour la réalisation de CI, à ma connaissance, 3 techniques :
- La gravure à l'anglaise : il faut une petite CNC ou une imprimante 3D avec un petite fraiseuse (un moteur brushless ça marche !!!) avec une fraise à graver.
- La gravure chimique : il faut une insoleuse UV ( Un scanner bricolé avec des led Uv ou des néons ça marche, j'en avais fait une ) et ensuite c'est plusieurs bains chimiques (2 bains différents, avec des rinçages à l'eau).
On utilise des produits spécifiques comme le perchlorure de fer ...etc. Tu peux aussi le faire avec des produits ménagers (cf tuto sur instructable).
- La réalisation de circuit avec des encres conductrices. En gros, un stylo avec une encre spécifique et tu dessines ton circuit... il faut voir la durée de vie, et l'épaisseur de cuivre avec le max d'ampère que tu peux faire passer.
Voilà en gros !
A+
PS : Il me semble que willmodelisme utilise la méthode 2.
Re: Débuguage et optimisation code.
Posté : jeu. 5 mars 2015 12:16
par vilajea1
Super merci pour les infos. Ça me plaît bien la gravure à l anglaise reste à trouver le matos pas trop cher et plug and play si c est possible :-)
Re: Débuguage et optimisation code.
Posté : jeu. 5 mars 2015 12:24
par willmodelisme
La gravure a l'anglaise est faite avec une fraiseuse. Numérique ou à la main.
On élève le cuivre pour délimiter des pistes.
J' utilise la méthode chimique, typon imprimé sur transparent, insolation de plaque pré-sensibilisée avec une insoleuse LED, révélation avec de la soude caustique diluée puis gravure chimique avec eau oxygénée + acide chlorhydrique.
Avantage de cette méthode, tous les produits se trouvent au brico du coin ou au super-marché (sauf la plaque présensi. et les LED UV ebay ou amazon )
Les transparents pour imprimante jet d'encre ne sont pas facile à trouver non plus....(y en a sur amazon).
Re: Débuguage et optimisation code.
Posté : jeu. 5 mars 2015 13:15
par Tomdu38
@vilajea1 : la gravure chimique sera la plus accessible. L'investissement est aussi moins lourd à moins d'avoir déjà une CNC ou une imprimante 3D. Pour les typons, je complète le propos de willmodelisme,tu peux le faire avec une imprimante jet d'encre ça marche aussi, mais faut des transparents spéciaux pour jet d'encre, et imprimer avec la meilleur résolution possible.
(j'avais fait mon premier circuit comme ça pour ma première carte de vol sur base arduino et imu 10 dof, ... )
Les noms de référence des Leds sont :
- ws2812 : Led avec 6 pattes de connections
- ws2812B : Led avec 4 pattes de connections
J'ai acheté les miennes sur Ebay, à un revendeur Allemand pour une dizaine d'€ fdp in ! c'est un peu cher, mais rapide !
A+
Tom
Re: Débuguage et optimisation code.
Posté : sam. 7 mars 2015 10:02
par Papi78
Dehas a écrit :Ou achetez vous les barrette de leds adressable type adafruit, car quand je vois le prix ça fait reculer, ça vas du simple au triple même sur Ebay !!
Quel croquis !!, vous avez tout sur le post, même le CI de Will.
D’ailleurs je fini le montage et je poste.
Re: Débuguage et optimisation code.
Posté : sam. 7 mars 2015 10:30
par Papi78
Dehas a écrit :
Quel croquis !!, vous avez tout sur le post, même le CI de Will.
Non non, rien à voir, c'est pour un support de LED à imprimer...
Re: Débuguage et optimisation code.
Posté : sam. 7 mars 2015 17:35
par Dehas
En suivant le lien de papi78, je me suis pris ça [yahoo.gif]
Re: Débuguage et optimisation code.
Posté : dim. 8 mars 2015 10:11
par vilajea1
Papi78 a écrit :
Dehas a écrit :Ou achetez vous les barrette de leds adressable type adafruit, car quand je vois le prix ça fait reculer, ça vas du simple au triple même sur Ebay !!
Salut, pas encore eu le temps je bosse au salon de l auto à Genève et rentre tard. Je te fait ça rapidement
Merci
Re: Débuguage et optimisation code.
Posté : jeu. 12 mars 2015 19:07
par Dehas
Alors, petit retour sur Le circuit imprimé de Will
Il est pas gros!!
Pose et soudure des transistors
Le câblage.
Petite vidéo du du test de fonctionnement sur mon microbe !!
Me reste a faire la sécurisation a la colle chaude des fils, un bout de gaine et le montage définitif sur le microbe.
Pour moi, le test du CI de Will est concluant pour qu sait souder de petites pièces [yahoo.gif]
Merci Will pour ton développement et ton travail
Re: Débuguage et optimisation code.
Posté : jeu. 26 mars 2015 11:54
par Dehas
vilajea1 a écrit :Hello,
Voila un bout de code fonctionnel pour la gestion des Leds Neopixel Adafruit ou autre selon la position des gaz.
Ne fonctionne que pour le ppm et sortie gaz voie 3. Code développer par un membre d'Argonay que l'on a pris et adapter pour notre utilisation.
Si quelqu'un veut faire la même chose mais pour du PWM, S-Bus, EX-Bus,... avec possibilité de choix pour la sortie des gaz voie 1 ou 3.