Самодельная многоканальная аппаратура радиоуправления — Паркфлаер

Как сделать самолет на радиоуправлении: пошаговая инструкция

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

Первое, что вам нужно сделать, это приобрести все правильные и нужные детали.

Что нужно что бы сделать самолет на радиоуправлении?

Рама для самолета

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

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

Единственная проблема, которая приходит с углеродным волокном, это его высокая стоимость. Нет сомнений в том, что стоимость играет важную роль в выборе материалов и деталей для самолета, но если вы готовы потратить немного больше, то углеродное волокно — лучший выбор. Углеродное волокно — отличный выбор, потому что оно обеспечивает легкий вес, но при этом достаточно прочное. Ваш самолет будет хорошо летать и оставаться стабильным в полете, а также сможет пережить небольшие аварии.

Рама шасси для самолета

Если вы не можете превысить бюджет, есть другие материалы, которые вы можете выбрать для несущей конструкции. Например, некоторые из наиболее часто используемых материалов для создания самолетов: экструдированный пенополистирол. Это легко доступный по стоимости материал.

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

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

Хвост самолета

Одна из вещей, которые вам абсолютно необходимы для создания RC-самолета — это хвост. Для начала, хвост используется, чтобы дать летательному аппарату правильное направление во время полета. Он также отвечает за обеспечение необходимой устойчивости самолета. Хвост придаст вашему самолёту  стабильный, управляемый полет.

Хвост радиоуправляемого самолета

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

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

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

Контроллер и передатчик

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

Обычно известно, что радиопередатчики предоставляют как минимум 2 разных канала. Тем не менее, если вы ищете хороший передатчик, попробуйте найти с 4 каналами, поскольку они, как известно, обеспечивают лучший контроль над самолетом.

Передатчик

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

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

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

Сервоприводы

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

Сервопривод для самолета

Кроме того, что более важно, сервоприводы бывают всех форм и размеров. Это означает, что независимо от того, какого размера ваш радиоуправляемый-самолет, вы всегда найдете сервопривод для вашего устройства. Здесь следует отметить, что крутящий момент, создаваемый сервоприводом, зависит от размера сервопривода, который вы выбираете.

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

Пульт управления радиоуправляемым самолетом

Давайте теперь посмотрим на элемент, который делает возможным его перемещение из точки A в точку B.

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

Пульт управления FlySky

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

Источник питания вашего самолета

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

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

Двигатели и моторы для радиоуправляемых самолетов

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

Здесь вы должны быть абсолютно осторожны с весом и стоимостью и характеристиками мотора которые бывают коллекторными и бесколлекторными.

Читайте: Как правильно подобрать двигатель

Проектирование радиоуправляемого самолета

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

  • Шаг 1: Какова цель вашего самолета RC? Это первый вопрос, который вы должны задать себе, чтобы создать идеальное устройство. Почему ты делаешь самолет? Это может быть просто хобби для того, чтобы повеселиться. Тем не менее, вы также можете добавить камеру в самолет и использовать ее для обзора сверху или даже для аэрофотосъемки. Назначение вашего самолета поможет вам решить, как вы хотите построить свой самолет. Самолеты RC — это очень адаптируемые устройства, и они подходят для всего, от новичка любителя до профессионального использования.
  • Шаг 2: Огромное разнообразие электроники. Самолет собирается с использованием большого количества электроники, которая будет включена в структуру самолета. Это будут: батареи, сервоприводы, приемник и тому подобно. Чем больше электроники вы включите, тем больше она увеличит вес вашего самолета. Таким образом, в этих ситуациях было бы идеально иметь плоскую раму, которая может нести большую полезную нагрузку. В общем, было бы целесообразно выбрать двигатель и аккумулятор таким образом, чтобы ваше устройство получало правильную тягу и при этом обеспечивало достаточно продолжительное время полета. Соберите все электронные компоненты, необходимые для эффективного полета. Полный список электроники будет включать в себя электродвигатели, схему подключения батареи, приемник каналов и сервоприводы.
  • Шаг 3: Сделайте оценку общего веса вашего самолета RC . Создание самолета не очень простая задача. На данный момент вам нужно проанализировать вес вашего устройства. Это особенно важно, поскольку у вас уже есть вся электроника. Вы можете взвесить каждую из этих частей в отдельности и добавить ее к весу. Кроме того, убедитесь, что вы добавляете вес модели или самого каркаса.

