Table des matières:

Stabilisateur de caméra prototype (2DOF) : 6 étapes
Stabilisateur de caméra prototype (2DOF) : 6 étapes

Vidéo: Stabilisateur de caméra prototype (2DOF) : 6 étapes

Vidéo: Stabilisateur de caméra prototype (2DOF) : 6 étapes
Vidéo: Бочонок для меда из сегментных колец. Часть Первая. Как я делаю сегментные кольца. 2024, Juillet
Anonim
Stabilisateur de caméra prototype (2DOF)
Stabilisateur de caméra prototype (2DOF)

Auteurs:

Robert de Mello et Souza, Jacob Paxton, Moises Farias

Remerciements:

Un grand merci à la California State University Maritime Academy, à son programme de technologie d'ingénierie et au Dr Chang-Siu de nous avoir aidés à réussir notre projet en des temps si compliqués.

Introduction:

Un stabilisateur de caméra, ou cardan de caméra, est un support qui empêche le bougé de la caméra et d'autres mouvements injustifiés. L'un des premiers stabilisateurs jamais inventés utilisait des amortisseurs/ressorts pour amortir les changements soudains dans le mouvement de la caméra. D'autres types de stabilisateurs utilisent des gyroscopes ou des points d'appui pour accomplir cette même tâche. Ces dispositifs stabilisent les mouvements indésirables dans jusqu'à trois axes ou dimensions différents. Ceux-ci incluent les axes x, y et z. Cela signifie qu'un stabilisateur peut amortir les mouvements dans trois directions différentes: roulis, tangage et lacet. Ceci est généralement accompli à l'aide de 3 moteurs contrôlés par un système de contrôle électronique s'opposant chacun à un axe différent.

Nous avons été exceptionnellement intéressés par ce projet pour plusieurs raisons. Nous apprécions tous diverses activités de plein air telles que le snowboard et d'autres sports. Il est difficile d'obtenir des images de haute qualité de ces activités en raison de la quantité de mouvement requise. Quelques-uns d'entre nous possèdent un vrai stabilisateur d'appareil photo acheté dans le magasin, et donc, nous voulions enquêter sur ce qu'il faut pour créer quelque chose comme ça. Dans nos cours de laboratoire et de conférence, nous avons appris comment interagir avec des servomoteurs à l'aide d'Arduino, le codage requis pour les faire fonctionner et la théorie derrière les circuits électroniques pour nous aider à concevoir les circuits.

*REMARQUE: En raison de la COVID-19, nous n'avons pas pu terminer ce projet dans son intégralité. Cette instructable est un guide pour les circuits et le code requis pour le prototype du stabilisateur. Nous avons l'intention de terminer le projet chaque fois que l'école reprendra et nous aurons à nouveau accès aux imprimantes 3D. La version terminée aura un circuit de batterie et un boîtier imprimé en 3D avec des bras stabilisateurs (illustrés ci-dessous). Veuillez également noter que l'alimentation des servomoteurs à partir de l'alimentation Arduino 5v est généralement une mauvaise pratique. Nous le faisons simplement pour permettre de tester le prototype. Une alimentation séparée sera incluse dans le projet final et est illustrée dans le schéma de circuit ci-dessous.

Fournitures

-Microcontrôleur Arduino UNO

-Planche à pain

-Kit de cavalier de fil

-Unité de mesure inertielle MPU6050

-MG995 Servomoteur (x2)

-Module LCD1602

-Module Joystick

Étape 1: Présentation du projet

Image
Image

Ci-dessus se trouve une vidéo de notre projet et montre également une démonstration de travail.

Étape 2: Théorie et fonctionnement

État/Diagramme logique
État/Diagramme logique

Pour la stabilisation de notre caméra, nous avons utilisé deux servomoteurs pour stabiliser l'axe de tangage et de roulis. Une unité de mesure inertielle (IMU) détecte l'accélération, l'accélération angulaire et la force magnétique que nous pouvons utiliser pour déterminer l'angle de la caméra. Avec une IMU attachée à l'assemblage, nous pouvons utiliser les données détectées pour contrer automatiquement le changement de mouvement de la poignée avec les servos. De plus, avec un Joystick Arduino, nous pouvons contrôler manuellement deux axes de rotation, un moteur pour chaque axe.

Sur la figure 1, vous pouvez voir que le roulis est contrecarré par le servomoteur de roulis. Lorsque la poignée est déplacée dans le sens du rouleau, le servomoteur du rouleau tourne dans le même sens mais dans le sens opposé.

Sur la figure 2, vous pouvez voir que l'angle de tangage est contrôlé par un servomoteur séparé qui agit de la même manière que le servomoteur de roulis.

Les servomoteurs sont un bon choix pour ce projet car ils combinent le moteur, un capteur de position, un petit microcontrôleur intégré et un pont en H qui nous permet de contrôler manuellement et automatiquement la position du moteur via l'Arduino. La conception initiale ne prévoyait qu'un seul servomoteur, mais après quelques délibérations, nous avons décidé d'en utiliser deux. Les composants supplémentaires ajoutés étaient un écran LCD Arduino et un joystick. Le but de l'écran LCD est d'afficher dans quel état se trouve actuellement le stabilisateur et l'angle actuel de chaque servo en commande manuelle.

Pour créer le boîtier pour contenir tous les composants électriques, nous avons utilisé la conception assistée par ordinateur (CAO) et utiliserons une imprimante 3D. Pour maintenir les composants électriques, nous avons conçu un corps qui fera également office de poignée. C'est là que le capteur IMU et le joystick seront montés. Pour le contrôle à double axe, nous avons conçu des supports pour les moteurs.

Étape 3: État/Diagramme logique

