В программе «SolidWorks» было проведено моделирование нагрузки на дно, которое показано на рисунке 2.

Рисунок 2. Результаты моделирование в программе «SolidWorks»

На рисунке 2 показан результат теста давления на дно платформы весом равным 10 кг, что примерно равняется весу оборудования устанавливаемого на подвижную платформу: 5,7 кг – 3 аккумулятора, 1,3 кг – 4 двигателя, 2,5 кг – различная электроника, включающая датчики, провода, драйверы управления и платы. Данный тест показал, что платформа не деформируется под весом оборудования.

Благодаря особенности «SolidWorks» создавать чертежи на основе существующей трёхмерной модели, были созданы чертежи корпуса платформы, приведенные на рисунке 3.

Рисунок 3. Схема передвижной платформы для универсальной роботизированной системы, разработанная в «SolidWorks»

По разработанным чертежам был создан полномасштабный корпус из металла. Данный корпус можно увидеть на рисунке 4.

Рисунок 4. Корпус платформы

Датчики

Для того, что бы платформа ни врезалась в стены, на корпусе предусмотрена специальная система из датчиков расстояния. Данная система состоит из двух датчиков спереди и сзади, двух датчиков слева и справа и двух датчиков на боковых передних стенках платформы. В качестве датчиков расстояния были выбраны дальномеры «HC‑SR04». Данные датчики работают по типу эхо-сонара. Использование дальномеров, позволяет платформе определять расстояние до препятствия и избегать столкновения с ним.

Для ориентации в пространстве используется магнитометр «GY-271». Магнитометр способен измерять напряженность магнитного поля вдоль трёх осей. Данная особенность позволяет с помощью полученных с него данных строить карту магнитных полей местности, по которой в дальнейшем можно будет определять местонахождения робота.

НЕ нашли? Не то? Что вы ищете?

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

Двигатели

Для платформы были выбраны моторы‑редукторы «RB-35GM 07». Данные моторы могут приводиться в движения как источником тока в 12 В, так и источником тока в 24 В. Данная модель мотора‑ редуктора имеет цилиндрический корпус с диаметром равным 37 мм.

С лицевой стороны редуктора имеются отверстия с резьбой для винтов. Данная особенность позволяет закрепить мотор винтами с внутренней стороны корпуса к бокам платформы. Под выступающую часть редуктора с валом двигателя, на который надеваются колёса, в корпусе заранее были просверлены отверстия.

Длина мотора с редуктором без учёта высунувшейся части вала двигателя составляет 83 мм. Используемые двигатели свободно располагаются попарно с обеих сторон корпуса, ширина которого составляет 223 мм. Оставшиеся пространство между двумя двигателями в корпусе, которое примерно равно 57 мм, позволяет подвести к двигателям провода для подачи энергии.

Тесты с платформой, нагруженной оборудованием весом в 10 кг показали, что данные моторы могут разогнать платформы примерно до 3,5 км/ч, что соответствует ранее заданным критериям, описанным в разделе «Двигатели» в главе «Разработка требований и технических характеристик подвижной части роботизированной платформы».

Логическая часть

Для логической части системы, управляющей двигателями и отвечающею за сбор данных с датчиков, была выбрана аппаратная платформа на базе микроконтроллера «Atmega1280», «Arduino Mega 2560». Тактовая чистота работы микроконтроллера равняется 16 МГц.

Данная плата имеет:

-  16 аналоговых входов и выходов;

-  39 цифровых входов и выходов;

-  15 ШИМ (широтно–импульсная модуляция) выходов, которые так же могут использоваться в качестве цифровых;

-  «UART» интерфейс.

К данным входам и выходам можно подключить описанные выше датчики: дальномер «HC‑SR04» и магнитометр «GY-271». Так же наличие ШИМ выходов позволяет микроконтроллеру регулировать скорость вращения двигателей. Имеется возможность подключения Bluetooth и Ethernet модулей, для обмена данными с бортовым компьютером или компьютером оператора.

Для взаимодействия «Arduino Mega 2560» с двигателями потребовался драйвер контроля двигателей для преобразования сигналов поступающих с микроконтроллера во вращения вала двигателя. Для этих целей был выбран драйвер двигателей «L298N». Данный драйвер имеет возможность управления сразу двумя двигателями. Для управления двигателями, к драйверу необходимо подключить: питание от внешнего источника, двигатель, и управляющие провода от микроконтроллера, которые включают в себя провода для управления скоростью вращением двигателя и его направлением вращения.

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

