4 Commits
2023 ... master

Author SHA1 Message Date
b9f2c84e92 Fixed json config
JSON config was for 2 primaries
2026-03-18 17:35:44 -04:00
cee9756dd7 Bobbin Update
Broke out parameters and defined primary/secondary as json
presets.
2026-03-18 15:38:59 -04:00
bf286545ab Fix YokeHeight Variable
Fixed YokeHeight Variable

Also broke out wire channel diameter.
2026-03-18 15:24:59 -04:00
939d87e97d Remove Duplicate Code
bobbin.scad had code from core.
2026-03-18 13:50:56 -04:00
2 changed files with 42 additions and 22 deletions

31
bobbin.json Normal file
View File

@@ -0,0 +1,31 @@
{
"fileFormatVersion": "1",
"parameterSets": {
"Secondary": {
"CoreGap": "0",
"LegDiameter": "16",
"LegLength": "30.399999999999999",
"NumberCoils": "10",
"ShieldDiameter": "44",
"ShieldThick": ".6",
"YokeHeight": "12.140000000000001",
"YokeLen": "28",
"render_fa": "0.40000000000000002",
"render_fn": "0",
"render_fs": "0.40000000000000002"
},
"Primary": {
"CoreGap": "0",
"LegDiameter": "16",
"LegLength": "30.399999999999999",
"NumberCoils": "1",
"ShieldDiameter": "26",
"ShieldThick": "2",
"YokeHeight": "12.140000000000001",
"YokeLen": "28",
"render_fa": "0.40000000000000002",
"render_fn": "0",
"render_fs": "0.40000000000000002"
}
}
}

View File

@@ -5,13 +5,17 @@ use <BOSL/joiners.scad>
use <./core_uy1658-60.scad> use <./core_uy1658-60.scad>
use <./legs.scad> use <./legs.scad>
/* [Options] */ /* [Coil(s)] */
ShieldDiameter=44;
ShieldThick=.6;
NumberCoils=10;
/* [Core] */
LegLength=30.40; LegLength=30.40;
LegDiameter=16; LegDiameter=16;
BoltDiameter=7.06;
CoreGap=0; CoreGap=0;
NumberCoils=10;
YokeHeight = 12.14; YokeHeight = 12.14;
YokeLen=28.00; YokeLen=28.00;
@@ -29,22 +33,7 @@ $fa= ($preview) ? $fa : render_fa;
// Bobbin // Bobbin
Bobbin_Length=LegLength+CoreGap/2; Bobbin_Length=LegLength+CoreGap/2;
module core_leg(d=LegDiameter, l=LegLength, bd=BoltDiameter) { module bobbin_joiners(ld=LegDiameter, ll=LegLength, lb=YokeHeight, tg=CoreGap, lc=.15, t=.4, sn=NumberCoils+1, st=.6, sd=50, plug=true, clear=false) {
difference() {
cylinder(d=d, h=l);
down(1) left(d/2) cylinder(d=bd, h=l+2);
}
}
module core_uy1658(ld=16, ll=29, bz=12.14, w=60) {
echo("Leg Len:", ll-bz);
xflip_copy() {
left(w/2) core_leg(d=ld, l=ll);
fwd(ld/2) cube([w/2,16,bz]);
}
}
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; bl=2*(ll-lb) + tg;
conThick = 12; conThick = 12;
conWidth = 15; conWidth = 15;
@@ -63,7 +52,7 @@ module bobbin_joiners(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15
} }
} }
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) { module bobbin(ld=LegDiameter, ll=LegLength, lb=YokeHeight, tg=CoreGap, lc=.15, t=.4, sn=NumberCoils+1, st=ShieldThick, sd=ShieldDiameter, wcd=3, orient=ORIENT_X, align=V_CENTER) {
bl=2*(ll-lb) + tg; bl=2*(ll-lb) + tg;
inner=ld+2*lc; inner=ld+2*lc;
outer=inner+2; outer=inner+2;
@@ -87,7 +76,7 @@ module bobbin(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4,
cylinder(d=inner,h=bl+2*conThick+2,center=true); cylinder(d=inner,h=bl+2*conThick+2,center=true);
// Wire Channels // Wire Channels
yspread(n=2, l=5+sd/2 ) yspread(n=2, l=5+sd/2 )
left(sd/2) cylinder(d=2,h=bl+2,center=true); left(sd/2) cylinder(d=wcd,h=bl+2,center=true);
} }
left(2*lc+inner/2) intersection() { left(2*lc+inner/2) intersection() {
cylinder(d=6,h=pinLen, center=true); cylinder(d=6,h=pinLen, center=true);
@@ -99,7 +88,7 @@ module bobbin(ld=LegDiameter, ll=LegLength, lb=12.14, tg=CoreGap, lc=.15, t=.4,
} }
legx = (YokeLen + LegDiameter)/2; legx = (YokeLen + LegDiameter)/2;
right(legx) bobbin(sn=2, sd=26.3, st=2, orient=ORIENT_XNEG); //right(legx) bobbin(sn=2, sd=26.3, st=2, orient=ORIENT_XNEG);
left(legx) bobbin(); left(legx) bobbin();
%core(gap=0); %core(gap=0);
//left(20+20) rotate([90,0,0]) snaps(); //left(20+20) rotate([90,0,0]) snaps();