Stabilisateur de camera utilisation de servomoteurs et de moteurs brushless

Bonjour a tous !

Je réalise depuis quelque mois un petit stabilisateur de mini camera, voila le materiel que j'utilise :

-Arduino micro -Joystick elecfreaks V1.4 - central inertiel MPU 9150 -2 servomoteurs futaba S3003

Mon programme fonctionne maintenant à peu près correctement, en revanche je souhaiterais suprimer les servomoteurs pour pouvoir installer des moteurs brushless. Effectivement, ces moteurs sont beaucoup trop lent et réagisse de façon trop saccadée.

Je souhaiterais pouvoir commander mes moteurs brushless avec le signal PWM de l'arduino, trois solutions s'offre alors à moi :

-Achetter un ESC programmé pour piloter des moteurs brushless de stabilisateur de camera

Je n'en est pas encore trouvé, savez vous ou je peux trouver ça ?

-Achetter un ESC dans le commerce et réussir à le flasher avec un programme, pour piloter des moteurs brushless sur un système de stabilisateur

j'ai trouvé ce forum qui explique comment un certain oliw a réussi a flasher des ESC, mais ce forum date de 2009 et je ne trouve rien de plus recent ou de plus abouti : http://www.rcgroups.com/forums/showthread.php?t=1858164 , quelqu'un pourrait m'en dire plus ?

-Fabriquer un ESC pour piloter les moteurs

Cela semble compliquer, puis je esperer des résultats satisfaisants sachant que je n'est pas d'ossiloscope pour réaliser mes reglages et que mon niveau en éléctronique est celui d'un autodidacte débutant ?

Merci à tous pour vos conseils et votre aide !

Bonjour,

Qu’est-ce qui te fait penser qu’un brushless réagira plus vite ?

Effectivement ce n'est pas une histoire de temps de réaction mais de pas et de précision

Pour piloter tes brushless le mieux c'est d'acheter une solution déjà faite tu ne pourras pas rivaliser en terme de précision et de cout de la solution: http://www.simplebgc.com/eng/about/

;)

Et pourquoi pas un moteur pas à pas ? En terme de précision on fait difficilement mieux, non ?

bonjour, perso pour l'astronomie et mon projet de mise à niveau de mon télescope, j'ai du PAP ;)

3Sigma: Et pourquoi pas un moteur pas à pas ? En terme de précision on fait difficilement mieux, non ?

http://www.youtube.com/watch?v=4ddNiZqtwxY

Le truc c'est que le brushless n'as pas de pas justement d'après ce que j'ai compris. Je pense qu'il est toujours en mode "travail" donc la stabilisation est meilleure

Et pour une caméra d'être fluide c'est mieux.

Pour stabiliser un télescope c'est sur que t'a pas forcément besoin d'un brushless.

De toute façon si aujourd'hui tout le monde s'est mis au brushless dans les nacelles de stabilisation c'est pas pour rien.

Bonjour, Le moteur Brushless est un moteur sans balais donc une machine synchrone. Dans votre applicatif, on contrôle la position du moteur (cela devient une machine synchrone auto-pilotée) donc on a forcément un capteur de mesure pour connaître la position et la vitesse du moteur. Je pense que la mise en oeuvre d'un moteur pas à pas est plus simple compte tenu de la puissance en jeu. Pour les grosses puissances la question ne se pose pas (les PAP sont hors course) @+

Merci pour vos réponses rapide !

Je me suis tourné vers les moteurs brushless car il semble plus fluide et beaucoup plus rapide.

C'est aussi le moteur que tout les stabilisateurs que j'ai rencontrer sur internet utilise aujourd hui

Dans mon système, le problème n'est pas tant la précision de la position du moteur, mais surtout la temp que vas mettre le moteur pour rejoindre la position demandé. le but est d'amortir les mouvements de la camera, aujourd hui mes servo futaba S3003 on une vitesse de rotation de 0,23s / 60°... dans mes essai, je me rend compte que le stabilisateur compense plutot correctement les mouvement lent mais agit en retard sur les mouvements rapide.

Pour piloter mes moteurs (servomoteurs ou brushless) j'utilise une petite centrale inertiel qui me permet de connaitre l'inclinaison de mon système à tout moment (grace à la fonction DMP (data motion processor) de ma central MPU 9150).

Le moteur pas à pas m'interesse, mais sera t'il se déplacer assez rapidement ?

l'utilisation d'ESC reprogrammé me permettrai de faire évoluer facilement mon systeme vers des moteurs plus puissants, pour des stabilisateurs plus gros, sans toucher a la partie Calcule de position gerer par l'arduino . Est ce vraiment une mauvaise idée ? personne ici ne c'est essayé a reprogrammer ce genre de materiel ?

