The Mechatronics class at South Dakota School of Mines & Technology has students form groups for a maze solving robot and free projects. My group decided to make an automatically shifting bicycle for our free project. We set up the bicycle to monitor the current speed and change the current gear in order to get the maximum workout.
Finding the speed
The bicycle tracked speeds at two locations on the bike. The first was the wheel speed. This let us know that the bike was actually moving and making progress. The second location was at the crank. This let us know when the rider might be coasting or if they are doing a lot of leg work without making much movement progress.
To measure the speed we used hall effect sensors and neodymium magnets. A magnet was placed on the moving component and the sensor was attached and stationary to the frame. Whenever the magnet crossed in front of the sensor, the sensor would close the circuit and trigger an interrupt in the microcontroller. The frequency of these interrupts could be combined with the diameter of the moving component in order to find the speed.
Changing the gear
We changed the bike’s gear by connecting the cables to a servo. The servo allowed use to set a specific tension on the gear cable and thus change to a specific gear.
We could not find a servo that provided enough power to shift while still being a practical size for the bicycle. For this reason, a gear reduction system was designed. Multiple pulleys were designed for the cable to ride on which were then 3D printed.
The bike was mostly functioning correctly the first time we assembled everything. The biggest issue was shifting in the opposite direction than what was needed. This was a quick fix and we had the bike working.
Unfortunately, while testing and looking for other issues, we stripped the component that connected the gear cable to the servo and didn’t have to to 3d print another. The video below shows the individual components working but we didn’t get any video before stripping the part.