I see that BOSL2 provides for modelling wiring bundles.
Is there a library around that can model ribbon cables?
Thanks! - Len
I model ribbon cables with NopSCADlib but there is no magic high level
stuff, I just sweep circles in a for loop.
module extruder_cable_assembly(i)
{
ct = inch(0.05);
bend_r = 5;
p = extruder_plug_pos(i);
translate(p)
rotate([-90, 0, 0])
d_socket(e_motor_socket(), idc = true);
start = cable_pos(i);
width = e_cable_ways * ct;
right = extruder_plug_pos(n_extruders - 1).x;
end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;
for(j = [0 : e_cable_ways - 1])
color(j ? "grey" : "red")
translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
z0 = sheet_thickness / 2 + ct / 2; // flat on the back
z1 = z0 + ct * (n_extruders - i - 1); // On top of other
cables
fold_y = fold_z0 - fold_spacing * (n_extruders - 2 - i) -
width + (e_cable_ways - 1.5 - j) * ct;
direct_path = [start, [right, start.y, z0], bend_r, [right,
end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on the right goes
direct
folded_path = [ // The other extruders go across the back
to meet the cable from the one on the right
start,
[start.x, start.y, z0], bend_r,
[start.x, fold_y, z0], ct / 2,
[start.x, fold_y, z0 + ct + 0.1], ct / 2,
[right, fold_y, z1 + ct + 0.1], ct / 2,
[right, fold_y, z1], ct / 2,
[right, end_y, z1], ct * (n_extruders -
0.5 - i),
[right, end_y, tail],
];
all = rounded_path((i == n_extruders - 1) ? direct_path :
folded_path);
sweep(all, circle_points(ct / 2 + eps));
if(j == 0)
ribbon_cable(e_cable_ways, ceil(path_length(all)) +
box_depth);
}
}
[image: box_back_assembled.png]
On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:
I see that BOSL2 provides for modelling wiring bundles.
Is there a library around that can model ribbon cables?
Thanks! - Len
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Thanks!
On Sun, Feb 26, 2023 at 3:56 AM nop head nop.head@gmail.com wrote:
I model ribbon cables with NopSCADlib but there is no magic high level
stuff, I just sweep circles in a for loop.
module extruder_cable_assembly(i)
{
ct = inch(0.05);
bend_r = 5;
p = extruder_plug_pos(i);
translate(p)
rotate([-90, 0, 0])
d_socket(e_motor_socket(), idc = true);
start = cable_pos(i);
width = e_cable_ways * ct;
right = extruder_plug_pos(n_extruders - 1).x;
end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;
for(j = [0 : e_cable_ways - 1])
color(j ? "grey" : "red")
translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
z0 = sheet_thickness / 2 + ct / 2; // flat on the back
z1 = z0 + ct * (n_extruders - i - 1); // On top of other
cables
fold_y = fold_z0 - fold_spacing * (n_extruders - 2 - i) -
width + (e_cable_ways - 1.5 - j) * ct;
direct_path = [start, [right, start.y, z0], bend_r,
[right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on the right
goes direct
folded_path = [ // The other extruders go across the back
to meet the cable from the one on the right
start,
[start.x, start.y, z0], bend_r,
[start.x, fold_y, z0], ct / 2,
[start.x, fold_y, z0 + ct + 0.1], ct / 2,
[right, fold_y, z1 + ct + 0.1], ct / 2,
[right, fold_y, z1], ct / 2,
[right, end_y, z1], ct * (n_extruders -
0.5 - i),
[right, end_y, tail],
];
all = rounded_path((i == n_extruders - 1) ? direct_path :
folded_path);
sweep(all, circle_points(ct / 2 + eps));
if(j == 0)
ribbon_cable(e_cable_ways, ceil(path_length(all)) +
box_depth);
}
}
[image: box_back_assembled.png]
On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:
I see that BOSL2 provides for modelling wiring bundles.
Is there a library around that can model ribbon cables?
Thanks! - Len
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
On 2/26/23 10:35, Leonard Martin Struttmann wrote:
Thanks!
On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com
mailto:nop.head@gmail.com> wrote:
I model ribbon cables with NopSCADlib but there is no magic high
level stuff, I just sweep circles in a for loop.
module extruder_cable_assembly(i)
{
ct = inch(0.05);
bend_r = 5;
p = extruder_plug_pos(i);
translate(p)
rotate([-90, 0, 0])
d_socket(e_motor_socket(), idc = true);
start = cable_pos(i);
width = e_cable_ways * ct;
right = extruder_plug_pos(n_extruders - 1).x;
end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;
for(j = [0 : e_cable_ways - 1])
color(j ? "grey" : "red")
translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
z0 = sheet_thickness / 2 + ct / 2; // flat on
the back
z1 = z0 + ct * (n_extruders - i - 1); // On top
of other cables
fold_y = fold_z0 - fold_spacing * (n_extruders - 2
- i) - width + (e_cable_ways - 1.5 - j) * ct;
direct_path = [start, [right, start.y, z0], bend_r,
[right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on
the right goes direct
folded_path = [ // The other extruders go across
the back to meet the cable from the one on the right
start,
[start.x, start.y, z0], bend_r,
[start.x, fold_y, z0], ct / 2,
[start.x, fold_y, z0 + ct + 0.1], ct / 2,
[right, fold_y, z1 + ct + 0.1], ct / 2,
[right, fold_y, z1], ct / 2,
[right, end_y, z1], ct *
(n_extruders - 0.5 - i),
[right, end_y, tail],
];
all = rounded_path((i == n_extruders - 1) ?
direct_path : folded_path);
sweep(all, circle_points(ct / 2 + eps));
if(j == 0)
ribbon_cable(e_cable_ways,
ceil(path_length(all)) + box_depth);
}
}
box_back_assembled.png
On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann
<lenstruttmann@gmail.com <mailto:lenstruttmann@gmail.com>> wrote:
I see that BOSL2 provides for modelling wiring bundles.
Is there a library around that can model ribbon cables?
Thanks! - Len
This is nice, but forgets a huge problem if speed of such a connection
is of any importance. Whats pictured will not work anywhere nears its
capability if made up with std ribbon cable because it ignores the fact
that the ribbon is a transmission line, subject to the usual problems
associated with poor VSWR if the frequency rises to the point of being
more that 1/8 wavelength long.
Std ribbon cable, assuming every other wire is a ground, giving some
isolation between the active wires, will have a characteristic impedance
of nominally 122 ohms, which needs to be properly terminated with that
value of resistor, usually 120 ohms so as to absorb the echo's bouncing
off the circuitry on the ends of the cable.
Binding them adjacent to each other as shown also makes crosstalk worse
and is not encouraged, stacking with 1/8"+ of air between the cables
reduces that considerably.
This transmission line arena is a whole different world that OpenSCAD is
not equipt to address.
That 18" sata cable in your computer, moving data serially over a small
number of wires at speeds up to nearly a gigabyte/second, couldn't do 50
kilobytes/second without being treated as a transmission line.
Your not so trivial factoid for the day. Take care and stay well everybody.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
<mailto:discuss-leave@lists.openscad.org>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
<mailto:discuss-leave@lists.openscad.org>
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
LOL, The ribbon cables in my picture connect extruders, which are just
stepper motors, heaters and thermistors. No need to treat them as
transmission lines and cross talk isn't an issue because the only
sensitive signal is the thermistor and that is heavily filtered as it is
only a slowly changing DC signal.
On Sun, 26 Feb 2023 at 21:50, gene heskett gheskett@shentel.net wrote:
On 2/26/23 10:35, Leonard Martin Struttmann wrote:
Thanks!
On Sun, Feb 26, 2023 at 3:56 AM nop head <nop.head@gmail.com
mailto:nop.head@gmail.com> wrote:
I model ribbon cables with NopSCADlib but there is no magic high
level stuff, I just sweep circles in a for loop.
module extruder_cable_assembly(i)
{
ct = inch(0.05);
bend_r = 5;
p = extruder_plug_pos(i);
translate(p)
rotate([-90, 0, 0])
d_socket(e_motor_socket(), idc = true);
start = cable_pos(i);
width = e_cable_ways * ct;
right = extruder_plug_pos(n_extruders - 1).x;
end_y = cable_slot_z + (i - (n_extruders -1) / 2) * ct;
for(j = [0 : e_cable_ways - 1])
color(j ? "grey" : "red")
translate([(j - (e_cable_ways - 1) / 2) * ct, 0]) {
z0 = sheet_thickness / 2 + ct / 2; // flat on
the back
z1 = z0 + ct * (n_extruders - i - 1); // On top
of other cables
fold_y = fold_z0 - fold_spacing * (n_extruders - 2
- i) - width + (e_cable_ways - 1.5 - j) * ct;
direct_path = [start, [right, start.y, z0], bend_r,
[right, end_y, z0], ct / 2, [right, end_y, tail]]; // extruder on
the right goes direct
folded_path = [ // The other extruders go across
the back to meet the cable from the one on the right
start,
[start.x, start.y, z0], bend_r,
[start.x, fold_y, z0], ct / 2,
[start.x, fold_y, z0 + ct + 0.1], ct / 2,
[right, fold_y, z1 + ct + 0.1], ct / 2,
[right, fold_y, z1], ct / 2,
[right, end_y, z1], ct *
(n_extruders - 0.5 - i),
[right, end_y, tail],
];
all = rounded_path((i == n_extruders - 1) ?
direct_path : folded_path);
sweep(all, circle_points(ct / 2 + eps));
if(j == 0)
ribbon_cable(e_cable_ways,
ceil(path_length(all)) + box_depth);
}
}
box_back_assembled.png
On Sun, 26 Feb 2023 at 01:43, Leonard Martin Struttmann
<lenstruttmann@gmail.com <mailto:lenstruttmann@gmail.com>> wrote:
I see that BOSL2 provides for modelling wiring bundles.
Is there a library around that can model ribbon cables?
Thanks! - Len
This is nice, but forgets a huge problem if speed of such a connection
is of any importance. Whats pictured will not work anywhere nears its
capability if made up with std ribbon cable because it ignores the fact
that the ribbon is a transmission line, subject to the usual problems
associated with poor VSWR if the frequency rises to the point of being
more that 1/8 wavelength long.
Std ribbon cable, assuming every other wire is a ground, giving some
isolation between the active wires, will have a characteristic impedance
of nominally 122 ohms, which needs to be properly terminated with that
value of resistor, usually 120 ohms so as to absorb the echo's bouncing
off the circuitry on the ends of the cable.
Binding them adjacent to each other as shown also makes crosstalk worse
and is not encouraged, stacking with 1/8"+ of air between the cables
reduces that considerably.
This transmission line arena is a whole different world that OpenSCAD is
not equipt to address.
That 18" sata cable in your computer, moving data serially over a small
number of wires at speeds up to nearly a gigabyte/second, couldn't do 50
kilobytes/second without being treated as a transmission line.
Your not so trivial factoid for the day. Take care and stay well everybody.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
<mailto:discuss-leave@lists.openscad.org>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
<mailto:discuss-leave@lists.openscad.org>
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org