parent
0556de6498
commit
43f3a91352
@ -0,0 +1,121 @@
|
||||
// Case dimensions
|
||||
case_x=22.42; // Case X dimension
|
||||
case_y=10.16; // Case Y dimension
|
||||
case_z=1.2; // Case Z dimension
|
||||
dot_radius=0.3; // Notch radius
|
||||
dot_depth=0.1; // Notch depth
|
||||
dot_off_x=0.5; // Notch offset X
|
||||
dot_off_y=0.5; // Notch offset Y
|
||||
color_case=[0.15,0.15,0.15]; // dark gray
|
||||
color_dot=[1,1,1]; // white
|
||||
|
||||
// Pin arrays parameters
|
||||
side1_pins = 27;
|
||||
side2_pins = 0;
|
||||
side3_pins = 27;
|
||||
side4_pins = 0;
|
||||
pin_distance =0.808; // Pin step
|
||||
color_pin=[1,1,1]; // white
|
||||
|
||||
// Pin parameters
|
||||
pin_th = 0.15; // Thickness
|
||||
pin_W = 0.375; // Pin width
|
||||
pin_L = 0.8; // Total Length
|
||||
pin_H = case_z/2+pin_th/2; // Pin height (from bottom to top)
|
||||
pin_l = 0.4; // Length of the bottom part
|
||||
pin_a = 115; // Bending angle
|
||||
|
||||
translate_to_center=[-(side1_pins-1)*pin_distance/2,-(case_y+pin_L*2)/2,0];
|
||||
|
||||
// Bended pin
|
||||
// _L - whole pin length
|
||||
// _l - length of bottom part
|
||||
// _H - whole pin height
|
||||
// _th - pin thickness
|
||||
// _a - bending angle
|
||||
// _W - pin width
|
||||
module pin(_L,_l,_H,_th,_a,_W)
|
||||
{
|
||||
// Internal variables
|
||||
_d1 = _th*sin(_a) / (1-cos(_a));
|
||||
_d2 = (_th-_H)*cos(_a) / sin(_a);
|
||||
|
||||
rotate([90,0,90])
|
||||
// Extrude the following polygon
|
||||
linear_extrude(height = _W, center = true, convexity = 10, twist = 0)
|
||||
polygon([[0,0],
|
||||
[_l,0],
|
||||
[_l+_d2,_H-_th],
|
||||
[_L,_H-_th],
|
||||
[_L,_H],
|
||||
[_l+_d2-_d1,_H],
|
||||
[_l-_d1,_th],
|
||||
[0,_th]]);
|
||||
}
|
||||
|
||||
// Array of pins
|
||||
// _cnt - number of pins
|
||||
// _distance - distance between pin centres
|
||||
module pins_array(_cnt, _distance)
|
||||
{
|
||||
if (_cnt>0)
|
||||
color(color_pin)
|
||||
{
|
||||
for (_i = [0:_cnt-1])
|
||||
{
|
||||
translate([_distance*_i,0,0])
|
||||
pin(pin_L,pin_l,pin_H,pin_th,pin_a,pin_W);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Simple case with notch
|
||||
module case()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
translate([case_x/2,case_y/2,case_z/2])
|
||||
color(color_case)
|
||||
cube([case_x,case_y,case_z],center=true);
|
||||
translate([dot_radius+dot_off_x,dot_radius+dot_off_y,case_z])
|
||||
color(color_dot)
|
||||
cylinder(h=dot_depth*2, r = dot_radius, center= true, $fn = 10);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Complete model
|
||||
// scale(1/2.54) // 1/2.54=0.3937 scale for Kicad
|
||||
module ic()
|
||||
{
|
||||
// Case
|
||||
translate([-(case_x-(side1_pins-1)*pin_distance)/2,pin_L,0]+translate_to_center)
|
||||
case();
|
||||
|
||||
translate(translate_to_center)
|
||||
union()
|
||||
{
|
||||
// Top pins
|
||||
translate([(side1_pins-side3_pins)*pin_distance/2,case_y+pin_L*2,0])
|
||||
mirror([0,1,0])
|
||||
pins_array(side3_pins, pin_distance);
|
||||
|
||||
// Bottom pins
|
||||
pins_array(side1_pins, pin_distance);
|
||||
|
||||
// Left pins
|
||||
translate([-(case_x-(side1_pins-1)*pin_distance)/2 - pin_L,pin_L+case_y/2-(side4_pins-1)*pin_distance/2,0])
|
||||
mirror([1,0,0])
|
||||
rotate([0,0,90])
|
||||
pins_array(side4_pins, pin_distance);
|
||||
|
||||
// Right pins
|
||||
translate([-(case_x-(side1_pins-1)*pin_distance)/2-pin_L+case_x+2*pin_L,pin_L+case_y/2-(side2_pins-1)*pin_distance/2,0])
|
||||
mirror([0,1,0])
|
||||
mirror([0,1,0])
|
||||
rotate([0,0,90])
|
||||
pins_array(side2_pins, pin_distance);
|
||||
}
|
||||
}
|
||||
|
||||
ic();
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,83 @@
|
||||
(module TSOP54 (layer F.Cu) (tedit 5A114F4C)
|
||||
(descr "TSOPII-54: Plastic Thin Small Outline Package; 54 leads; body width 10.16mm; (see 128m-as4c4m32s-tsopii.pdf and http://www.infineon.com/cms/packages/SMD_-_Surface_Mounted_Devices/P-PG-TSOPII/P-TSOPII-54-1.html)")
|
||||
(tags "TSOPII 0.8")
|
||||
(attr smd)
|
||||
(fp_text reference U2 (at 7.076 -10.274 90) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value MT48LC4M16A2TG (at 8 0 90) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -5.08 11.1) (end -5.08 10.9) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 5.08 11.1) (end 5.08 10.9) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -4.25 -10.25) (end -4 -10.25) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.08 -10.9) (end -5.9 -10.9) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.08 -11.1) (end -5.08 -10.9) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 5.08 -11.1) (end 5.08 -10.9) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 5.08 11.11) (end -5.08 11.11) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.08 -11.11) (end 5.08 -11.11) (layer F.SilkS) (width 0.15))
|
||||
(pad 28 smd oval (at 5.88 10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 1 smd rect (at -5.88 -10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 2 smd oval (at -5.88 -9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 3 smd oval (at -5.88 -8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 4 smd oval (at -5.88 -8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 5 smd oval (at -5.88 -7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 6 smd oval (at -5.88 -6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 7 smd oval (at -5.88 -5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 8 smd oval (at -5.88 -4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 9 smd oval (at -5.88 -4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 10 smd oval (at -5.88 -3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 11 smd oval (at -5.88 -2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 12 smd oval (at -5.88 -1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 13 smd oval (at -5.88 -0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 14 smd oval (at -5.88 0) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 15 smd oval (at -5.88 0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 16 smd oval (at -5.88 1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 17 smd oval (at -5.88 2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 18 smd oval (at -5.88 3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 19 smd oval (at -5.88 4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 20 smd oval (at -5.88 4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 21 smd oval (at -5.88 5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 22 smd oval (at -5.88 6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 23 smd oval (at -5.88 7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 24 smd oval (at -5.88 8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 25 smd oval (at -5.88 8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 26 smd oval (at -5.88 9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 27 smd oval (at -5.88 10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 29 smd oval (at 5.88 9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 30 smd oval (at 5.88 8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 31 smd oval (at 5.88 8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 32 smd oval (at 5.88 7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 33 smd oval (at 5.88 6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 34 smd oval (at 5.88 5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 35 smd oval (at 5.88 4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 36 smd oval (at 5.88 4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 37 smd oval (at 5.88 3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 38 smd oval (at 5.88 2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 39 smd oval (at 5.88 1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 40 smd oval (at 5.88 0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 41 smd oval (at 5.88 0) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 42 smd oval (at 5.88 -0.808) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 43 smd oval (at 5.88 -1.616) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 44 smd oval (at 5.88 -2.424) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 45 smd oval (at 5.88 -3.232) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 46 smd oval (at 5.88 -4.04) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 47 smd oval (at 5.88 -4.848) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 48 smd oval (at 5.88 -5.656) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 49 smd oval (at 5.88 -6.464) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 50 smd oval (at 5.88 -7.272) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 51 smd oval (at 5.88 -8.08) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 52 smd oval (at 5.88 -8.888) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 53 smd oval (at 5.88 -9.696) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 54 smd oval (at 5.88 -10.504) (size 1.1 0.56) (layers F.Cu F.Paste F.Mask))
|
||||
(model Housings_SSOP.3dshapes/TSOPII-54_10.16x22.22mm_Pitch0.8mm.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
(model Housings_SSOP.3dshapes/VSO-56_11.1x21.5mm_Pitch0.75mm.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 0.75 1.03486 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue