Автоматика для УМО и трихограммы + агронавигатор...

Перелесник

Я люблю строить самолеты!
Приветствую! Зовут меня Руслан, будем знакомы.

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

А лет 5-6 тому назад меня попросили сделать несколько больших квадрокоптеров для расселения трихограммы... ну с этого всё и началось  🙂
Вернее, началось с того, как друзья-авиаторы увидели, как я с квадрокоптером играюсь - летаю, спросили, можно ли такой аппарат приспособить под трихограмму, я сказал, что можно, и оказался в результате прав.

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

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

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

А с прошлого года попросили сделать примерно такое же для жидкой химии, конкретно для УМО, то я и это сделал, и оно свои тысячи гектар тоже отлетало, и тоже прижилось.

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

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

Ах да, еще разработал полный авиационный комплекс приборов (от авиагоризонта и высотомеров до датчиков работы двигателя) с выводом данных на один экран, это тоже интересная тема, расскажу позже.

Пока поговорим об [highlight]автоматике для трихограммы и УМО[/highlight].

Итак, основной принцип такой: пилот устанавливает на приборе только требуемую норму расхода: в миллилитрах на 1 Гектар для трихограммы, в литрах на 1 Гектар для УМО, указывает ширину гона, ну а все остальное прибор делает сам.
Пилот только пилотирует и включает/выключает тумблер на штурвале при заходе на гон и на выходе из гона. 

Каждый прибор имеет собственный GPS, с которого берется реальная путевая скорость, и расходомер, по которому прибор получает данные о реальном расходе вносимого вещества. В зависимости от путевой скорости происходит автоматическая дозировка внесения таким образом, чтобы независимо от скорости полета ЛА сыпалось/лилось совершенно равномерно по всей обрабатываемой площади, и если нужно внести 4 литра "Реглона" на 1Гектар, то это будет именно 4 литра, независимо от того, летим мы против ветра, по ветру, имеем скорость 110 или 150 км/час, или вообще 10 км/час (если работаем на вертолете).

У трихограммницы расходомером является само дозирующее колесо (крыльчатка), а для УМО используется отдельный расходомер, но принцип расчета совершенно одинаковый.

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

На экран самого прибора выводится: состояние GPS-приемника, заданная дозировка, общее количество внесенного вещества, путевая скорость, количество обработанных гектар, расход вещества на 1 км пути, обороты в минуту дозирующей крыльчатки (в случае трихограммницы), литры в минуту (для УМО).

Регуляторы на приборе такие:
- установка дозировки внесения на 1 Гектар,
- установка ширины гона,
- калибровка расходомера,
+ 2 тумблера:
- включение тестового режима (нужно для калибровки расходомера на земле),
- обнуление счетчика общего расхода.

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

С прибора на агронавигатор передаются следующие данные: текущие GPS координаты (частота 10 Гц), состояние тумблера на штурвале (внесение включено, внесение отключено), путевая скорость, курс, дозировка, общий расход вещества, количество обработанных гектар, ширина гона, количество "пойманных" спутников GPS.

Агронавигатор... ну он, естественно, рисует треки, делает заливку обработанных площадей, дает линию следующего захода, по которой нужно лететь следующий гон, работает с Гугл-картами... это всё я покажу отдельно. И да, за программу денег не беру. Бесплатная она. Пока что, по крайней мере. :🙂

Выглядит это примерно так:
[media]https://www.youtube.com/watch?v=ZXcN6CW5phc[/media]

Скачать текущую версию можно отсюда: https://drive.google.com/open?id=1PhtSdT4jRGu_uugUC5sT4GPq8zTK6CEb
 
Кино об аппаратуре для УМО:
[media]https://www.youtube.com/watch?v=FYYp8qoTyXQ[/media]
В таком вот виде, как показано (с бесколлекторным двигателем, расходомером, краном-коллектором и дополнительным экраном в комплекте) стоит 500 уе.

Кино о трихограммнице на один дозатор:
[media]https://www.youtube.com/watch?v=c_naKI2dPSU[/media]
Стоит всё это "хозяйство" 250 уе.
 
Ну и то же на 2 дозатора (по одному под каждое крыло):
[media]https://www.youtube.com/watch?v=u_rxtBbwD3E[/media]
Стоит такое 300 уе.

Есть еще моноблочная трихограммница (там всё в одном корпусе,  и дозатор, и контроллер с экраном), её берут на беспилотники в основном. Но иногда берут и бедные мотодельтапланеристы... Стоит 170 уе. Но с агронавигатором она не работает (Блютуза там нет, это всё-таки для беспилотников разрабатывалось). Отличие этой модели - может работать в импульсном режиме сброса трихограммы (по точкам, а не "дорожкой" сыпать).
Выглядит примерно так:
ee3afc4ebb3f.jpg

ba2a64b30146.jpg


У всех приборов питание от 9 до 40 вольт. Для бесколлекторного двигателя привода насоса УМО нужно минимум 12 вольт (максимум примерно 24 вольт... например, на "Чмелак").

Самого насоса не даю, но собирается примерно так:

f004edcd2a40.jpg

91a4fac27dd4.jpg


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

По вопросу замены дозирующих колесиков никто не обращался пока (в принципе, даю запасные в ЗИПе). В этом году освоил работу с мягким пластиком, то даю еще и мягкие дозаторы:
98f3ea717b5f.jpg

33cf8213757b.jpg


Да, в основном все детали устройств изготавливаются методом 3-Д печати:
2b4286659761.jpg

b84ff6bc5686.jpg

8ea176a0e0fe.jpg




Вот... то так, вкратце, для знакомства  🙂

Спрашивайте - расскажу подробно.
 
  • Мне нравится!
Reactions: ASI
Пардон, забыл. Есть еще один вариант трихограммницы, который мне самому не очень нравится... Но он есть, то расскажу 🙂
В этом варианте дозатор и блок управления выполнены отдельно, но дозатор не имеет собственного контроллера. Кабель приходится вести не на 3 жилы, а на 5 жил, и этот кабель не может быть очень длинным.
Короче говоря, обработка сигнала энкодера и формирование управляющего сигнала двигателя происходит в блоке управления в кабине пилота, а не в контроллере дозатора рядом с двигателем.
Стоит этот вариант 200 уе. (полноценный вариант с отдельным контроллером на дозаторе стоит 250). Но, ИМХО, экономия эта сомнительная. На длинных проводах возникают помехи и наводки разные. Особенно на проводе с энкодера. Это не есть хорошо.
Выглядит вариант так:
[media]https://www.youtube.com/watch?v=dHl4IaOIU1A&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=37&t=104s[/media]

В установленном виде выглядит так:

e6a391aae863.jpg

d4b2af26f280.jpg
 
А, еще вспомнил: есть аппаратура для борьбы с мышами (сбрасывает зараженное зерно типа пшеницы или кукурузы).
Такое берут на беспилотники только, но оно есть, то показываю:
[media]https://www.youtube.com/watch?v=3yso4LbZtMM&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=33[/media]

И, чтобы вообще... то вот кино о моей самолетной "приборке":
[media]https://www.youtube.com/watch?v=AGpua5FrHzo&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=35[/media]

Теперь вроде всё. Всем, что есть (кроме беспилотников) похвастался  :🙂
 
Для понимания Почему программа именно такая:

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

- Могу сделать возможность работы программы вообще без моих дозаторов (которые денег стоят и являются реальными физическими объектами), на основе внутреннего GPS смартфона, но толку от такой программы будет столько же, сколько и от всех вышеперечисленных "тракторных" программ.
Хотя функцию работы с внутренним GPS смартфона буду делать в следующих версиях программы - чтобы можно было вносить в память новые поля, передвигаясь по местности на автомобиле или на чем там удобно... без самолетной аппаратуры, а просто со смартфоном в руке.

- Еще одна причина, почему не делаю пока "автономную" версию программы, а "завязываю" ее на свои физические устройства - сервисы Гугла с недавнего времени стали платными. То есть, до некоторого количества обращения к картам за год Гугл денег не берет, а при превышении количества обращений - очень даже берет. И если для какой-то фирмы в США или Великобритании, занимающейся разработкой программного обеспечения, это вполне адекватная плата, то для меня - не очень. Самому Гуглу разницы нет, с кого брать плату, с большой фирмы, или с маленького одинокого программиста: он считает только количество обращений.
То есть, я вот так как-то ограничиваю накручивание "счетчика" обращений к сервису Гугл: для реальной работы - пожалуйста, для "посмотреть-поиграться" - нежелательно.
Каких-то защит на саму программу, паролей, кодов доступа не ставлю. И не хочу ставить.

ЗЫ: тестирование очередной партии контроллеров
0c65d9b1bbc2.jpg


Сменные дозаторы: белые - мягкие, цветные - не мягкие)
726088c832e3.jpg


В наборе на одну трихограммницу - 4 жестких дозатора, 5 мягких (один из которых установлен в устройство).
 
История создания трихограммницы.

