Advertisements

KG-UV3D GPS+Voice: Radio Base Interface

The Wouxun KG-UV3D has three holes along the base that capture three tabs in the battery case, with tapered edges to align the case with the contacts. After a few passes to get the dimensions right, the plate matching those features came out like this:

Base plate with tabs

Base plate with tabs

The solid model shows the edge tapering down to a single layer:

Case Tab Base - Solid Model

Case Tab Base - Solid Model

The compound taper on the corners must match both the base and the sides of the radio. The bottom plate and shell have corresponding tapers that extend across the glued joints:

Radio interface tapers

Radio interface tapers

That worked out surprisingly well, given the small dimensions and odd angles. The tabs, in particular, bumped right up against the 0.66 mm extrusion width; they’re 2.0 mm thick, so there’s barely one thread width inside the perimeter for fill. A bit of filing & slicing removed the usual enlargement at the end / start of each perimeter thread on the tabs, which is entirely acceptable for something this finicky.

The OpenSCAD source code with dimensions is all part of that post, but here’s the radio base shape that gets subtracted from the plate to make those tabs:

Radio Base Polygon - solid model

Radio Base Polygon - solid model

This seemed easier than adding a bunch of tiny pegs & triangles, but it’s certainly tedious working around a polygon:

module RadioBase() {

linear_extrude(height=(BaseOpeningDepth + Protrusion),center=false,convexity=5)
polygon(points=[
[-BaseOpeningMax/2,-Protrusion],

[-BaseOpeningMin/2,BaseOpeningY],
[-(BaseToothOC/2 + BaseToothBase/2),BaseOpeningY],

[-(BaseToothOC/2 + BaseToothTip/2),(BaseOpeningY - BaseToothThick)],
[-(BaseToothOC/2 - BaseToothTip/2),(BaseOpeningY - BaseToothThick)],
[-(BaseToothOC/2 - BaseToothBase/2),BaseOpeningY],

[ (BaseToothOC/2 - BaseToothBase/2),BaseOpeningY],
[ (BaseToothOC/2 - BaseToothTip/2),(BaseOpeningY - BaseToothThick)],
[ (BaseToothOC/2 + BaseToothTip/2),(BaseOpeningY - BaseToothThick)],
[ (BaseToothOC/2 + BaseToothBase/2),BaseOpeningY],
[ BaseOpeningMin/2,BaseOpeningY],

[ BaseOpeningMax/2,-Protrusion],

[ (BaseTabOC + BaseTabWidth/2),-Protrusion],
[ (BaseTabOC + BaseTabWidth/2),BaseTabThick],
[ (BaseTabOC - BaseTabWidth/2),BaseTabThick],
[ (BaseTabOC - BaseTabWidth/2),-Protrusion],

[ BaseTabWidth/2,-Protrusion],
[ BaseTabWidth/2,BaseTabThick],
[-BaseTabWidth/2,BaseTabThick],
[-BaseTabWidth/2,-Protrusion],

[-(BaseTabOC + BaseTabWidth/2),-Protrusion],
[-(BaseTabOC + BaseTabWidth/2),BaseTabThick],
[-(BaseTabOC - BaseTabWidth/2),BaseTabThick],
[-(BaseTabOC - BaseTabWidth/2),-Protrusion],
],
convexity=5
);
}

Then subtracting that shape and some inclines…

Radio Base Interface - solid model - thrown together

Radio Base Interface - solid model - thrown together

… lets the base plate pop out of this code:

module Base() {

  difference() {

	translate([0,0,(BaseThick + BaseOpeningDepth)/2])
	  rotate([-90,0,0])
		CaseEnvelope(BaseThick + BaseOpeningDepth);

	translate([0,0,BaseThick])
	  RadioBase();

	translate([(BaseToothOC + BaseTabWidth/2),
			  -(BaseThick + BaseEndLip)/tan(BaseEndAngle),
			  0])
	  rotate([BaseEndAngle,0,0])
		cube([BaseEndWidth,3*BaseOpeningY,BaseOpeningDepth],center=false);

	translate([-(BaseToothOC + BaseTabWidth/2 + BaseEndWidth),
			  -(BaseThick + BaseEndLip)/tan(BaseEndAngle),
			  0])
	  rotate([BaseEndAngle,0,0])
		cube([BaseEndWidth,3*BaseOpeningY,BaseOpeningDepth],center=false);
  }
}

I’m still doodling the electronics, alas…

Advertisements

,

  1. #1 by John Rehwinkel on 2011-10-14 - 08:15

    Not an engineering comment at all, but for some reason, I keep reading “Wouxun” as “Wouff Hong”. And THAT would be an amusing name for
    a radio company!

    • #2 by Ed on 2011-10-14 - 11:10

      Wouff Hong

      I have beheld the mighty Wouff Hong with my very own eyes: it’s even more fearsome than its reputation!

  1. KG-UV3D GPS+Voice: Battery Pack Alignment Lugs « The Smell of Molten Projects in the Morning