I have a number Makita cordless tools and a number of batteries for them. It has always irked me that the batteries only fit Makita tools, it seems such a waste of a very good quality battery.
It occurred to me that the batteries rated at a nominal 18v (they are more likely to be about 21v) would be perfect to run things like a laptop when no other power is available. There is an element of danger here because the lithium cells can pack quite a punch.
Looking at the connector on the base of my Makita drill I thought I would try to recreate it as a connector to attach an in-line fuse and an outlet for a laptop.
Whether it will be successful I have no idea but I have been working on a test print and so far have come up with this:
I have got to say the maths involved drove me up the wall as you will see from the code:
//Makita Battery Connector
//Note x=width, y==length
//Variables
Conwd=71; //connecor Width
Conlg=48; //Connector Length
Clpht=15; //Height of slide
Clpwd=63; //Slide Width
Tgeht=6.2; //tongue height
Tgewd=54; //Tongue gap/width
Thk=2; //Basic thickness
//Contact Info
Ctspwd=39; //Contact width
Ctsp1=9.3; //Front contact distance
Ctsp2=20.6; //Rear contact distance
Ctln=5; //Contact Length
Ctwd=1; //Contact Width
//Contact Box Variables
Xtra=6; //extra space in box
xx=8;//Box Width
yy=(Ctsp2-Ctsp1)+Ctln+(Thk*2)+Xtra;//Box Length
zz=10; //Box Height
//Variables End
difference()
{
//Basic Shape
translate([0,0,0])
cube([Conwd,Conlg,Clpht+Thk]);
//Cut out
//top
translate([(Conwd-Clpwd)/2,0,Tgeht])
cube([Clpwd,Conlg,Clpht-Tgeht]);
//bottom
translate([(Conwd-Tgewd)/2,0,0])
cube([Tgewd,Conlg,Tgeht]);
//insert contact slots
translate([((Conwd-Ctspwd)/2)-(Ctwd/2),Ctsp1-(Ctln/2),Clpht])
ContactSlot();
translate([((Conwd-Ctspwd)/2)-(Ctwd/2),Ctsp2-(Ctln/2),Clpht])
ContactSlot();
translate([(((Conwd-Ctspwd)/2)-(Ctwd/2))+Ctspwd,Ctsp1-(Ctln/2),Clpht])
ContactSlot();
translate([(((Conwd-Ctspwd)/2)-(Ctwd/2))+Ctspwd,Ctsp2-(Ctln/2),Clpht])
ContactSlot();
} //End of difference
// Contact Boxes
translate([((Conwd-Ctspwd)/2)-(xx/2),Ctsp1-(((Xtra+Ctln)/2)+Thk),Clpht+Thk])
ContactBox();
translate([(((Conwd-Ctspwd)/2)-(xx/2))+Ctspwd,Ctsp1-(((Xtra+Ctln)/2)+Thk),Clpht+Thk])
ContactBox();
//Add Text
translate([((Conwd-Ctspwd)/2)+Ctspwd,Conlg-15,Clpht+Thk])
linear_extrude(.5,center=false)
text("+",size=10);
translate([((Conwd-Ctspwd)/2),Conlg-15,Clpht+Thk])
linear_extrude(.5,center=false)
text("-",size=10);
module ContactSlot()
cube([Ctwd,Ctln,10]);
module ContactBox()
difference()
{
cube([xx,yy,zz]);
translate([Thk,Thk,0])
cube([xx-(Thk*2),yy-(Thk*2),zz+1]);
}
I am printing out a test piece to get the fit at the moment but whether it goes any further remains to be seen. Making the connectors/contacts might be a obstacle, we shall see.
BTW in many ways I regret getting Makita cordless tools they are so expensive, for the same price as one you can buy two or three Ryobi equivalents. Ryobi tools are more than adequate for people like me who use them occasionally. You can buy adapters to fit Makita batteries in Ryobi tools but frankly I already have all the tools I need.