Merci encore pour votre aide !

Le moteur pas à pas m'interesse, mais sera t'il se déplacer assez rapidement ?

tout dépend comment tu le programme simple, double, mcirostep

Le moteur brushless (avec un gyroscope) a plein d'avantages sur le moteur pas à pas. Il a beaucoup de couple pour redresser une caméra assez lourde, il est très compact avec peu d'inertie mécanique et il tourne très vite si besoin. On en trouve en version ultra plat et très léger (par exemple pour stabiliser un appareil photo monté sur une nacelle de cerf-volant en KAP, Kite Aerial Photography) ou sur un drone. Sur ce point tu as fait le bon choix à mon avis.

Revers de la médaille, c'est plus complexe à piloter qu'un pas à pas. C'est à la base conçu pour tourner, pas pour atteindre une position angulaire précise. Tu va devoir créer et régler un système d'automatisme avec une mesure et une consigne à atteindre du mieux possible (PID).

Pour stabiliser une caméra, rien ne vaut la mécanique.

Tu as deux types de movements à stabiliser : les vibrations (translations) et les rotations. Pour ça, rien de plus simple :

Pour les vibrations : des suspensions. le plateau de ta cam sera simplement suspendu par trois ressorts parallèles et disposés en triangle (meilleurs compromis). Trouver des amortisseurs qui limiteront les oscillations des ressorts sera un gros travail, car il faudra calculer.

Heureusement, la seconde partie va tout arranger : les rotations. Vu que la cam "nage" au bout de tes ressorts, elle ne tremble plus mais risque d'aller dans toutes les directions. Il te suffit alors de lui coller une inertie de ouf, et rien de mieux qu'une roue à inertie qui tourne très vite (sur un brushless) horizontale axée sur le centre de gravité du plateau. Un moteur de lecteur DVD fera l'affaire : léger, petit et rapide. reste à trouver une roue super équilibrée, sinon c'est la roue qui va tout faire vibrer... regarder du côté des vieux magnétos K7 hifi, voire un disque dur.

la roue à inertie va créer des forces de malade dans tous les sens, mais équilibrées entre elles, et comme "somme des forces = M x A" = 0, ça ne bougera pas. La moidre tentative de contrer l'une de ces forces (qui peut atteindre plusieurs Kg selon la vitesse) sera vaine, stabilité assurée!

Pas bête mais peut-être un peu lourd si le système doit être embarqué ?

Bonjour, Suite aux explications de Super_Cinci, une idée. Pourquoi ne pas utiliser un gyroscope de modélisme ?

Merci pour toute ces idées !

mon projet de départ était basé sur une roue a inertie (gyroscope), travaillant dans le domaine de l'aéronautique, je connaissais ce principe utilisé sur bon nombre d'instrument de vol (horizon artificiel, conservateur de cap, etc...) le problème de cette solution sont les suivants :

-tout gyroscope precessionne, il y a donc une dérive dans le temps, il faut recaler le système régulièrement ou le contraindre par se que l'on appelle un "système errecteur" ce qui rend beaucoup plus complexe le montage.

-il y a certain frottement mécanique qui vont participer à faire dériver le gyroscope. -Faire tourner un disque a grande vitesse consomme pas mal d’énergie et mon système embarquer fonctionnerait sur batterie.

Je crois effectivement que le choix du moteur brushless est judicieux, certain de vos commentaires confirme et renforce mon impression.

d'autre part, ma petite centrale inertielle (MPU 9150) et mon petit programme associé fonctionne à merveille !

Ma question est alors la suivantes :

Comment réaliser ou ESC pour piloter un moteur brushless qui soit commander par l'arduino en signal PWM et qui fonctionne aussi à basse vitesse et dans les deux sens (nonon je ne suis pas exigeant :)?

Si je règle se problème de harware, je pourrais alors me concentrer sur la programmation du software et toucherais au but !!!

Il s'agit de deux techniques très différentes.

1) La roue à inertie doit tourner à vitesse maximale (pas besoin de régulation fine), et entraîner un volant d'inertie avec de la masse loin du centre (moment d'inertie élevé). C'est un effet gyroscopique purement physique.

2) La stabilisation par moteurs brushless se fait pour compenser exactement les mouvements sur 2 (ou 3) axes perpendiculaires, ça tourne lentement mais avec une précision élevée. C'est de la régulation électronique fine, en temps réel.

Dans les deux cas un montage sur cardans avec un centre de gravité bien placé (en dessous) permet de faire l'essentiel du travail de stabilisation.

Le pilotage d'un moteur brushless à basse vitesse est plus compliqué qu'on peut le penser. Car ces moteurs de modélisme n'ont pas de couple à l'arrêt. Une fois que ça tourne, le courant induit dans les bobines qui passent devant les aimants informe le contrôleur de la position du rotor et permet de synchroniser correctement les courants. A basse vitesse et au démarrage, j'utilise des capteurs à effet Hall pour avoir une info exacte de position de rotor, sinon ça broute et tourne mal lors de cette phase.

Et un moteur à courant continu correctement asservi ?

Sujet très intéressant, d'autant plus pour les personnes souhaitant adapter un système telle sur une nacelle, à l'image du mövi de chez "Freefly" 8)

http://rungunshoot.com/why-you-probably-dont-need-the-amazing-movi-camera-stabilizer/

L'idée est de réaliser ce genre de support de camera à partir d'éléments déjà existant dans le commerce et sur la base de l'arduino micro.

développer le système sur une mini camera pour ensuite créer un stabilisateur beaucoup plus robuste.

Merci Christian_R ! je commence à comprendre les enjeux !!

j'ai téléchargé une librairie Arduino PID, qui m'a permis de comprendre le fonctionnement un peu de ce genre de filtre ! mon niveau en math étant relativement faible, je ne connaissais pas ce genre de calcul et je trouve sa génial !

donc si je résume les différentes étapes du principe de fonctionnement :

1 : Mon capteur MPU 9150 donne la position angulaire de la camera sur les axes X et Y par rapport à l'horizon

2 : l'arduino, calcule la position que doit rejoindre le rotor de chaque moteur brushless pour remettre la plateforme à l'horizontale

3: le filtre PID prend alors la relève : en fonction de la position théorique que doit rejoindre chaque rotor de moteur brushless, et la position effective déterminé par le capteur a effet hall, il renvoie une variable permettant de piloter le moteur

.... suis je dans le vrai ?

Question certainement idiote, mais si j'asservi mon moteur à un potentiomètre (comme dans un servo moteur) je peux connaitre sa position sans capteur a effet hall non ?

C'est exactement ça le principe. La régulation de position se fait en PID.

  • P = Proportionnel à l'écart entre la position relevée par le gyroscope et la position souhaitée, avec un coefficient de pente à ajuster.
  • Trop fort, ça ira vite, mais trop loin, et on risque de générer des oscillations de part et d'autre du point de stabilisation recherché.
  • Trop faible, ça fonctionnera, sans dépassement, mais trop lentement, avec du retard donc la caméra ne sera pas en permanence sur sa cible mais tout le temps à la traîne. Il y a un optimum à trouver.

On affine ensuite ça avec deux autres corrections, ajustables elles aussi (I = Intégrale et D = Dérivée) pour accélérer au début de la correction (idéalement plus importante au départ si on part de loin) et pour freiner sur la fin, pour ne pas dépasser la consigne et risquer d'osciller.

Beaucoup d'automatismes industriels utilisent ce principe du PID.

Bien sûr ça marche aussi avec un moteur à courant continu. Mais à puissance égale les moteurs brushless sont moins lourds et volumineux, on les préfère pour ça. (la nacelle de la caméra étant portée à la main).

Le potentiomètre de recopie donnerait bien la position de l'axe du rotor, mais comme il y a 3xN bobines sur un brushless (c'est du triphasé) il faut des déphasages précis pour piloter correctement les 3 groupes de bobines. Ca doit aussi pouvoir se programmer.

Bien... donc un moteur brushless de modélisme avec des capteurs a effet hall.... le tout relier a un ESC reprogrammé ou fabriqué maison ? ou a un arduino ?

Christian_R, combien de capteur a effet hall utilises tu et comment les positionnes tu sur les moteurs ? à l’intérieur du boitier ? proche des bobinages ? un capteur par phase ?

Désolé, tout d'un coup le projet semble plus concret et plein de questions se présente ! :)

se qui reste flou pour moi est la limite physique entre la partie ESC et la partie Arduino.... l’idéal serai de réussir a flasher un ESC avec le langage arduino pour pouvoir le reprogrammer à souhait..... mais attendez.... de se que j'ai lu, beaucoup d'ESC du commerce on un processeur ATMEGA8, pas si loin de ceux qui sont sur nos arduino non ??? avec mon arduino micro, je peux peut être flasher une puce atmega8 et la reprogrammer pour mon projet ?

certain ESC de modélisme utilise t'il des capteurs a effet hall ?

plein de questions désolé... sa cogite dur !