Let's Make Robots!

l298 used for bipolar stepper control


For the project I'm working on I have designed a motor control board based on the l298 and an Attiny2313, which can be controlled using i2c.

It works pretty good but I'm having a strange issue running a 12 volts stepper: 

When I'm making one single step at a time the torque of the motor is very low no matter  how long I keep the coils energized. If I do multiple steps the torque is as it should be for this motor. 

I think it might be related to some latency between setting the EN1 and EN2 pins high and the actual moment 12V are actually trough the driver. I got beeter results by adding a 20 ms  delay after enabling the driver and before actually setting the outputs high to do the step. 

 Anyone had this problem before?  

PS: I will post the schematic and the PCB layout tonight, I'm at work now. 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Hi all,

Found the torque issue, it was actually caused by the stepping resonance of the motor.

Half stepping solves the problem completly :D

Thats great! Does half stepping make the jerking noise from the motors stop?

I`ve been looking at some information on microstepping, the idea is pretty simple, just have to use the ADCs to adjust the current through the coils. On my first driver board the resistors used to control the current are soldered in with a manual adjust trim pot. The next one I think I will leave that bit out and try making some arduino microstep code.


 Hope this is understandable, or I will just attach the eagle files.

So here is the schematic of the controller (I could not insert the image it would scale and create a mess):



The linkl didn't work for me. 


Stepper motors are relatively slow. It takes time for the magnetic circuit to reverse polarity. You are probably trying to run it way too fast. With industrial stepper motor control systems, a motor that normally runs at a few volts per phase may be driven by as much as 100V with suitable current limiting to help overcome back emf and achieve higher speeds.
Actually this happens when I'm running it with a 30 ms delay between each step, if I decrease the delay to let's say 10 ms then the torque is normal. I'm pretty puzzeld about this. I'm sure it's some how related to the fact that I'm turning on the driver before the step and then off in order to keep both the driver and the stepper cool. It seemed like a good ideea ... :/