Имейте в виду: общий вес устройства должен примерно в 2-4 раза превышать вес всей электроники вместе взятой. Например, если вес электроники (двигатели, аккумуляторы, сервоприводы и приемник составляет около 900 граммов, общий вес устройства должен составлять 900 x 3 = 2700 граммов.

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

  • Шаг 5: Размах крыльев . Общая площадь крыла, рассчитанная на предыдущем этапе, приводит нас к размаху крыла и корду крыла. Ключевым моментом здесь является нахождение подходящей комбинации размаха крыла и корда крыла, чтобы совокупность этих двух аспектов могла дать нам общую площадь крыла.
    Например, если ваше устройство имеет общую площадь 5800 квадратных см., вы можете сделать размах крыльев 190см. Помимо этого, вам также необходимо учитывать соотношение сторон. Это будет определяться соотношением корда крыла и размаха крыла.
    Если вы хотите сделать планер или тренажерный самолет, идеальным будет у вас будет высокое соотношение сторон. В этом случае крылья были бы длинными и худыми. Однако, если вы хотите, чтобы ваш самолет совершал акробатические движения, выберите меньшее соотношение сторон. Это приведет к коротким и широким крыльям. Эти размеры являются ключевыми в проектировании, учитывая как вы хотите, чтобы ваш самолет летал.
  • Шаг 6: Фюзеляж и хвост. Эта конструкция проектируется последней, поскольку она потребует представления о размерах крыла. Сначала разберемся с хвостом. В идеале для конструкции хвоста площадь горизонтального стабилизатора должна составлять от 25 до 35% площади крыла. Поэтому, если общая площадь вашего крыла составляет 1000, горизонтальный стабилизатор должен иметь площадь от 250 до 350.
    С другой стороны, вертикальная область составляет около половины горизонтальной области. Тогда для фюзеляжа нет строгих ограничений. Вам нужно только убедиться, что самолет и фюзеляж вместе имеют прочную систему вокруг центра тяжести.

Сборка радиоуправляемого самолета

  • Шаг 1: Создание фюзеляжа. Это можно сделать в трех частях. Прежде всего, вам придется сделать часть хвоста. Затем нужно сделать центральную часть, которая представляет собой просто коробку. Наконец, вы делаете нос самолета. Все они могут быть склеены, чтобы сформировать фюзеляж.
  • Шаг 2: Далее одна из самых важных частей в этом процессе. Это включает в себя прикрепление электронных компонентов вокруг фюзеляжа. Для начала, ESC и BEC ( для передачи энергии о аккумулятора к мотору) прикрепляем снаружи фюзеляжа, так что, когда самолет летит в воздухе, они не слишком нагреваются и могут оставаться холодными. Приемник идет внутри фюзеляжа, и за ним следует аккумулятор. Наконец, сервопривод руля приклеен к стабилизатору, который в свою очередь прикреплен к фюзеляжу.
  • Шаг 3: Крайне важно сделать крепление двигателя, достаточно прочное, даже когда самолет будет лететь на высоких скоростях. Это можно сделать, взяв два куска изоляции, которые затем прикрепляются к боковым сторонам и нижней части фюзеляжа. Вам нужно подождать, пока клей не станет абсолютно сухим, после чего вы можете прикрепить мотор.
  • Шаг 4: Выбор и прикрепление крыла, вероятно, самый трудный шаг из всего. Это особенно важный момент для больших самолетов, где крылья должны быть прочными и устойчивыми, чтобы удерживать свои позиции даже в ветреных условиях. Сервоприводы наклеены на крыло, так что провода остаются внутри крыла и не выходят за его пределы.
  • Шаг 5: Шасси действительно является дополнительным компонентом самолета, оно может быть прикреплено по вашему желанию. Некоторые пользователи предпочитают использовать его, в то время как другие предпочитают более легкое устройство без шасси. Если вы решите использовать шасси то лучше установить набор из двух колес спереди и хвостового колеса в конце. Это приводит к более эффективным летным характеристикам.

Тестирование результатов сборки

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

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

Заключение

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

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

Самодельная многоканальная аппаратура радиоуправления

Предисловие.

На фотографиях в этой статье будет немного (много) «колхоза».

Мне понадобилось:

  1. Три микроконтроллера Arduino Nano
  2. Два радиомодуля NRF24l01 с усилителем и внешней антенной
  3. Три односторонние печатные платы 50х70мм
  4. Четыре потенциометра на 10кОм
  5. Четыре ручки для них
  6. Около 22 тактовых кнопок
  7. Четыре тумблера ON-OFF-ON
  8. Два двухосевых джойстика (лучше использовать не для геймпадов)
  9. И пины-соединители
  10. Стабилизаторы питания LM1117-3.3, или аналоги, и другие радиодетали
  11. Всякая мелочёвка: провода, паяльные принадлежности, клеи, скотчи и др.

->>> Arduino Nano на Паркфлаере
Процесс изготовления.

Начну с изготовления

приёмника

. Отрезал два куска по 15 пинов «мама», подключил на них Ардуино. На пины А0-А7 и D2-D8 включительно припаял тройной разъём «папа», где один ряд – сигнальный с Ардуино (отдельный с каждого пина на Дуине), средний – 5В в параллель, крайний, который ближе к названию пина на Ардуино – земля (GND) в параллель.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

На пины D9-D13 включительно припаял радиомодуль по схеме, но питание впаял в стабилизатор напряжения, на выходе которого электролитический конденсатор 16В 100мкФ и керамический на 100нФ. На вход стабилизатора повесил керамический конденсатор 100нФ (пусть будет). Вход стабилизатора припаял к пину 5В (питаться приёмник будет от регуля напряжением 5В; его надо будет подключить на пин мотора).

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Приклеил радиомодуль к пинам и Ардуино на суперклей с пищевой содой, использованной в качестве отвердителя. Потом я всё залил горячими соплями (термоклеем) для надёжности.

Обратите внимание: пины D0 и D1 (RX и TX) свободны, на них я не паял пины для подключения электроники авиамодели (хотя туда можно подключать электронику). Сделал я это для того, чтобы можно было в далбнейшем подключить вторую Ардуину по Serial для увеличения количества пинов и расширения функционала.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Теперь принимаюсь за

передающую часть

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Потом изготовил пульт (корпус передатчика) из нескольких линеек по 20см. Начал с лицевой части. Супеклеем склеил 6 линеек торцами воедино, чтобы получилась досочка (можно было использовать фанеру, но у меня её не было). Просверлил по кругу несколько отверстий, выковырял центральную часть кусачками-бокорезами и канцелярским ножом, выровнял отверстия полукруглым надфилем. Укрепил швы суперклеем с содой в нескольких местах каждый.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Просверлил отверстия для потенциометров и тумблеров, вкрутил всё это на свои места и изнутри залил термоклеем. Заранее припаял к тумблерам и потенциометрам провода с термоусадкой и пинами «мама». Установил стойки для джойстиков (припаял к ним провода тоже заранее) и выпилил прямоугольник для кнопочной площадки (она с общей землёй), устанавливал её с помощью горячих соплей.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Прикрепил боковые стенки и днище на термоклей:

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Далее спаял на макетной плате конструкцию, напоминающую приёмник, но с шлейфом проводов « 5В–TX–RX–GND» и выходом с пинами для подключения радиомодуля всё по той же схеме. Думал, что буду питать МК через повышающий до 7-8В модуль (бустер) от одного Li-Ion аккумулятора (3-4,2В), но потом увидите, чем я его заменил.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Спаял на третьей макетной плате конструкцию с 20 выходами (радиомодуль на эту Дуину не надо будет вешать, поэтому пины D9-D13 включительно освобождаются), шлейфом « 5В–RX–TX–GND» (!!!соединять Ардуины друг с другом надо так: TX одной идёт в RX другой, и наоборот; 5В и GND просто для питания) и штекером для питания, в параллель которому припаян керамический конденсатор на 100нФ (чтобы сглаживать скачки напряжения от бустера).

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Припаял к кнопочной площадке множество проводков, на каждую кнопку по одному, которые пойдут на сигнальные пины Ардуино; общий минус можно втыкать на любой крайний контакт. К светодиодам тоже припаял проводок на «плюс» со штекером «мама», «минус» соединён с общей шиной «минус».

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Нанёс визит к моему другану, рассказал ему о том, что я делаю, и он отдал мне старый пульт от сломанного вертолётика на радио со словами: «На, пригодится». И вправду, мне пригодились антенна (вертолётик был 2,4ГГц) и джойстики, причём газ уже был с фиксацией. Установил джойстики вместо тех с Алиэкспресса, на приёмник припаял отданную антенну (просто она была более длинной, т.к. там был 5см кусок коаксиального провода, который очень хорошо гнулся). На пульт нанёс надписи рядом с джойстиками, тумблерами, потенциометрами и кнопками.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Для питания использую холдер последовательного соединения для аккумуляторов формата 18650 с Li-Ion аккумуляторами. На холдер приклеил сложенный вдвое липкой стороной внутрь скотч для лёгкого вынимания аккумов, сам холдер держится за липучку, приклеенную на самого него и на корпус передатчика.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Далее приступил к

написанию прошивки для аппаратуры

в Arduino IDE. Писал три файла .ino: «Transmitter_1» для дуины с кнопками и светодиодами, «Transmitter_2» для дуины с радиомодулем, джойстиками, тумблерами и потенциометрами, «Receiver» для приёмника. В скетчах очень много комментариев для того, чтобы можно было разобраться что где происходит.

Разберём сначала код в файле «Transmitter_1». Для упрощения обработки нажатий на кнопки (или переключения тумблеров) я написал функцию, в параметр которой вписывается пин, с которого надо считывать сигнал, и которая возвращает 0 или 1 (можно было использовать тип данных boolean (8 бит), но потом могут возникнуть проблемы с передачей по Serial, поэтому выбрал byte (8 бит)):

byte bt(int pin){ //тип данных возвращаемого значения byte
pinMode(pin, INPUT_PULLUP);
boolean bt_state = !digitalRead(pin);
if(bt_state == 1){
return 1;
}else{
return 0;
}
}

Для простого зажигания зелёного светодиода написал эту функцию:

void ledon(){
pinMode(3, OUTPUT); //устанавливаем пин 3 как выход
digitalWrite(3, HIGH); //зажигаем
delay(150); //ждём
digitalWrite(3, LOW); //гасим
delay(200); //ждём
}

Эта функция ничего не возвращает, поэтому прописываем «void». Остальной код элементарный и ничего примечательного в нём нет.

Переходим к разбору кода файла «Transmitter_2». В нём используется библиотека «EEPROM» для запоминания значений триммеров. В функции bt() из кода «Transmitter_1» я изменил только тип возвращаемого значения с byte на boolean. Для перевода значений с потенциометров и джойстиков написана функция toservo(), которая принимает пин потенциометра, нижнее значение с потенциометра, верхнее значение с него же и диапазон возвращаемых значений. Функция возвращает значения типа byte.

byte toservo(int potpin, int low, int high, int range){
int lowr = (180 — range) / 2;
int highr = 180 — ((180 — range) / 2);
returnmap(analogRead(potpin), low, high, lowr, highr);
}

Для регулировки яркости всяческой подсветки и иллюминации написана функция toaw(), которая принимает в параметрах пин потенциометра, с которого надо считывать сигнал. Возвращает значения типа byte в диапазоне 0-255. Далее на приёмнике активируется функция analogWrite(), которая создаёт ШИМ на заданном пине.

byte toaw(int potpin2){
returnmap(analogRead(potpin2), 0, 1023, 0, 255);
}

Настройки радиомодуля с помощью библиотек «nRF24l01» и «RF24» спёрты у AlexGyver’а.

Настал черёд приёмника. В его коде ничего примечательного нет, кроме функции биндинга. Если тумблер 4 находится наверху (причём передатчик включен заранее) и включается приёмник, приходит сигнал состояния тумблера 4 и запускается функция биндинга:

boolean motor_flag = 0; //флаг биндинга регуля, по умолчанию опущен

if(recieved_data[8] == 1 && motor_flag == 0){ //если тумблер 4 поднят и флаг мотора опущен
bind(); //начать биндинг
}

void bind(){
//функция ничего не принимает и ничего не возвращает
servo_0.writeMicroseconds(2300);
delay(3000);
servo_0.writeMicroseconds(800);
delay(5000);
motor_flag = 1; //поднимаем флаг
}

Небольшой туториал:

  1. Если первый тумблер находится в верху, двигатель отключен. Если он находится в центральном положении, двигатель управляется потенциометром № 3. Если же он находится внизу, двигатель управляется левым (№ 1) джойстиком по вертикальной (Y) оси.
  2. Если третий тумблер находится вверху, выпускаются шасси и зажигаются посадочные огни. Если он внизу, то только выпускаются шасси.
  3. Для биндинга после включения передатчика надо перевести тумблер № 4 в верхнее положение, включить приёмник, подождать 8 секунд.
  4. Для регулировки яркости посадочных огней надо включить их третьим тумблером, поворачивать второй потенциометр.
  5. Для регулировки яркости иллюминации включить её четвёртым тумблером, поворачивать четвёртый потенциометр.
  6. Для регулировки угла выпуска закрылков, включить их с помощью второго тумблера, поворачивать первый потенциометр.
  7. Для триммировки использовать соответствующие кнопки на кнопочной площадке.
  8. Для сброса триммера определённой оси надо зажать кнопку «сброс триммеров», нажать любую из двух кнопок оси, триммер которой надо сбросить.
  9. Для выбора чувствительности зажать кнопку «чувствительность», нажать кнопку (0/1/2/3) желаемой чувствительности, где: 0 – самый лучший отклик, 3 – самый слабый отклик.

Результат:

Получилась многоканальная (до 32 аналоговых (или цифровых, как сами пожелаете)) аппаратура радиоуправления с несколькими «плюшками» на борту: есть триммеры осей управления (которые не сбрасываются при отключении и можно сбросить отдельно каждый), четыре (0/1/2/3) степени чувствительности (отклика), функция автоматического биндинга регулятора оборотов. В моём варианте аппы реализовано только 8 каналов, а это всего лишь ¼ всех возможных!!!

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Послесловие.
В дальнейших моих планах разработка прошивки с меню (придётся припаять проводки с термоусадкой на оставшиеся кнопки и подключить их на «Transmitter_1»), в котором можно будет настроить диапазон поворота сервопривода определенного канала, фейлсейф (приведение всех каналов в заданное заранее положение при потере сигнала), оповещение о разрядке аккумулятора на модели и др.

Прошивки лежат в архиве на Гугл Диске.
Распиновка (чё куда подключать) для версии прошивки 1.1 в виде таблицы лежит здесь.

О дальности сигнала есть видео у AlexGyver’a (включайте видео на 13 минут 29 секунд, именно в этом месте начинается «тест»):

Испытание самодельной аппаратуры радиоуправления*. #1:
*качалки было лень ставить

Испытание самодельной аппаратуры радиоуправления. #2:

Выражаю благодарность в содействии созданию этого устройства:

Родным за терпение,

Александру Майорову (AlexGyver’у) за предоставленные в описаниях к видео скетчи,

Ивану Хмелевскому за то, что выслушивал, когда я ему поведывал о каждом новом этапе создания аппы.

Всем, кто прочитал данную статью, огромное СПАСИБО!

P.S. Будут вопросы, пишите в комментариях к статье))

