Питание колёсной платформы робота на Arduino.

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем majorrrr, 10 апр 2018.

  1. majorrrr

    majorrrr Нуб

    Есть набор Матрёшка Z (http://amperka.ru/product/matryoshka-z), есть колёсная платформа (предположительно вот эта - https://arduino.ua/prod1494--kolesnaya-polnoprivodnaya-roboplatforma), моторы в которой, судя по всему, вот с таrими характеристиками - https://d.radikal.ru/d39/1804/ea/bec4d3f3d704.jpg, модуль драйвера двигателей - L298N.

    Необходимо заставить это чудо ездить и выполнять команды от платы ArduinoUno (которая в перспективе также будет управлять парочкой дальномеров, сервоприводом, несколькими дополнительными датчиками). Однако это, как оказалось, крайне непростая задача. Тот, кто разработал колёсную платформу, видимо, как-то связан с международным терроризмом или это просто опасный террористический лайфхак… После двух дней тщетных попыток, после перелопачивания кучи информации на тему в интернете появляется стойкое желание убивать, и прежде всего тех сукиных детей, которые разработали L298N, которые поставили туда чёртовы клемники, которые разрабатывали сюда питание, которые не удосужились написать вменяемое пояснение что к чему для новичков. К чёрту религиозный фанитизм и идеологическую обработку! Даёшь человеку такой вот набор и всё, террорист готов! В сотый раз подключаешь новую схему питания, наблюдаешь как крутится только один ряд колёс и крутится только в одну сторону, проверяешь программу, меняешь местами управляющие провода, в стопятсотый раз с мультиметром проверяешь соединения, крутишь чертовы выскакивающие клемники, а в голове крутится одна мысль: «За это время я бы уже набадяжил целое ведро гексогена!» :)

    Короче выручайте друзья, хоть убей не пойму, как это заставить правильно работать. Судя по всему, двигателям не хватает питания и конкретно силы тока. Из-за этого вращение двигателей идёт абы как, движки то вообще не стартуют, то крутится одна сторона, крутятся отдельные двигатели (без колёс и нагрузки в принципе крутятся все). Подключал штатный держатель на 4 батарейки АА, собрал самодельный блок на 8 батареек АА, пробовал соединять кроны, по-всякому комбинировать. Наилучший результат у самодельного блока и у его последовательного соединения с штатным держателем, но сила тока при этом убывает как при коротком замыкании, да и не внушает что-то такая конструкция уверенности… что-то явно не так. L298N подключал по схеме отсюда - http://zelectro.cc/motor_shield_l298n_arduino , от регулировки скорости вращения отказался, поставив при этом на место перемычки и заизолировав концы проводов, идущие от самодельного подключения к данным пинам (за неимением проводов мама-папа, загнуты провода папа-папа, места возможных соединений заизолированы). Программа самая простая, никаких проблем там быть не может. На фото для подключения 12+V, L298N приведена к соответствующему виду, снят джампер.

    Собственно, как заставить сие чудо нормально работать? В инете пишут о каких-то повышающих модулях. Как это устроено? Это можно собрать вручную? Можно как-то решить проблему без подобных приблуд? Какой вариант будет наиболее эффективен? Как вообще рассчитывать питание для такой вот платформы?

    P.S. Прошу воздержаться от сарказма и ответов в стиле: «кури гугл, всё там есть». Отвечаю сразу – «Курил. Нет!». При попытке найти схемы устройств для преобразования силы тока выдаёт всякую ерунду, аналогично по формулам для расчёта источника питания, по таким же вопросам. А что есть, непонятно как конкретно сделать.

    [​IMG]
    [​IMG]
     
  2. parovoZZ

    parovoZZ Гуру

    А таких и нет. Ибо силу тока можно повысить только лишь с понижением напряжения.
    Все провода надо запаивать, ибо только такое соединение надежно и его можно проверить визуально. Для дальнейшего обсуждения необходимо предоставить: схему соединения (как есть, а не из инета) и код.
     
  3. mcureenab

    mcureenab Гуру

    При питании непосредственно от батарейки без контроллера моторы хорошо тянут?
     
  4. mcureenab

    mcureenab Гуру

    На твоей мутной фотке я не вижу соединение GND модуля и GND Arduino.
    Один провод от GND модуля нужно подключить к GND Arduino - это сигнальная земля.
    Второй провод от GND модуля нужно подключить к (-) батареи - это силовая земля.
     
  5. majorrrr

    majorrrr Нуб

    Надо бы запаять, но в принципе проверял, без колёс вполне бодро вращаются моторы, но не долго… Такое впечатление что там при включении короткое замыкание происходит, но вот почему, непонятно…

    Код простой.
    Код (C++):
    int ENA = 9;
    int ENB = 3;

    int IN1 = 13;
    int IN2 = 12;

    int IN3 = 11;
    int IN4 = 10;

    int i;

    void Forward()
    {
      Stop();
      digitalWrite (IN2, HIGH);
      digitalWrite (IN1, LOW);
      digitalWrite (IN3, HIGH);
      digitalWrite (IN4, LOW);
    }

    void Back()
    {
      Stop();
      digitalWrite (IN2, LOW);
      digitalWrite (IN1, HIGH);
      digitalWrite (IN3, LOW);
      digitalWrite (IN4, HIGH);
    }

    void Right()
    {
      Stop();
      digitalWrite (IN2, HIGH);
      digitalWrite (IN1, LOW);
      digitalWrite (IN3, LOW);
      digitalWrite (IN4, HIGH);
    }

    void Left()
    {
      Stop();
      digitalWrite (IN2, LOW);
      digitalWrite (IN1, HIGH);
      digitalWrite (IN3, HIGH);
      digitalWrite (IN4, LOW);
    }

    void Stop()
    {
      digitalWrite (IN2, LOW);
      digitalWrite (IN1, LOW);
      digitalWrite (IN3, LOW);
      digitalWrite (IN4, LOW);
    }

    void setup()
    {
      //pinMode (ENA, OUTPUT);
      pinMode (IN1, OUTPUT);
      pinMode (IN2, OUTPUT);

      //pinMode (ENB, OUTPUT);
      pinMode (IN3, OUTPUT);
      pinMode (IN4, OUTPUT);
    }

    void loop()
    {
      Forward();
      delay(2000);
      Back();
      delay(2000);
      Right();
      delay(2000);
      Left();
      delay(2000);
      Stop();
      delay(2000);
    }
    Схема вроде правильная...
    Разматывать конструкцию что соединяет пины ардуино и платы лень. То, что болтается 2 железки которые ведут в никуда, концы которых заизолированы, как понимаю, ни на что повлиять не может. Да и я отгибал один конец, проверял уже….
    [​IMG]

    Просто от батарейки моторы тянут отлично.
    GND это желтый провод. Он зажат в клемнике вместе с красным, тем, что идёт на минус батарейки. Два зелёных - питание от батарейки и питание на 5V от ардуино.
     
  6. majorrrr

    majorrrr Нуб

    Забыл дорисовать на схеме провод соединяющий 5V ардуино и 5V платы...
     
  7. mcureenab

    mcureenab Гуру

    [​IMG]

    5 Вольт от Arduno на колодку питания модуля разве не нужно подать?
     
  8. majorrrr

    majorrrr Нуб

    Я подал. Я ж написал, что забыл дорисовать этот провод...
     
  9. parovoZZ

    parovoZZ Гуру

    Вариантов два - либо МК перезагружается из-за наводок по цепи питания, либо косяки с соединениями. Исправность драйвера пока не обсуждаем.
     
  10. majorrrr

    majorrrr Нуб

    На другом форме посоветовали проверить питание, подключить для этого вместо батареек хороший БП. Я подключил от ноутбука на 19V и 4.74А… моторы вращаются как на дрели, в правильные стороны и синхронно… Соединения не раз перепроверял… Может всё же с питанием проблема? Каким оно здесь должно быть в оптимальном варианте, чтобы не пожечь ничего? Сколько батареек нужно? Каких? Может модуль какой для этого цеплять надо?
     
  11. parovoZZ

    parovoZZ Гуру

    На какое напряжение моторы, такое питание и подавать, то бишь 6в. Замерь напругу на моторах - может драйвер не открывается до конца на таком напряжении.
    От 19 вольт моторы не расплавились?
     
  12. majorrrr

    majorrrr Нуб

    Я включал всего на пару секунд для проверки. Страшно, блин :eek:

    Точных спецификаций моторов не знаю. Вроде 6Vдля него оптимально, но пишут, что он 3 до 12. Не знаю…

    При подключении к разрядившемуся блоку из 8 АА картина такая – примерно 9.1 на блоке, 2.6 на клемах сжимающих контакты моторов, отсюда следует что 6.5 остается на плате L298N. Напряжение при подключении очень быстро падает… Значит при 18Vна, если на плате осталось 6.5, то на моторы, судя по всему, пришло по 12.5… Сила тока при этом доходила местами до 2.6 А, но больше держалась на 0.7-0.8. Это всё без колёс и движения. Если исходить из того, что мой источник питания просто слабый, то мне, вероятно, нужно около 12Vпри максимуме силы тока чтобы на моторы по 6Vприходило. Пишут, что 3 последовательно соединённых 18650-х аккумулятора должны помочь… но может это не так? Не оптимальный вариант? А как должен работать драйвер? Потеря 6.5Vна L298N это норма?
     
  13. mcureenab

    mcureenab Гуру

    Если батарейки дохлые, то 6.5 воль могут проседать на самих батарейках. Просто они не в состоянии дать нужный ток. Их сколько не ставь, под нагрузкой напряжение просядет и ток будет недостаточным.
     
  14. parovoZZ

    parovoZZ Гуру

    Нет. Это ж не балластный резистор =)