In my camper I have a TV, a sound bar and a rather old WDTVLive which plays downloaded files of Movies and TV Series. I don’t use it much but it passes the time when one is stuck.
I can run all these devices from the mains or the campers battery/solar system but changing over was a bit of a fiddly process as, for example the power plug for the TV is behind it. I ran a few power leads to a common point where I could either plug in a lead from the battery or from the equipment’s supplied transformer power supply.
To tidy it up I needed a way to capture the ends of these leads so I made some measurements and designed a simple holder in OpenSCAD.
The slots are for the actual cable, then the end is pushed into the round hole.
I made a test piece for fit
Printed that out, made a couple of minor adjustments and printed it out completely with the adjustments (I also added labels to the front so you knew which power supply went where.
It fits quite well, I haven’t screwed it into place yet as I haven’t decided on the best position but am pleased with the result.
If you are a glutton for punishment here is the OpenSCAD code so you can make your own.
// Holder for 12v 5.5mm by 2.1mm
plugdia=11.5; //widest part of plug 11.3
pluglen=22.9; //length of plug
plugtail=7.6; //plug tail max diameter
cabledia=3.6; //cable diameter
wood=20; //wood thickness
thk=2; //material thickness
screw=3; //diameter of screw 4g
sizeob=(plugdia)+(thk*2);
moveob=(sizeob/2)+thk;
//end variables
$fn=80;
//base
difference(){
translate([0,0,0])cube([(sizeob*3)+(thk*4),wood*1.7,thk]);
for(a=[0:2]){
translate([(sizeob/2)+thk+(thk*a)+(sizeob*a),moveob,-1])cylinder(thk*2,d=sizeob);
translate([sizeob/2+thk+(thk*a)+(sizeob*a),0,+1])cube([cabledia,moveob+thk,thk*2 ],center=true); //slot
}
//screwholes
for (a=[1:2:3]){
translate([(((sizeob*3)+(thk*4))/4)*a,sizeob+thk+wood/2,-1]) cylinder(h=thk*2,d=screw);
// Labels
translate([(sizeob/2)+thk,sizeob+(thk*2.5),1])rotate([0,180,180])linear_extrude(height=1)
text("WD",size=5,halign="center",valign="center");
translate([(sizeob/2)+(thk*2)+sizeob,sizeob+(thk*2.5),1])rotate([0,180,180])linear_extrude(height=1)
text("TV",size=5,halign="center",valign="center");
translate([(sizeob/2)+(thk*3)+sizeob*2,sizeob+(thk*2.5),1])rotate([0,180,180])linear_extrude(height=1)
text("SB",size=5,halign="center",valign="center");
}
}
//Three sockets
for (a=[0:2]){
translate([(sizeob/2)+thk+(thk*a)+(sizeob*a),moveob,0]) socket();
}
module socket(){
difference(){
translate([0,0,0])cylinder(pluglen+thk,r=(plugdia/2)+thk);
translate([0,0,-thk])cylinder(pluglen+thk,r=plugdia/2); //interia
translate([0,0,0])cylinder(pluglen*2,r=plugtail/2);
translate([-cabledia/2,-sizeob/2-cabledia,-1])cube([cabledia,moveob+thk,pluglen*2 ]); //slot
}
}
That took half my Sunday the rest was mowing.