§

Предисловие.

На фотографиях в этой статье будет немного (много) «колхоза».

Мне понадобилось:

  1. Три микроконтроллера Arduino Nano
  2. Два радиомодуля NRF24l01 с усилителем и внешней антенной
  3. Три односторонние печатные платы 50х70мм
  4. Четыре потенциометра на 10кОм
  5. Четыре ручки для них
  6. Около 22 тактовых кнопок
  7. Четыре тумблера ON-OFF-ON
  8. Два двухосевых джойстика (лучше использовать не для геймпадов)
  9. И пины-соединители
  10. Стабилизаторы питания LM1117-3.3, или аналоги, и другие радиодетали
  11. Всякая мелочёвка: провода, паяльные принадлежности, клеи, скотчи и др.

->>> Arduino Nano на Паркфлаере
Процесс изготовления.

Начну с изготовления

приёмника

. Отрезал два куска по 15 пинов «мама», подключил на них Ардуино. На пины А0-А7 и D2-D8 включительно припаял тройной разъём «папа», где один ряд – сигнальный с Ардуино (отдельный с каждого пина на Дуине), средний – 5В в параллель, крайний, который ближе к названию пина на Ардуино – земля (GND) в параллель.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

На пины D9-D13 включительно припаял радиомодуль по схеме, но питание впаял в стабилизатор напряжения, на выходе которого электролитический конденсатор 16В 100мкФ и керамический на 100нФ. На вход стабилизатора повесил керамический конденсатор 100нФ (пусть будет). Вход стабилизатора припаял к пину 5В (питаться приёмник будет от регуля напряжением 5В; его надо будет подключить на пин мотора).

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Приклеил радиомодуль к пинам и Ардуино на суперклей с пищевой содой, использованной в качестве отвердителя. Потом я всё залил горячими соплями (термоклеем) для надёжности.