Le code se compose de trois états, chacun étant indiqué sur l'écran LCD. Lorsque l'Arduino est alimenté, l'écran LCD affiche "Initialisation…" et la communication I2C démarre avec le MPU-6050. Les données initiales du MPU-6050 sont enregistrées pour trouver la moyenne. Après, l'Arduino entrera en mode de contrôle manuel. Ici, les deux servomoteurs peuvent être réglés manuellement avec le joystick. Si le bouton du joystick est enfoncé, il entrera alors dans l'état "Auto Level" et la plate-forme de stabilisation maintiendra le niveau par rapport à la Terre. Tout mouvement dans le sens du roulis ou du tangage sera contrecarré par les servomoteurs, maintenant ainsi la plate-forme à niveau. Avec une autre pression sur le bouton du joystick, l'Arduino entrera dans un « état Ne rien faire » où les servomoteurs seront verrouillés. Dans cet ordre, les états continueront à changer à chaque pression sur le bouton du joystick.

Étape 4: schéma de circuit

Schéma
Schéma

L'image ci-dessus illustre notre schéma de circuit de projet en mode OFF. Le microcontrôleur Arduino fournit les connexions nécessaires pour exécuter l'IMU MPU-6050, le joystick et l'écran LCD. Les cellules LiPo sont directement connectées au changeur et alimentent à la fois le microcontrôleur Arduino ainsi que les deux servomoteurs. Pendant ce mode de fonctionnement, les batteries sont connectées en parallèle à l'aide d'un interrupteur à 3 points double direction (3PDT). L'interrupteur nous permet de déconnecter la charge, tout en connectant le chargeur et en passant les cellules d'une configuration série à une configuration parallèle. Cela permet également à la batterie de se charger simultanément.

Lorsque l'interrupteur est basculé sur le mode ON, deux cellules de 3,7 V alimenteront les moteurs Arduino et les servomoteurs. Pendant ce mode de fonctionnement, les batteries sont connectées en série à l'aide d'un interrupteur à 3 points double direction (3PDT). Cela nous permet d'obtenir 7.4v de notre source d'alimentation. L'écran LCD et le capteur IMU utilisent tous deux la communication I2C. SDA est utilisé pour transmettre les données, tandis que SCL est la ligne d'horloge utilisée pour synchroniser les transferts de données. Les servomoteurs ont chacun trois fils: alimentation, masse et données. L'Arduino communique avec les servos via les broches 3 et 5; ces broches utilisent la modulation de largeur d'impulsion (PWM) afin de transmettre les données avec des transitions plus fluides.

*Le circuit de charge de la batterie provient d'Adafruit.com

Étape 5: Construction

Construction
Construction
Construction
Construction
Construction
Construction

La conception de base d'un cardan de caméra est assez simple, car il s'agit essentiellement d'une poignée et d'un support pour une caméra. Le cardan se compose de deux servomoteurs pour contrer tout mouvement dans les directions de roulis et de tangage. L'utilisation d'un Arduino Uno nécessite une quantité d'espace importante, nous avons donc également ajouté un boîtier au bas de la poignée pour contenir tous les composants électriques. Le boîtier, la poignée et les supports de servomoteur seront tous imprimés en 3D, ce qui nous permettra de minimiser le coût et la taille globale, car nous pouvons avoir un contrôle total sur la conception. Il existe plusieurs façons de concevoir le cardan, mais le plus grand facteur à considérer est d'éviter qu'un servomoteur ne tourne dans un autre. Dans le prototype, un servomoteur est essentiellement attaché à l'autre. Lorsque nous aurons à nouveau accès aux imprimantes 3D, nous imprimerons en 3D le bras et la plate-forme illustrés ci-dessus.

* Les conceptions du bras et de la plate-forme proviennent de

Étape 6: Conclusions générales et améliorations potentielles

La recherche initiale que nous avons faite sur les cardans de caméra était très intimidante. Bien qu'il y ait eu une pléthore de sources et d'informations sur le sujet, cela semblait vraiment être un projet qui serait hors de notre ligue. Nous avons commencé lentement, en faisant autant de recherches que nous le pouvions, mais en absorbant peu. Chaque semaine, nous nous rencontrions et collaborions. Au fur et à mesure que nous travaillions, nous avons pris de plus en plus d'élan et sommes finalement devenus moins craintifs et plus enthousiasmés par le projet. Bien que nous ayons ajouté un joystick et un écran LCD supplémentaires, nous pourrions encore ajouter beaucoup plus au projet. Il y a aussi quelques améliorations qui pourraient être ajoutées, telles que des restrictions à la commande manuelle qui empêcheraient l'utilisateur de faire tourner un servomoteur dans l'autre. Il s'agit d'un petit problème qui pourrait également être résolu avec une conception de montage différente. Nous avons également discuté des possibilités d'ajouter une fonction panoramique. Cela permettrait à l'utilisateur d'utiliser les servomoteurs pour effectuer un panoramique sur une zone dans un temps spécifié.

En équipe, nous avons tous très bien travaillé ensemble. Malgré les circonstances, et seulement la possibilité de nous rencontrer virtuellement, nous en avons tiré le meilleur parti et avons maintenu une communication fréquente. Toutes les pièces et tous les composants ont été donnés à une seule personne, ce qui a rendu un peu plus difficile pour le reste du groupe d'aider à résoudre les problèmes qui survenaient. Nous avons pu résoudre les problèmes qui se sont posés, mais si nous avions tous eu le même matériel, il aurait été un peu plus facile d'aider. Dans l'ensemble, la plus grande contribution à la réalisation de notre projet a été la possibilité pour chaque membre d'avoir la disponibilité et la volonté de se rencontrer et de discuter du projet.

Conseillé: