I bought a bipolar stepper motor (Mercury SM-42BYG011, 12V, 0.33A) and an LN293 H-bridge. I drive the motor with a 9V alkaline battery. Unfortunately the stepper motor empties the battery very quickly. I don't need a lot of torque, and I don't need high accuracy (the motor turns 1/10 of a turn every few minutes). How could I drive the motor using as little battery as possible? Would some driving sequence, hardware implementation (resistor, capacitor...), or something else help saving battery? Does turning off the motor after each turn be enough not to use battery when static (or should I get the 9V battery with a transistor or something)? I should add that I control the motor with a raspberry pi.
When the battery effective series resistance approaches the equivalent load resistance you approach the maximum power transfer to the motor but only at 50% efficiency. Any voltage drop in the transistor drivers is another loss of battery power.
This application is like starting your car in winter every minute but not having an alternator to keep it charged.
You indicated that you do not need a lot of Torque or accuracy, yet you are using big NEMA 17 motors (1.7"sq.) to rotate 1/10 rev. without any inertial load defined.
Generally when you operate off battery for a long time, you define how long that time must be. For example a digital watch should last > 1yr or a remote control car may last 30 minutes using high quality LiPo batteries (C/60 ). So we don't know how long is important, but obviously a 9V 0.55Ah or 5Wh wont last very long on a stepper motor rated for 4 Watts.
Step 1: define battery duration and budget.
Step 2: define rotational mass , friction (if any)
Step 3: define max time to increment angle
Step 4: Turn off current after motion, unless there is a reaction force
Step 5: Consider a bigger battery and smaller motor.
- ESR battery and driver should be< 5% of motor DCR
- ( 12V/0.33A = 36 Ohms. for this NEMA 17, 9V ESR
Step 6: Derate capacity of battery from 1C = 20h discharge rate on datasheet if life is less than 20h.
e.g. 5V LiPo and FET H Bridge rated for > 5x motor current.
> These stepper motors are 200 steps /Rev so 1/10 Rev is 20 full steps. How you control that is up to you.
I'm not sure if you are familiar with motor maximum acceleration is proportion to current limit and max RPM is proportional to Voltage. Yet Steppers are often used with fixed Voltage and time intervals per step, which is sub-optimal. The answer is to slew the step phases to reduce each step time by an acceleration constant until max. velocity is reached and then reverse the speed ramp while coming to a stop.
In my case, I used 8mm gears and 200 steps per rotation NEMA 1.7 (like yours) and I used 1000 mm/s max linear speed and 3000 mm/s² max acceleration rate using 12V drivers with 1.5A limit on pot . Your load/power source will require slower rates.