Присоединяйтесь!
Авторизация

Роботизированная платформа на Raspbery Pi

08 April 2013 - Автор RePost4

Я занимаюсь проектированием и разработкой макетов для отработки математического программного обеспечения. Макеты — это мобильные платформы (тележки) различных конфигураций. Как правило, тележки выполняют одну единственную функцию — являются носителем целевого оборудования (сканирующий дальномер, видеокамера, ноутбук с системой управления и т. д.). Все тележки имеют законченное решение и представляют собой конструкцию из металла или пластика и имеют на борту систему управления нижнего уровня, отвечающую за управление двигателями и сбор различной информации с датчиков.

С готовыми тележками есть ряд существенных проблем:Сложно установить необходимое для выполнения целевой задачи оборудование. Зачастую в процессе работы может измениться номенклатура используемого оборудования и его место расположения. Сверлить, пилить и видоизменять металлический корпус весьма трудоемкий процесс. Скотч обычный и двухсторонний — «наше всё», со всеми вытекающими последствиями.Каждая тележка имеет свою систему управления, что привязывает разработчика к аппаратной части и системе управления и занимает значительную часть драгоценного времени программиста.Дороговизна тележек и их комплектующих. Невозможность быстрой закупки готовых решений и запчастей.Все это натолкнуло на вполне естественную мысль, что нужна универсальная и не очень дорогая платформа из комплектующих, как говориться, из соседнего магазина, с возможностью безболезненной установки произвольного оборудования с простым и единым интерфейсом управления. Тележка должна быть простой в производстве и легкой в сборке. Как правило к макету не предъявляется жестких требований, на то он и макет.

Концепция.

В результате мозгового штурма родилась концепция будущей платформы:Колесная формула 6 колес, все ведущие. Для упрощение конструкции активная подвеска не требуется. При этом все двигатели борта соединены параллельно, что позволит в будущем делать тележки с меньшим количеством колес используя единую систему управления.Корпус тележки из материала легкого в обработке, позволяющего относительно быстро установить необходимое оборудование и провести коммуникации.Управление тележкой по UART или по USB (виртуальный компорт) — можно подключить ноутбук, одноплатную ЭВМ, радиомодуль.Мотор-редукторы, колеса, электроника, элементы питания из ближайшего подходящего магазина.Отдельно хочется упомянуть готовую платформу от POLOLU Dagu Wild Thumper All-Terrain Chassis.

Под нашу концепцию данная платформа подходила как нельзя лучше, даже наличие металлического корпуса компенсировалось большим количеством монтажных отверстий, установка оборудования не вызывала никаких проблем. Но при более близком знакомстве проявились существенные недостатки конструкции. Основной и ключевой момент — это сочленение колеса и мотор-редуктора, которое не выдерживает никакой критики.

Основная нагрузка приходится на подшипник скольжения в котором вращается выходной вал мотор-редуктора и при длительном использовании и интенсивных нагрузках этот узел гарантированно выйдет из строя.

Второй момент — это адаптер вал-колесо, данный элемент выполнен из латуни и сидит на валу с большим люфтом, не редко при тестах, одно из колес слетало с вала в процессе движения. В качестве резюме хочу сказать, что как платформа для решения наших задач Dagu Wild Thumper не подходит. Но, как говорится, нет худа без добра. Мотор-редукторы и сами колеса у данной тележки вполне подходят в качестве комплектующих, надо только спроектировать и изготовить надежный подшипниковый блок c осью, который и будет на себя брать всю нагрузку.

Платформа.

Моторколесо.

Подшипниковый блок изготавливали на производственной базе института.

Два подшипника запресованны в корпус блока, ось с кольцевым фиксатором, адаптер мотор-редуктора.

Колесо и мотор-редуктор от тележки родителя Dagu Wild Thumper.Блок получился весьма надежным узлом способным выдерживать серьезные нагрузки. Единственное и наверно весьма существенное но: изготовление данного узла требует наличия фрезерного станка с ЧПУ и квалифицированного специалиста. На фотографиях двигатель имеет на валу инкрементный энкодер.

