Дата публикации: Jul 25, 2014 9:55:22 PM
Два года назад, когда я только начал заниматься мультикоптерами, мне пришлось сделать небольшой самодельный пульт управления. Поскольку квадрокоптер задумывался сугубо автономным, все что требовалось от этого пульта - это управлять беспилотником во время испытаний и настройки.
В принципе, пульт со всеми возложенными на него задачами справлялся вполне успешно. Но были и серьезные недостатки.
Батарейки в корпус никак не влазили, поэтому приходилось их приматывать к корпусу изолентой :)
Настройка параметров была вынесена на четыре потенциометра, которые оказались очень чувствительными к температуре. В помещении настраиваешь одни значения, выходишь на улицу - а они уже другие, уплыли.
У Arduino Nano, которую я использовал в пульте, есть всего 8 аналоговых входов. Четыре были заняты настроечными потенциометрами. Один потенциометр служил газом. Два входа были подключены к джойстику. Оставался свободен только один выход, а параметров для настройки гораздо больше.
Единственный джойстик был вовсе не пилотным. Управление газом с помощью потенциометра тоже весьма угнетало.
А еще пульт не издавал никаких звуков, что иногда бывает крайне полезно.
Чтобы устранить все эти недостатки, я решил кардинально переделать пульт. И железную часть, и софт. Вот что мне захотелось сделать:
Сделать большой корпус, чтобы в него можно было запихнуть все что хочется сейчас (включая батарейки), и что захочется позже.
Как-то решить проблему с настройками, не за счет увеличения числа потенциометров. Плюс, добавить возможность сохранения параметров в пульте.
Сделать два джойстика, как на нормальных пилотных пультах. Ну и сами джойстики поставить православные.
Уж очень мне полюбилась концепция слоистых корпусов для радиоэлектроники. Такую концепцию мы использовали в хакспейсе для создания учебных наборов по робототехнике. На картинке как раз изображен стенд для базового курса.
Идея чрезвычайно проста и эффективна. Вырезаем из оргстекла или другого тонкого материала две пластины и соединяем их стойками. Все содержимое корпуса крепится либо к верхней, либо к нижней пластине.
Чтобы управлять кучей параметров, нужно либо разместить на пульте кучу потенциометров и добавить АЦП, либо делать все настройки через меню. Как я уже говорил, настройка потенциометрами не всегда хорошая идея, но и отказываться от нее не стоит. Так что, решено было оставить в пульте четыре потенциометра, и добавить полноценное меню.
Чтобы перемешаться по меню, и менять параметры обычно используют кнопки. Влево, вправо, вверх, вниз. Но мне захотелось использовать вместо кнопок энкодер. Эту идею я подсмотрел у контроллера 3D-принтера.
Разумеется, за счет добавления меню, код пульта распух в несколько раз. Для начала я добавил всего три пункта меню: "Telemetry", "Parameters" и "Store params". В первом окне отображается до восьми разных показателей. Пока я использую только три: заряд батареи, компас и высота.
Во втором окне доступны шесть параметров: коэффициенты PID регулятора для осей X/Y,Z и корректировочные углы акселерометра.
Третий пункт позволяет сохранять параметры в EEPROM.
Над выбором пилотных джойстиков я долго не размышлял. Так получилось, что первый джойстик Turnigy 9XR я добыл у коллеги по квадрокоптерному делу - Александра Васильева, хозяина небезызвестного сайта alex-exe.ru. Второй такой же заказал напрямую на Hobbyking.
Первый джойстик был подпружинен в обоих координатах - для контроля рыскания и тангажа. Второй я взял такой же, чтобы затем переделать его в джойстик для управления тягой и вращением.
В старом пульте я использовал простой регулятор напряжения LM7805, который кормил связкой из 8 батареек AA. Жутко неэффективный вариант, при котором 7 вольт уходили на нагрев регулятора. 8 батареек - потому что под рукой был только такой отсек, а LM7805 - потому что в то время этот вариант мне представлялся самым простым, и главное быстрым.
Теперь же я решил поступить мудрее, и поставил достаточной эффективный регулятор на LM2596S. А вместо 8-ми AA батареек, установил отсек на два LiIon аккумулятора 18650.
Собрав все воедино, получился вот такой аппарат. Вид изнутри.
А вот с закрытой крышкой.
Не хватает колпачка на одном потенциометре и колпачков на джойстиках.
Наконец, видеоролик о том, как происходит настройка параметров через меню.
Физически пульт собран. Сейчас я занимаюсь тем, что дорабатываю код пульта и квадрокоптера, чтобы вернуть им былую крепкую дружбу.
По ходу настройки пульта, были выявлены недостатки. Во-первых, нижние углы пульта упираются в руки :( Наверное я немного перепроектирую пластины, сглажу углы. Во-вторых, даже дисплея 16х4 не хватает для красивого вывода телеметрии - приходится названия параметров сокращать до двух букв. В следующей версии девайса установлю точечный дисплей, либо сразу TFT матрицу.
Также хочется добавить несколько полезных функций и доработок:
калибровка джойстиков;
возможность ассоциировать потенциометры с любыми параметрами из общего списка (пока они вовсе отключены);
вывод GPS телеметрии.
Надеюсь завершить эпопею с пультом и испытать квадрокоптер в новом кузове до наступления зимы!