// motormount.stl // written by Mark VandeWettering (@brainwagon) // // A nice little motor mount I designed to hold the motor for the // Axon, a pusher-prop RC airplane designed by Ed of Experimental Airlines. // // You can see the Axon construction video at: // https://www.youtube.com/watch?v=bta80gyHK7Q // // I had access to a Replicator 2, so I decided that I'd make a custom motor // mount. The idea is to cut a 6" piece of 5/8" square stock (which I got from // Orchard Supply) and this fits over the end. I then used mounting tape to // hold the stick up against the top section of the fuselage. The size and // bolt pattern are designed to hold the motor that Ed suggested: // // http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=12919 // // It has two sets of bolt holes for M3.5 hardware, 6mm length should be fine. // the horizontal set are set 19mm apart, the vertical are separated by 16mm. // There is a hole in the base which takes a #4 wood screw to hold the mount // on the stick. It's sized to provide plenty of clearance for a 6x4 prop. // The variable "slop" below was needed to give a little extra clearance (half // a mm) in the size of the opening for the stick when I printed this: it's a // snug fit on my print with the Replicator 2. You might need to adjust and/or // sand the stick down to get it to fit. // // I printed these with the face of both plates face down, and with supports. // // It's my first OpenSCAD model that I've uploaded to Thingiverse, so be kind. // It carries my personal guarantee: if it breaks in half, you get to keep both // halves. slop = 0.5 ; sz = 5 * 25.4 / 8 + slop; len = 7 * 25.4 ; $fn = 16 ; module stick () { cube([sz, len, sz], center=true) ; } module cap () { difference() { translate([0, 3.25*25.4, 0]) minkowski() { cube([sz, 25.4/2, sz], center=true) ; sphere(25.4/8.0) ; } stick() ; rotate([90, 0, 0]) cylinder(r=25.4/16, h=1000, center=true, $fn=32) ; } } th = 25.4 / 8 ; module plate() { difference() { cylinder(r=27.7/2, h=th, center=true, $fn=64) ; cylinder(r=5, h=100, center=true) ; translate([ 19/2., 0, 0]) cylinder(r=1.5, h=100, center=true, $fn=16) ; translate([-19/2., 0, 0]) cylinder(r=1.5, h=100, center=true, $fn=16) ; translate([0, 16/2, 0]) cylinder(r=1.5, h=100, center=true, $fn=16) ; translate([0, -16/2, 0]) cylinder(r=1.5, h=100, center=true, $fn=16) ; } } module x() { intersection() { hull() motormount() ; union() { translate([0, 3.25*25.4, 1.0*25.4]) { hull() { translate([ 6, 0, 0]) cube([th/2, 25.4/2, 25.4+27.7], center=true) ; translate([ 6+th/2, 0, -3*25.4/4]) cube([th/2, 25.4/2, 25.4], center=true) ; } hull() { translate([-6, 0, 0]) cube([th/2, 25.4/2, 25.4+27.7], center=true) ; translate([-6-th/2, 0, -3*25.4/4]) cube([th/2, 25.4/2, 25.4], center=true) ; } } } } } module motormount() { cap() ; translate([0, 3.45*25.4, 1.75*25.4]) rotate([95, 0, 0]) plate() ; } union() { difference() { x() ; stick() ; } motormount() ; }