Всем привет! Разработка гексапода близится к завершению первой боевой версии и вот настало время для описания всей его электронной начинки. На данном этапе разработки я наконец-то покажу все исходники проекта на github (ссылки как всегда будут в конце). Так же я добавил HC-SR04 для обнаружения препятствий, которого так не хватало для визуальной удовлетворенности во внешнем виде гексапода. Будет немного нового видео и у Вас есть шанс меня отпинать по электронике.

Вид с установленным HC-SR04


Изначально корпус проектировался под раздельные платы питания и управления, чтобы одну разместить в центре корпуса ближе к АКБ, а вторую вынести наверх для удобства отладки. И так давайте начнем.

Блок управления


Блок управления является «мозгом» гексапода на базе контроллера SAM3X8E и состоит из двух плат: плата с контроллером и плата распределения. Плата с контроллером используется уже готовая (картинка ниже), а вот плату распределения придется изготовить. Возможно в будущем закажу плату на производстве с местом под контроллер, чтобы убрать бутерброд.

Главная цель платы распределения — питать «легкие» периферийные устройства, контроллер и распределять сигналы по его пинам. Я составил список своих требований к этой плате:

  1. Возможность установки на плату HLK-RM04 (UART-WIFI converter);
  2. Возможность подключения I2C дисплея;
  3. Возможность подключения HC-SR04;
  4. Возможность измерять напряжение АКБ = напряжение питания платы;
  5. Возможность измерять напряжение питания периферии и HLK-RM04;
  6. Подключение пищалки для индикации разряда АКБ;
  7. Светодиодная индикация состояния системы: отвалилось что-то важное (конфигурация не верная или еще что-нибудь), отвалилось что-то неважное (дисплей к примеру), все ОК;

Немного определившись с элементной базой и оценив возможности моей заначки с рассыпухой я начал сразу сделал разводку платы без создания её принципиальной схемы. Заработало всё с первого раза и косяков в работе пока не обнаружил. Разводка получилась следующей:


Дорожки специально делал широкими, чтобы в процессе изготовления не было проблем. Плату решил изготовить ЛУТом, хорошо получилось только со 2 раза. Под спойлером фотографии для сравнения неудачного и удачного вариантов (слева неудачный, справа удачный).

Фотки



Ну дальше всё по инструкции — лудим плату, сверлим дырки и закидываем компоненты. Результат не заставил себя долго ждать:

В центре вставляется HLK-RM04, справа в гребенку шлейф к плате питания, слева подается питание. Напряжение на плате измеряется простым делителем напряжения. При долгой работе (минут 30 — 40) регулятор напряжения для HLK-RM04 ощутимо нагревается и я на всякий случай поставил радиатор.

HLK-RM04


Плата питания


Суммарный ток потребления (пиковый) приводами составляет приблизительно 30А (в среднем по ~1.3A на привод) при сильной нагрузке, при ходьбе 10-13А, в состоянии покоя — 5-6А. Измерения проводил опытным путем мультиметром.

Питание я решил сделать отдельным для каждого привода основанным на линейных регуляторах напряжения, т.е. 18 линейных регуляторов напряжения — по одному на каждый привод. В качестве линейных регуляторов используются LM317D2T-TR сконфигурированные на выдачу 5V. Есть несколько причин для использования 18 линейных регуляторов напряжения и использования регуляторов в принципе:

  • Напрямую подключить приводы к АКБ нельзя, для них максимальное допустимое напряжение питания 6В;
  • Относительная независимость скорости\усилия приводов от входного напряжения;
  • Линейных регуляторов у меня завались. Я когда-то ими закупился на Ali пакетом 70шт (пункт внес наибольший вклад в решение);
  • Я не нашел линейного регулятора напряжения на такой ток;
  • Я не нашел схемы компактного и легкого DC-DC на такой ток;
  • Вариант параллельного подключения регуляторов довольно сомнителен;
  • Вариант «линейный регулятор + усилительный транзистор» лишает схему питания всех защитный функций, которые дает линейный регулятор (по крайней мере так пишут люди и в данном случае я с ними согласен);
  • Я довольно плохо разбираюсь в проектировании импульсных источников питания;

Плата очень простая и я так же не стал рисовать для нее принципиальную схему, да и желание поскорее увидеть результат тоже давало о себе знать. Разводка получилась следующей:



Сверху имеются контактные площадки для припаивания проводов для АКБ, снизу гребенка под шлейф и питание к блоку управления, а по бокам подключаются приводы. Изначально хотел еще сделать возможность измерения величины потребляемого тока каждым сервоприводом и измерение температуры платы, но решил пока не усложнять.

Плата получилась простой и надежной, ломаться там нечему. Проводил тесты на нагрузку при входном напряжении 11.1V (3S LiPo) и 7.4V (2S LiPo). При входном напряжении 11.1V, как и ожидалось, регуляторы слишком сильно нагревались и срабатывала защита по температуре во время ходьбы (радиатор соответственно не спасал, да и еще к тому же регуляторы SMD), что вынудило меня снизить входное напряжение. При напряжении 7.4V регуляторы теплые и при продолжительной ходьбе защита уже не срабатывает — то что нужно.

Плату так же изготавливал ЛУТом и получилась она довольно неплохо с первого раза. К сожалению, есть только фотография экспериментальной версии платы, а новую вытаскивать из корпуса это часа 4 где-то и разбирать ради фотографии не очень хотелось (нужно разобрать около 70% корпуса). Отличие старой от новой только в отсутствии дырок по центральной линии платы (проводились веселые эксперименты).


Немного видео и исходники



Тестирование работы HC-SR04


Отношение моего кота к гексаподу


Первая гулянка по улице


Ссылки на другие этапы разработки


Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности

Комментарии (12)


  1. Fox_Alex
    21.04.2019 14:07

    Не забывайте, что у LM317 по паспорту минимальное напряжение вход-выход 3В.
    The device requires up to 3-V headroom(VI– VO) to operate in regulation.
    То есть получить 5В можно только при питании не менее 8В. Все что ниже — характеристики не гарантированы и могут быть проблемы.

    Тут так и просится один большой импульсный преобразователь. Это же автономный аппарат, тут КПД имеет значение.
    Вот готовые варианты:
    www.pololu.com/product/2866
    ru.aliexpress.com/item/300W-20A-DC-DC-Buck-Converter-Step-down-Module-Constant-Current-LED-Driver-Power-Step-Down/32817841374.html


    1. Neoprog Автор
      21.04.2019 17:30

      Спасибо. Нужно попробовать собрать.


      1. Fox_Alex
        21.04.2019 18:07

        Вообще 10-13А как-то многовато. И попалить сервы таким блоком питания будет очень легко. По этому правильно будет иметь на каждую серву по датчику тока и транзистору, чтоб ее выключать в случае перегрузки. Датчики тока можно сделать в виде резистора в 0,1 Ом в минусовой цепи питания, сигнал с него усиливать и подавать на АЦП. А имея такую обратную связь можно уже программно ее интерпретировать как касание поверхности или упор в какой-то предмет при ходьбе. Простор для творчества)

        Еще как вариант — на каждую серву свой импульсный преобразователь. TPS56220 можно со всей обвязкой впихнуть в площадь одной LM317. И корпус у него довольно гуманный для домашней пайки. Но такой вариант конечно выйдет дороже.


  1. Dasyo
    21.04.2019 17:30

    Здорово, такой же хочу.


    1. Neoprog Автор
      21.04.2019 17:34

      Вы можете его собрать. На данном этапе разработки можно собрать уже рабочий прототип. Если будут проблемы по сборке/настройке, то я помогу их решить.


      1. Dasyo
        21.04.2019 21:54

        Спасибо за предложение о поддержке. Как только закончу мучить свой недоделанный 3D принтер, сразу займусь Вашим творением.


  1. VBKesha
    22.04.2019 00:23

    Паук шикарен.
    Добавить бы ещё FPV камеру вообще будет супер.


    1. Neoprog Автор
      22.04.2019 07:01

      Спасибо. Да, камеру туда неплохо было бы засунуть.


  1. Xtail96
    22.04.2019 13:02

    Спасибо!
    Однозначно постараюсь повторить :)


    1. Neoprog Автор
      22.04.2019 13:03

      Будут проблемы при сборке — пишите, решим вместе.


  1. Tutanhomon
    22.04.2019 14:44

    Отношение моего кота к гексаподу
    И — Индифферентность


  1. igar_ok
    22.04.2019 16:49

    Мой кот тоже не реагирует на всякие «роботележки», но вот лазерный принтер для него худший враг :)