IBT-2 проблемы параллельной работы

Celestron
Offline
Зарегистрирован: 13.04.2016

Добрый день, гуру!

Один раз Вы мне сильно помогли, очень расчитываю, что и сейчас не откажете в помощи, поскольку моих знаний уже явно не хватает.

Итак, робот на гусеницах. Тяжелый, поэтому приводится в движение двумя двигателями 12v, вот такими http://www.ebay.com/itm/37GB-300RPM-12V-DC-2000mA-Replacement-Torque-Gear-Box-Motor-37MM-2A-0-8kg-cm-/181644383330?hash=item2a4ad95462:g:m~oAAOSwm8VUvREN

Источник питания Pb батарея 12Ah 6V. Обращаю внимание, что двигатели на 12V, но 6V мне хватает.

Двигатели запитываются независимо через два модуля IBT-2, но от одной батареи. Каждый подключен по схеме аналогичной как здесь http://www.hessmer.org/blog/2013/12/28/ibt-2-h-bridge-with-arduino/ , только без потенциометра для регулировки скорости, поскольку в тестовом примере скорость решил дать максимальную.

Так вот, если запускать двигатели по отдельности, то они работают одинаково (разгоняются и крутятся с одинаковой скоростью). А если пробывать их запустить одновременно, то один работет с нормальной скоростью, а второй разгоняется медленно и крутится раза в 4 медленнее своего собрата. Поначалу я грешил на один IBT-2. Поменял, но эффект не прошел. Какие могут быть мысли? В каком направлении копать? Помогите.

Скетч простейший, исключительно для теста:

/*
IBT-2 Motor Control Board driven by Arduino.

Connection to IBT-2 boards:
1st IBT-2 pin 1 (RPWM) to Arduino pin 4(PWM)
1st IBT-2 pin 2 (LPWM) to Arduino pin 5(PWM)
1st IBT-2 pins 3 (R_EN), 4 (L_EN), 7 (VCC) to 5V
1st IBT-2 pin 8 (GND) to GND
1st IBT-2 pins 5 (R_IS) and 6 (L_IS) not connected

2nd IBT-2 pin 1 (RPWM) to Arduino pin 11(PWM)
2nd IBT-2 pin 2 (LPWM) to Arduino pin 12(PWM)
2nd IBT-2 pins 3 (R_EN), 4 (L_EN), 7 (VCC) to 5V
2nd IBT-2 pin 8 (GND) to GND
2nd IBT-2 pins 5 (R_IS) and 6 (L_IS) not connected
*/

int RPWM_Output1 = 4;	// Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM)
int LPWM_Output1 = 5;	// Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM)

int RPWM_Output2 = 11;	// Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM)
int LPWM_Output2 = 12;	// Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM)

void setup()
{
	pinMode(RPWM_Output1, OUTPUT);
	pinMode(LPWM_Output1, OUTPUT);
	pinMode(RPWM_Output2, OUTPUT);
	pinMode(LPWM_Output2, OUTPUT);
}

void loop()
{
// Запуск двигателей
	analogWrite(LPWM_Output1, 0);
	analogWrite(RPWM_Output1, 254);
	analogWrite(LPWM_Output2, 0);
	analogWrite(RPWM_Output2, 254);

	delay(4000);

// Останов двигателей
	analogWrite(LPWM_Output1, 0);
	analogWrite(RPWM_Output1, 0);
	analogWrite(LPWM_Output2, 0);
	analogWrite(RPWM_Output2, 0);

	delay(3000);
}
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Для начала замерить напряжение на батарее при подключении каждого из двигателей и обоих вместе.

Celestron
Offline
Зарегистрирован: 13.04.2016

Прошу прощения за долгий ответ (работал :) ).

АКБ без нагрузки: 6.24 V

АКБ при включенном ЛЕВОМ двигателе (отдельно): 6.08 V - скорость хорошая

АКБ при включенном ПРАВОМ двигателе (отдельно): 6.08 V - скорость хорошая

АКБ при включенных обоих двигателях (вместе): 6.08 - 6.07 V. При этом правый крутит раз в 10 медленнее левого. Левый работает на нормальной скорости.

SOS :0

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А ничего, что на пинах 4 и 12 нет PWM?

Celestron
Offline
Зарегистрирован: 13.04.2016

Есть, это Mega2560. Из описания "PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the analogWrite() function."

Потом, ведь по отдельности работают...

toxikaciya
Offline
Зарегистрирован: 11.04.2016

Замерьте напряжение на каждом двигателе.

Celestron
Offline
Зарегистрирован: 13.04.2016

Напряжение, подаваемое на двигатели:

левый (запускался отдельно): 4.65V

правый (запускался отдельно): 4.40V

оба (запускаются вместе): левый - 3.3V, правый - 0.48V. Но сейчас правый почти стоит (чуть пытается сдвинуться).

На АКБ в момент работы обоих двигателей 6.17V

Celestron
Offline
Зарегистрирован: 13.04.2016

Добавляю картинку по PWM с осциллографа.

Синий PWM левого двигателя, Желтый - правого. Остальные два PWM в 0, как в скетче и указано.

Celestron
Offline
Зарегистрирован: 13.04.2016

О!!! Я отсоединил двигатели и на выходах IBT-2, обоих, по 5.8V. В этот момент я пытаюсь запустить оба двигателя!

Какие выводы?

toxikaciya
Offline
Зарегистрирован: 11.04.2016

А с другим источником питания не пробовали? Например, от компьютерного БП?

Celestron
Offline
Зарегистрирован: 13.04.2016

Не-е, не пробовал. Да у меня и нет, но могу достать. Вообще-то, у меня этот АКБ тянул раньше ЭЛЕКТРОМОБИЛЬ с ребенком...

АКБ у меня вот такой http://www.chipdip.ru/product/gp6120/

Janseit
Offline
Зарегистрирован: 04.10.2022

Здравствуйте, Celestron. Не знаю вы активны сейчас или нет. Нам нужна ваша помощь

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Janseit пишет:
Здравствуйте, Celestron. Не знаю вы активны сейчас или нет. Нам нужна ваша помощь

IBT-2 очень кривые модули ежели что