Bafang BBS02: Stepped forward Motor Response Spacer

The unique BBS02 response spacer for Gee’s Terry Symmetry didn’t paintings moderately the best way I anticipated:

(*1*)
Bafang BBS02 – response block displacement

The motor it appears that evidently vibrates sufficient to propel the block ahead, shearing the double-sticky foam tape which used to be by no means supposed to withstand pressure in that aircraft. I believed the block used to be situated on the level the place the motor casing used to be tangent to the body tube, with the intention to equalize the forces in each instructions, however … nope.

A revised design in response to measurements knowledgeable via new wisdom:

(*4*)
Terry – Bafang motor spacer – stepped forward – forged type

The higher curve is now symmetric and the entire block mounts extra rearward beneath the ground bracket lug, the place some tedious paintings with a (*8*)machinists sq. situated the true tangent level:

(*2*)
Bafang BBS02 – response block growth

The motor positive doesn’t glance find it irresistible’s tangent, however a dry are compatible confirmed the entire curves laid in opposition to the case and tubes.

The brazing fillet method the step becoming the downtube can’t sit down comfortable in opposition to the threshold of the lug, however many of the response pressure will have to cross throughout the phase into the lug, close to the middle of the block.

A crude marker will stay monitor of any movement:

Bafang BBS02 - reaction block marker
Bafang BBS02 – response block marker

I feel the symmetric curve in opposition to the motor has sufficient projection to stay the block from wandering off, even supposing I haven’t gotten the site precisely appropriate.

Stipulated: (*6*)H(*5*)ope isn’t a method.

The OpenSCAD supply code:

(*10*)

MotorOD = 111; // motor body dia
MotorOffset = 10.0; // motor OD tangent wrt lug edge
ShiftSpace = 6.0; // motor to border house LugLength = 25.0; // duration of phase over BB lug Spacer = [5.0 + LugLength,DownTube[ID]/2,4*ShiftSpace];
SpaceAngle = 0*atan(1.8/Spacer.x); // tilt because of non-right-angle assembly
echo(str("Spacer attitude: ",SpaceAngle)); module MotorSpacer() { distinction() { translate([LugLength - Spacer.x/2,0,0]) dice(Spacer,heart=true); translate([0,0,DownTube[ID]/2]) rotate([0,90 + SpaceAngle,0]) rotate(180/FrameSides) cylinder(d=DownTube[ID],h=DownTube[LENGTH],$fn=FrameSides,heart=true); translate([DownTube[LENGTH]/2,0,DownTube[ID]/2 - DownTube[LENGTH]*sin(SpaceAngle)/2]) // concentric with ID rotate([0,90 + SpaceAngle,0]) rotate(180/FrameSides) cylinder(d=DownTube[OD],h=DownTube[LENGTH],$fn=FrameSides,heart=true); translate([MotorOffset,0,-(MotorOD/2 + ShiftSpace)]) rotate([90,0,0]) rotate(180/48) cylinder(d=MotorOD,h=2*Spacer.y,$fn=48,heart=true); } }

Not anything like exact using to show what wishes extra concept!