bug fixes, updated cad file

This commit is contained in:
Michael Wesemann 2019-03-04 09:05:37 +01:00
parent 56af221014
commit f8f85e70a8
6 changed files with 42703 additions and 5395 deletions

View File

@ -1,47 +1,52 @@
$fn=128;
fw = 48.3; // fan width
g = 10; // magnet gap
h = 4; // base height
r = 5; // edge width
fw = 48.3; // fan width
pn = 7; // number of pins
ph = 7; // pin height
pa = 20; // pin angle
h = 4; // base height
r = 5; // edge width
mw = 10.25; // magnet width
ml = 20.25; // magnet length
mb = 17; // magnet bar width
g = 10; // magnet gap
pn = 7; // number of pins
ph = 7; // pin height
pa = 20; // pin angle
d=fw+r+r; // total diameter
cl=d-r; // magnet bar length
a=360/pn; // segment angle
mw = 10.25; // magnet width
ml = 20.25; // magnet length
mb = 17; // magnet bar width
d=fw+r+r; // total diameter
cl=d-r; // magnet bar length
a=360/pn; // segment angle
e=(d+g-10)/d; // elliptic scale factor
difference() {
union() {
difference() {
translate([0,0,0]) cylinder(h+ph,d/2,d/2);
translate([0,0,-1]) cylinder(h+ph+2,d/2-r,d/2-r);
for (i =[0:1:pn-1]) {
pin(a*i);
}
}
translate([-cl/2,-mb/2,0]) cube([cl,mb,h]);
rotate ([0,0,90]) translate([-cl/2,-(mb-mw)/4-d/7,0]) cube([cl,(mb-mw)/2,h]);
rotate ([0,0,90]) translate([-cl/2,-(mb-mw)/4+d/7,0]) cube([cl,(mb-mw)/2,h]);
}
translate([-ml-g/2,-mw/2,-1]) cube([ml,mw,h]);
translate([g/2,-mw/2,-1]) cube([ml,mw,h]);
union() {
difference() {
union() {
translate([0,0,0]) cylinder(h+ph,d/2,d/2);
translate([0,0,0]) scale([e, 1, 1]) cylinder(h,d/2,d/2);
}
translate([0,0,-1]) cylinder(h+ph+2,d/2-r,d/2-r);
for (i =[0:1:pn-1]) {
pin(a*i);
}
}
translate([-cl/2,-mb/2,0]) cube([cl,mb,h]);
rotate ([0,0,90]) translate([-cl/2,-(mb-mw)/4-d/7,0]) cube([cl,(mb-mw)/2,h]);
rotate ([0,0,90]) translate([-cl/2,-(mb-mw)/4+d/7,0]) cube([cl,(mb-mw)/2,h]);
}
translate([-ml-g/2,-mw/2,-1]) cube([ml,mw,h]);
translate([g/2,-mw/2,-1]) cube([ml,mw,h]);
}
module pin(r) {
translate([0,0,0.01]) rotate([0,0,r]) hull() {
translate([0,0,h]) cylinder(h+ph,0.1,0.1);
translate([-d,0,h]) cylinder(h+ph,0.1,0.1);
rotate ([0,0,a-pa])union() {
translate([0,0,h]) cylinder(h+ph,0.1,0.1);
translate([-d,0,h]) cylinder(h+ph,0.1,0.1);
}
}
translate([0,0,0.01]) rotate([0,0,r]) hull() {
translate([0,0,h]) cylinder(h+ph,0.1,0.1);
translate([-d,0,h]) cylinder(h+ph,0.1,0.1);
rotate ([0,0,a-pa])union() {
translate([0,0,h]) cylinder(h+ph,0.1,0.1);
translate([-d,0,h]) cylinder(h+ph,0.1,0.1);
}
}
}

File diff suppressed because it is too large Load Diff

12434
cad/magnetmount20.stl Normal file

File diff suppressed because it is too large Load Diff

12434
cad/magnetmount30.stl Normal file

File diff suppressed because it is too large Load Diff

12434
cad/magnetmount40.stl Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
/////////////////////////////////////////////////////////////////////////////// Stir Control (mwx'2019, v1.3.2)
/////////////////////////////////////////////////////////////////////////////// Stir Control (mwx'2019, v1.3.3)
#include <EEPROM.h>
#include <LiquidCrystal_I2C.h>
@ -9,7 +9,7 @@
int SPEEDINC = 50; // speed increment (rpm)
int FANMIN = 200; // fan minimum speed (rpm)
int FANMAX = 1000; // fan maximum speed (rpm)
int FANMAX = 1600; // fan maximum speed (rpm)
int CATCHSTOP = 20000; // catch stop period (ms)
double BOOSTRAMP = 60000; // rise time for boost speed (ms)
@ -32,6 +32,7 @@ int SINTERVAL = 2000;
int SAVERAGE = 4; // speed measurement average
int SAVETAG = 1006; // save tag
int SAVEDELAY = 60000; // EEPROM save delay (ms)
LiquidCrystal_I2C lcd(0x27,16,2); // LCD display (connect to SDA/SCL)
@ -81,7 +82,7 @@ void setup() { /////////////////////////////////////////////////////////////////
void loop() { //////////////////////////////////////////////////////////////////////////////////////////// LOOP
if (SAVE>0 && MS-savets>60000) {;save();SAVE=0;savets=MS;} ////////////////////////// save settings if needed
if (SAVE>0 && MS-savets>SAVEDELAY) {;save();SAVE=0;savets=MS;} ////////////////////// save settings if needed
if (catch0 && MS-catchts0>(long)ctime0*60000) { ////////////////////////////////////// check catch fish state
catchts0=MS;stop0=MS+CATCHSTOP;
@ -228,7 +229,7 @@ void loop() { //////////////////////////////////////////////////////////////////
bdelay=0;
}
bts=MS;
SAVE++;bts=MS;
}
if (digitalRead(SW)) bprocess=0;