Activity

Inspire-подобная рама своими руками с нуля

Не смотря на апрельские снегопады за окном? есть надежда, что скоро удастся полетать. В связи с этим, достал из шкафа аппарат и доделал его складные шасси.
Для привода использовал самую легкую и слабую серву, а чтобы ей было полегче складывать шасси вверх, подпружинил рычаги. Ну и продолжил ось сервы до соседней стенки на которой закрепил прощадку с отверстием для оси. Это чтобы качалку не перегибало под нагрузкой и не закусывало.
Управление сделал через ардуину, чтобы немного замедлить движения (напрямую с приемника слишком быстро дергает) и расширить угол поворота.
Хотел еще конечно режим “авто”, но дальномер некуда воткнуть - вся нижняя область перекрывается шасси и нет свободного пространства для замера.
фото1
фото2

Inspire-подобная рама своими руками с нуля
tuskan:

не знаю, как летает, но красиво.

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

В этот раз впаял дополнительные конденсаторы в точке спайки проводов. И выкос сделал градусов пять. Благо на Н-раме это легко.

Inspire-подобная рама своими руками с нуля

Шасси хочу переделать в такой вид:
фото-1

фото-2

И резать хочу из карбона 1.5 мм, а не из 3 мм, как сейчас. Снижение толщины и вырезы должны существенно повлиять на вес. К сожалению не владею примочками Солидвокса, которые просчитывают прочностные характеристики материалов, но надеюсь карбон 1.5 мм не подведет.

Inspire-подобная рама своими руками с нуля

Всем привет! Почти на пол года выпал из “авиации”, но вот в январе появилось время и попилил ту версию корпуса которую выкладывал в августе. Н-образные лучи и складные шасси. Теперь это скорее Voyager-3, чем Inspire. Шасси сделал немного по-другому, чем на августовской картинке.
фото-1

фото-2

фото-3

Как и ожидалось, масса уменьшилась почти на 300 грамм. Думаю можно еще снизить, за счет переделки шасси. И старый обтекатель весит 40 грамм - можно сделать его потоньше. Ну и пластиковые детали печатались со 100% заполнением, и можно сделать их полегче. Уже перерисовал их в немного измененном дизайне и карбоновые детали шасси перерисовал, но все это еще не печатал и не резал.

фото-4

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

Inspire-подобная рама своими руками с нуля
Art_Nesterov:

Для того, что бы поднимать 300 гр (камеру+подвес), взлетный вес коптера может быть до 1500 гр, запросто.
Сетап тоже известный

Не ну так резко нельзя от сложного к простому - ломка может возникнуть))

Да и где конструкторский кайф черпать, когда все уже придумано)

А за ссылочку на раму благодарю! Когда-нибудь и до нее созрею

Inspire-подобная рама своими руками с нуля

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

Накидал модель следующей версии:


фото

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

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

Материалы в модели тщательно не прописывал, но ориентировочное снижение массы - 300 грамм.

Inspire-подобная рама своими руками с нуля
trew21:

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

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

А сам подъем на положение не влияет. На одном из предыдущих видео это лучше видно.

Inspire-подобная рама своими руками с нуля
Art_Nesterov:

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

Артем, благодарю за оценку!

Причиной унитазинга оказался отклеившийся GPS. Сегодня на тестах вел себя как надо и спутники ловил.

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

А в голове почти полностью созрела новая вариация рамы. Надо компьютерную модель накидать.

Inspire-подобная рама своими руками с нуля
Art_Nesterov:

Будет второй, третий коптер, наверняка они будут легче…

Да, с тех пор как была поднята тема веса, закралась идея сделать следующую вариацию. Мне нравится как выглядят H-образные рамы, поэтому есть желание сделать что-то похожее по принципу на Voyager от Walkera. Ряд увесистых деталей уйдет за ненадобностью, шарниры превратятся в простые крепления и станут легче. Мотормаунты можно будет заменить площадками… Корпус я бы оставил существующий, он мне нравится (и по виду и по расстановке компонентов), только детали крепления лучей сделать новые (после освобождения от привода в корпусе освободится дополнительное пространство). И габариты можно бы немного уменьшить.

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

Inspire-подобная рама своими руками с нуля

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

Inspire-подобная рама своими руками с нуля
Art_Nesterov:

Очень здорово выглядит! Сергей, сколько же все это теперь весит? И какой подвес будет?

