Thrust vectoring Mk II

I had a chat with Serge, consulting with him our progress in this space and he came with some interesting ideas. But let’s recap a bit first.

This is our cylindrical vector thrust exhaust Mk I.

Also after hearing Risa calling Hairdryer I spent few hours in OpenSCAD and replaced that central cylinder with a sphere.

I am adding that code here just for reference.

use <ShortCuts.scad>
use <Naca4.scad>

//Sphere-based vector thrust exhaust

module outer_solid(dm, size, diff) {
  cylinder(size+diff+10, dm-7, dm-7, center = false);
  sphere(dm);
}

module outer_part() {
  difference() {
    union() {
      difference() {
        outer_solid(40, 55, 0);
        outer_solid(38.5, 55, 2);
      }
    }
    
    //outlet cutout
    difference() {
      Tz(-39)
      scale([1,3,0.555])
      sphere(60);
      //axel clamp meat
      Rx(90)Tz(39.2)
      cylinder(4, 8, 8, center = true);
      //axel clamp meat
      Rx(90)Tz(-39.2)
      cylinder(4, 8, 8, center = true);
    }
    
    //axel holes
    Rx(90)Tz(39)
    cylinder(2, 6.2, 6.1, center = true);
    Rx(90)Tz(-39)
    cylinder(2, 6.1, 6.2, center = true);
  }
}

module inner_solid(dm, diff) {
  //main bowl
  sphere(dm);
  //exhoust
  Rx(180)Tz(5)
  scale([0.9,1.4,1])
  cylinder(65+diff/2, 27-diff/2, 20-diff/2, center = false);
}

module axel(tz, flexIn, flexOut, noSlide) {
  difference() {
    Rx(90)Tz(tz)
    cylinder(2, flexIn, flexOut, center = true);

    r = tz > 0 ? -8 : 8;
    tz2 = tz > 0 ? tz+7.8 : tz-7.8;

    if (noSlide) {
      //servo gear hole
      Rx(90)
      Tz(tz-1) {
        difference() {
          cylinder(9, 2.6, 2.6, center = true);
          n=12;
          for(w=[0:360/n:359])
          Rz(w)
          Tx(2.7)
          cylinder(9.2, 0.4, 0.4, center = true);
        }
      }
    } else {
      //slide
      T(0, -tz2, 0)
      Rx(r)
      cube(15, center = true);
    }
  }
}

module inner_part() {
  //inner cylinder
  Rz(180)
  difference() {
    inner_solid(38.2, 0);
    inner_solid(36.7, 2);
    T(0, 0, -120)
    cube(60, center = true);
    //inlet cutout
    Tz(31)
    scale([0.62,0.6,1])
    sphere(60);
    
    //Upper Axel cutout
    Rx(90)Tz(-39.5)
    cylinder(4.5, 2.8, 2.8, center = true);
  }
  
  //axels
  axel( 38.3, 6.1, 6, true); //upper axel
  axel(-38.3, 6.1, 6, false); //bottom axel
}

I did a print in 1:2 not to loose too much of material and it worked out pretty well again.

However, Serge came with an idea that having a cone exhaust like this – forming a jet – might cost us too much on overall efficiency. So I’ve designed something else!

use <ShortCuts.scad>
use <Naca4.scad>

//Rudder-based vector thrust exhaust
module servo_gear_hole(dm) {
  T(dm-1,0,dm)Ry(90) {
    T(0,0,-4)
    cylinder(6, 1, 5, center = true);
    difference() {
      cylinder(4, 10, 10, center = true);
      //servo gear hole
      Tz(-1) {
        difference() {
          cylinder(9, 2.5, 2.5, center = true);
          n=12;
          for(w=[0:360/n:359])
          Rz(w)
          Tx(2.5)
          cylinder(9.2, 0.4, 0.4, center = true);
        }
      }
    }
  }
}

module bottom_axel_hole(dm) {
  T(-dm+1,0,dm)Ry(270) {
    T(0,0,-4)
    cylinder(6, 1, 5, center = true);
    cylinder(2, 10, 10, center = true);
  }
}

module cone(dm, height, diff) {
  //left tube
  T(0,60,-height)Rx(31)
  cylinder(height+18+diff, dm-diff, dm-diff, center = false);

  //right tube
  T(0,-60,-height)Rx(-31)
  cylinder(height+18+diff, dm-diff, dm-diff, center = false);

  //central part
  Tz(-60)
  scale([dm*2-diff*7,1.5,1.5])
  R(0,270,0)
  circle(dm+diff/2,$fn=3);
}

module body(dm, wall) {
  height = 100;
  Tz(height/2)
  intersection() {
    difference() {
      union() {
        Tz(height/2-25)
        cylinder(height/2+20, dm, dm, center = true);
        cone(dm, height, 0);
      }
      cylinder(height+wall+20, dm-wall, dm-wall, center = true);
      cone(dm, height, wall); 
    }
    //nice conic trim
    scale([2,2,2])
    sphere(dm);
  }
}

module rudder(dm, wall) {
  $fn=50;
  //main plange
  Tz(dm)
  R(0,90,90)
  minkowski() {
    cube([30,1,1]);
    cylinder(r=dm-wall*1.5, h=2, center=true);
  }

  //reinforcement 1
  Ry(90)T(-dm,0,dm/3)
  scale([5,1,1])
  cylinder(2, 7, 7, center = true);

  //reinforcement 2
  Ry(90)T(-dm,0,-dm/3)
  scale([5,1,1])
  cylinder(2, 7, 7, center = true);
}

$fn = 100;

dm = 42;
wall = 1.5;
body(dm, wall);
servo_gear_hole(dm);
bottom_axel_hole(dm);
rudder(dm, wall);

What OpenSCAD translates into this beauty:

And then I set it to move 😉

… and now we are ready to do some new printing! 🙂

3 thoughts on “Thrust vectoring Mk II

  1. Hummm… I think with this system you loose the JET effect, you loose the trust advantage of the jet.

    ……………………………….. -Sent by “either” Robin or Serge. -Mail may be from; acrohc@me.com, acrohc@iCloud.com or acrohc@yahoo.com They are all valid. -Also, any bad grammar or spelling is due to self correcting!!!

    >

    1. Darn, we’ll need to plan some testing around it! Let’s print all of those in the same size, connect those to our EDF unit and get some data 🙂

Leave a Reply