In designing the drivetrain for our bot, we basically had two options: connect our motor output shafts directly to our wheels, or build a full drive train complete with couplers, bearings and wheels supported on both sides. As a group, we decided that we really wanted a reliable drivetrain that would allow our bot to move in a straight line and turn accurately. As such, we opted for the latter of these drivetrain designs.
As can be seen in the image above, our drivetrain consists of 6mm steel axle connected to a Jameco 161832 motor on one end and a 2.975" skate wheel on its other end. A spiral coupler is used to connect this main shaft to the Jameco 161382 motor, and pre-designed skate wheel adaptor is used to connect this main shaft to the skate wheel, and a roller bearing contained within a custom laser cut mount is used to support this main shaft between the coupler and the wheel.
The specific components contained within this drivetrain design were used to insure its reliability and performance:
- Aluminum spiral shaft couplers were used to connect the motor output shaft to the main 6mm shaft in order to provide two advantages. First, they ensure that the motor output shaft will not deform if the wheels are abnormally loaded. For instance, if the right side of the wheel hits a wall causing the entire wheel to rotate 10 degrees, the spiral coupler itself will bend to accommodate this deformation, leaving the motor shaft almost completely unaffected. Second, the spiral shaft couplers were cleaner, more reliable, more serviceable and cheaper than commonly spider couplers.
- Roller bearings were used to mitigate deflection in the main 6mm shaft and provide another point of support. Simply providing support for this main axle at the wheel and the motor (via the coupler) allowed unwanted deflection, particularly vertically near the center of the shaft, leading us to incorporate these bearings. These couplers further confined the shaft while still allowing it to spin, greatly reducing deflection and variability within our drivetrain.
- The wheels were used specifically because their supplier had predesigned an attachment to the wheel that could rigidily connect to an axle. We could have gotten around this by machining one ourselves, or supporting the wheel on its other side with a bearing, however we though this attachment provided a lot of convenience while still guaranteeing the structural viability of our drivetrain.
We also incorporated two roller ball bearings into our drivetrain design, and placed them on the underside of the bottom plate in the middle of the two sides unsupported by wheels. We used these 'defacto' wheels in order to provide the bot with four points of contact on the ground so as to avoid the inevitable tipping that would otherwise occur.
We decide to use the Jameco 161632 12V DC motor because it was a commonly used motor amongst previous ME 210 projects and our initial characterization of the motor indicated that it could safely provided the functionality we needed. This characterization, as well as the data sheet for the motor, are attached below. We never had a problem with the motors except for stalling at low motor speeds, indicating that our motor choice was prudent.
motor_calculations.odt.docx | |
File Size: | 4 kb |
File Type: | docx |
jameco_161382_data_sheet.pdf | |
File Size: | 1780 kb |
File Type: |
In order top fix the motors to the bot base, we used two custom designed, laser cut supports. One of these supports attached directly to the back of the motor via M4-3 screws and to the base plate of the bot via the "tongue and groove" mating shown above. The second of these support slid over the smaller diameter of the motor, and also attached rigidly to the base plate of the bot through the "tongue and groove" mechanism.
In the end, our drivetrain functioned very well for the necessities of this class, however it was no where near perfect even with the extra we took. In order to drive straight, we had to run our two motors at fairly different PWM cycles (~120 and ~170). We took great care in assembling our drivetrain, and tried to ensure symmetry across the entire system, however we still had this variability.
Two very important thing we learned from designing and building this subsystem: make sure you have a good design before you assemble, and make sure you assemble the drivetrain right the first time. Once we had assembled the drivetrain and started adding the other components of our bot, it became obvious that the drivetrain was not going to change and that we were stuck with it for better or worse. Luckily, are drivetrain functioned very effectively, however it could have been disastrous had it not. Making a full CAD model on SolidWorks before buying parts and assembling really helped us to avoid this as we had to completely hash out our design before acting on it. Some screenshots from this CAD sub-assembly can be seen below.