Обратите внимание: пины D0 и D1 (RX и TX) свободны, на них я не паял пины для подключения электроники авиамодели (хотя туда можно подключать электронику). Сделал я это для того, чтобы можно было в далбнейшем подключить вторую Ардуину по Serial для увеличения количества пинов и расширения функционала.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Теперь принимаюсь за

передающую часть

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Потом изготовил пульт (корпус передатчика) из нескольких линеек по 20см. Начал с лицевой части. Супеклеем склеил 6 линеек торцами воедино, чтобы получилась досочка (можно было использовать фанеру, но у меня её не было). Просверлил по кругу несколько отверстий, выковырял центральную часть кусачками-бокорезами и канцелярским ножом, выровнял отверстия полукруглым надфилем. Укрепил швы суперклеем с содой в нескольких местах каждый.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Просверлил отверстия для потенциометров и тумблеров, вкрутил всё это на свои места и изнутри залил термоклеем. Заранее припаял к тумблерам и потенциометрам провода с термоусадкой и пинами «мама». Установил стойки для джойстиков (припаял к ним провода тоже заранее) и выпилил прямоугольник для кнопочной площадки (она с общей землёй), устанавливал её с помощью горячих соплей.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Прикрепил боковые стенки и днище на термоклей:

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Далее спаял на макетной плате конструкцию, напоминающую приёмник, но с шлейфом проводов « 5В–TX–RX–GND» и выходом с пинами для подключения радиомодуля всё по той же схеме. Думал, что буду питать МК через повышающий до 7-8В модуль (бустер) от одного Li-Ion аккумулятора (3-4,2В), но потом увидите, чем я его заменил.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Спаял на третьей макетной плате конструкцию с 20 выходами (радиомодуль на эту Дуину не надо будет вешать, поэтому пины D9-D13 включительно освобождаются), шлейфом « 5В–RX–TX–GND» (!!!соединять Ардуины друг с другом надо так: TX одной идёт в RX другой, и наоборот; 5В и GND просто для питания) и штекером для питания, в параллель которому припаян керамический конденсатор на 100нФ (чтобы сглаживать скачки напряжения от бустера).

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Припаял к кнопочной площадке множество проводков, на каждую кнопку по одному, которые пойдут на сигнальные пины Ардуино; общий минус можно втыкать на любой крайний контакт. К светодиодам тоже припаял проводок на «плюс» со штекером «мама», «минус» соединён с общей шиной «минус».

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Нанёс визит к моему другану, рассказал ему о том, что я делаю, и он отдал мне старый пульт от сломанного вертолётика на радио со словами: «На, пригодится». И вправду, мне пригодились антенна (вертолётик был 2,4ГГц) и джойстики, причём газ уже был с фиксацией. Установил джойстики вместо тех с Алиэкспресса, на приёмник припаял отданную антенну (просто она была более длинной, т.к. там был 5см кусок коаксиального провода, который очень хорошо гнулся). На пульт нанёс надписи рядом с джойстиками, тумблерами, потенциометрами и кнопками.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Для питания использую холдер последовательного соединения для аккумуляторов формата 18650 с Li-Ion аккумуляторами. На холдер приклеил сложенный вдвое липкой стороной внутрь скотч для лёгкого вынимания аккумов, сам холдер держится за липучку, приклеенную на самого него и на корпус передатчика.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Далее приступил к

написанию прошивки для аппаратуры

в Arduino IDE. Писал три файла .ino: «Transmitter_1» для дуины с кнопками и светодиодами, «Transmitter_2» для дуины с радиомодулем, джойстиками, тумблерами и потенциометрами, «Receiver» для приёмника. В скетчах очень много комментариев для того, чтобы можно было разобраться что где происходит.

Разберём сначала код в файле «Transmitter_1». Для упрощения обработки нажатий на кнопки (или переключения тумблеров) я написал функцию, в параметр которой вписывается пин, с которого надо считывать сигнал, и которая возвращает 0 или 1 (можно было использовать тип данных boolean (8 бит), но потом могут возникнуть проблемы с передачей по Serial, поэтому выбрал byte (8 бит)):

byte bt(int pin){ //тип данных возвращаемого значения byte
pinMode(pin, INPUT_PULLUP);
boolean bt_state = !digitalRead(pin);
if(bt_state == 1){
return 1;
}else{
return 0;
}
}

Для простого зажигания зелёного светодиода написал эту функцию:

void ledon(){
pinMode(3, OUTPUT); //устанавливаем пин 3 как выход
digitalWrite(3, HIGH); //зажигаем
delay(150); //ждём
digitalWrite(3, LOW); //гасим
delay(200); //ждём
}

Эта функция ничего не возвращает, поэтому прописываем «void». Остальной код элементарный и ничего примечательного в нём нет.

Переходим к разбору кода файла «Transmitter_2». В нём используется библиотека «EEPROM» для запоминания значений триммеров. В функции bt() из кода «Transmitter_1» я изменил только тип возвращаемого значения с byte на boolean. Для перевода значений с потенциометров и джойстиков написана функция toservo(), которая принимает пин потенциометра, нижнее значение с потенциометра, верхнее значение с него же и диапазон возвращаемых значений. Функция возвращает значения типа byte.

