[Home][2026 Index] [TCML] Using OpenSCAD for 3D printed MOT bobbins [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[TCML] Using OpenSCAD for 3D printed MOT bobbins



I'm posting code that renders a bobbin for a bipolar MOT mod using the free parametric CAD tool "Open SCAD".

This can be exported as a .stl file and is very suitable for manufacture at "PCBWay" either in:

(a) high temperature resin USFH100 using an SLA process

(b) Nylon using SLS process

The part in question replaces two MOT primary coils. It is installed by grinding open the welds on TWO identical 800W transformers.

Discard I cores, primaries, filament windings and magnetic shunts. Place two E-cores/HV winding assemblies back-to-back through this coil form with a 1mm spacer to install a new air gap.

This produces a single bipolar transformer/storage inductor with a single primary winding in copper and two HV windings in anti-phase; typically +/- 2.2 kV RMS. Each returns to the core. The two cores have to be joined electrically for a center-tap which shall be earthed.

MOT primaries are often originally aluminum and while densely packed, they are a nuisance to modify and solder. I find MOT transformers are more re-workable when preheated to 200C in a domestic oven for 30 minutes because the varnish softens.

The is no harm in electrically heating (or over-heating) the unwanted primary to soften and remove it.

A 12 Volt battery is a good heating option (with a brutal inductive kick - watch out!) because the winding is about one Ohm.

These single piece dual MOTs offer enough power for meter long sparks using a three turn Tesla primary. Static gaps work fine when there is a saturating inductor in placed in series with the new bipolar MOT assembly.

I chose 1.12mm wire to get a revised primary that saturates at around 5/8 of our Euro line voltage (230 V) and have to drop the other 3/8 of the AC voltage-time product in a series saturating inductor with zero core gap. There are some rough calculations in the script.

This setup works nicely with two 20 mil tungsten gaps in series. The gap is very much a constant voltage device and fires at least three times for every mains half-cycle. There is one hit as the saturating inductor goes switches magnetically into saturation, several more near line peak and one more when the saturation inductor goes high impedance - as a first approximation! Assume resonant charging using the MOT leakage inductance.

The stored energy in the MOT air gap tides us through the zero crossing. We expect the assembly to draw less than 8 Amperes @ 150 Volts RMS with no load. An audio recording of the coil showed no 100 Hz periodicity at all. In fact it was more or less chaotic.

You can ask ChatGPT to analyze and to make changes so you never need to actually learn OpenSCAD.
Here's the code:


// ================================
// Rectangular Inductor Bobbin
// ================================

// -------------------------------
// Modules

module rounded_rect(w, h, r) {
    r = min(r, w/2, h/2);
    hull() {
        for (x = [r, w-r])
        for (y = [r, h-r])
            translate([x - w/2, y - h/2])  // center X/Y only
                circle(r=r, $fn=24);
    }
}


module outer_body() {
    union() {
        // Tube (Z unchanged)
        linear_extrude(external_height)
            rounded_rect(tube_width, tube_breadth, wall_thickness + min_radius);



        // Flanges
        for (i=[0:num_flanges-1]) {
            translate([0, 0, i*section_pitch])
                linear_extrude(height = flange_thickness)
                    rounded_rect(external_width, external_breadth, flange_radius);
        }
    }
}

// -------------------------------
// Parameters

internal_width = (30+1);      // core plus insulating papers
internal_breadth = 75+1;      // core plus clearance
external_width = (60-1);      // core and the window span minus clearance

external_height = 38.5;
wall_thickness = 1.6;
flange_thickness = wall_thickness;
num_sections = 1;
min_radius = 0.7;

// -------------------------------
// Derived

tube_width = internal_width + 2*wall_thickness;
tube_breadth = internal_breadth + 2*wall_thickness;
external_breadth = external_width + internal_breadth - internal_width;
flange_radius = (external_width - tube_width)/2;

num_flanges = num_sections + 1;
section_height = (external_height - num_flanges*flange_thickness)/num_sections;
section_pitch = section_height + flange_thickness;

echo("Tube width:", tube_width, "Tube breadth:", tube_breadth);
echo("Core Sat V/t:", 4.44*50*1.85*(internal_width-1)*(internal_breadth-1)*1e-6); echo("Turns:", floor((5*230/8)/(num_sections*4.44*50*1.85*(internal_width-1)*(internal_breadth-1)*1e-6)));
echo("Gulley width:", section_height, "Gulley depth:", flange_radius-2);
echo("Gulley CSA:", round(section_height*(flange_radius-2)) );


// -------------------------------
// Build (X/Y centered only)
difference() {
    // Outer tube + flanges
    outer_body();

    // Inner void
    translate([0, 0, -1])
        linear_extrude(external_height+2)
            rounded_rect(internal_width, internal_breadth, min_radius);

    // Wire lead out hole
    translate([tube_width/2, tube_breadth/2, external_height-flange_thickness-0.01])             cylinder(h = 21 , r1 = min_radius, r2 = tube_width/8-2, $fn=24);


}


*Christopher Vernon*
tochris@xxxxxx
Phone: +41 24 5520120 <tel:+41245520120>
_______________________________________________
Tesla mailing list -- tcml@xxxxxxxxxxxxxxx
To unsubscribe send an email to tcml-leave@xxxxxxxxxxxxxxx