Afin d’améliorer les prises de vue aérienne avec mon paramoteur RC j’ai voulu créer une nacelle de stabilisation pour ma caméra.
Après de nombreuses recherche sur internet j’ai trouvé un projet simple et intéressant:
Cette nacelle est très simple car elle utilise 2 micros servos et un mixage de type Vtail pour faire bouger la caméra et donc la stabiliser. Comme on le voit elle est très peu encombrante ce qui est un avantage sur l’Oxy 1.0 qui est relativement petit.
Par contre elle nécessite un contrôleur de vol de multirotor, et je me suis aperçu que le projet de base avec une carte KK2 ne permettait pas de faire fonctionner la nacelle seule. Il faut impérativement un ESC et un moteur pour armer la carte de vol. Ce qui n’est pas pour m’arranger.
J’ai donc poursuivit mes recherches…….
C’est là que m’est apparu le projet MultiWii, qui est un projet libre basé sur l’arduino. Il existe des cartes de contrôleur de vol dédiées mais on peut très bien charger le programme sur un simple Arduino.
Pour avoir quelque chose de vraiment petit je me suis tourné vers un clone chinois l’Arduino nano V3 et une carte avec des accéléromètres GY-521 MPU6050. On trouve facilement ces 2 éléments sur ebay pour une poignée d’euros (pour moi 7 euros les 2 cartes livrées de chine en 2 semaines)
Passons donc à la réalisation :
L’avantage du projet MultiWii est outre le fait d’être compatible Arduino, d’avoir une interface graphique permettant de voir les mouvements de la carte MPU6050 et de pouvoir régler tout un tas de paramètres.
J’ai donc commencé par connecter l’arduino et son shield afin de tester cette première fonctionnalité.
Nous avons donc besoin de 4 fils ainsi connectés pour cette étape:
5v arduino -> VCC GY-521
GND arduino -> GND GY-521
A5 arduino -> SCL GY-521
A4 arduino -> SDA GY-521
J’ai utilisé des fils récupérés dans un câble RJ45 pour faire cela.
Télécharger l’environnement de développement de l’Arduino
Télécharger le driver pour les clones chinois à base de chipset CH340
Installer l’IDE de l’arduino et le driver. Décompresser le fichier MultiWii.
Dans le dossier ou a été décompressé l’archive copier le sous dossier “MultiWii” et le coller dans le répertoire “mes documents/Arduino”.
Ouvrir le programme arduino, puis dans “fichier, ouvrir” et naviguer jusqu’au répertoire précédemment copié. Rechercher et ouvrir le fichier MultiWii.ino. Voila ce que ça donne:
Pour la suite je vous propose de regarder cette vidéo très explicite même si elle n’est pas en français:
Concernant la configuration du fichier config.h, afin de réaliser un “Super Simple Gimbal” il faut choisir uniquement “#define GIMBAL” et choisir l’option “SERVO_MIX_TILT” pour que les servos agissent comme avec un mixage V-Tail:
Voici donc mes options:
/*************************************************************************************************/
/***************** ***************/
/**************** SECTION 1 - BASIC SETUP *******/
/***************** ***************/
/*************************************************************************************************/
/************************** The type of multicopter ****************************/
#define GIMBAL
//#define BI
//#define TRI
//#define QUADP
//#define QUADX
/**************************************************************************************/
/***************** boards and sensor definitions ******************/
/**************************************************************************************/
/*************************** Combined IMU Boards ********************************/
/* if you use a specific sensor board:
please submit any correction to this list.
Note from Alex: I only own some boards, for other boards, I'm not sure, the info was gathered via rc forums, be cautious */
//#define FFIMUv1 // first 9DOF+baro board from Jussi, with HMC5843 <- confirmed by Alex
//#define FFIMUv2 // second version of 9DOF+baro board from Jussi, with HMC5883 <- confirmed by Alex
//#define FREEIMUv1 // v0.1 & v0.2 & v0.3 version of 9DOF board from Fabio
//#define FREEIMUv03 // FreeIMU v0.3 and v0.3.1
//#define FREEIMUv035 // FreeIMU v0.3.5 no baro
//#define FREEIMUv035_MS // FreeIMU v0.3.5_MS <- confirmed by Alex
//#define FREEIMUv035_BMP // FreeIMU v0.3.5_BMP
//#define FREEIMUv04 // FreeIMU v0.4 with MPU6050, HMC5883L, MS561101BA <- confirmed by Alex
//#define FREEIMUv043 // same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
//#define NANOWII // the smallest multiwii FC based on MPU6050 + pro micro based proc <- confirmed by Alex
//#define PIPO // 9DOF board from erazz
//#define QUADRINO // full FC board 9DOF+baro board from witespy with BMP085 baro <- confirmed by Alex
//#define QUADRINO_ZOOM // full FC board 9DOF+baro board from witespy second edition
//#define QUADRINO_ZOOM_MS// full FC board 9DOF+baro board from witespy second edition <- confirmed by Alex
//#define ALLINONE // full FC board or standalone 9DOF+baro board from CSG_EU
//#define AEROQUADSHIELDv2
//#define ATAVRSBIN1 // Atmel 9DOF (Contribution by EOSBandi). requires 3.3V power.
//#define SIRIUS // Sirius Navigator IMU <- confirmed by Alex
//#define SIRIUSGPS // Sirius Navigator IMU using external MAG on GPS board <- confirmed by Alex
//#define SIRIUS600 // Sirius Navigator IMU using the WMP for the gyro
//#define SIRIUS_AIR // Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com <- confirmed by Alex
//#define SIRIUS_AIR_GPS // Sirius Navigator IMU 6050 32U4 from MultiWiiCopter.com with GPS/MAG remote located
//#define SIRIUS_MEGAv5_OSD // Paris_Sirius™ ITG3050,BMA280,MS5611,HMC5883,uBlox http://www.Multiwiicopter.com <- confirmed by Alex
//#define MINIWII // Jussi's MiniWii Flight Controller <- confirmed by Alex
//#define MICROWII // MicroWii 10DOF with ATmega32u4, MPU6050, HMC5883L, MS561101BA from http://flyduino.net/
//#define CITRUSv2_1 // CITRUS from qcrc.ca
//#define CHERRY6DOFv1_0
//#define DROTEK_10DOF // Drotek 10DOF with ITG3200, BMA180, HMC5883, BMP085, w or w/o LLC
//#define DROTEK_10DOF_MS // Drotek 10DOF with ITG3200, BMA180, HMC5883, MS5611, LLC
//#define DROTEK_6DOFv2 // Drotek 6DOF v2
//#define DROTEK_6DOF_MPU // Drotek 6DOF with MPU6050
//#define DROTEK_10DOF_MPU//
//#define MONGOOSE1_0 // mongoose 1.0 http://store.ckdevices.com/
//#define CRIUS_LITE // Crius MultiWii Lite
//#define CRIUS_SE // Crius MultiWii SE
//#define CRIUS_SE_v2_0 // Crius MultiWii SE 2.0 with MPU6050, HMC5883 and BMP085
//#define OPENLRSv2MULTI // OpenLRS v2 Multi Rc Receiver board including ITG3205 and ADXL345
//#define BOARD_PROTO_1 // with MPU6050 + HMC5883L + MS baro
//#define BOARD_PROTO_2 // with MPU6050 + slave MAG3110 + MS baro
//#define GY_80 // Chinese 10 DOF with L3G4200D ADXL345 HMC5883L BMP085, LLC
//#define GY_85 // Chinese 9 DOF with ITG3205 ADXL345 HMC5883L LLC
//#define GY_86 // Chinese 10 DOF with MPU6050 HMC5883L MS5611, LLC
//#define GY_88 // Chinese 10 DOF with MPU6050 HMC5883L BMP085, LLC
#define GY_521 // Chinese 6 DOF with MPU6050, LLC
//#define INNOVWORKS_10DOF // with ITG3200, BMA180, HMC5883, BMP085 available here http://www.diymulticopter.com
//#define INNOVWORKS_6DOF // with ITG3200, BMA180 available here http://www.diymulticopter.com
//#define MultiWiiMega // MEGA + MPU6050+HMC5883L+MS5611 available here http://www.diymulticopter.com
//#define PROTO_DIY // 10DOF mega board
//#define IOI_MINI_MULTIWII// www.bambucopter.com
//#define Bobs_6DOF_V1 // BobsQuads 6DOF V1 with ITG3200 & BMA180
//#define Bobs_9DOF_V1 // BobsQuads 9DOF V1 with ITG3200, BMA180 & HMC5883L
//#define Bobs_10DOF_BMP_V1 // BobsQuads 10DOF V1 with ITG3200, BMA180, HMC5883L & BMP180 - BMP180 is software compatible with BMP085
//#define FLYDUINO_MPU // MPU6050 Break Out onboard 3.3V reg
//#define CRIUS_AIO_PRO
/*********************** Cam Stabilisation ***********************/
/* The following lines apply only for a pitch/roll tilt stabilization system. Uncomment the first or second line to activate it */
#define SERVO_MIX_TILT
//#define SERVO_TILT
/* camera trigger function : activated via Rc Options in the GUI, servo output=A2 on promini */
// trigger interval can be changed via (*GUI*) or via AUX channel
//#define CAMTRIG
#define CAM_TIME_HIGH 1000 // the duration of HIGH state servo expressed in ms
Une fois les modifications du fichier config.h effectuées on peut téléverser le programme dans l’arduino en ayant choisi comme type de carte “arduino pro or pro mini” et comme processeur “ATmega 328 5v 16mhz” conformément à ce qui est noté sur la puce de la carte.
En lançant l’interface MultiWiiConf comme sur la première vidéo et en lançant la communication, on peut faire bouger la carte des sensors et voir l’horizon bouger en conséquence.
Voila déjà une bonne première satisfaction !!!
L’étape suivante va être l’installation des servos. J’ai donc connecté 2 micros servos SG90 sur l’arduino:
Fils rouges -> +5v arduino
Fils marrons -> GND arduino
Fils jaunes/oranges -> bornes A0 et A1 arduino
Une fois les servos connectés, on relance l’interface MultiWiiconf afin d’activer la fonction Gimbal. Sur la ligne Gimbal mettre les 4 voies auxiliaires sur medium afin que le montage puisse fonctionner sans récepteur radio connecté (stand alone). Cliquer sur “write” pour enregistrer ces paramètres dans l’arduino.
Une fois cela fait on peut lancer la communication en temps réel entre l’interface et l’arduino en cliquant sur “Start”. Voici ce que cela donne à ce stade:
Il faut ensuite passer aux réglages du montage. Mais pour cela il faut d’abord avoir fabriqué le support de caméra.
Le support:
Pour réaliser le support qui s’adapte dans le backpack XS de mon paramoteur j’ai utilisé du contre plaqué de 5mm, et comme sur la version d’origine des morceaux de durites pour former la rotule centrale et les jonctions entre la plateforme mobile et les servos.
Lors de mes premiers essais en enfichant directement la durite sur le palonnier comme le SSG de base, je n’obtenez pas de mouvements suffisamment amples. J’ai donc bidouillé des palonniers rallongés avec à leurs extrémités des chapes à rotules sur lesquelles viennent se prendre les morceaux de durites. Les débattements sont ainsi meilleurs.
Voici une vidéo du second test, les accéléromètres sont fixés sur la plateforme de base :
Voici ce que cela donne une fois installé sur le backpack XS avec une batterie auxiliaire USB pour alimenter le système:
Laisser un commentaire