Sunday, March 6, 2022

Fixing An Ancient Racing Wheel Controller

 I recently built up another Home Theater PC with some retro-gaming apps on it.  One of the games I wanted to play was an old one I think is one of the best racing games of all time called "Breakneck 2" originally from 1998 (I wrote about it on this blog about a decade ago, it's from Germany and was originally released as "N.I.C.E.2 Excessive Speed" in Europe).  This game is the only reason I even own a racing wheel game controller.

Notice the "Windows 98" compatibility!


 

But the wheel is 24 years old and over the years it has been stored in basements and attics and garages, not to mention the actual use (abuse?). So I'm not surprised it broke inside almost immediately after I started using it this time.

The shattered plastic "yoke" from inside wheel


But the part that broke is a textbook case for using a 3D printer: to reproduce a plastic part that is unavailable.  And I happen to have a 3D printer.

Granted the 3D printer is not a good one.  It's garbage.  LITERALLY.  It was intercepted on its way to a dumpster.  It's a "Tiko" delta printer that was part of a Kickstarter campaign.  On the plus side, unlike a lot of crowdfunded tech projects, they actually DID deliver some units.  But they bankrupted themselves in the process and went out of business.

The biggest issue with this printer is that the built-in "slicer" software is terrible.  But if you use some other program to slice your models and feed the printer raw "gcode" files it works a LOT better!  But you are still limited by the actual capabilities of the printer, and if you need precision parts that will fit together?  Not gonna happen.  Not without doing some filing and shaping, and even then the still may not fit together.

Anyway, the tldr; is after a number of false starts and failures I FINALLY got a 3D printed replacement part to work and got the wheel working again.  Below is my frustrating journey to once again drive some windy old virtual roads at insane speeds.

Plan A: Fix The Original Part

 

original part glued back together

My first thought was just to try and fix the broken part.  Using some superglue I was able to reassemble it.  But this is a part that has a lot of torsional pressure and other forces acting on it.  I thought it would probably just break into pieces again, so at this point I took as accurate measurements off of it as I could.  I thought maybe if I just clad it with some 3D printed pieces to strengthen it then it might work.  So I made a model in SketchUp 2017, exported it as an STL file, generated a gcode file, and printed it:

Printing the part

In case you're wondering, this printer doesn't have a heated bed.  After many frustrating attempt to print things I discovered that putting a piece of printer paper over the bed was the perfect thing for PLA plastic adhesion.  My models no longer break away from the bed and get dragged around by the print head.  You have to tear the part off the paper, but you can simply use water to get all the paper off.


So I made flat pieces for both sides of the Yoke and superglued them to it, then filled in the gaps with expanding Gorilla Glue.  There are rollers that are supposed to go on those pegs.  The rollers ride against a piece of bungee cord to create resistance (this is not a force-feedback wheel). The rollers were only held on by a tiny peg, one of which was broken and even if could find the piece it would never hold.  So I drilled out the pegs and held the rollers with screws and washers:

I have no idea if this glued-together part would've worked because I could NOT get it reinstalled.  The steering shaft is knurled and you could see the imprint of the knurling inside the "tower" on the Yoke, but I couldn't actually get the part to go back down over the shaft.  I suspect it may have been pressed into place at the factory or heated and pushed on, gripping itself as it cooled and contracted.  I couldn't hammer it down onto the shaft because I was sure THAT would just break it into a million pieces again.

 

Okay, so on to Plan B!

Plan B: 3D Print A Replacement Part

My first thought was, since the original piece is very dense, heavy plastic, and has a lot of forces acting on it, I should try and print my replacement part with 100% density too.  Which would take forever, but it would be literally solid plastic.  But I had to quickly abandon that plan because at that density the little Tiko printer starts experiencing pronounced layer shifting:

That meant I had to rework my model a bit to create some interior structure so I could hopefully stop the layers shifting on me.

But there was still some layer shifting, especially when it got to printing the "tower" that goes around the knurled shaft.  Also, because of the limitations of the printer's precision (or severe lack of it) I could NOT get the inside diameter of that tower correct.  I ended up printing a whole bunch of revisions:


 And STILL couldn't get it right.  The inside diameter of the tower not only has to fit over the knurled shaft the outside diameter has to fit inside the "resistance arch" with the bungee cord.  So on that last one on the right I tried to slowly, and carefully hone out the interior large enough to install it.  Which resulted in it eventually breaking off entirely:

DOH! 

This project went through MANY revisions on the fly:

The many revisions of the Yoke
 

These were all done in SketchUp 2017 which is the only 3D modeling software I really know how to use.  I've tried to build things in Blender, Cheetah3D, and FreeCad with great difficulty.  At least with SketchUp I know I can slam together something really fast.

So in that last revision I decided to approach this a different way.  Since I absolutely could NOT get that inside diameter right I figured I'd design a multi-part model that could CLAMP around the knurled shaft.  That led to this:

The "tower" is printed separately and superglued to the base parts.

With some screws I found in the kitchen junk drawer. 
No idea what they're from, but they went through the holes and were long enough.

Okay, so another problem you run into with 3D printing (and not just with my literally garbage printer) is prints that curl up on the ends as the part cools.  It's more of a problem with ABS plastic than PLA but can happen with either, especially on a printer without a heated bed.

So, to get the parts to match up and be flat I had to heat up a cup of water in the microwave.  For PLA you need it about 150 degrees.  Dip the part in the hot water for a few seconds until it just become pliable enough to reshape it.  If you leave it in too long or the water is too hot, though, you're part will become TOO pliable and will also shrink.  See how the top piece in that photo is a little narrower than the bottom piece?  It shrank a bit.  See that little dip in the top edge next to the longer screw?  My thumb made that.

Reassembly

Now that I had a part that would actually FIT the time came to put everything back together.

When I was trying to get the other attempted Yokes on I had to cut the wires to the buttons in the middle of the steering wheel.  Ironically with the two-piece clamp Yoke I wouldn't have needed to do that.  But what's done is done.  You may have noticed in that disassembled photo up above that there's a part labeled "Weird Dummy Board."  The wires from the steering wheel buttons went to this board that doesn't seem to DO anything:

The wires just connect to one side and there are circuit traces that just go straight across to wires of the same colors.  Why?  Perhaps there was some other model of this wheel with a different board there for some other features this one doesn't have?  No idea.
 

The stupid "Dummy Board"

 

The advantage of getting rid of this useless board was the wires I'd snipped were long enough to reach the ultimate board connector without my needing to solder pigtails onto them.  So, goodbye Dummy Board!

Once I clamped the Yoke on the knurled shaft I had to reinstall the resistance arch over it.  That was secured with four weak little screws from the front panel.  I drilled everything out a little larger and put in some beefier bolts.  Found these Allen-head ones in a box of junk that dressed it up nicely.

Resistance Arch and Clamp Yoke installed

The Clamp Yoke's bolts sticking out aren't a problem, and give enough extra for some lock-nuts.

Next up is reinstalling the gear-driven potentiometer that actually tracks the position of the wheel.  The trick with this is to make sure the wheel is in the center position and the potentiometer is in the middle position and drop everything into place and screw it down.  If you get this wrong your steering wheel will be off-center when you're driving straight.

With everything back in place it's time to reconnect those steering wheel button wires to the connector (sans the "Dummy Board"):


 




Wires bundled and everything is reconnected to the main circuit board!

I did ultimately have to partially disassemble this again because on my first test with it the steering shaft knurling just ground out the inside of the Clamp Yoke tower.  PLA plastic is pretty soft and the forces acting on it just turned the knurling into a file.  My solution to that problem was to permanently GLUE the clamp onto the shaft with two-part epoxy.  It means I will NEVER be able to get this apart again, but once the epoxy resin hardened that clamp isn't going anywhere.

Another issue was that, after 24 years, all the grease had basically gone away.  The only grease I had on hand was some plumber's faucet grease.  I put that on the outside of the tower and on the steering gears.  The only downside to that is the wheel works VERY easily and smoothly.  Though, I'm not sure if maybe that's what it was like when it was new?  I can't remember.  Maybe I just got used to the way it felt without any grease left in it.  Of course, that probably played a role in why the original yoke broke.

Anyway, everything fixed in place again and reassembled it was time to CALIBRATE it!

Calibrating it on Linux with QJoyPad utility

And last, but not least, taking it for a test run around the Breakneck 2 Corsica track:

If, by chance, you have one of these old Thrustmaster racing wheels that has also broken the Yoke here are the STL files of my final revision:

Thrustmaster_Yoke_Rev9.zip

Of course I make no guarantees for how long it will last.  So far mine hasn't broken again, but I've also been careful not to crank on it too hard.









No comments: