Automated Blinds Part 1: Driver Bringup
I took the last week off of work (anti-burnout vacation time) and I’ve been working a lot on some designs for automated blinds to retrofit on top of my IKEA shades. I 3D printed a custom bracket that could hold a small stepper motor, some gears, and drive small adapter that engages the winding tube of the blinds with a spline (I’ll have a full tutorial up when I finish).
This was my first time using stepper motors in a personal project - I figured they would be the easiest open loop solution for measured radial movement compared to an encoded DC motor. It actually took me a bit to get the motor spinning how I wanted and I went through a couple different drivers in the process. I started off with an L298n module but quickly learned why you use current limiting drivers for stepper motors. The L298n is incredibly loud, especially at low speeds - which I believe in part is because of its lack of micro stepping. I swapped in an A4988 driver and had a dramatic improvement in noise levels (which is important in this project). I’m also looking into getting a TMC2009 from Trinamic up and running soon which should reduce the noise level even more!
I did some torque testing to make sure this particular stepper could handle the spooling force of the blind and in doing all this I learned a ton of the stepper motor balancing act between torque, speed, current, and heat (and noise, kind of):
Torque is inversely proportional to the speed of the stepper (this was the one thing I knew going in). As speed increases, torque drops and the motor skips.
Steppers are loud at low speeds, especially at certain resonances, but can be improved by introducing micro-stepping which allows smoother current transitions between windings
Cool but micro-stepping also reduces available torque output
The motor torque can be increased by raising the motor current on the stepper driver
Raising the motor current causes the motor to run hotter
All of these dependents create an interesting mishmash that make you prioritize what you need most. Want to go fast? Better be ready to be louder and have lower torque. Need more torque? Raise the motor current but watch for overheating.
In my case I’m looking for quiet over speed and have a very definite torque requirement. After some testing on the bench, I found a speed, current, and micro-step configuration that checked all the boxes for me!
Here are some of the websites I used to help make sense of all this during my testing: