Разработка hexapod с нуля (часть 5) — электроника


    Всем привет! Разработка гексапода близится к завершению первой боевой версии и вот настало время для описания всей его электронной начинки. На данном этапе разработки я наконец-то покажу все исходники проекта на 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 — математика траекторий и последовательности
    Поделиться публикацией

    Похожие публикации

    Комментарии 16

      +3
      Не забывайте, что у 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
        0

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

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

          Еще как вариант — на каждую серву свой импульсный преобразователь. TPS56220 можно со всей обвязкой впихнуть в площадь одной LM317. И корпус у него довольно гуманный для домашней пайки. Но такой вариант конечно выйдет дороже.
        0
        Здорово, такой же хочу.
          0
          Вы можете его собрать. На данном этапе разработки можно собрать уже рабочий прототип. Если будут проблемы по сборке/настройке, то я помогу их решить.
            0
            Спасибо за предложение о поддержке. Как только закончу мучить свой недоделанный 3D принтер, сразу займусь Вашим творением.
          0
          Паук шикарен.
          Добавить бы ещё FPV камеру вообще будет супер.
            +1
            Спасибо. Да, камеру туда неплохо было бы засунуть.
            0
            Спасибо!
            Однозначно постараюсь повторить :)
              0
              Будут проблемы при сборке — пишите, решим вместе.
              0
              Отношение моего кота к гексаподу
              И — Индифферентность
                0
                Мой кот тоже не реагирует на всякие «роботележки», но вот лазерный принтер для него худший враг :)
                  0
                  Спасибо за отличный цикл статей!
                  Много полезного :)
                    0
                    Всегда пожалуйста, это еще не конец :). Посмотрел на sensor shield, там нет регуляторов напряжения, поэтому и смысла в нем нет. Было бы можно подключить мои сервы напрямую к АКБ, то было бы всё намного проще. Я шилды использую только для прототипов на коленке или протестировать какую-нибудь идею.
                      0
                      Я удалил вопрос, но поздно. Но спасибо за быстрый ответ :)
                      Я собираю пока простой вариант на sg90. Использую Mega + этот шилд. Питание будет пока от блока питания компьютерного — точно по мощности должен хватить.
                      На нем пока буду оттачивать алгоритмы и откладывать деньги на хорошие сервы :)
                        0

                        Я так же начинал. С дешевых приводов и висячих проводов от внешнего блока. Главное не забросить это дело, сложностей там хватает. А у Вас есть фотографии Вашей разработки? Интересно посмотреть:)

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

                  Самое читаемое