Added Design info and notes. Calculate voltages from parameters. Still need frequency calcs. Moved transformer mount away from board and up 2mm. This should add clearance but still could use stability. Should move to full joiners.
95 lines
2.3 KiB
OpenSCAD
95 lines
2.3 KiB
OpenSCAD
|
|
include <BOSL/constants.scad>
|
|
use <BOSL/transforms.scad>
|
|
use <BOSL/shapes.scad>
|
|
use <BOSL/joiners.scad>
|
|
use <inserts/inserts.scad>
|
|
use <./bobbin.scad>
|
|
|
|
/* [Options] */
|
|
|
|
PCB_Y = 100.80;
|
|
PCB_X = 100.30;
|
|
PCB_Z = 1.69;
|
|
PCB_CLR = 5;
|
|
|
|
/* [Design] */
|
|
|
|
V_IN = 12;
|
|
Turns_Ratio = 85;
|
|
|
|
/* [Mount Stands] */
|
|
|
|
Mount_Hole_D = 4.36;
|
|
Mount_X = 74.38;
|
|
Mount_Y = 89.24;
|
|
|
|
BOX_WALL = 1.5;
|
|
|
|
/* [Render Options] */
|
|
render_fs=.1;
|
|
render_fn=0;
|
|
render_fa=.1;
|
|
|
|
// Set Render Options
|
|
$fs= ($preview) ? $fs : render_fs;
|
|
$fn= ($preview) ? $fn : render_fn;
|
|
$fa= ($preview) ? $fa : render_fa;
|
|
|
|
zclear=2;
|
|
module print_specs() {
|
|
echo("ZVS Module: QS2015004");
|
|
echo("Input Voltage: 12-48V");
|
|
echo("Max Current: 20A");
|
|
echo("24V no load current: 3A");
|
|
echo("48V no load current: 6A");
|
|
echo("Caps .33uFx6 = 1.90 uF");
|
|
|
|
vpk = PI * V_IN;
|
|
opk = vpk*Turns_Ratio;
|
|
oac = opk/sqrt(2);
|
|
echo("Vpk = ", vpk, " volts");
|
|
echo( "OutPk = ", opk," volts");
|
|
echo("RMS = ", oac, " volts");
|
|
}
|
|
//
|
|
print_specs();
|
|
// PCB Board
|
|
up(5) %difference() {
|
|
cuboid([PCB_X,PCB_X,PCB_Z], fillet=3, edges=EDGES_Z_ALL, align=V_TOP);
|
|
left((Mount_Y-Mount_X)/2) yspread(l=Mount_Y) xspread(l=Mount_X)
|
|
cyl(d=Mount_Hole_D, chamfer=0, h=2*PCB_CLR, align=V_CENTER);
|
|
}
|
|
|
|
// Box
|
|
difference() {
|
|
left(25/2) cuboid([PCB_X+30+2*BOX_WALL+.4,PCB_Y+2*BOX_WALL+.4,PCB_Z+PCB_CLR+BOX_WALL], fillet=3, edges=EDGES_Z_ALL, align=V_BOTTOM);
|
|
pcb_mount_clearance();
|
|
mount_positions() thread_insertM25(bl=6, bz=-6, $die=true);
|
|
up(2)rotate([00,0,0]) left(15+6+PCB_X/2) rotate([0,90,90]) bobbin_joiners(clear=true);
|
|
}
|
|
up(2) rotate([00,0,0]) left(15+6+PCB_X/2) rotate([0,90,90]) bobbin_joiners(plug=false);
|
|
|
|
module mount_positions() {
|
|
left((Mount_Y-Mount_X)/2) yspread(l=Mount_Y) xspread(l=Mount_X) children();
|
|
}
|
|
|
|
|
|
module pcb_mount_clearance() {
|
|
// clearance
|
|
// pcb itself
|
|
color("yellow") up(.01) cuboid([PCB_X+.4,PCB_Y+.4,PCB_Z+.01], fillet=3, edges=EDGES_Z_ALL, align=V_BOTTOM);
|
|
down(PCB_Z-.01) difference() {
|
|
union() {
|
|
cuboid([PCB_X,PCB_Y,PCB_CLR+.02], fillet=3, edges=EDGES_Z_ALL, align=V_BOTTOM);
|
|
}
|
|
color("green") up(.02) {
|
|
right(PCB_X/2) cuboid([4,PCB_Y,PCB_CLR+.02], align=V_BOTTOM); // Edge Support
|
|
left(PCB_X/2) cuboid([8,PCB_Y,PCB_CLR+.02], align=V_BOTTOM); // Edge Support
|
|
}
|
|
|
|
cyl(d=Mount_Hole_D+3, chamfer=0, h=PCB_CLR, align=V_BOTTOM);
|
|
mount_positions() cyl(d=Mount_Hole_D+3, chamfer=0, h=PCB_CLR, align=V_BOTTOM);
|
|
}
|
|
}
|