In this short update, I will talk about the improved stepper driver for the pet-feeder device.
While working on the sensor board, to see if the fill sensors work as expected, it also involved using the stepper motor. Here, I realised, the combination of stepper motor and driver I worked with is way too noisy and unreliable.
In the following video, you can hear the sound of the stepper motor in action.
I tested various combinations of stepper driver and motors, to see which ones lead to a silent operation. Also, it would be nice to run the motor directly from the 5V supply power, without the need to convert it to a higher voltage.
After a number of iterations, I found the following combination useful:
- Stepper Motor: 17HS19-2004S1 (59 N/cm, 2A, 42x48mm)
- Driver: TMC2209 SilentStepStick (Board with the TMC2209-LA chip)
I started building the controller for the device on a breadboard. It is quite a simple circuit, with the Raspberry Pi Pico as the microcontroller. There are only little additional components to control the stepper drivers power, which aren’t added yet on the following photo.
With the new driver and motor combination, you only hear the gears and the turntable sliding over the platform. The motor is almost silent.
I had to address another problem: With the low current available to the device, the stepper motor’s maximum speed is quite limited. To solve this, I changed the wheel’s size on the motor to the same size as the one on the lower axis; It is now a 1:1 transmission ratio.
To test the turntable, I printed a substitute for dry pet food. The pieces have the same size as the real food, but they will keep the desk and drive clean while testing.
It is nice to see how well everything works. In these photos, you can see the P-Channel MOSFET which is controlling the power for the stepper motors. This is more about keeping the inrush current low than actual power saving. The stepper driver already cuts the power from the motor if it is disabled, but with the large capacitors for stabilisation, it’s better to power up this part with delay and only if really needed.
Now, with the stepper problems finally solved, I focus on the fill sensors. I did some tests, and the sensor readings are not as distinctive as I hoped they are. Now I investigate if there is a simple method to improve them.
I hope you found this update about the new stepper motor driver interesting. If you have any questions, missed information, or simply want to provide feedback, feel free to comment below or contact me on Twitter. 😄