byte toservo(int potpin, int low, int high, int range){
int lowr = (180 — range) / 2;
int highr = 180 — ((180 — range) / 2);
returnmap(analogRead(potpin), low, high, lowr, highr);
}

Для регулировки яркости всяческой подсветки и иллюминации написана функция toaw(), которая принимает в параметрах пин потенциометра, с которого надо считывать сигнал. Возвращает значения типа byte в диапазоне 0-255. Далее на приёмнике активируется функция analogWrite(), которая создаёт ШИМ на заданном пине.

byte toaw(int potpin2){
returnmap(analogRead(potpin2), 0, 1023, 0, 255);
}

Настройки радиомодуля с помощью библиотек «nRF24l01» и «RF24» спёрты у AlexGyver’а.

Настал черёд приёмника. В его коде ничего примечательного нет, кроме функции биндинга. Если тумблер 4 находится наверху (причём передатчик включен заранее) и включается приёмник, приходит сигнал состояния тумблера 4 и запускается функция биндинга:

boolean motor_flag = 0; //флаг биндинга регуля, по умолчанию опущен

if(recieved_data[8] == 1 && motor_flag == 0){ //если тумблер 4 поднят и флаг мотора опущен
bind(); //начать биндинг
}

void bind(){
//функция ничего не принимает и ничего не возвращает
servo_0.writeMicroseconds(2300);
delay(3000);
servo_0.writeMicroseconds(800);
delay(5000);
motor_flag = 1; //поднимаем флаг
}

Небольшой туториал:

  1. Если первый тумблер находится в верху, двигатель отключен. Если он находится в центральном положении, двигатель управляется потенциометром № 3. Если же он находится внизу, двигатель управляется левым (№ 1) джойстиком по вертикальной (Y) оси.
  2. Если третий тумблер находится вверху, выпускаются шасси и зажигаются посадочные огни. Если он внизу, то только выпускаются шасси.
  3. Для биндинга после включения передатчика надо перевести тумблер № 4 в верхнее положение, включить приёмник, подождать 8 секунд.
  4. Для регулировки яркости посадочных огней надо включить их третьим тумблером, поворачивать второй потенциометр.
  5. Для регулировки яркости иллюминации включить её четвёртым тумблером, поворачивать четвёртый потенциометр.
  6. Для регулировки угла выпуска закрылков, включить их с помощью второго тумблера, поворачивать первый потенциометр.
  7. Для триммировки использовать соответствующие кнопки на кнопочной площадке.
  8. Для сброса триммера определённой оси надо зажать кнопку «сброс триммеров», нажать любую из двух кнопок оси, триммер которой надо сбросить.
  9. Для выбора чувствительности зажать кнопку «чувствительность», нажать кнопку (0/1/2/3) желаемой чувствительности, где: 0 – самый лучший отклик, 3 – самый слабый отклик.

Результат:

Получилась многоканальная (до 32 аналоговых (или цифровых, как сами пожелаете)) аппаратура радиоуправления с несколькими «плюшками» на борту: есть триммеры осей управления (которые не сбрасываются при отключении и можно сбросить отдельно каждый), четыре (0/1/2/3) степени чувствительности (отклика), функция автоматического биндинга регулятора оборотов. В моём варианте аппы реализовано только 8 каналов, а это всего лишь ¼ всех возможных!!!

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Послесловие.
В дальнейших моих планах разработка прошивки с меню (придётся припаять проводки с термоусадкой на оставшиеся кнопки и подключить их на «Transmitter_1»), в котором можно будет настроить диапазон поворота сервопривода определенного канала, фейлсейф (приведение всех каналов в заданное заранее положение при потере сигнала), оповещение о разрядке аккумулятора на модели и др.

Прошивки лежат в архиве на Гугл Диске.
Распиновка (чё куда подключать) для версии прошивки 1.1 в виде таблицы лежит здесь.

О дальности сигнала есть видео у AlexGyver’a (включайте видео на 13 минут 29 секунд, именно в этом месте начинается «тест»):

Испытание самодельной аппаратуры радиоуправления*. #1:
*качалки было лень ставить

Испытание самодельной аппаратуры радиоуправления. #2:

Выражаю благодарность в содействии созданию этого устройства:

Родным за терпение,

Александру Майорову (AlexGyver’у) за предоставленные в описаниях к видео скетчи,

Ивану Хмелевскому за то, что выслушивал, когда я ему поведывал о каждом новом этапе создания аппы.

Всем, кто прочитал данную статью, огромное СПАСИБО!

P.S. Будут вопросы, пишите в комментариях к статье))

§

Предисловие.

На фотографиях в этой статье будет немного (много) «колхоза».

Мне понадобилось:

  1. Три микроконтроллера Arduino Nano
  2. Два радиомодуля NRF24l01 с усилителем и внешней антенной
  3. Три односторонние печатные платы 50х70мм
  4. Четыре потенциометра на 10кОм
  5. Четыре ручки для них
  6. Около 22 тактовых кнопок
  7. Четыре тумблера ON-OFF-ON
  8. Два двухосевых джойстика (лучше использовать не для геймпадов)
  9. И пины-соединители
  10. Стабилизаторы питания LM1117-3.3, или аналоги, и другие радиодетали
  11. Всякая мелочёвка: провода, паяльные принадлежности, клеи, скотчи и др.

->>> Arduino Nano на Паркфлаере
Процесс изготовления.

Начну с изготовления

приёмника

