Les moteurs
1er essai motorisation et gouvernails
Premières réflexions sur la motorisation de la S100 Schnellboot 1/35ieme ITALERI
3 Brushless KV1450 avec 2 ESC MYSTERY 30A pour les 2 moteurs extérieurs qui sont mis en route a partir de 90% de gaz,un ESC MODELGRAF B-4715-B, avec marche arrière pour le moteur central, les gouvernails seront actionnés par un servo chacun, et l'effet Lurssen entrera en action lui aussi à 90% de gaz
Le tout est piloté par une carte Nano arduino
La vidéo des tests
le code Arduino
/*================ programme S100 RECEPTEUR/EMETTEUR HITEC ============== 17/10/2016 Fonctionne avec une carte Arduino NANO V3. alimentation exter Moteurs: _Sortie voie3 (variateur) du rècepteur HITEC cable double => 1 sur entree A0 de l'arduino (seulement le signal et la masse,retirer le + de la fiche), 2 vers le variateur ESC_Milieu _les 2 variateurs exterieurs sont branches avec un cable double sur la sortie 4 de l Arduino(seulement le signal et la masse,retirer le + de la fiche) Gouvernail: _Sortie voie4 (gouvernail) du rècepteur HITEC cable double , 1 sur entree A1 de l'Arduino(seulement le signal et la masse,retirer le + de la fiche), 2 vers servo gouvernail _Milieu _les 2 gouvernails exterieurs sont branches sur la sortie 2 & 3 de l'arduino =================================================*/ #include <SoftRcPulseOut.h> // Appel libraire <SoftRcPulseOut.h> SoftRcPulseOut ESC_Exter; // Declare les 2 variateurs exterieur pin D2 SoftRcPulseOut SERVO_G; // Declare le SERVO gouvernail gauche pin D3 SoftRcPulseOut SERVO_D; // Declare le SERVO gouvernail Droit pin D4 #define Val_Min 1100 // valeur mini de course ESC #define Val_Max 1700 // valeur maxi de course ESC int Pos_Min = 50; // valeur mini de course des SERVOs int Pos_Max = 120; // valeur maxi de course des SERVOs #define SR3_MIN 1140 // impulsion mini sur voie 3 Hitec (ESC) #define SR3_MAX 1750 // impulsion maxi sur voie 3 Hitec ((ESC)) #define SR4_MIN 1140 // impulsion mini sur voie 2 Hitec (GOUVERNAIL) #define SR4_MAX 1880 // impulsion maxi sur voie 2 Hitec (GOUVERNAIL) #define ESC_ON 1600 // Valeur impulsion pour mise en route des variateurs & effet lurssen (ESC) #define Lurssen 18 // Valeur de deport des gouvernails effet Lurssen int SR3 = A0; // Declare la variable Signal Recepteur voie 3 (moteurs)sur le pin A0. La voie recepteur sera branche ici int SR4 = A1; // Declare la variable Signal Recepteur voie 4 (gouvernail)sur le pin A1. La voie recepteur sera branche ici int Val_SR3 = 1415; // Declare la variable pour position du neutre du variateur milieu int Val_SR4 = 1500; // Declare la variable pour position du neutre du gouvernail milieu int Puissance= 0; // Declare la variable puissance du variateur int Angle_Servo=0 ; // Declare les variables pour les 2 SERVOs exter //========================================================== void setup() { pinMode(SR3, INPUT); // Declare la variable Signal Recepteur voie 3 sur le pin A0 en entree pinMode(SR4, INPUT); // Declare la variable Signal Recepteur voie 4 sur le pin A1 en entree ESC_Exter.attach(4); // Attache les 2 variateurs exter au pin 2 avec un cable double (seulement le signal et la masse) SERVO_G.attach(2); // Attache le SERVO_G au pin 3 SERVO_D.attach(3); // Attache le SERVO_D au pin 4 Serial.begin(9600); // Ouvre le port serie, a 9600 bps } //============================================================ void loop() { //********* MOTEURS et GOUVERNAILS:lire donnees venant du recepteur voie 3 & voie 4 ********* Val_SR3 = pulseIn(SR3, HIGH); // Donne a la variable Val_SR3 (moteur) la valeur lue sur le pin A0 Val_SR4 = pulseIn(SR4, HIGH); // Donne a la variable Val_SR4 (gouvernail) la valeur lue sur le pin A1 if ((Val_SR3 >= 1000 && Val_SR3 <= 2000) && (Val_SR4 >= 1000 && Val_SR4 <= 2000)){ // si recois des impultions comprisent entre 1000 et 2000 sur voie3 & 4, pin A0 & A1 Puissance = map(Val_SR3, SR3_MIN, SR3_MAX, Val_Min, Val_Max); // Calibre des valeurs de Val_SR3 pour le variateur Puissance = constrain(Puissance, Val_Min, Val_Max); // Fixe les valeurs mini et maxi du variateur Angle_Servo = map(Val_SR4, SR4_MIN, SR4_MAX, Pos_Max, Pos_Min); // Calibre des valeurs de (Angle_Servo) pour les gouvernals Angle_Servo = constrain(Angle_Servo, Pos_Min, Pos_Max); // limite les valeurs pour les SERVOs dans la plage acceptee Serial.print(Val_SR3); // Ecrit sur l'ecran Val_Signal du recepteur Serial.print(" = "); // Ecrit sur l'ecran " = " Serial.print(Puissance); // Ecrit sur l'ecran angle correspondant du servo Serial.print(" || "); Serial.print(Val_SR4); // Ecrit sur l'ecran Val_Signal du recepteur Serial.print(" = "); // Ecrit sur l'ecran " = " Serial.println(Angle_Servo); // Ecrit sur l'ecran angle correspondant du servo delay (50); // Attente 1 seconde //-------------- pleine puissance aux variateurs exter avec effet Lurssen // Si manche >= 1600 donne pleine puissance aux variateurs exter if (Puissance >= ESC_ON){ ESC_Exter.write(Val_Max); // Vitesse maximum SERVO_G.write(Angle_Servo + Lurssen); // Positionne le SERVO_G avec effet Lurssen SERVO_D.write(Angle_Servo - Lurssen); // Positionne le SERVO_D avec effet Lurssen delay(5); SoftRcPulseOut::refresh(); //rafraichissement. } //-------------- puissance 0 aux variateurs exter et l effet Lurssen if (Puissance <= ESC_ON) { ESC_Exter.write(Val_Min); // Vitesse 0 SERVO_G.write(Angle_Servo); // Positionne le SERVO_G SERVO_D.write(Angle_Servo); // Positionne le SERVO_D delay(5); SoftRcPulseOut::refresh(); //rafraichissement. } } //*************** si plus de reception *************** else { // si ne recois plus des impultions comprisent entre 1000 et 2000 sur voie3 & 4, pin A0 & A1 ESC_Exter.write(Val_Min); // Vitesse 0 SERVO_G.write(70); // Positionne le SERVO_G au milieu SERVO_D.write(70); // Positionne le SERVO_D au milieu delay(5); SoftRcPulseOut::refresh(); //rafraichissement. Serial.println("plus de signal"); // Ecrit sur l’écran Val_Signal du recepteur } //****************** FIN MOTEURS & GOUVERNAILS *************************** } //=================FIN DU PROGRAMME =========================
Etude du support moteurs 03/2014
Juin 2013
Fabrication du support moteur, et montage a blanc, les 3 moteurs seront en prise direct , ils sont montés sur la plaque avec des joints pour les vibrations et rattraper les alignements, de toute façon,j'ai prévu si j'avais vraiment des problemes de frottements ou d'alignement des cardans