temp
This commit is contained in:
@@ -23,7 +23,8 @@ $fs = 0.01;
|
||||
// ================= meta =================
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
// this really just need to be any mon font
|
||||
FONT="Ubuntu Sans Mono:style=Regular";
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
test_number = 1;
|
||||
// scale in m
|
||||
scale_unit = 1e3;
|
||||
@@ -73,6 +74,7 @@ info_block_scale=0.3;
|
||||
title_text_size = 4;
|
||||
prop_text_size = 2.5;
|
||||
id_text_size = 1;
|
||||
render_text = true;
|
||||
// ================= text =================
|
||||
|
||||
// ================= IDT Pos =================
|
||||
@@ -103,13 +105,16 @@ module params() {
|
||||
str("size : ", size),
|
||||
str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
str("version : ", SCRIPT_VERSION)
|
||||
]
|
||||
],
|
||||
font=FONT
|
||||
);
|
||||
}
|
||||
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
if (render_text) {
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
}
|
||||
|
||||
wafer(wafer_size_inch*25.4);
|
||||
|
||||
|
||||
@@ -29,7 +29,8 @@ $fs = 0.01;
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
|
||||
// font for layout
|
||||
FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
|
||||
// the test number ref number for this set of IDTs
|
||||
test_number = 1;
|
||||
@@ -81,7 +82,7 @@ has_id_number = true;
|
||||
leg_length = 0.001;
|
||||
|
||||
// the width of the leg
|
||||
leg_width = 0.00001875;
|
||||
leg_width = 0.001875;
|
||||
|
||||
// the angle the leg comes off from the IDT,
|
||||
// positive angle means the leg is angled away
|
||||
@@ -112,6 +113,8 @@ prop_text_size = 2.5;
|
||||
// the size of the ID numbers in on the IDTS
|
||||
id_text_size = 0.5;
|
||||
|
||||
render_text = true;
|
||||
|
||||
// ================= text =================
|
||||
|
||||
// ================= wafers =================
|
||||
@@ -122,7 +125,7 @@ wafer_size_inch = 4;
|
||||
// ================= # IDTS =================
|
||||
|
||||
rows = 10;
|
||||
cols = 10;
|
||||
cols = 7;
|
||||
spacing_x = 4;
|
||||
spacing_y = 7;
|
||||
|
||||
@@ -145,15 +148,19 @@ module params() {
|
||||
str("size : ", size),
|
||||
str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
str("version : ", SCRIPT_VERSION)
|
||||
]
|
||||
],
|
||||
font=FONT
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
if (render_text) {
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
}
|
||||
|
||||
|
||||
wafer(4*0.0254*scale_unit);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
include <../modules/bidirectional_idt.scad>
|
||||
include <../modules/parameter_text.scad>
|
||||
include <../modules/wafer.scad>
|
||||
include <../common_paramas.scad>
|
||||
|
||||
// ================= README =================
|
||||
// these are the normal parameters used by
|
||||
@@ -23,7 +24,8 @@ $fs = 0.01;
|
||||
// ================= meta =================
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
// this really just need to be any mon font
|
||||
FONT="Ubuntu Sans Mono:style=Regular";
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
test_number = 1;
|
||||
// scale in m
|
||||
scale_unit = 1e3;
|
||||
@@ -76,6 +78,7 @@ info_block_scale=0.3;
|
||||
title_text_size = 4;
|
||||
prop_text_size = 2.5;
|
||||
id_text_size = 1;
|
||||
render_text = true;
|
||||
|
||||
// ================= text =================
|
||||
|
||||
@@ -107,13 +110,17 @@ module params() {
|
||||
str("size : ", size),
|
||||
str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
str("version : ", SCRIPT_VERSION)
|
||||
]
|
||||
],
|
||||
font=FONT
|
||||
);
|
||||
}
|
||||
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
|
||||
if (render_text) {
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
}
|
||||
|
||||
wafer(wafer_size_inch*25.4);
|
||||
|
||||
|
||||
427
wafer_layouts/multiple_freq_idt.scad
Normal file
427
wafer_layouts/multiple_freq_idt.scad
Normal file
@@ -0,0 +1,427 @@
|
||||
include <../modules/bidirectional_idt.scad>
|
||||
include <../modules/parameter_text.scad>
|
||||
include <../modules/wafer.scad>
|
||||
include <../common_paramas.scad>
|
||||
|
||||
// ================= README =================
|
||||
// these are the normal parameters used by
|
||||
// each one of the layout scripts
|
||||
// however they do dont directly use them
|
||||
// and instead have thier own copy
|
||||
//
|
||||
// this was done in order to have more control
|
||||
// over each of the scripts themsevels
|
||||
// allowing each to have even more parameters
|
||||
// and having them show up in the open scad
|
||||
// parameters window
|
||||
// ================= README =================
|
||||
|
||||
// ================= openscad prams =================
|
||||
$fa = 1;
|
||||
$fs = 0.01;
|
||||
// ================= openscad prams =================
|
||||
|
||||
// ================= meta =================
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
// this really just need to be any mon font
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
test_number = 1;
|
||||
// scale in m
|
||||
scale_unit = 1e3;
|
||||
// ================= meta =================
|
||||
|
||||
|
||||
// ================= IDT =================
|
||||
substrate = "LINBO";
|
||||
// linbo
|
||||
c = 3992.0;
|
||||
// si
|
||||
// c = 3159.0;
|
||||
|
||||
// $fs = (c/freq);
|
||||
|
||||
// inout distance
|
||||
distance = 150;
|
||||
|
||||
// number of finger
|
||||
n_fingers = 50;
|
||||
|
||||
// should be 50-70
|
||||
finger_length = 60;
|
||||
|
||||
// for tweaking the design
|
||||
gap = 0;
|
||||
|
||||
// for tweaking the design
|
||||
thickness = 0;
|
||||
|
||||
has_id_number = false;
|
||||
// ================= IDT =================
|
||||
|
||||
// ================= bond pad =================
|
||||
|
||||
leg_length = 0.003;
|
||||
leg_width = 0.00001875;
|
||||
leg_angle = 10;
|
||||
size = 0.002;
|
||||
bond_pad_shape = "square";
|
||||
|
||||
// ================= bond pad =================
|
||||
|
||||
// ================= text =================
|
||||
|
||||
info_block_offset_x=20;
|
||||
info_block_offset_y=-30;
|
||||
info_block_scale=0.3;
|
||||
title_text_size = 4;
|
||||
prop_text_size = 2.5;
|
||||
id_text_size = 1;
|
||||
render_text = true;
|
||||
|
||||
// ================= text =================
|
||||
|
||||
// ================= IDT Pos =================
|
||||
idt_1_x_offset = 0;
|
||||
idt_1_y_offset = 0;
|
||||
idt_2_x_offset = 0;
|
||||
idt_2_y_offset = 0;
|
||||
// ================= IDT Pos =================
|
||||
|
||||
|
||||
// ================= wafers =================
|
||||
wafer_size_inch = 4;
|
||||
// ================= wafers =================
|
||||
|
||||
// module params() {
|
||||
// parameter_text(
|
||||
// str("IDT ", substrate, "#", test_number),
|
||||
// [
|
||||
// str("c (ms): ", c),
|
||||
// str("freq (Hz): ", freq),
|
||||
// str("distance : ", distance),
|
||||
// str("n_fingers : ", n_fingers),
|
||||
// str("finger_length : ", finger_length),
|
||||
// str("gap : ", gap),
|
||||
// str("thickness : ", thickness),
|
||||
// str("leg_length : ", leg_length),
|
||||
// str("leg_angle : ", leg_angle),
|
||||
// str("size : ", size),
|
||||
// str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
// str("version : ", SCRIPT_VERSION)
|
||||
// ],
|
||||
// font=FONT
|
||||
// );
|
||||
// }
|
||||
|
||||
|
||||
// if (render_text) {
|
||||
// translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
// scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
// params();
|
||||
// }
|
||||
|
||||
wafer(wafer_size_inch*25.4);
|
||||
|
||||
freq_1 = 345.0e6;
|
||||
idt_1_x = 10; // [-50:50]
|
||||
idt_1_y = 26.5; // [-50:50]
|
||||
translate([idt_1_x, idt_1_y, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([4*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_1,
|
||||
n_fingers,
|
||||
distance,
|
||||
finger_length,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
translate([10, 20, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([4*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_1,
|
||||
n_fingers,
|
||||
distance,
|
||||
finger_length,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
translate([10, 13.5, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([4*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_1,
|
||||
n_fingers,
|
||||
distance,
|
||||
finger_length,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
freq_2 = 50.0e6;
|
||||
idt_2_x = 0;
|
||||
idt_2_y = 0;
|
||||
translate([-7, 20, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([6*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_2,
|
||||
n_fingers,
|
||||
100,
|
||||
30,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
|
||||
freq_3 = 100.0e6;
|
||||
idt_3_x = 0;
|
||||
idt_3_y = 0;
|
||||
translate([-22, 10, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([5*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_3,
|
||||
n_fingers,
|
||||
100,
|
||||
30,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
translate([-22, 22, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([5*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_3,
|
||||
n_fingers,
|
||||
100,
|
||||
30,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
|
||||
freq_4 = 250.0e6;
|
||||
idt_4_x = 0;
|
||||
idt_4_y = 0;
|
||||
translate([-21, 0, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([4*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_4,
|
||||
n_fingers,
|
||||
100,
|
||||
50,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
translate([-21, -7, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([4*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_4,
|
||||
n_fingers,
|
||||
100,
|
||||
50,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
translate([-21, -14, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([4*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_4,
|
||||
n_fingers,
|
||||
100,
|
||||
50,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = 0.03,
|
||||
bond_pad_leg_width_overide = 1,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
|
||||
freq_5 = 20.0e6;
|
||||
idt_5_x = 0;
|
||||
idt_5_y = 0;
|
||||
translate([-4, -5, 0])
|
||||
for (i=[0:2]) {
|
||||
translate([9*i, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_5,
|
||||
20,
|
||||
75,
|
||||
20,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = leg_width,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
}
|
||||
echo("============================ 10MHz ============================");
|
||||
echo("============================ 10MHz ============================");
|
||||
echo("============================ 10MHz ============================");
|
||||
echo("============================ 10MHz ============================");
|
||||
echo("============================ 10MHz ============================");
|
||||
freq_6 = 10.0e6;
|
||||
idt_6_x = 0;
|
||||
idt_6_y = 0;
|
||||
translate([-30, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_6,
|
||||
10,
|
||||
40,
|
||||
10,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = leg_width,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
|
||||
translate([+31, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_6,
|
||||
10,
|
||||
40,
|
||||
10,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = leg_width,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
translate([+23.5, 0, 0])
|
||||
bi_directional_idt(
|
||||
c,
|
||||
freq_6,
|
||||
10,
|
||||
40,
|
||||
10,
|
||||
gap,
|
||||
0.1,
|
||||
post_scale=scale_unit,
|
||||
has_bond_pads = true,
|
||||
bond_pad_angle = 25,
|
||||
bond_pad_leg_width = leg_width,
|
||||
bond_pad_leg_length = 0.001,
|
||||
bond_pad_size = 0.0005,
|
||||
has_id = has_id_number,
|
||||
center = true
|
||||
);
|
||||
@@ -23,7 +23,8 @@ $fs = 0.01;
|
||||
// ================= meta =================
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
// this really just need to be any mon font
|
||||
FONT="Ubuntu Sans Mono:style=Regular";
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
test_number = 1;
|
||||
|
||||
// scale in m
|
||||
@@ -40,12 +41,14 @@ substrate = "LINBO";
|
||||
c = 3992.0;
|
||||
// si
|
||||
// c = 3159.0;
|
||||
freq = 10.0e6;
|
||||
// AlN
|
||||
// c = 5800.0;
|
||||
freq = 100.0e6;
|
||||
|
||||
// $fs = (c/freq);
|
||||
|
||||
// inout distance
|
||||
distance = 70;
|
||||
distance = 200;
|
||||
|
||||
// number of finger
|
||||
n_fingers = 50;
|
||||
@@ -77,6 +80,7 @@ info_block_scale=0.3;
|
||||
title_text_size = 4;
|
||||
prop_text_size = 2.5;
|
||||
id_text_size = 1;
|
||||
render_text = true;
|
||||
// ================= text =================
|
||||
|
||||
// ================= IDT Pos =================
|
||||
@@ -107,13 +111,17 @@ module params() {
|
||||
str("size : ", size),
|
||||
str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
str("version : ", SCRIPT_VERSION)
|
||||
]
|
||||
],
|
||||
font=FONT
|
||||
);
|
||||
}
|
||||
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
|
||||
if (render_text) {
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
}
|
||||
|
||||
wafer(wafer_size_inch*25.4);
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ $fs = 0.01;
|
||||
// ================= meta =================
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
// this really just need to be any mon font
|
||||
FONT="Ubuntu Sans Mono:style=Regular";
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
test_number = 1;
|
||||
// scale in m
|
||||
scale_unit = 1e3;
|
||||
@@ -56,6 +57,7 @@ bond_pad_shape = "square";
|
||||
// ================= bond pad =================
|
||||
|
||||
// ================= text =================
|
||||
render_text = true;
|
||||
info_block_offset_x=7;
|
||||
info_block_offset_y=30;
|
||||
info_block_scale=0.3;
|
||||
@@ -75,6 +77,8 @@ idt_y_spacing = 12.5;
|
||||
wafer_size_inch = 4;
|
||||
// ================= wafers =================
|
||||
|
||||
|
||||
|
||||
module params() {
|
||||
parameter_text(
|
||||
str("IDT ", substrate, "#", test_number),
|
||||
@@ -91,18 +95,20 @@ module params() {
|
||||
str("size : ", size),
|
||||
str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
str("version : ", SCRIPT_VERSION)
|
||||
]
|
||||
],
|
||||
font=FONT
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0]) {
|
||||
rotate([0, 0, -90])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale]) {
|
||||
|
||||
if (render_text) {
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rotate([0, 0, 180])
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0]) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
include <../modules/bidirectional_idt.scad>
|
||||
include <../modules/parameter_text.scad>
|
||||
include <../modules/wafer.scad>
|
||||
include <../common_paramas.scad>
|
||||
|
||||
// ================= README =================
|
||||
// these are the normal parameters used by
|
||||
@@ -15,7 +16,6 @@ include <../modules/wafer.scad>
|
||||
// parameters window
|
||||
// ================= README =================
|
||||
|
||||
|
||||
// ================= openscad prams =================
|
||||
|
||||
// min angle
|
||||
@@ -30,7 +30,8 @@ $fs = 0.01;
|
||||
SCRIPT_VERSION="0.0.1";
|
||||
|
||||
// font for layout
|
||||
FONT="Ubuntu Sans Mono:style=Regular";
|
||||
// FONT="Ubuntu Sans Mono:style=Regular";
|
||||
FONT="SquareFont:style=Regular";
|
||||
|
||||
// the test number ref number for this set of IDTs
|
||||
test_number = 1;
|
||||
@@ -41,19 +42,20 @@ scale_unit = 1e3;
|
||||
|
||||
// ================= meta =================
|
||||
|
||||
|
||||
// ================= IDT =================
|
||||
|
||||
// the underlying substrate
|
||||
substrate = "SI";
|
||||
|
||||
// linbo
|
||||
// the acoustic wave speed in the substrate
|
||||
c = 3992.0;
|
||||
// the aoucstice wave speed in the substrate
|
||||
// c = 3992.0;
|
||||
// si
|
||||
// c = 3159.0;
|
||||
c = 3159.0;
|
||||
|
||||
// the target frequency of the IDT
|
||||
freq = 10.0e6;
|
||||
freq = 17.0e8;
|
||||
|
||||
// the distance between the input and output IDT
|
||||
// should be between 100-200
|
||||
@@ -63,7 +65,7 @@ distance = 50;
|
||||
n_fingers = 50;
|
||||
|
||||
// the length of the figure or aperture should be 50-70
|
||||
finger_length = 50;
|
||||
finger_length = 60;
|
||||
|
||||
// the gap between both sides of the IDT (should be used for tweaking)
|
||||
gap = 0;
|
||||
@@ -98,8 +100,8 @@ bond_pad_shape = "square";
|
||||
|
||||
// ================= text =================
|
||||
|
||||
info_block_offset_x=25;
|
||||
info_block_offset_y=10;
|
||||
render_text = true;
|
||||
|
||||
// total scale of infoblock
|
||||
info_block_scale=0.3;
|
||||
|
||||
@@ -120,7 +122,6 @@ wafer_size_inch = 4;
|
||||
// ================= wafers =================
|
||||
|
||||
|
||||
|
||||
// ================= IDT Pos =================
|
||||
|
||||
// the x offset of the IDT from the center
|
||||
@@ -128,31 +129,37 @@ idt_x_offset = 0;
|
||||
// the y offset of the IDT from the center
|
||||
idt_y_offset = 0;
|
||||
|
||||
info_block_offset_x=25;
|
||||
info_block_offset_y=-7;
|
||||
|
||||
// ================= IDT Pos =================
|
||||
|
||||
module params() {
|
||||
parameter_text(
|
||||
str("IDT ", substrate, "#", test_number),
|
||||
[
|
||||
str("c (ms): ", c),
|
||||
str("freq (Hz): ", freq),
|
||||
str("distance : ", distance),
|
||||
str("n_fingers : ", n_fingers),
|
||||
str("finger_length : ", finger_length),
|
||||
str("gap : ", gap),
|
||||
str("thickness : ", thickness),
|
||||
str("leg_length : ", leg_length),
|
||||
str("leg_angle : ", leg_angle),
|
||||
str("size : ", size),
|
||||
str("feat. size (mm): ", (c/freq)*1e3 / 4),
|
||||
str("version : ", SCRIPT_VERSION)
|
||||
]
|
||||
str("C: ", c),
|
||||
str("FREQ: ", freq),
|
||||
str("DISTANCE: ", distance),
|
||||
str("N_FINGERS: ", n_fingers),
|
||||
str("FINGER_LENGTH: ", finger_length),
|
||||
str("GAP: ", gap),
|
||||
str("THICKNESS: ", thickness),
|
||||
str("LEG_LENGTH: ", leg_length),
|
||||
str("LEG_ANGLE: ", leg_angle),
|
||||
str("SIZE: ", size),
|
||||
str("FEAT. SIZE: ", (c/freq)*1e3 / 4),
|
||||
str("VERSION: ", SCRIPT_VERSION)
|
||||
],
|
||||
font=FONT
|
||||
);
|
||||
}
|
||||
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
if (render_text) {
|
||||
translate([info_block_offset_x, -info_block_offset_y, 0])
|
||||
scale([info_block_scale, info_block_scale, info_block_scale])
|
||||
params();
|
||||
}
|
||||
|
||||
wafer(wafer_size_inch*25.4);
|
||||
|
||||
@@ -173,4 +180,124 @@ bi_directional_idt(
|
||||
bond_pad_size = size,
|
||||
center = true,
|
||||
echo_stats = true
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
|
||||
// // ================= README =================
|
||||
// // these are the normal parameters used by
|
||||
// // each one of the layout scripts
|
||||
// // however they do dont directly use them
|
||||
// // and instead have thier own copy
|
||||
// //
|
||||
// // this was done in order to have more control
|
||||
// // over each of the scripts themsevels
|
||||
// // allowing each to have even more parameters
|
||||
// // and having them show up in the open scad
|
||||
// // parameters window
|
||||
// // ================= README =================
|
||||
|
||||
|
||||
// // ================= openscad prams =================
|
||||
|
||||
// // min angle
|
||||
// $fa = 25;
|
||||
|
||||
// // min size
|
||||
// $fs = 0.1;
|
||||
// // ================= openscad prams =================
|
||||
|
||||
// // ================= meta =================
|
||||
// // version number of the current script
|
||||
// SCRIPT_VERSION="0.0.1";
|
||||
|
||||
// // font for layout
|
||||
// // FONT="Ubuntu Sans Mono:style=Regular";
|
||||
// FONT="SquareFont:style=Regular";
|
||||
|
||||
// // the test number ref number for this set of IDTs
|
||||
// test_number = 1;
|
||||
|
||||
// // this is needed due to the min size value
|
||||
// // a pre scaler for the given values
|
||||
// scale_unit = 1e3;
|
||||
|
||||
// // ================= meta =================
|
||||
|
||||
// // ================= IDT =================
|
||||
|
||||
// // the underlying substrate
|
||||
// substrate = "SI";
|
||||
|
||||
// // linbo
|
||||
// // the acoustic wave speed in the substrate
|
||||
// c = 3992.0;
|
||||
// // si
|
||||
// // c = 3159.0;
|
||||
|
||||
// // the target frequency of the IDT
|
||||
// freq = 10.0e6;
|
||||
|
||||
// // the distance between the input and output IDT
|
||||
// // should be between 100-200
|
||||
// distance = 50;
|
||||
|
||||
// // the number of fingers the IDT has
|
||||
// n_fingers = 50;
|
||||
|
||||
// // the length of the figure or aperture should be 50-70
|
||||
// finger_length = 50;
|
||||
|
||||
// // the gap between both sides of the IDT (should be used for tweaking)
|
||||
// gap = 0;
|
||||
|
||||
// // the thickness of the wire the connects all the fingers
|
||||
// thickness = 0;
|
||||
|
||||
// // adds an ID number to an IDT, useful if you have multiple on a wafer
|
||||
// has_id_number = false;
|
||||
// // ================= IDT =================
|
||||
|
||||
// // ================= bond pad =================
|
||||
|
||||
// // the length of the bond pad leg from the edge of the IDT to the center of the bond pad
|
||||
// leg_length = 0.003;
|
||||
|
||||
// // the width of the leg
|
||||
// leg_width = 0.00001875;
|
||||
|
||||
// // the angle the leg comes off from the IDT,
|
||||
// // positive angle means the leg is angled away
|
||||
// // negitive angle means the leg is angled inwards
|
||||
// leg_angle = 10;
|
||||
|
||||
// // the size of the bond pad
|
||||
// size = 0.002;
|
||||
|
||||
// // the shape of the bond pad (not implemented)
|
||||
// bond_pad_shape = "square";
|
||||
|
||||
// // ================= bond pad =================
|
||||
|
||||
// // ================= text =================
|
||||
|
||||
// info_block_offset_x=25;
|
||||
// info_block_offset_y=10;
|
||||
// // total scale of infoblock
|
||||
// info_block_scale=0.3;
|
||||
|
||||
// // the text size of the heading in the info block
|
||||
// title_text_size = 4;
|
||||
|
||||
// // the size of all the sub items in the info block
|
||||
// prop_text_size = 2.5;
|
||||
|
||||
// // the size of the ID numbers in on the IDTS
|
||||
// id_text_size = 1;
|
||||
|
||||
// // ================= text =================
|
||||
|
||||
// // ================= wafers =================
|
||||
// // the size of the wafer in inchs (why inch and not metric like everything else because its standard)
|
||||
// wafer_size_inch = 4;
|
||||
// // ================= wafers =================
|
||||
Reference in New Issue
Block a user