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; $fn=128;
fw = 48.3; // fan width g = 10; // magnet gap
h = 4; // base height fw = 48.3; // fan width
r = 5; // edge width
pn = 7; // number of pins h = 4; // base height
ph = 7; // pin height r = 5; // edge width
pa = 20; // pin angle
mw = 10.25; // magnet width pn = 7; // number of pins
ml = 20.25; // magnet length ph = 7; // pin height
mb = 17; // magnet bar width pa = 20; // pin angle
g = 10; // magnet gap
d=fw+r+r; // total diameter mw = 10.25; // magnet width
cl=d-r; // magnet bar length ml = 20.25; // magnet length
a=360/pn; // segment angle 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() { difference() {
union() { union() {
difference() { difference() {
translate([0,0,0]) cylinder(h+ph,d/2,d/2); union() {
translate([0,0,-1]) cylinder(h+ph+2,d/2-r,d/2-r); translate([0,0,0]) cylinder(h+ph,d/2,d/2);
for (i =[0:1:pn-1]) { translate([0,0,0]) scale([e, 1, 1]) cylinder(h,d/2,d/2);
pin(a*i); }
} translate([0,0,-1]) cylinder(h+ph+2,d/2-r,d/2-r);
} for (i =[0:1:pn-1]) {
translate([-cl/2,-mb/2,0]) cube([cl,mb,h]); pin(a*i);
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([-cl/2,-mb/2,0]) cube([cl,mb,h]);
translate([-ml-g/2,-mw/2,-1]) cube([ml,mw,h]); rotate ([0,0,90]) translate([-cl/2,-(mb-mw)/4-d/7,0]) cube([cl,(mb-mw)/2,h]);
translate([g/2,-mw/2,-1]) cube([ml,mw,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) { module pin(r) {
translate([0,0,0.01]) rotate([0,0,r]) hull() { translate([0,0,0.01]) rotate([0,0,r]) hull() {
translate([0,0,h]) cylinder(h+ph,0.1,0.1); translate([0,0,h]) cylinder(h+ph,0.1,0.1);
translate([-d,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() { rotate ([0,0,a-pa])union() {
translate([0,0,h]) cylinder(h+ph,0.1,0.1); translate([0,0,h]) cylinder(h+ph,0.1,0.1);
translate([-d,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 <EEPROM.h>
#include <LiquidCrystal_I2C.h> #include <LiquidCrystal_I2C.h>
@ -9,7 +9,7 @@
int SPEEDINC = 50; // speed increment (rpm) int SPEEDINC = 50; // speed increment (rpm)
int FANMIN = 200; // fan minimum speed (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) int CATCHSTOP = 20000; // catch stop period (ms)
double BOOSTRAMP = 60000; // rise time for boost speed (ms) double BOOSTRAMP = 60000; // rise time for boost speed (ms)
@ -32,6 +32,7 @@ int SINTERVAL = 2000;
int SAVERAGE = 4; // speed measurement average int SAVERAGE = 4; // speed measurement average
int SAVETAG = 1006; // save tag int SAVETAG = 1006; // save tag
int SAVEDELAY = 60000; // EEPROM save delay (ms)
LiquidCrystal_I2C lcd(0x27,16,2); // LCD display (connect to SDA/SCL) LiquidCrystal_I2C lcd(0x27,16,2); // LCD display (connect to SDA/SCL)
@ -81,7 +82,7 @@ void setup() { /////////////////////////////////////////////////////////////////
void loop() { //////////////////////////////////////////////////////////////////////////////////////////// LOOP 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 if (catch0 && MS-catchts0>(long)ctime0*60000) { ////////////////////////////////////// check catch fish state
catchts0=MS;stop0=MS+CATCHSTOP; catchts0=MS;stop0=MS+CATCHSTOP;
@ -228,7 +229,7 @@ void loop() { //////////////////////////////////////////////////////////////////
bdelay=0; bdelay=0;
} }
bts=MS; SAVE++;bts=MS;
} }
if (digitalRead(SW)) bprocess=0; if (digitalRead(SW)) bprocess=0;