JJRobots COMMUNITY

Full Version: B-Robot DRV8825 Problem
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Battery voltage is OK. But 0.5V on 8825 driver trimmer give only 0.7A to motors , so it can be insufficient. Try increase current to 1.5 - 1.7A.
(12-11-2015 02:16 PM)sasa999 Wrote: [ -> ]But 0.5V on 8825 driver trimmer give only 0.7A to motors.

1 Amper!

For DRV8825:

Ichop = Vref/(5*Rsense)

For 1.7A Vref = 0.85V
From https://www.pololu.com/product/2132

"The DRV8825 supports such active current limiting, and the trimmer potentiometer on the board can be used to set the current limit. One way to set the current limit is to put the driver into full-step mode and to measure the current running through a single motor coil without clocking the STEP input. The measured current will be 0.7 times the current limit (since both coils are always on and limited to approximately 70% of the current limit setting in full-step mode).
So, for example, if the reference voltage is 0.5 V, the current limit is 1 A. As mentioned above, in full step mode, the current through the coils is limited to 70% of the current limit, so to get a full-step coil current of 1.5 A, the current limit should be 1.5 A/0.7=2.1 A, which corresponds to a VREF of 2.1 A/2=1.05 V. See the DRV8825 datasheet for more information."
.
Looks like this need some real tests for clearance

http://www.ti.com/lit/ds/symlink/drv8825.pdf
page 23

IOUT(RMS) is equal to the approximately 0.7x the full-scale output current
setting. The factor of 4 comes from the fact that there are two motor windings, and at any instant two FETs are
conducting winding current for each winding (one high-side and one low-side).
(12-11-2015 06:45 PM)sasa999 Wrote: [ -> ]From https://www.pololu.com/product/2132

"The DRV8825 supports such active current limiting, and the trimmer potentiometer on the board can be used to set the current limit. One way to set the current limit is to put the driver into full-step mode and to measure the current running through a single motor coil without clocking the STEP input. The measured current will be 0.7 times the current limit (since both coils are always on and limited to approximately 70% of the current limit setting in full-step mode).
So, for example, if the reference voltage is 0.5 V, the current limit is 1 A. As mentioned above, in full step mode, the current through the coils is limited to 70% of the current limit, so to get a full-step coil current of 1.5 A, the current limit should be 1.5 A/0.7=2.1 A, which corresponds to a VREF of 2.1 A/2=1.05 V. See the DRV8825 datasheet for more information."
.
Looks like this need some real tests for clearance

http://www.ti.com/lit/ds/symlink/drv8825.pdf
page 23

IOUT(RMS) is equal to the approximately 0.7x the full-scale output current
setting. The factor of 4 comes from the fact that there are two motor windings, and at any instant two FETs are
conducting winding current for each winding (one high-side and one low-side).

Экий Вы, сэр, неугомонный. Даже худо-бедный перевод гугла дал мне понять, что в первой цитате речь ведут о полношаговом режиме, где как следует из таблицы 2 на стр.14-15 ток действительно не превышает +-71%. В остальных же случаях максимальный ток ограничен 100% (см. первую строку таблицы).
Посему, сто раз проверь, прежде чем советовать человеку с мотором на 1.7А поднимать уровень ограничения тока с учётом этих 70%, ибо новый уровень ограничения тока будет почти на пределе допустимого - 2.43А.
(12-11-2015 08:46 PM)KomX Wrote: [ -> ]...В остальных же случаях максимальный ток ограничен 100% (см. первую строку таблицы).
Посему, сто раз проверь, прежде чем советовать человеку с мотором на 1.7А поднимать уровень ограничения тока с учётом этих 70%, ибо новый уровень ограничения тока будет почти на пределе допустимого - 2.43А.

НО! Эти 100% всего 3 шага, а потом остальные 29 идёт на уменьшение. Средний ток за весь цикл 32 шага будет даже меньше. Если считать простой арифметикой то где то около 62.5% или 70.7% если по RMS (чёрт его знает как там с этим драйвером). А мотор то рассчитан на 1.7А постоянного или же среднего тока. Если там на пару, три шага ток чуть больше, то , я думаю , мотор не перегреется. Подчёркиваю - Я так думаю. Можно конечно и проверить, но насколько помню, то на а4988 выставил максимум что драйвер даёт, а мотор не кипел. Да, был довольно тёплый, но не более 50 градусов после 20-30мин работы.
Если я не прав то буду рад объяснению.

Short translation:
Max 100% current will be only 3 steps. So average current will be about 62.5% (my quick calculations) - 70.7% (RMS). For max current limit at 2.43A current at coil must be ~1.52 - 1.7A.
I think so.

(12-10-2015 10:45 PM)weekeda Wrote: [ -> ]First I will try now to get the robot working with both motor drivers and microstepping=16.
Don't remember change M0,M1,M2 settings for 1/16 - Low, Low, High
(12-11-2015 09:46 PM)sasa999 Wrote: [ -> ]НО! Эти 100% всего 3 шага, а потом остальные 29 идёт на уменьшение. Средний ток за весь цикл 32 шага будет даже меньше. Если считать простой арифметикой то где то около 62.5% или 70.7% если по RMS (чёрт его знает как там с этим драйвером). А мотор то рассчитан на 1.7А постоянного или же среднего тока. Если там на пару, три шага ток чуть больше, то , я думаю , мотор не перегреется. Подчёркиваю - Я так думаю. Можно конечно и проверить, но насколько помню, то на а4988 выставил максимум что драйвер даёт, а мотор не кипел. Да, был довольно тёплый, но не более 50 градусов после 20-30мин работы.
Если я не прав то буду рад объяснению.

Представим себе гипотетический случай - команды извне не поступают, баланс робота идеальный, последние шаг моторов привёл в одну из первых 3-х позиций по таблице 2.
Какой ток и как долго будет течь через обмотку?
Гипотетически возможен перегрев двигателя, но практически вот мои расчеты. При диаметре колеса 10см один полный шаг данного мотора 0.0785мм, а три микростепа 0.0074мм. Не думаю что робот на столько устойчив, что стоя на месте двигается в пределах меньше десятой доли милиметра.
Короче говоря тут на любителя - кто хочет 100% гарантию, тот ставит ток с запасом, у кого надо больше силы - тот может использовать завышенные значения.
...вот и место для усовершенствования кода - "owerclock" мотора и температурный датчик на мотор и/или измерение среднего тока на обмотку мотора. Это для гонщиков и экстремалов, когда нужно выжать максимальную мощность при минимальном весе.
(12-10-2015 11:51 AM)weekeda Wrote: [ -> ]What part of the sketch I have to change?
Short Step pulse can be problem too. My drv8825 work fine with ~1us Step, but according to specs it need 1.9us. So you can take twice function delay_1us
Code:
delay_1us();
delay_1us();
or
delayMicroseconds(2);

p.s. I was tried very short pulses on a4988. It can run with only 0.15 - 0.2us Step pulse.
Pages: 1 2
Reference URL's