From 63168cbf0dd8d4d4a9a7566e43f35fcae79ce691 Mon Sep 17 00:00:00 2001 From: Thomas Buck Date: Thu, 23 Aug 2018 20:26:48 +0200 Subject: [PATCH] Initial commit --- .gitignore | 1 + Copter/.gitignore | 1 + Copter/mgh-quad.scad | 126 +++++++++++++++++++++++++++++++++++++++++++ README.md | 6 +++ 4 files changed, 134 insertions(+) create mode 100644 .gitignore create mode 100644 Copter/.gitignore create mode 100644 Copter/mgh-quad.scad create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/Copter/.gitignore b/Copter/.gitignore new file mode 100644 index 0000000..1567411 --- /dev/null +++ b/Copter/.gitignore @@ -0,0 +1 @@ +*.stl diff --git a/Copter/mgh-quad.scad b/Copter/mgh-quad.scad new file mode 100644 index 0000000..1efc27f --- /dev/null +++ b/Copter/mgh-quad.scad @@ -0,0 +1,126 @@ +//parametric micro quadcopter frame for lulfro and others +//Patrick Sapinski +//v2 +//01/06/16 +//https://www.thingiverse.com/thing:843597 + +motorD = 9; +motorZ = 22; +shellThickness = 3.5; +armW = 6; +m2mDist = 100; +batteryWidth = 30.5; +quadThickness = 5; + +propLength = 70; + +module makeArmHollow() { + translate([m2mDist/2,0,0]) + union(){ + + //hollow out the motor holder + sphere(r=motorD/2); + cylinder(h = motorZ/2, r=motorD/2); + + //hollow out the groove for the wire in the motor holder + translate([-shellThickness,0,-shellThickness]) + cube([m2mDist,armW - shellThickness,motorZ],center=true); + + //??? + translate([-shellThickness*2,-armW/2 + shellThickness/2,-motorZ/2]) + cube([motorZ,armW - shellThickness,motorZ + shellThickness]); + + } +} + +difference() { + union(){ + + //translate([15,5,4]) rotate([90,0,0]) linear_extrude(height = 2) polygon(points=[[0,0],[10,0],[12,7],[0,7]]); + //translate([15,-3,4]) rotate([90,0,0]) linear_extrude(height = 2) polygon(points=[[0,0],[10,0],[12,7],[0,7]]); + + //create each arm + rotate([0,0,45]){ + for (i = [0 : 3]) + rotate([0,0,i * 90]) + translate([m2mDist/2,0,0]) + //create the motor holder and arm + union(){ + translate([-m2mDist/2 + motorD/2,-armW/2,motorZ/2 - armW]) + cube([m2mDist/2,armW,armW]); + cylinder(h = motorZ/2, r=motorD/2 + shellThickness/2); + sphere(r=motorD/2 + shellThickness/2); + //prop preview + %rotate([0,0,45]) cylinder(d=propLength, h=5); + } + } + + //create the FC cube + translate([0,0,motorZ/2 - armW/2]) + cube([batteryWidth + shellThickness,batteryWidth + shellThickness,armW],center=true); + + //parabolic arms + translate([0,0,8]) + difference() { + cube([m2mDist-20,m2mDist-20,armW],center=true); + for (i = [0 : 3]) + rotate([0,0,i * 90]) + translate([m2mDist - 35,0,-10]) + oval(m2mDist/2,m2mDist/2.8, 20); + } + } + + //create each arms hollow area + rotate([0,0,45]){ + rotate([0,0,90]) makeArmHollow(); + rotate([0,0,180]) makeArmHollow(); + rotate([0,0,270]) makeArmHollow(); + rotate([0,0,360]) makeArmHollow(); + } + + translate([0,0,motorZ/2 - armW/2 - motorZ/2 + shellThickness/2]) + union(){ + //hollow out some grooves in the arms for the wires + rotate([0,0,45]) + cube([armW - shellThickness,m2mDist/2,motorZ/1.5],center=true); + rotate([0,0,45]) + cube([m2mDist/2,armW - shellThickness,motorZ/1.5],center=true); + } + + //hollow out the FC hole + translate([0,0,motorZ/2 - armW/2 - shellThickness/2]) + cube([batteryWidth,batteryWidth,armW],center=true); + + //drunk code below + b = 11; + h = 11; + w = 4; + rotate(a=[0,0,45]) + translate([2,2,motorZ/2]) + linear_extrude(height = w, center = true, convexity = 10, twist = 0) + polygon(points=[[0,0],[h,0],[0,b]], paths=[[0,1,2]]); + + rotate(a=[0,0,45 + 180]) + translate([2,2,motorZ/2]) + linear_extrude(height = w, center = true, convexity = 10, twist = 0) + polygon(points=[[0,0],[h,0],[0,b]], paths=[[0,1,2]]); + + rotate(a=[0,0,45 + 90]) + translate([2,2,motorZ/2]) + linear_extrude(height = w, center = true, convexity = 10, twist = 0) + polygon(points=[[0,0],[h,0],[0,b]], paths=[[0,1,2]]); + + rotate(a=[0,0,45 + 270]) + translate([2,2,motorZ/2]) + linear_extrude(height = w, center = true, convexity = 10, twist = 0) + polygon(points=[[0,0],[h,0],[0,b]], paths=[[0,1,2]]); + + +} + +module oval(w,h, height, center = false) { + scale([1, h/w, 1]) cylinder(h=height, r=w, center=center); +} + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..e712bb8 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# Toolbox-Bodensee DIY RC Transmitter & Brushed Copter + +## MGH-Projekt (Mehrgenerationenhaus) + +The quadcopter frame design is taken from / based on this [Parametric Brushed Micro Quadcopter](https://www.thingiverse.com/thing:843597) by DrKow. +