. Отрезал два куска по 15 пинов «мама», подключил на них Ардуино. На пины А0-А7 и D2-D8 включительно припаял тройной разъём «папа», где один ряд – сигнальный с Ардуино (отдельный с каждого пина на Дуине), средний – 5В в параллель, крайний, который ближе к названию пина на Ардуино – земля (GND) в параллель.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

На пины D9-D13 включительно припаял радиомодуль по схеме, но питание впаял в стабилизатор напряжения, на выходе которого электролитический конденсатор 16В 100мкФ и керамический на 100нФ. На вход стабилизатора повесил керамический конденсатор 100нФ (пусть будет). Вход стабилизатора припаял к пину 5В (питаться приёмник будет от регуля напряжением 5В; его надо будет подключить на пин мотора).

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Приклеил радиомодуль к пинам и Ардуино на суперклей с пищевой содой, использованной в качестве отвердителя. Потом я всё залил горячими соплями (термоклеем) для надёжности.

Обратите внимание: пины D0 и D1 (RX и TX) свободны, на них я не паял пины для подключения электроники авиамодели (хотя туда можно подключать электронику). Сделал я это для того, чтобы можно было в далбнейшем подключить вторую Ардуину по Serial для увеличения количества пинов и расширения функционала.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Теперь принимаюсь за

передающую часть

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Потом изготовил пульт (корпус передатчика) из нескольких линеек по 20см. Начал с лицевой части. Супеклеем склеил 6 линеек торцами воедино, чтобы получилась досочка (можно было использовать фанеру, но у меня её не было). Просверлил по кругу несколько отверстий, выковырял центральную часть кусачками-бокорезами и канцелярским ножом, выровнял отверстия полукруглым надфилем. Укрепил швы суперклеем с содой в нескольких местах каждый.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Просверлил отверстия для потенциометров и тумблеров, вкрутил всё это на свои места и изнутри залил термоклеем. Заранее припаял к тумблерам и потенциометрам провода с термоусадкой и пинами «мама». Установил стойки для джойстиков (припаял к ним провода тоже заранее) и выпилил прямоугольник для кнопочной площадки (она с общей землёй), устанавливал её с помощью горячих соплей.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Прикрепил боковые стенки и днище на термоклей:

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Далее спаял на макетной плате конструкцию, напоминающую приёмник, но с шлейфом проводов « 5В–TX–RX–GND» и выходом с пинами для подключения радиомодуля всё по той же схеме. Думал, что буду питать МК через повышающий до 7-8В модуль (бустер) от одного Li-Ion аккумулятора (3-4,2В), но потом увидите, чем я его заменил.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Спаял на третьей макетной плате конструкцию с 20 выходами (радиомодуль на эту Дуину не надо будет вешать, поэтому пины D9-D13 включительно освобождаются), шлейфом « 5В–RX–TX–GND» (!!!соединять Ардуины друг с другом надо так: TX одной идёт в RX другой, и наоборот; 5В и GND просто для питания) и штекером для питания, в параллель которому припаян керамический конденсатор на 100нФ (чтобы сглаживать скачки напряжения от бустера).

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Припаял к кнопочной площадке множество проводков, на каждую кнопку по одному, которые пойдут на сигнальные пины Ардуино; общий минус можно втыкать на любой крайний контакт. К светодиодам тоже припаял проводок на «плюс» со штекером «мама», «минус» соединён с общей шиной «минус».

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

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

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Нанёс визит к моему другану, рассказал ему о том, что я делаю, и он отдал мне старый пульт от сломанного вертолётика на радио со словами: «На, пригодится». И вправду, мне пригодились антенна (вертолётик был 2,4ГГц) и джойстики, причём газ уже был с фиксацией. Установил джойстики вместо тех с Алиэкспресса, на приёмник припаял отданную антенну (просто она была более длинной, т.к. там был 5см кусок коаксиального провода, который очень хорошо гнулся). На пульт нанёс надписи рядом с джойстиками, тумблерами, потенциометрами и кнопками.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Для питания использую холдер последовательного соединения для аккумуляторов формата 18650 с Li-Ion аккумуляторами. На холдер приклеил сложенный вдвое липкой стороной внутрь скотч для лёгкого вынимания аккумов, сам холдер держится за липучку, приклеенную на самого него и на корпус передатчика.

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Далее приступил к

написанию прошивки для аппаратуры

в Arduino IDE. Писал три файла .ino: «Transmitter_1» для дуины с кнопками и светодиодами, «Transmitter_2» для дуины с радиомодулем, джойстиками, тумблерами и потенциометрами, «Receiver» для приёмника. В скетчах очень много комментариев для того, чтобы можно было разобраться что где происходит.

Разберём сначала код в файле «Transmitter_1». Для упрощения обработки нажатий на кнопки (или переключения тумблеров) я написал функцию, в параметр которой вписывается пин, с которого надо считывать сигнал, и которая возвращает 0 или 1 (можно было использовать тип данных boolean (8 бит), но потом могут возникнуть проблемы с передачей по Serial, поэтому выбрал byte (8 бит)):

byte bt(int pin){ //тип данных возвращаемого значения byte
pinMode(pin, INPUT_PULLUP);
boolean bt_state = !digitalRead(pin);
if(bt_state == 1){
return 1;
}else{
return 0;
}
}

Для простого зажигания зелёного светодиода написал эту функцию:

