26.06.2015 14:35 Количество просмотров материала 2788 Время на чтение ~5.5 мин
Увеличить | Уменьшить Распечатать страницу

Как сделать RC катер с опцией автопилота - часть 2

Как сделать RC катер с опцией автопилота - часть 2


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

 

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-237

 

Начало...

 

 

Шаг 8: Пайка электрокомпонентов

 

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-21

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-22

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-23

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-24

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-25

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-26

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-27

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-28

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-29

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-210

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-211

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-212

Окончательная электросхема поделки является почти копией прототипа 3, за исключением того, что вместо Arduino Uno используется ATmega328 (см. фото), причем каждый из двух чипов смонтирован на отдельной печатной плате и на фото это “разделение” показано пунктирной линией. Еще одно преимущество “разделения” в том, что для кажой платы имеется свой регулятор напряжения, то есть лучше отводится тепло выделяемое при функционировании мозгосамоделки. Вместо непосредственной пайки компонентов на плату, их я смонтировал через контактные разъемы, что позволяет их при необходимости заменять. Так же для возможного апгрейда по краям плат с микроконтроллерами я припаял контактные разъемы.

Программируются AtMegas очень просто, нужны лишь FT232 и компьютер. В предназначенный разъем на платах устанавливается FT232, а она в свою очередь через USB кабель подключается к компьютеру, на котором установлен софт для Arduino.

Микроконтроллеры ATmega “контактируют” между собой по нескольким соединениям, одно из которых предназначен для передачи значения GPS-положения. Так же 13 контакт одного ATmega соединяется с ТХ контактом другого ATmega. Обе цепи микроконтроллеров должны быть запитаны от одной батареи и для этого я впаял штекерные разъемы “мама”, а к батарее через переходник смонтировал Y разъем.

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

 

Запчасти и компоненты:

  • резистор 10кОм - 4шт.
  • резистор 1кОм - 2шт.
  • резистор 220 Ом - 4шт.
  • регулятор напряжения LM7805 - 2шт.
  • регулятор напряжения L78L33ACZ - 2шт.

Arduino-компоненты:

  • чип ATmega328 - 2шт.
  • светодиод 5мм - 4шт.
  • кристалл осцилятора 16MHz clock crystal - 2шт.
  • кнопка нормально выключенная - 2шт.
  • керамический конденсатор 30пФ - 4шт.
  • керамический конденсатор 0.1мФ - 2шт.
  • электролитический конденсатор 47мФ - 2шт.
  • Н-канальный МОП-транзистор - 2шт.
  • штекерный разъем “мама” JST RCY - 3шт.
  • штекерный разъем “папа” JST RCY - 1шт.
  • диод N5408 - 2шт.
  • контактные разъемы
  • терминальная плата FT232

А так же:

  • GPS модуль NEO-6M - 1шт.
  • монтажная плата 5х7см - 2шт.
  • приемник и передатчик HK-GT2B - 1шт.
  • компас HMC5883L 3-Axis - 1шт.
  • катер на радиоуправлении - 1шт.

 

 

Шаг 9: Монтаж автопилота в корпус катера

 

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-213

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-214

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-215

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-216

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-217

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-218

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-219

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-220

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-221

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-222

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-223

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-224

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-225

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-226

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-227

Для установки компонентов автопилота в корпусе катера я использовал такую же дощечку, что и для прототипа 3. Платы прикреплены к ней с помощью винтов, а батарея хомутами-стяжками. Сама установочная доска крепится в корпусе также на липучку, с помощью липучки крепится и GPS-антенна, а модуль GPS просто вставляется в контактный разъем терминальной платы.

Приемник радиоуправления подключается к цепи микроконтроллера с помощью самостоятельно изготовленного кабеля из припаянных к проводам “мама”-штекеров и “папа”-контактов с другой стороны и закрепленных горячем клеем. Двигатели подключены к схеме через штекерные разъемы изолированные горячим клеем в соответствии со схемой.

 

 

Шаг 10: Программинг AtMegas

 

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-228

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-229

 