Корпус.

Оптимальным материалом для корпуса, после недолгих раздумий, оказалась (сюрприз, сюрприз) фанера. Чертеж, обильно снабженный ребрами жесткости, спустя некоторое время обрел материальный облик.

При доступности лазерного раскроя листовых материалов изготовление целой партии подобных корпусов не составило особого труда и затрат. Сверление, пиление, прикручивание разнообразного оборудования и прочие модификации данного корпуса (да здравствует клей ПВА и шурупы саморезы) не представляют никаких трудностей.

Платформа в сборе.

Корпус покрашен краской из баллончика. Средние двигатели имеют в составе инкрементные энкодеры для подсчета количества оборотов. Разъемы двигателей стандартные для радиоуправляемых моделей.

Система управления нижнего уровня.

К системе управления предъявляются те же требования, что и к тележке: доступность компонентов и простота изготовления. Готовых решений по управлению коллекторными моторами масса. У того же POLOLU есть много подходящих вариантов, но есть важный момент — нужен один «USB шнурок» на всю систему.С контроллерами ATMEL и ассемблером я дружу давно, изготовление небольшой печатной платы тоже не проблема. Для упрощения проектирования и изготовления платы я использую готовые микропроцессорные модули. В качестве модуля был использован ARDUINO Mini Atmega328. Модуль имеет небольшие размеры и на его борту помимо процессора имеется микросхема FT232RL, которая обеспечивает связь по USB, так называемый виртуальный ком-порт. Из внутренностей стерто все что его связывало с прежней жизнью (да простят меня ардуинщики) и изготовлена печатная плата с необходимой обвязкой и залита новая прошивка.

В схему включены:Микропроцессорный модуль ARDUINO Mini Atmega328 c USB интерфейсом.Два Н-моста на силовых транзисторах с ШИМ управлением.Датчик тока и датчик напряжения для контроля разряда Li-Po аккумуляторов.Светодиоды для индикации режимов работы системы.Разъемы для подключения внешнего питания и двигателей.Разъемы для инкрементных энкодеров двигателей.Разъемы для подключения аналоговых датчиков соединенные со входами АЦП контроллера.Разъем UART интерфейса.Прошивка написана на ассемблере и представляет из себя командный процессор, т. е. по UART (USB) приходит текстовая команда с параметрами, контроллер её обрабатывает и выполняет (например: дать напряжение на двигатели правого борта 25% от номинала), в обратном направлении контроллер отправляет значения энкодеров, напряжение АКБ, показания АЦП и т.д.В результате имеем UART (USB) канал управления тележкой по которому посылаются текстовые команды управления и получаем ответные строчки, включающие телеметрию и служебные данные. С данным интерфейсом стыкуется широкий спектр устройств, начиная от радио-модемов (X-Bee) и заканчивая планшетными компьютерами. Более подробно на системе управления я останавливаться не буду, т. к. это тема отдельной статьи. А вот об одном из устройств подключаемых по UART в качестве системы управления верхнего уровня, я расскажу далее. 

Малина, она же система управления верхнего уровня.

Конечно же речь о Raspberry Pi. Доступно, недорого, компактно, Linux же. На борту есть все, а чего нет подключается по USB.Алгоритмы управления тележкой можно программировать непосредственно на самой тележке используя современный графический интерфейс. Просто подключи монитор и клавиатуру. Скрипач компьютер не нужен! При этом можно с малины программировать и контроллер нижнего уровня, достаточно подключить программатор, соответствующие компиляторы и среда разработки в наличии.

Стыкуем малину и ардуину.

На GPIO разъеме малины есть UART, I2C, SPI, питание +5В и просто ноги.

К UART пинам малины подключаем нашу Arduino систему управления нижнего уровня. Единственное но: малина 3.3 вольта, а микроконтроллер выдает логику 5 вольт, без переходника с согласованием логических уровней не обойтись. А раз надо городить некую плату-переходник, то есть смысл задействовать и другие пины GPIO. Шину i2c оставлять на свободе верх расточительства, когда в природе существует огромное количество датчиков с подключением по данной шине. В результате на плату переходника установлен замечательный девайс с гироскопом и акселерометром — полноценный навигационный модуль. Питание малины осуществляется через разъем Micro USB, что не совсем удобно, т. к. сам разъем хлипковат и не всегда есть под рукой, как следствие на переходник выведен разъем внешнего питания +5в.