void ledon(){
pinMode(3, OUTPUT); //устанавливаем пин 3 как выход
digitalWrite(3, HIGH); //зажигаем
delay(150); //ждём
digitalWrite(3, LOW); //гасим
delay(200); //ждём
}

Эта функция ничего не возвращает, поэтому прописываем «void». Остальной код элементарный и ничего примечательного в нём нет.

Переходим к разбору кода файла «Transmitter_2». В нём используется библиотека «EEPROM» для запоминания значений триммеров. В функции bt() из кода «Transmitter_1» я изменил только тип возвращаемого значения с byte на boolean. Для перевода значений с потенциометров и джойстиков написана функция toservo(), которая принимает пин потенциометра, нижнее значение с потенциометра, верхнее значение с него же и диапазон возвращаемых значений. Функция возвращает значения типа byte.

byte toservo(int potpin, int low, int high, int range){
int lowr = (180 — range) / 2;
int highr = 180 — ((180 — range) / 2);
returnmap(analogRead(potpin), low, high, lowr, highr);
}

Для регулировки яркости всяческой подсветки и иллюминации написана функция toaw(), которая принимает в параметрах пин потенциометра, с которого надо считывать сигнал. Возвращает значения типа byte в диапазоне 0-255. Далее на приёмнике активируется функция analogWrite(), которая создаёт ШИМ на заданном пине.

byte toaw(int potpin2){
returnmap(analogRead(potpin2), 0, 1023, 0, 255);
}

Настройки радиомодуля с помощью библиотек «nRF24l01» и «RF24» спёрты у AlexGyver’а.

Настал черёд приёмника. В его коде ничего примечательного нет, кроме функции биндинга. Если тумблер 4 находится наверху (причём передатчик включен заранее) и включается приёмник, приходит сигнал состояния тумблера 4 и запускается функция биндинга:

boolean motor_flag = 0; //флаг биндинга регуля, по умолчанию опущен

if(recieved_data[8] == 1 && motor_flag == 0){ //если тумблер 4 поднят и флаг мотора опущен
bind(); //начать биндинг
}

void bind(){
//функция ничего не принимает и ничего не возвращает
servo_0.writeMicroseconds(2300);
delay(3000);
servo_0.writeMicroseconds(800);
delay(5000);
motor_flag = 1; //поднимаем флаг
}

Небольшой туториал:

  1. Если первый тумблер находится в верху, двигатель отключен. Если он находится в центральном положении, двигатель управляется потенциометром № 3. Если же он находится внизу, двигатель управляется левым (№ 1) джойстиком по вертикальной (Y) оси.
  2. Если третий тумблер находится вверху, выпускаются шасси и зажигаются посадочные огни. Если он внизу, то только выпускаются шасси.
  3. Для биндинга после включения передатчика надо перевести тумблер № 4 в верхнее положение, включить приёмник, подождать 8 секунд.
  4. Для регулировки яркости посадочных огней надо включить их третьим тумблером, поворачивать второй потенциометр.
  5. Для регулировки яркости иллюминации включить её четвёртым тумблером, поворачивать четвёртый потенциометр.
  6. Для регулировки угла выпуска закрылков, включить их с помощью второго тумблера, поворачивать первый потенциометр.
  7. Для триммировки использовать соответствующие кнопки на кнопочной площадке.
  8. Для сброса триммера определённой оси надо зажать кнопку «сброс триммеров», нажать любую из двух кнопок оси, триммер которой надо сбросить.
  9. Для выбора чувствительности зажать кнопку «чувствительность», нажать кнопку (0/1/2/3) желаемой чувствительности, где: 0 – самый лучший отклик, 3 – самый слабый отклик.

Результат:

Получилась многоканальная (до 32 аналоговых (или цифровых, как сами пожелаете)) аппаратура радиоуправления с несколькими «плюшками» на борту: есть триммеры осей управления (которые не сбрасываются при отключении и можно сбросить отдельно каждый), четыре (0/1/2/3) степени чувствительности (отклика), функция автоматического биндинга регулятора оборотов. В моём варианте аппы реализовано только 8 каналов, а это всего лишь ¼ всех возможных!!!

Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер
Самодельная многоканальная аппаратура радиоуправления —
 Паркфлаер

Послесловие.
В дальнейших моих планах разработка прошивки с меню (придётся припаять проводки с термоусадкой на оставшиеся кнопки и подключить их на «Transmitter_1»), в котором можно будет настроить диапазон поворота сервопривода определенного канала, фейлсейф (приведение всех каналов в заданное заранее положение при потере сигнала), оповещение о разрядке аккумулятора на модели и др.

Прошивки лежат в архиве на Гугл Диске.
Распиновка (чё куда подключать) для версии прошивки 1.1 в виде таблицы лежит здесь.

О дальности сигнала есть видео у AlexGyver’a (включайте видео на 13 минут 29 секунд, именно в этом месте начинается «тест»):

Испытание самодельной аппаратуры радиоуправления*. #1:
*качалки было лень ставить

Испытание самодельной аппаратуры радиоуправления. #2:

Выражаю благодарность в содействии созданию этого устройства:

Родным за терпение,

Александру Майорову (AlexGyver’у) за предоставленные в описаниях к видео скетчи,

Ивану Хмелевскому за то, что выслушивал, когда я ему поведывал о каждом новом этапе создания аппы.

Всем, кто прочитал данную статью, огромное СПАСИБО!

P.S. Будут вопросы, пишите в комментариях к статье))

Смотрите про коптеры:  Радио управление 10 команд своими руками

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector