3D Printed Steering Wheel Tutorial
by louismakes in Design > 3D Design
99 Views, 1 Favorites, 0 Comments
3D Printed Steering Wheel Tutorial
I made this because I do not own a simulator steering wheel. I wanted to play some racing games, but do not have pedals or a sim wheel, which makes it far more difficult to drive well. I am a sophomore in high school and this is my first project like this, although I have used microcontrollers and 3d printing before this.
Supplies
For this project you need to have the following physical components:
Espessif systems ESP32-S3-N16R8
HW-131 power supply, or other 5v power supply(Included on some esp32s)
1xSoldering iron and solder wire, or a breadboard and jumper cables
1x1kg of PLA filament
12x M3 screws
1x E38s6g5 600 ppr rotary encoder
1x USB-C cable(data carrying)
1x 6004 bearing (Can be 3D printed)
2x 10k ohm resistors
Required Software:
3D printing slicer
Autodesk fusion
Arduino IDE
Making a Clamp
There is a video above for how I designed and created the clamp. You can also download the clamp below. You will need to attach the upper segment to the clamp, which I recommend doing in fusion. You can try to follow the tutorial if you are able to use fusion, but I would recommend just installing the clamp file and using it in a later assembly.
Downloads
Designing a Steering Wheel
For this part we will be designing a wheel that you can use with the other systems. Because we know we will be using a 6004 bearing, which has an inner diameter of 20mm, and that we are using a rotary encoder with a 6mm key, we can design a wheel with a shaft to attach to both of these. You can make a solid circle in fusion, although that is quite inefficient. We will instead make ergonomic hand grips. The wheel shape can be anything you want, although you need to keep the shaft 20mm with a 6.1mm hole to fit the bearing and encoder
Downloads
Making a Mounting Plate
This is how to make the mounting plate. Below is a similar file of the mounting plate, but it has the 6004 bearing mount already attached, and should be printed.
Downloads
Making 6004 Bearing Mount
The 6004 bearing mount it quite simple consisting of a 41mm hole for the exterior of the bearing as well as a 25mm hole for the inner bearing to avoid contact with the inner part of the mount. This part is rounded and has a chamfer to reduce weight while preserving strength.
Downloads
Encoder Mount
There is a video about how the encoder mount was made, but it is not as accurate as the file below. I recommend using the file attached below rather than creating the fusion file by yourself.
Downloads
Printing
You should try to use 0.16mm layer height with a fairly accurate printer. You just need to load the 3mf files into a slicer that works with your printer, and send the sliced file to your printer. A more accurate print will result in an easier to assemble piece.
Assembly of Printed Parts
You will align the rotary encoder with the rotary encoder mount and screw it in using M3 screws. Depending on your print accuracy you may only be able to put 1 or 2 screws rather than all 6, however this is perfectly fine because the encoder just needs to be secure. Once you have the encoder mounted, you will put your bearing into your bearing mount. It should just snap in and be secure, but you may need to superglue it if it is not secure. Once you have your bearing in, you just need to align your encoder, and choose a distance to mount it. The mounting plate makes alignment quite easy. You will then attach the mounting plate to your clamp using your M3 screws. To attach to a desk, screw your screw into the thread at the bottom of the clamp and attach it to a desk. Avoid turning too tightly, or you may risk damaging your desk or table-- you have a lot of torque.
Wiring Diagram and Assembly of Components
You will be connecting A and B channels to I/O pins labeled 17 and 18. You can ignore the reset button, as that was added for troubleshooting. You will then connect the 3v3 pins of the esp32 to 10k resistors that feed into your A and B channels. These act as pullup resistors and are needed to read NPN outputs. For the rotary encoder itself, you will hook up the red wire to +5v and the black wire to ground. You can also hook up the esp32 to +5v input and ground that to ensure you are using a common ground. A button can be added to I/O pin 15 to reset the counter. You can use the rst button on the esp32 to restart it aswell.
Coding ESP32
You will use the ino file below to set up your esp32. You will need to load it into platform io or arduino IDE or whatever you have to flash the ESP32. Use the default settings for your board, but make sure to select an esp32 in Arduino IDE. You will then need to click upload to upload the code to the ESP32. After this is done, you can connect via bluetooth and it will act as a joystick. It will show up as <<ESP 32 wheel>> in bluetooth.
Downloads
Congrats! You Now Have a Steering Wheel
You now have competed making a steering wheel, although without force feedback which increases realism for the wheel. The mounting plate leaves space to add more parts to this design without too much difficulty.