В качестве бортового компьютера для платформы был выбран одноплатный компьютер «Cubieboard 4 (CC-A80)». Данная плата имеет следующие характеристики:

-  Оперативная память 2 Гб;

-  Тактовая частота работы процессора 1,3ГГц.

Данная плата может работать под управлением операционной системамы «Android», что позволяет разработать программу для автоматического управления роботом.

На плате «Cubieboard 4 (CC-A80)» реализованы следущие входы и выходы:

-  4 USB выхода для подключения различных периферийных устройств, например камеры;

-  Ethernet;

-  UART;

-  Wi-Fi и Bluetooth модули для беспроводной связи;

-  VGA и HDMIA выход для вывода изображения на экран, либо на проектор.

Длина платы составляет 146 мм, а её ширина 144 мм.

Наличие модулей беспроводной связи и Ethernet интерфейса позволяет организовать связь с «Arduino Mega 2560» и подключаемым к ней модулям. Благодаря UART интерфейсу возможно подключение к микроконтроллеру напрямую, без использование каких либо модулей.

Питание

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

Питание силовой части платформы

Для питания силовой части используется два 12 В аккумулятора с ёмкостью 7 Ач. К каждому аккумулятору через драйвер управления двигателями «L298N» подключены два мотора. Подключенные к одному аккумулятору моторы находятся на разных сторонах платформы. Такое решение позволяет платформе при поломке одного из контуров питания двигателей продолжить движение на оставшихся двух моторах. К тому же данная схема снабжения ведёт к более равномерному расходу заряда аккумуляторов при бортовом развороте.

Питание логической части платформы

Питание логической части осуществляется третьим 12 В аккумулятором с ёмкостью 7 Ач. Питание «Arduino Mega 2560» производится напрямую с аккумулятора.

Питание датчиков производится от микроконтроллера. Так как «Cubieboard 4 (CC-A80)» работает от напряжения 5 В, его подключение к аккумулятору производится через преобразователь напряжения с 12 до 5 В.

5. Разработка алгоритмов управления[A6] 

Управления платформой может происходить как программой заложенной на бортовой компьютер, так и оператором. Управление происходит следующим образом:

1.  Оператор или бортовой компьютер передают данные о направление и скорости движении микроконтроллеру;

2.  Микроконтроллер задаёт моторам нужную скорость вращения и направление вращения и отсылает данные о направление передвижения и информацию с датчиков обратно;

3.  Платформа двигается вперёд в заданном направлении, до получения команды остановки или смены направления.

Для реализации данного алгоритма потребовалось:

-  Реализовать связь между микроконтроллером и бортовым компьютером;

-  Реализовать связь между микроконтроллером и компьютером оператора;

-  Разработать протокол для передачи команд и данных между микроконтроллером и компьютером оператора или бортовым компьютером.

Разработка связи между микроконтроллером и бортовым компьютером

Управление платформой с помощью бортового компьютера может осуществляться тремя способами:

-  По Bluetooth соединению;

-  По Ethernet кабелю;

-  По UART интерфейсу.

При передаче данных по Bluetooth интерфейсу расходуется больше энергии, чем при других способах. Также данный способ соединения требует наличия специального модуля Bluetooth для «Arduino Mega 2560».

При передаче данных по Ethernet кабелю требуется кабель UTP, который неудобно располагать в корпусе устройства.

При подключении по UART соединению используется меньше энергии для передачи данных, чем при Bluetooth соединению, а также данный способ соединения является более компактным, чем соединение по кабелю Ethernet.

Исходя из выше перечисленных фактов, был выбран способ соединения по UART интерфейсу.

Разработка связи между микроконтроллером и компьютером оператора

Передача данных между компьютером оператора и платформой осуществляется с помощью Bluetooth соединения. Данный тип соединения позволяет оператору управлять платформой на расстояние до 10 м. Дальность управления зависит от помех и преград на пути сигнала.

Разработка протокола для передачи команд и данных

Для реализации передачи данных между платформой и управляющем устройством был разработан протокол, который включает в себя два вида пакетов:

-  Пакеты для передачи данных поступающих от датчиков и информации о состоянии двигателей с роботизированной платформы на управляющее устройство;

-  Пакеты для передачи данных с управляющего устройства на роботизированную платформу.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5