Как было сказано ранее, для программинга микроконтроллеры подключаются к компьютеру через плату FT232. Далее в программе для Arduino в настройках выбирается соответственно "Arduino Nano w/ ATmega328" вместо "Arduino Uno". Сам мозгокод очень похож на код для прототипа 3.

Код первого микроконтроллера анализирует GPS данные и отправляет результат на второй микроконтроллер через последовательное соединение. Во время отправки данных светодиод на 13 контакте будет мигать, и светиться, если GPS-координата на зафиксирована.

Код второго микроконтроллера выполняет больше функций. Он принимает GPS-координаты текущего положения, вычисляет расстояние от этого места до следующей точки, сравнивает свое направление с необходимым азимутом и соответственно с этим управляет двигателями. Еще код отключает опцию автопилота если присутствует сигнал от пульта ДУ. В этом случае, код обрабатывает сигнал получая из него необходимую скорость каждого двигателя. Сам маршрут, то есть последовательность GPS-точек для прохождения поделкой, также прописан в этом коде.

Перед использование мозгоподелки необходимо откалибровать компас второго микроконтроллера. Для этого я использовал библиотеку helscreams compass library, которая сделала все необходимое. После того как процесс калибровки завершится должен засветиться зеленый светодиод..

Коды для каждого микроконтроллера являются, по сути, сочетаниями моих предыдущих кодов, и найти их можно в конце мозгоруководства.

 

 

Шаг 11: Монтаж компаса

 

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-230

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-231

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-232

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-233

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-234

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-235

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-236

Во время тестирования третьего прототипа я заметил, что при включении двигателей мозгокомпас отклоняется на 10 градусов влево, очевидно, что это существенная погрешность. Устранялась эта “неприятность” перемещением компаса к носу катера, поэтому я и разместил сам компас спереди.

Компас также оказался достаточно чувствителен к наклону, поэтому при монтаже я соорудил для него подложку из листового пеноматериала и двустороннего скотча внутри передней части катера. С автопилотом компас соединяется кабелем из проводов с припаянными контактами, закрепленными горячим клеем.

 

 

Шаг 12: Испытания

 

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-238

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-239

kak-sdelat-rc-kater-s-optsiey-avtopilota-chast-240

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

Во время плавания катер использовал только треть мощности, что примерно равно скорости пешехода. Я задал такую скорость чтобы не перегревать транзисторы, да и для безопасности заплыва.

Через неделю после первого успешного испытания  я провел серию дополнительных испытаний заставляя двигаться катер по различным траекториям: треугольник, круг, зиг-заг и т.д. Мозгоподелка вела себя великолепно!

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

 

 

Шаг 13: Размышления об апгрейде

По существу, катер с автопилотом готов, но есть простор для совершенствования. Во время тестовых заездов я заметил, что после поворота поделка начинает колебаться. Причина в том, что компас недостаточно скомпенсирован, и после поворота он все-таки наклоняется и из-за этого начинаются колебания. Исправить это можно установкой акселерометра, а лучше совмещенными компасом и акселерометром, например GY-511, который также как и мой компас использует протокол I2C. При его монтаже придется лишь немного изменить распайку.

По поводу маршрута. Код который я написал для самоделки очень прост, поэтому катер не следует заданному маршруту целиком, а просто направляется от точки к точке, к тому же не компенсирует занос. Чтобы исправить это я собираюсь применить ПИД - регулятор в следующем коде.

Еще у меня есть SD карт-ридер, который можно использовать для записи GPS данных, но он вроде работает на более низких напряжениях.

Приложенные файлы: boat_autopilot

Файл Autopilot_GPS это код для ATmega, подключенного к GPS, а Autopilot_Main для основного микроконтроллера ATmega. В остальных файлах код для первых прототипов.

И в заключение:

Своим мозгопроектом я не просто доволен, ведь он воплотился, я еще рад тому, что приобрел много полезных знаний и навыков, от программирования до проектирования электросхем, и в дальнейшем планирую заняться более масштабными проектами

А сейчас всем удачи в ваших самоделках! Надеюсь было интересно :)

 

( Специально для МозгоЧинов #Boat-Autopilot

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]


Вверх