Подключение электронных регуляторов хода к ардуино

Доброго времени суток!

Делаю модель судна, управляемую с помощью bluetooth. Использую arduino nano, два электронных регулятора хода, два щеточных двигателя, bluetooth-модуль, батарейки.
При подключении одного контроллера с двигателем аппарат работает штатно, при включении двух контроллеров и двигателей сгорает один из регуляторов скорости, причем сразу после включения. При подаче питания arduino выставляет оба регулятора на холостой ход, затем ожидает команд от bluetooth.
С чем может быть связан выход из строя регуляторов и какие меры стоит пробовать предпринять?

  1. Используемые детали:
Спойлер
  • Батарейки: 7.4В, 25-30А. 3 штуки

  • Регуляторы:
    Постоянный ток 20A Макс. 15A<30s Импульсный 30A< 5s
    PWM: 8K
    Входной сигнал: PPM
    Частота драйвера: 2 кГц
    Li-Po: 2S
    имеет следующие контакты: пара контактов к батарее, пара контактов к двигателю, три контакта: вход управляющего сигнала от пина arduino, +5В выход, земля

    Отдельно буду благодарен за документацию к регуляторам или конкретные наводки где её искать

  • Двигатели: щеточные двигатели постоянного тока, 3-12В

  • Модуль bluetooth: HC-06 с четырьмя контактами: +, -, прием, передача

  1. Программный код
    Используется библиотека Servo.h
Код, выполняющийся при подаче питания на arduino
Servo motorMain; //главный привод (правый)
Servo motorSecondary; //вспомогательный привод (левый)

const int FORWARD_SPEED = 1000;   //полный вперед
const int BACKWARD_SPEED = 2000;  //полный назад
const int SPEED_RANGE = BACKWARD_SPEED - FORWARD_SPEED;
const int NEUTRAL_SPEED = FORWARD_SPEED + (SPEED_RANGE / 2);

void setup() {
  Serial.begin(9600);
  motorMain.attach(9);
  motorSecondary.attach(3);

  motorMain.writeMicroseconds(NEUTRAL_SPEED);
  motorSecondary.writeMicroseconds(NEUTRAL_SPEED);

  delay(1000);
}
Код обработки bluetooth-команд
void loop() {
  while (Serial.available() > 0) {
    handleCommand(Serial.read());
  }
}

const int MAIN_SHAFT_INDEX = 0;
const int SECONDARY_SHAFT_INDEX = 1;
void handleCommand(unsigned char byte) {
  int index = (byte & 0xf0) >> 4;  //индекс устройства - старшие 4 бита
  int value = (byte & 0x0f); //значение для устройства - младшие 4 бита

  switch (index) {
    case MAIN_SHAFT_INDEX: 
        setMainMotorValue(value); break; //преобразование из 0-15 в 2000-1000
    case SECONDARY_SHAFT_INDEX: 
        setSecondaryMotorValue(value); break; //преобразование из 0-15  в 2000-1000
  }
}
  1. Схемы подключения
Схема рассматриваемой модели

Ранее была сделана еще одна модель на тех же компонентах, но не с двумя двигателями, а с двигателем и сервоприводом, работает исправно.

Схема рабочей модели

Заранее благодарен.

Как по мне, без схемы регуляторов, трудно разобраться. Я бы срисовал схему с платы, и разобрался сначала. Если нет защитных диодов - добавить. И , двигатель проверить не мешает.

1 лайк

Спасибо за ответ.

Увы, я начинающий в микроэлектронике. Не могли бы Вы подробнее разъяснить про защитные диоды: какие характеристики необходимы и куда их подключать?

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

1 лайк

Я так понимаю вы регуляторы по питанию соединяете пераллельно и один из них сразу сгорает?
Что именно сгорает в регуляторе, как проявляется неисправность?
Ардуино тут вообще ни при чем, надо тестировать без неё, только два регулятора, два мотора и батарейка.

сходу, нет конденсатора 470,0 - 1000,0 микрофарад параллельно регулятору, по питанию

простите, но вы сейчас предлагаете мёртвого припаривать, авось повезёт и конденсаторы помогут не сгорать устройству…

они там должны быть, а их там нет, если с регуляторами дел не имели лучше помолчали бы

Сразу уточняй на какое напряжение можно ставить.

1 лайк

А если каждую пару - регултор+двигатель питать от своего источника ?

там мост, обратные диоды есть, значит двойного питающего более чем…

PS а тебя всё мой вопрос мучает?..где положительные эмоции )))
не парься, ты жеж не конструктор и не ремонтёр, тебе знать не обязательно…
а вот как минимум DetSimen обязан знать, он на этом деле собаку съел, если повар нем не врёт

Так а если поставить на Uпит * 3 работать не будет? Или будет, но как-то не так? Больше электронов в конденсатор нужно закачать, а ввиду их дефицита это непозволительная роскошь?

ну если мозгов нет, ставь конденсаторы…
я на регуляторах столько собак съел, что тебе и не снилось, теоретик… :slight_smile:

1 лайк

Тогда должны были столкнуться с подобным как у ТС поведением.

самое смешное что не сталкивался, у меня есть несколько самолётов у которых регуляторы бесколлекторных движков соединяются в параллель, есть соединение DC-DC преобразователей параллельно, ранее на машинках были соединения таких же регуляторов как у ТС, никогда ничего не горело…
Не совсем понятно с чего бы им гореть при соединении по входу?

А чего тут сталкиваться-то? Подключил криво, вот и всё. Схему-то нарисовать не может, о чем тут говорить.

2 лайка

Каждому регулятору своя батарейка. Сгорает сразу после подключения.

Обугливаются контакты одного из транзисторов.

Так и сделано

Нарисуйте пожалуйста схему соединений, регули моторы и батарейки, аодуина и ее модули не нужны

То-есть землю ты объединяешь через сигнальный провод получается!?