First TestBed
Working prototype. Still needs full case, fan and current limiter.
This commit is contained in:
74
bobbin.scad
74
bobbin.scad
@@ -2,6 +2,8 @@
|
||||
include <BOSL/constants.scad>
|
||||
use <BOSL/transforms.scad>
|
||||
use <BOSL/joiners.scad>
|
||||
use <./core_uy1658-60.scad>
|
||||
use <./legs.scad>
|
||||
|
||||
/* [Options] */
|
||||
|
||||
@@ -10,6 +12,8 @@ LegDiameter=16;
|
||||
BoltDiameter=7.06;
|
||||
CoreGap=0;
|
||||
NumberCoils=10;
|
||||
YokeHeight = 12.14;
|
||||
YokeLen=28.00;
|
||||
|
||||
/* [Render Options] */
|
||||
render_fs=.1;
|
||||
@@ -40,7 +44,26 @@ module core_uy1658(ld=16, ll=29, bz=12.14, w=60) {
|
||||
}
|
||||
}
|
||||
|
||||
module bobbin(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4, sn=NumberCoils+1, st=.6, sd=50) {
|
||||
module bobbin_joiners(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4, sn=NumberCoils+1, st=.6, sd=50, plug=true, clear=false) {
|
||||
bl=2*(ll-lb) + tg;
|
||||
conThick = 12;
|
||||
conWidth = 15;
|
||||
inner=ld+2*lc;
|
||||
pinLen = 2* conThick + bl;
|
||||
zflip_copy()
|
||||
up((pinLen-conThick)/2) {
|
||||
xflip() {
|
||||
if (clear)
|
||||
half_joiner_clear(h=conWidth, w=conThick,l=conThick/2,orient=ORIENT_X_90);
|
||||
else if (plug)
|
||||
half_joiner(h=conWidth, w=conThick,l=conThick/2,orient=ORIENT_X_90);
|
||||
else
|
||||
half_joiner2(h=conWidth, w=conThick,l=conThick/2,orient=ORIENT_X_90);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module bobbin(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4, sn=NumberCoils+1, st=.6, sd=50, orient=ORIENT_X, align=V_CENTER) {
|
||||
bl=2*(ll-lb) + tg;
|
||||
inner=ld+2*lc;
|
||||
outer=inner+2;
|
||||
@@ -50,37 +73,34 @@ module bobbin(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4,
|
||||
conThick = 12;
|
||||
conWidth = 15;
|
||||
pinLen = 2* conThick + bl;
|
||||
difference() {
|
||||
union() {
|
||||
cylinder(d=outer,h=bl, center=true);
|
||||
zspread(n=sn,l=bl-st) {
|
||||
cylinder(d=sd,h=st,center=true);
|
||||
left(sd/4)cube([sd/2,sd,st], center=true);
|
||||
orient_and_align([sd,sd,bl], orient, align, orig_orient=ORIENT_X) {
|
||||
difference() {
|
||||
union() {
|
||||
cylinder(d=outer,h=bl, center=true);
|
||||
zspread(n=sn,l=bl-st) {
|
||||
cylinder(d=sd,h=st,center=true);
|
||||
left(sd/4)cube([sd/2,sd,st], center=true);
|
||||
}
|
||||
// connector
|
||||
left(inner/2+5) bobbin_joiners();
|
||||
}
|
||||
// connector
|
||||
left(inner/2+(conNeck+conHead)/2) zflip_copy()
|
||||
down(conThick/2)
|
||||
up((pinLen)/2) {
|
||||
xflip() half_joiner(h=conWidth, w=conThick,l=conThick/2,orient=ORIENT_X_90);
|
||||
}
|
||||
cylinder(d=inner,h=bl+2*conThick+2,center=true);
|
||||
// Wire Channels
|
||||
yspread(n=2, l=5+sd/2 )
|
||||
left(sd/2) cylinder(d=2,h=bl+2,center=true);
|
||||
}
|
||||
left(2*lc+inner/2) intersection() {
|
||||
cylinder(d=6,h=pinLen, center=true);
|
||||
right(2*lc+inner/2) cylinder(d=inner, h=pinLen+2, center=true);
|
||||
}
|
||||
cylinder(d=inner,h=bl+2*conThick+2,center=true);
|
||||
// Wire Channels
|
||||
yspread(n=2, l=5+sd/2 )
|
||||
left(sd/2) cylinder(d=2,h=bl+2,center=true);
|
||||
}
|
||||
left(2*lc+inner/2) intersection() {
|
||||
cylinder(d=6,h=pinLen, center=true);
|
||||
right(2*lc+inner/2) cylinder(d=inner, h=pinLen+2, center=true);
|
||||
}
|
||||
echo("Coil_ID = ", outer);
|
||||
echo("Coil_len = ", bl-sn*st);
|
||||
}
|
||||
|
||||
rotate([0,0,0]) {
|
||||
left(20)bobbin(sn=2, sd=26);
|
||||
right(20) bobbin();
|
||||
}
|
||||
|
||||
|
||||
legx = (YokeLen + LegDiameter)/2;
|
||||
right(legx) bobbin(sn=2, sd=26, orient=ORIENT_XNEG);
|
||||
left(legx) bobbin();
|
||||
%core(gap=0);
|
||||
//left(20+20) rotate([90,0,0]) snaps();
|
||||
//core_uy1658();
|
||||
|
||||
Reference in New Issue
Block a user