Плата переходника выполнена таким образом, чтобы все помещалось в пластиковый корпус, а наружу выведены пины UART и питания +5в

Отдельно хочу упомянуть про питание малины, оно жестко ограничено 5-ю вольтами поступающими от USB разъема, решение спорное, но ничего не поделаешь. Я для этой цели использую стабилизатор BEC применяемый в любительских радиомоделях, он имеет небольшой размер, мощности (3А) хватает с большим запасом и полностью отвечает нашим требованиям.

Полный обвес.

Система управления нижнего уровня на базе контроллера Atmega328.Мотор-редукторы с инкрементными энкодерами (левый и правый борт)ИК-датчики расстояния SHARP GP2Y0A02YK0F с аналоговым выходомLi-Po аккумулятор 7.4ВСтабилизатор питания 5В.Система управления верхнего уровня на базе Raspberry PiUART переходник и i2c навигационный модуль в составе Raspberry Pi.USB Wi-Fi модуль.USB WEB камера.Рассказ о том какая наступает свобода для творчества имея Wi-Fi тележку с линуксом на борту и кучей всевозможных плюшек явно выходит за рамки данной статьи. С этой частью я думаю все понятно.

Результат.

В завершение хочу сказать, что поставленная задача была решена. Имеем тележку с корпусом который «не жалко» из недорогих комплектующих. Единственное исключение — это подшипниковый блок, но это цена за надежность и грузоподъемность, телега может таскать весьма тяжелое оборудование. Система управления нижнего уровня легко масштабируется по количеству двигателей и номенклатуре подключаемых датчиков, а так же легко интегрируется с высокоуровневой системой: Raspberry Pi (UART) или ноутбук (USB). Raspberry Pi может все в качестве системы управления верхнего уровня позволяет подключать целую кучу полезного оборудования иреально может все с этим оборудованием работать, компилятор языка Си и графическая оболочка для гурманов в комплекте.

 Источник: http://habrahabr.ru/post/175889/

08 April 2013
RePost4
автор статьи

Комментариев: 2

  1. RomanNV5

    09 April 2013 - Ответить

    У кого нет возможности возиться с железом, или кому в лом, есть готовая платформа 4х4, отечественного производства, ценой в 2000р. При чём в комплекте есть всё, чтобы подцепить RPi напрямую. http://www.znatok.ru/vezdehod_lider.html

  2. Lord12

    02 March 2014 - Ответить

    Решил сегодня пересмотреть все опубликованные проекты-статьи-заметки в блоге за прошлый год да и вообще, свяжитесь с Artemka, он занимается именно роботами. Ещё делали что интересное?

Отправить комментарий

Авторизуйтесь для отправки комментария

Присоединяйтесь
Новые сообщения

Новые комментарии к блогам
  • можно вещать на несколько частот сразу?

    Радиостанция из Raspberry Pi A/B/A /B .
  • Смотри ссылку в конце статьи "Руководство по программированию Pico на C/С++"

    Raspberry Pi Pico
  • Слабовато конечно, но на замену всяким ардуинам вполне себе пойдёт

    Raspberry Pi Pico
  • Чёт дорого

    Raspberry Pi 400
  • Как её программировать?

    Raspberry Pi Pico
  • Зря Wi-Fi не вколхозили, как они с esp32 конкурировать собрались, который и по характеристикам...

    Raspberry Pi Pico
  • "будет вылетать из материнкой платы без дополнительного прижима" Для умных - там есть...

    Raspberry Pi Compute Module 4 (CM4)
  • Это интересно. По цене как китайские клоны ардуин, а возможности и мощность намного больше....

    Raspberry Pi Pico
  • Пиши по-русски, ты в национальном домене, а не на коме.

    GPIO для чайников (часть 1)