Of motor current and speed

Post Reply
User avatar
wormball
Posts: 75
Joined: Thu Oct 04, 2018 8:37 am

Of motor current and speed

Post by wormball »

Hello!

I noticed that current setting has some optimum value (about half maximum in my case), and both decreasing and increasing potentiometer setting results in decreasing maximum speed. I always thought that if the driver can not sustain desired current, it can drive motor at lower current (so if we increase maximum current, the maximum speed at least should not drop). But it seems that it's not the case with tinyG. Is this a bug of tinyG/drv8818 or fundamental property of stepper motor drive? Can anybody explain the cause?

Thanks in advance.
JuKu
Site Admin
Posts: 1110
Joined: Thu Feb 14, 2013 3:06 pm
Location: Tampere, Finland
Contact:

Re: Of motor current and speed

Post by JuKu »

Interesting. I don't have an answer, but I can speculate.

I don't think it is a bug, the current limit is rather straight forward thing; rather, I would guess that this is how stepper motors and this particular system behaves. The switching driver generates magnetic field, and for speed, it needs to change direction fast. (This is also the reason why the environment is electrically so noisy). We want to drive the coil to maximum field, but we also want to be able to discharge it fast, and there are all kinds of effects going on. The cables have resistance as do the coils; there must be some capacitance and cable inductance effects too(no idea if significant). Maybe at some point, the speed benefit of getting a stronger field is less than the effort needed to discharge it? Also, I don't know if the driver is able to drive the motor coils to saturation.
TeraWales
Posts: 1
Joined: Sat Apr 06, 2019 8:47 am

Re: Of motor current and speed

Post by TeraWales »

Hi...the motors are most likely to trip their PTCs at higher control values, so the non-linearity of the speed v. control value curve wouldn’t be too large of an error as long as the control value is high. I suppose you could only run your current-checking code when the control value is > 60. When we talk at hardware level, the PCB Assembly of the motor driver circuit should also be able to tolerate the control value with respect to current and voltage. I know you would have already considered it but just highlighting.
Post Reply