Спасибо! Взвесил - 2719 г. Пустой корпус весил 780 г. С подвесом и камерой трешка рисуется. Не “фантастически легкий” конечно, но в самом начале предполагал, что может получиться гораздо хуже, поэтому устраивает).
Ну и практически все, что можно было урезать, я урезал. Остался короткий список:

  • Подвижное крепление подвеса - 18 грамм. Четыре стойки с винтами, как альтернатива, весят 7 грамм. Т.е. 11 грамм выигрыша;
  • Алюминиевая вставка на корпусе сервы - 9 грамм;
  • На приводном винте (который с шагом 12 мм) будет капролоновая гайка, она гамм 5 может сэкономит;
  • Литые пластиковые шарниры могут оказаться полегче, но тоже не факт.

На счет подвеса, конечно хотелось бы Zenmuse H3(H4)-3D, но за новый цена кусучая, а б/у-шных на барахолке не нашел. Видимо востребованы и не залеживаются.
Следующий по приоритету Tarot 3D III. Отзывы о нем вроди как неплохие и цена заметно демократичнее.

Но всерьез я пока не выбирал, так как следующими на очереди стоят шарниры. То что 3D-печатные не сломались от нагрузок на испытаниях (кроме случая краша) это конечно здорово, но для уверенной эксплуатации они не годятся.
По-хорошему надо сделать качественные мастер-модели (например лазерной 3D-печатью полиамида) и отдать в конторку для литья в вакуумной камере. Что тоже, собственно, не дешевая затея.

Inspire-подобная рама своими руками с нуля

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


фото

Inspire-подобная рама своими руками с нуля

После установки обтекателя, LED стал недоступен, потребовалось перенести. Решил прикрепить сзади - кроме удобства подключения, он еще закрыл “потраха” ардуины.
На батарейной полке имелось два отверстия, делал их на всякий случай, если придется GPS на стойку сзади выносить. В итоге GPS остался спереди, а эти отверстия подошли для крепления площадки LED, сделанной из пластинки полистирола и двух приклеенных нейлоновых стоек.


фото


фото

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

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


фото

Inspire-подобная рама своими руками с нуля
rc468:

А как вы ее собственно делаете? Это печать на пленке какой-то или что?

На обтекателе делал аэрографом. Развел в трех баночках три оттенка; сначала светлым полностью закрасил, потом налепил малярного скотча и закрасил пятна среднего оттенка. Потом еще скотча и закрасил темные. Краску использовал акриловую (“Ладога” в тюбиках). После каждой покраски подсушивал обычным феном, чтобы долго не ждать. В конце прошел пару раз лаком из баллончика, для закрепления, и оставил на ночь.
Это был первый опыт - в другой раз возьму скотч поприличнее и предварительно намечу контуры пятен карандашом - будет удобнее.

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

Inspire-подобная рама своими руками с нуля
rc468:

когда дрон упал куда-то в дерево, пригодились бы яркие краски, хотя бы акцентами.

на этот счет можно мотормаунты красными оставить как есть… А вставку на сервомашинке я уже залепил)

Inspire-подобная рама своими руками с нуля
tuskan:

на вид весьма зачетно, но я бы не стал использовать текстуры - придает игрушечность конечному результату.
Черный. Или черный с красным низом - чтобы был “красный макасин”

я из черного полистирола делал и вначале примерил как есть. Потом еще на один слой черной краской прошел, чтобы выровнять цвет. Но блин как-то все в одно пятно сливалось. Разнообразия захотелось)

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

Inspire-подобная рама своими руками с нуля
CZC:

Дальность всего два метра…

Дааа, HC-SR04 у меня тоже есть - полный треш, как и сказано в ролике).
US-100 действительно предпочтительнее, если между ними выбирать.

rc468:

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

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

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


фото

Inspire-подобная рама своими руками с нуля

Немного по-тестировал в полете автоматический режим. Работает на четверочку с минусом из-за сонара (при его цене, ждать многого не стоило). Так то в целом все правильно работает, но замер высоты не точный и поэтому реакция не четкая.

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

Inspire-подобная рама своими руками с нуля

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

Inspire-подобная рама своими руками с нуля

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

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

фото

вот как в итоге получилось:

фото

Думаю, может на аккум еще наклейку с такой же текстурой сделать…

Inspire-подобная рама своими руками с нуля

Убираясь на столе, не глядя воткнул сонар в ардуину не правильно, а буквой “Г”. Потом присмотрел и решил, что так гораздо удобнее разместить и закрепить. Перепаял пины и перемычки.


фото

Закрепилось все карбоновой планкой - сонар можно легко снять не откручивая винты (в частности на время заливки скетча на ардуину) и воткнуть в разъем обратно. Только надо придумать как провести/закрепить провод аккума, чтобы он сонару не мешал.
Когда приедет ардуина с микро-USB, гребенка торчать не будет и перемычки перепаяю внутрь.
В домашних условиях схему потестировал, работает. А парке еще не пробовал - погода совсем не летная.
Поправил в скетче крайние углы спуска/подъема и середину, чтобы серва касалась стола. Получилось 45*, 94*, 160*

Люфт в подшипнике привода оказался из-за муфты которая соединяет с сервой - сползла на миллиметр. Пропаял ее для надежности, люфт почти полностью ушел.

Забрал вчера оставшиеся карбоновые детали с резки, поставил по местам.


фото
Вернул выкос на моторы. Хочу проверить полет с ним на тех же гейнах.

GPS пока на своей полке, так как разительных отличий, по сравнению с выносом на стойку, не заметил. Нужно еще по-тестировать.

Inspire-подобная рама своими руками с нуля

Зачинил схемку с ардуиной-про-мини. Получилось не с первого раза, из-за того, что свежие ардуины с Алика глючили и не хотели работать. В итоге спаял на старенькой. Заказал Ардуину-мини со встроенным программатором и микро-USB. Хочу сделать модуль поаккуратнее.


yadi.sk/i/dBM8Do3c3a8Axu

Сигнал и питание на плату будет идти с приемника, а на выходе сигнал на серву. Потестировал, все работало как надо и принимало 90* при переключении тумблера SG в среднее положение.
Сделал перемычки TX, RX, GND для коннектора дальномера (VCC совпало). И перемычки VCC, GND для запитки от приемника, чтоб одним стандартным трехжильным проводом соединить.
Вначале (на глючных ардуинах) я откидывал лапки микропроцессора для тех контактов на которые я вывожу перемычки (думал предостеречься от влияния сигналов и напряжения на процессор) но в последнем варианте не стал, так как никакого влияния не обнаружил.

Получился самостоятельный модуль который можно снимать и ставить в промежуток между приемником и сервой для управления шасси - возможно кому-то еще окажется полезным (Масса 13 грамм). На этот случай выкладываю:
Итоговый скетч
У меня там ширина импульса сдвинута относительно номинальной, из-за того что я раздвигал конечные точки на аппе, чтобы отрегулировать угол подъема спуска. Когда окончательно перейду на этот модуль, то верну конечные точки в исходную.
скетч для считывания ширины импульса

Inspire-подобная рама своими руками с нуля

С утра испробовал вариант кода с микшером. Режимы у меня на SD, а на соседнюю SG в ее центральном положении настроил смещение ширины сигнала. И в коде прописал, что если сигнал в пределах смещения, то на серве 90*.
Потестировал - работало хорошо.
По сути это тоже получился вариант с кнопкой, только кнопка на пульте. Пожалуй так даже удобнее - не нужно дополнительных проводов и соединений.

Андрею еще раз большая благодарность за рабочий код!!!

Что касается транспортного положения, то остановлюсь на управлении с пульта.

Тесты на макетной плате прошли хорошо, теперь надо на Ардуину-мини перенести и спаять схему.

zealot01:

Посмотри по ардуине видео курсы джереми блума, там все просто

Не слыхал про такого, но погляжу на досуге, может умища наберусь)

Inspire-подобная рама своими руками с нуля
CZC:

pinMode(pin,INPUT_PULLUP); // вход с подтяжкой

Попробовал с INPUT_PULLUP - серва стояла в 90* не реагируя ни на кнопку, ни на тумблер.

rc468:

Я по этой ссылке сделал код, попробуйте ее открыть

Испробовал - кнопка стопорит исправно. Но вращение сервы не такое ровное как во вчерашнем коде без кнопки. Время от времени проскакивают запинки.

Inspire-подобная рама своими руками с нуля
rc468:

Мы его добьем Должно работать.

Основательный подход))

rc468:

и сигнал HIGH появляется только однократно, а не все время пока она нажата?

не не, со стопорением все очень хорошо, на сигнал грех жаловаться. В момент стопорения серва в полном покое и не гудит.

Вспомнил странность про которую писал выше, когда вы предложили протестировать чисто код стопорения… Я кнопку оджимал, а серва не торопилась крутиться. Могла сразу начать, а могла секунд пять стоять на месте, а потом начинать вращение… Мне это показалось крайне странным.
То есть как бы даже Через Чур стопорила, если можно так сказать… может это “черезчурстопорение” и вызывает пинки в работе сервы в режимах когда она должна вращаться.

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

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

Если код кнопки даже в коротком, изолированном виде дает нестабильную работу, то может другое логическое условие придумать? Не HIGH на контакте, а что-нибудь иное, более конкретное. Импульсы программа распознает корректно.

Inspire-подобная рама своими руками с нуля
rc468:

нет ли в отжатом положении какого-то дребезга кнопки?

ну у меня самой кнопки пока нет - ее роль выполняли провода со штекерами мама-папа

rc468:

Попробуйте сделать что-то типа 160 или 30, посмотрите как отреагирует.

я перед экспериментами раскрутил серву (тестовая серва непрерывного вращения), подкрутил энкодер, чтобы четко при 90* стопорилась без гудения. Поэтому встает то она хорошо, а вот влияет нехорошо.

Inspire-подобная рама своими руками с нуля

Попробовал в конец и в начало с Else. Чертовщина какая-то. Весь цикл прекрасно работает пока этот фрагмент не вставлю. Хоть в начало, хоть в конец - все одно - стопорит хорошо, но в “отжатом” положении серва плохо крутится.

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

Андрей, за код премного благодарю! “Авто” и “Ручной” работают как надо. Без вашей помощи не допетрил бы.
А на счет транспортного подумаю еще.

Inspire-подобная рама своими руками с нуля

добавил команду myservo.write(servo_mode), чтоб приняла к исполнению, получилось:

if (digitalRead(button) == HIGH) {
// если кнопка транспортного положения нажата
servo_mode = 90; // лучи в среднем положении
myservo.write(servo_mode);
}
else
{
servo_mode = 0; // в любом другом положении
myservo.write(servo_mode);
}

Вообще-то странно себя ведет. Может сразу запуститься после отпускания кнопки, а может постоять на месте приличное время. Не ожидал сюрприза в таком простом фрагменте.

rc468:

Погодите, именно этот фрагмент?
С ним будет дергаться, потому что в нем запись происходит. В нем должно быть только servo_mode = 90 и больше ничего.

таааакс, сейчас переделаю)

Inspire-подобная рама своими руками с нуля
rc468:

А вы можете наоборот все убрать и оставить только кнопку?

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

if (digitalRead(button) == HIGH)
{myservo.write(90);
servo_mode = 90;}

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

rc468:

А вы можете наоборот все убрать и оставить только кнопку?

сейчас попробую…

Inspire-подобная рама своими руками с нуля

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

Теперь надо фрагмент про кнопку правильно вставить.

Нее, если в то место вставляю, то картина портится.
Попробую в начало

Не, чет не то… Без кнопки все прям прекрасно работает. А фрагмент с кнопкой все резко портит. Андрей, кажется вы писали про оператор Continue, но потом редактировали. Он может помочь при размещении кода кнопки в начале цикла?

Текущее работоспособное состояние цикла без кнопки:

void loop()

{

duration = pulseIn(pin, HIGH);

if (duration > 1800)
{
servo_mode = 0;
} else if ((duration > 1300)&(duration <= 1700))
{
servo_mode = 180;
}
else
{
Serial.flush();
Serial.write(0x55);
delay(10);
if (Serial.available() >= 2)
{
HighLen = Serial.read();
LowLen = Serial.read();
Len_mm = HighLen * 256 + LowLen;
Serial.print(Len_mm, DEC);
Serial.println(“mm”);
}
if (Len_mm <= dist)
{
servo_mode = 0;
}
else
{
servo_mode = 180;
}
}
if (servo_mode != last_servo_mode)
{
myservo.write(servo_mode);
last_servo_mode = servo_mode;
}
}

Inspire-подобная рама своими руками с нуля

Вот так?

… if (Len_mm <= dist) {

servo_mode = 0;
}
else
{
servo_mode = 180;
}
}

if (digitalRead(button) == HIGH) {
// если кнопка транспортного положения нажата
myservo.write(90); // лучи в среднем положении
servo_mode = 90;
}

if (servo_mode != last_servo_mode) {
myservo.write(servo_mode);

last_servo_mode = servo_mode;
}

}

На кнопку стал правильно реагировать, но вращение мотора испортилось. После первой рекомендации он в АВТО плохо себя вел, но зато в ручном крутил отлично. А сейчас в обоих режимах в одну сторону крутит, а в другую дергается.

Inspire-подобная рама своими руками с нуля
rc468:

А у вас кнопка или переключатель имеет приоритет?

Кнопка в приоритете. Так как нажимается только при подготовке к полету и при завершении.

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

Inspire-подобная рама своими руками с нуля
rc468:

Но вслед за этим проверяется длина сигнала и может сработать что-то еще.

А может тогда дописать еще одно условие после проверки кнопки?

if (digitalRead(button) != HIGH)
{
… и пошло дальше

Inspire-подобная рама своими руками с нуля
rc468:

Попробуйте не писать в цикле одни и те же значения.
А сделать следующим образом:

О! Круто! не знал про такой прием. Испробую!
Стесняюсь спросить - а что означает восклицательный знак после имени переменной?) “servo_mode != 90”

Inspire-подобная рама своими руками с нуля
ssilk:

теперь в серву что то можно записать

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

Считывал ширину входящего сигнала ардуиной, получилось что значения немного плавают, поэтому ставил граничные условия вроде “if ((duration > 1200) & (duration < 1800))” вместо четчих чисел. Чтобы сигнал с приемника точно попал в пределы.

Inspire-подобная рама своими руками с нуля
rc468:

Нужно ли эти значения постоянно записывать в серву в цикле или достаточно записать один раз, чтобы серва приняла нужное положение и удерживала его?

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

Inspire-подобная рама своими руками с нуля
CZC:

А автоматическом режиме нужно будет всегда летать выше пороговой высоты, а то получится - “лучи вверх”-“лучи вниз”…

Да, по логике так оно и будет. Но если вариант с новым винтом (шаг 12 мм) сработает, то опускание шасси будет происходить за секунды и я смогу выставить пороговую высоту небольшой, около 1 - 1.5 м. На такой высоте не планирую много летать, а в исключительных случаях можно будет перейти в ручной режим.

Если же на старом винте придется остаться, то метра 2.5. придется поставить. Но опять же в отдельных случаях ручным попользуюсь.

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

skm:

Кстати когда то брал для колхоза с автоподьемом ног такую вот штучку

Любопытная штуковина. Разброс цен на них какой-то странный.

Накрапал скетч для ардуины:

#include <Servo.h>

Servo myservo;

int button = 6; // кнопка перевода в транспортное положение
int pin = 2; // вход с приемника
unsigned long duration; // длинна сигнала

unsigned int dist = 1200; // пороговое расстояние до земли

unsigned int HighLen = 0;
unsigned int LowLen = 0;
unsigned int Len_mm = 0;

void setup()
{
myservo.attach(3);

pinMode(5, OUTPUT);
pinMode(button, INPUT);
pinMode(pin, INPUT);
digitalWrite(5, HIGH);
Serial.begin(9600);
}

void loop()

{

if (digitalRead(button) == HIGH) // если кнопка транспортного положения нажата
myservo.write(90); // лучи в среднем положении

duration = pulseIn(pin, HIGH); // считывается длинна сигнала

if (duration > 1800) // если тумблер в нижнем положении
myservo.write(0); // лучи опускаются вниз

if ((duration > 1200) & (duration < 1800)) // если тумблер посередине
myservo.write(180); // лучи поднимаются вверх

if (duration <= 1000) // если тумблер в верхнем положении
// замеряется расстояние до земли:
{
Serial.flush();
Serial.write(0x55);
delay(10);
if (Serial.available() >= 2)
{
HighLen = Serial.read();
LowLen = Serial.read();
Len_mm = HighLen * 256 + LowLen;
Serial.print(Len_mm, DEC);
Serial.println(“mm”);
}

if (Len_mm <= dist) // если расстояние ниже, равно пороговому
myservo.write(0); // лучи лучи опускаются вниз

if (Len_mm > dist) // если расстояние выше порогового
myservo.write(180); // лучи поднимаются вверх
}

}

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

Inspire-подобная рама своими руками с нуля

Заказал для пробы приводной винт Т6 с шагом 12 мм. Хочется ускорить подъем/спуск лучей и интересно потянет ли такой шаг серва.

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

Логику работы вижу так:

yadi.sk/i/O5E5oRYu3a42MR

На одном из трехпозиционных тумблеров получатся режимы: “Авто”, ручной “Полет”, ручной “Приземление”