Как уже писал выше, началось это дело с квадрокоптеров. И делалось с расчетом на автоматический полет этих квадрокоптеров по заранее созданной программе. Программного обеспечения для создания программы полета именно на трихограмму я не нашел, зато была программа для картографирования местности. Принцип там такой: на выделенном участке местности прорисовываются гоны (на основе заданного пользователем шага между гонами), указывается дистанция между точками срабатывания затвора фотокамеры, ну и дальше квадрокоптер летит по маршруту, по гонам, и, как только пролетает указанное расстояние, дает сигнал на срабатывание затвора.
Вместо фотоаппарата я поставил сервопривод трихограммницы, и он сбрасывал в каждой точке маршрута  четко определенную дозу этой самой трихограммы.
Опытный образец выглядел так:
[media]https://www.youtube.com/watch?v=GHvXezDBJaI&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=26&t=0s[/media]

А уже "боевое" устройство имело такой вид:

5b056c21dd4b.jpg

f9befd5166bf.jpg


Реальная работа в полях шла по такому вот алгоритму:

[media]https://www.youtube.com/watch?v=G5_n4i4HpII&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=22[/media]

Обычная дистанция между гонами была 50 метров, ну и между точками сброса на гоне тоже 50 метров. То есть, квадратно-гнездовым методом с квадратами 50 х 50 метров. Таким образом, на 1 Га приходилось 4 сброса. И 200 метров полета. Это примерно 15-20 секунд работы аппарата. На прямых длинных гонах 10 секунд на  обработку 1 Га (лимит скорости автоматического полета я устанавливал в 20 м/с).

При среднем времени полета 20 минут со всеми подлетами-поворотами-разгонами-торможениями получалось где-то 50 Га.
За 1 час с учетом времени заправки, замены аккумуляторов и прочей суеты - 2 полета, или примерно 100 Га. Или примерно 100 уе в ценах того времени 🙂

Объем единичного сброса был определен размерами сбрасывающего "стаканчика" и составлял 3мл. То есть, на 1 Га приходилось 12 мл смеси манки с трихограммой. Конечно, конструкция дозатора предусматривала установку разных "стаканчиков" с разными объемами сброса, но на реальной работе в полях "прижился" именно такой объем.

На 50 Га выходило 600 мл смеси (полная поллитровая бутылка + объем подающего шланга + объем заправочной горловины бутылки).

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

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

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

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

Но "дорожкой" - тоже нормально получалось. Наверное, даже лучше, чем точечно ("мухе" приходится меньше летать самостоятельно). Жалоб на эффективность не поступало.

Да, квадрокоптеры с трихограммницами брали изначально те товарищи, которые давно работали по данной теме на дельтах или легких самолетах. Брали ради обработки "капризных" участков, куда пилотируемыми аппаратами летать или не выгодно или слишком опасно. Трихограммницы на самолетах и дельтах у них стояли мягко говоря Очень разные, о точной дозировке (особенно о дозировке с привязкой к реальным расстояниям, которая невозможна без GPS технологии) там речи не было...
А моя понравилась. И тем, что надежно работает, даже при повышенной влажности, и тем, что если на 50 Га нужно 600 мл  высыпать, то оно выдаст ровно 600 мл, с какой скоростью ни летай, и по ветру, и против ветра... так как привязка идет к реальному расстоянию по земле, и никак не зависит от скорости полета ЛА над этой землей.

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

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

Полноценный полетный контроллер, который управлял всем процессом на квадрокоптере, ставит смысла не было, поэтому сделал свой контроллер на основе Ардуино, "научил" его брать данные о путевой скорости с GPS приемника, формировать ШИМ сигнал для сервопривода, поставил экран с кнопочками для контроля и управления процессом...
Алгоритм был такой: чем больше путевая скорость, тем сервопривод вращается быстрее, ну и наоборот. А кнопочками задаем дозировку на 1 км реальной дистанции (ну или на гектары в пересчете).

В общем, в поля ушли такие вот устройства:

[media]https://www.youtube.com/watch?v=5j00RFeqKYc&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=29[/media]

И всё бы ничего, но вот только обнаружилась одна принципиальная сложность: скорость вращения сервопривода не находится в линейной зависимости от управляющего сигнала.  Грубо говоря, если наш сервопривод вращается на 50% от максимальной скорости, то, дав управляющий сигнал на 25%, мы не получим 25% от максимальной скорости, и при сигнале 75% тоже не получим 75% скорости...  а в некоторых диапазонах изменения управляющего сигнала сервопривод вообще никак не меняет свою скорость.

Конечно, если откалибровать дозатор на скорости, допустим, 120 км/ч и, допустим, установить при этой скорости полета скорость вращения в 50% , то +-10 км/ч будет работать вполне адекватно, но если мы на вертолете, и захотим пролететь на 30 км/ч, то... при всех благих намерениях дозировка очень будет отличаться от расчетной. То же самое будет, если во время полета мы захотим уменьшить или увеличить дозировку в 2 раза. Да, будет "примерно" в 2 раза, но очень далеко не точно.

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

Да, можно было в память микроконтроллера вносить кривые соответствия между величиной ШИМ сигнала и реальной скоростью вращения... Но у разных сервоприводов эти кривые будут разными (даже у сервоприводов одной модели, но из разных партий). Да, я уже начал рисовать такие кривые - делать таблицы соответствия. Но потом понял, что это всё слишком несерьезно, нужен принципиально другой подход к вопросу. Тем более, что даже при наличии таких "кривых соответствия" скорость вращения будет сильно зависеть от нагрузки на колесо дозатора - сервопривод не будет автоматически компенсировать возникающие нагрузки на своей оси.

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

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

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

Сначала энкодеры делал сам (просто в продаже у нас не нашел мотор-редукторов сразу с энкодерами), и в поля ушли такие дозаторы:
[media]https://www.youtube.com/watch?v=I0gKEfuVVrY&list=PLi7wuYIvlQoPZeOa9y52EraQ4AetG3nAB&index=30[/media]

На видео трихограммница для квадрокоптера, но и самолетные были практически точно такими же.

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

Раньше я имел возможность ставить энкодер только на колесо дозатора, и получалось у меня 2 сигнала на 1 оборот колеса, а со встроенным энкодером получается около 800 сигналов на 1 оборот колеса, так как энкодер стоит на валу двигателя, еще до редуктора. Это в разы повышает точность определения скорости вращения. То есть, на "самопале" у меня разрешение было 180 градусов оборота дозатора, а теперь стало точнее половины одного градуса.

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

Работает так: допустим, движок вращается на 60 об/мин, и тут поступает задача увеличить скорость до 80 об/мин. Автоматика начинает повышать напряжение, и будет повышать его до тех пор, пока по данным с энкодера не обнаружит, что требуемая скорость достигнута.
 
Продолжение (не поместилось в выделяемое форумом 10000 символов на 1 сообщение):

... А если в следующую секунду энкодер выдаст, что скорость не 80, а 81 об/мин, автоматика начнет понижать напряжение, пока не станет ровно 80 об/мин.
То же самое, если начнем притормаживать чем-то колесо дозатора: автоматика будет увеличивать напряжение (и, соответственно, мощность на валу), чтобы достичь заданных оборотов любой ценой. Уберем нагрузку - упадет и напряжение.
Очень удобная и точная система.

Кстати, ровно так же работает автоматика и на "жидкую химию". Только там вместо энкодера стоит "водомер" - устройство, где вращается крыльчатка под воздействием потока жидкости, на крыльчатке есть магниты, а в корпусе стоит датчик Холла, который выдает импульс при прохождении каждого магнита. Считает литры в минуту (или в секунду, без разницы - зависит просто от того, по какой формуле считать эти импульсы в единицу времени).

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

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

Да, и это значение "литры в минуту", "обороты колеса дозатора в минуту" - всё это для пилота не важно, и пилоту не  нужно. Это, так сказать, внутренние программные дела.
Пилот (оператор) устанавливает литры на гектар (или миллилитры на гектар, если речь о трихограмме), а сколько для этого нужно обеспечить литров в минуту при данной путевой скорости и при данной ширине гона, и как этого достичь, с какой скоростью что должно вращаться, на какой угол открываться или закрываться - это уже дело программы.
 
Ах да, не рассказал, как вообще эта моя полетная навигация сейчас работает.
Исправляюсь, рассказываю.

Итак, примерно "забили" наше поле в какой-то квадрат. Если не поместилось, то в два, или в три (хотя поля длиной более 10 км мне сложно представить, но допустим).

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

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

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

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

Но не только заливочка делается. Главное, по бокам, справа и слева рисуются две тонкие (но заметные) линии, по которым нужно будет лететь в следующем гоне, чтобы "состыковать" соседние гоны без прорех и накладок.

То есть, если у нас установлен захват обработки в 25 метров, то получаем две линии справа и слева на дистанции ровно 25 метров от трека нашего полета.

7cf980d9994d.jpg


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

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

376e10d3c2c7.jpg


На картинке:
1) Фактический курс.
2) Генеральный азимут обработки поля, заданный в предыдущем гоне.
3) Стрелочка, указывающая, куда рекомендуется поворачивать, чтобы вернуться на азимут обработки.

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

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

Если вкратце, то вот так всё и работает.
 
Делаю головку под вихревой насос PEDROLLO PKm60 с "правильными" выходами труб для УМО.
Собственно, от родного насоса там только крыльчатка берется и передний алюминиевый фланец с подшипником и уплотнением.

Было (чугун):

7b1a7b9621b6.jpg


Будет (ПЭТ-пластик):

136d01ff5b96.jpg

119c032845f7.jpg


Подача: 5 - 40 л/мин.
Мощность (Вт): 370

Двигатель будет такой:

0292d73df94e.jpg


Максимальная продолжительная мощность: (Вт) 450
Размеры: d 41,8 x 26,5 мм

Максимальные обороты на 12 Вольтах: 4200 об/мин.
 
Напечатал, проточил где надо на токарном станке, нарезал резьбы на 3/4 дюйма.
Такое:

a8ffc433b51c.jpg

d45809f4a984.jpg

6a13e225f5d5.jpg

3ff39a7fee5f.jpg


Дальше буду делать такие детали:

cda55beffbb0.jpg

c9a87689a923.jpg


В результате вырисовывается весьма компактное и легкое устройство.

Обновление сообщения (сделано):
af5928c52b10.jpg

7b9d661968c3.jpg

be7318d8ad59.jpg

b0a795434aa5.jpg
 
Обновление программы для Андроид. Файлик качаем отсюда: https://drive.google.com/open?id=1rKkYNVhm2noG0NNx4SI2t8HoMVZsHZiI

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

9bf3e700d0c7.png


Появился новый инструмент на экране - своего рода "прицел" возле значка самолетика. Такие вот вертикальные линии.

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

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

a999146a6bd7.png


Вот на этой картинке показано, как делается заход через 8 гонов. Максимум - через 12 гонов. Но, обычно, столько и не нужно - достаточно и 4-6 для экономной работы. Однако, пусть будет 🙂

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

0c43918281e4.png


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

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

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

Вот подлет к гону (дистанция больше 80 метров, масштаб "обзорный")

193eb1e391ef.png


Здесь уже заход на гон (дистанция меньше 80 метров, масштаб плавно увеличивается)

df8fd7385dd0.png


И вот такой рабочий масштаб

2d280cd0c2fe.png


Думаю, принцип понятен.

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

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

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

Ну и функция удаления поля стала работать более зрительно приятно.

Так... Что планирую сделать по навигации. То есть, как оно будет работать:

- Точки вводим так же, как и поля. То есть, либо клацаем пальцем по карте, либо клацаем на кнопочку "GPS" на карте, чтобы точкой отметить текущее местоположение, либо вводим координаты вручную.

- Программа запоминает координаты точки и окружающий эту точку фрагмент карты (квадрат 4х4 км, где наша точка будет точно посредине).

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

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

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

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

- Если нас не устраивает автоматический выбор ближайшей путевой точки, можно будет клацнуть на нужный номер другой путевой точки, и будем лететь именно туда, куда выбрали.

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

- Можно выбрать до 10 путевых точек для одного маршрута.

- Да, скорее всего, навигация будет работать и без подключенной химаппаратуры, используя внутренний GPS смартфона.
 
В данный момент работаю над автопилотом для SkyRanger, Hi-Max и подобных по размерах аппаратов.
В основе полетный контроллер Pixhawk Cube, с RTK GPS (позиционирование с точностью до сантиметров), лазерным высотомером, "дальнобойной" телеметрией, радио и прочим-прочим...

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

Кусочек системы управления пока что выглядит вот так:
ae0964cb47a7.jpg


На дальнем плане - центральный блок управления с полетным контроллером, системой питания, всеми электроразводками, парой экранов... ну и так далее, а на переднем плане контроллеры приводов: на элероны, рули, тросик газа ДВС и всё такое прочее.

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

Для надежности передача управляющих сигналов идет по двум независимым каналам ( к каждому контроллеру по два интерфейсных модуля RS485). Питание тоже дублируется... ну, всё, что можно, всё и дублируется.

Также есть возможность отключить автоматическое управление без отключения самого полетного контроллера и пилотировать обычным способом (при наличии пилота в летящем аппарате, естественно).

Управлять автоматика будет практически  всем: все стандартные органы управления, закрылки, тормоза (в основном, для рулежки), химаппартура, САС.

Режимы работы обычные: автоматический взлет, посадка, полет по маршруту, по точкам, удержание высоты, возврат домой... ну, стандартный набор.

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

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