UFO на БК моторах - сделаем сами ???!!!

AndrKolom

Подробно изучив темы на форуме (Silverlight, UFO от microkopter.de), я понял, что люди, заплатив немалые деньги зарубежным производителям, долгое время настраивают и переделывают то, что приобрели. Выражаю большой респект всем, кто это делает - на то были свои причины. MikeM, на мой взгляд, прошел уже через все перипитеи, он наверное самый опытный в этой области на форуме. Но когда я уведел вот это - draganfly.com, то мне стало грустно на счет всех моих личных потуг в этой области.
У самого меня есть какие-то навыки в моделизме, но программированием я никогда не занимался. Поэтому и надеюсь, что на форуме найдутся специалисты, которым эта тема интересна и мы вместе сможем построить что-нибудь достойное. Причем, если получится, то наша работа может быть изпользована другими для постройки своих вертолетов.
Концепция предлагается следующая -
Использовать типовые БК двигатели и винты, которые можно купить в модельных магазинах, подходящие (быстрые) или модифицированные регуляторы, 3D гироскопы, доступные GPS модули и др. Организовать управление всем этим на базе программируемого процессора. В результате создать нечто хотя бы отдаленно напоминающее draganfly.com.
Для того, чтобы не повторяться с уже сделанными множественными конструкциями на базе 4-х моторов, предлагаю использовать схему draganfly.com - т.е. три несущих узла с двумя моторами, разнесенными на 120 градусов.
Самым затруднительным мне видится создание COM платы и программирование.
Понимаю всю трудность поставленной задачи, но надеюсь на коллективный разум и я и моя семья (что важно!!!) готовы в меру тратить деньги на этот проект. Весь ход работы будем подробно освещать на форуме. И естественно - все ньюансы (включая программный код и т.п.) должны быть открыты для всех.
Программисты, электронщики, заинтересованные моделисты - отзовитесь!!!

foxfly
AndrKolom:

Концепция предлагается следующая -

Как то не прижилась, болезная.
Концепция в смысле:)

AndrKolom

В любом случае - я над этим работаю. Сейчас выписываю себе Propeller и все, что нужно для работы с ним. Одновременно посмотрю и посоветуюсь, как можно адаптировать программный код, написанный для квадрокоптера под мою задумку. Тут же решаю вопрос о hardware - моторы, регуляторы, гиры. А у кого “неприжилась” “болезная”, тот пусть идет своим путем. Я уверен - единомышленники найдутся.

PigTail

А с чего на Пропеллере остановились, 8 ядер конечно круто, но даже по программированию хрен у кого чего спросишь… экзотика однако.

AndrKolom
PigTail:

А с чего на Пропеллере остановились, 8 ядер конечно круто, но даже по программированию хрен у кого чего спросишь… экзотика однако.

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

PigTail

Интересный проектик, спасибо за ссылку, сообщайте как движитесь…

AndrKolom
PigTail:

Интересный проектик, спасибо за ссылку, сообщайте как движитесь…

Заказал все контроллеры, детали, а сам пытаюсь повторить схему main board от Vassilis и представить себе не могу, как я это сделаю. Чувствую, что нахожусь на этапе добычи руды для постройки автомобиля. Надеюсь, что после начала работы руками пойдет все веселее.

Андрей.

PigTail

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

AndrKolom
PigTail:

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

Я с ним напрямую списывался, как он сообщает, программный код он “чистит”, сейчас он сильно занят, но в ближайшие недели все выложит. Хотелось бы, конечно, особо на него не полагаться. Тем более, что его контроллер поддерживает стабилизацию в двух плоскостях, а втретьей - он подключил стандартный вертолетный гироскоп - G401. Сам алгоритм программирования, на самом деле не сложный. Но подобраться к этому без элементарных познаний - тяжело. Может быть программисты откликнутся. Я хотел бы, чтобы этот проект был открытым для всех желающих сделать аппарат для себя хорошо и не очень дорого.
Изучая последнее время все возможные варианты квадро и три-коптеров, я понял, что наиболее хорошо (с коммерческой точки зрения) все это дело поставлено у немцев (microcopter.de). Но они продают свой комплект примерно за 720 евро. На всех форумах соглашаются, что немцы продают запчасти с хорошим наваром. Причем одна из самых дорогих деталей - это контроллер (больше 200 евро). Все остальные можно и у нас приобрести. Вообще вполне реально поставить это дело и у нас на коммерческой основе, нужно только основные детали или делать у нас или заказывать у китайцев. Но пока мы только в начале пути.

Андрей.

8 days later
AndrKolom

Vassilis выложил на своем сайте полный софт к плате своего квадрокоптера. Его можно адаптировать и загружать в контроллер при помощи Propeller Tool - бесплатно скачивается с сайта Parallax.com. Я жду заказанный Propeller со всеми приспособлениями для программирования. Но нужно разбираться с тем, как адаптировать код Vassilisa для трикоптера.
Еще интересный вопрос - у американского Draganfly нижний и верхний винты на каждой консоли вращаются с оджинаковой скоростью или нет. Если с одинаковой, то каким образом достигнута синхронность - программно или электрически?

Казаков_Alexandr
AndrKolom:

Vassilis выложил на своем сайте полный софт к плате своего квадрокоптера. Его можно адаптировать и загружать в контроллер при помощи Propeller Tool - бесплатно скачивается с сайта Parallax.com. Я жду заказанный Propeller со всеми приспособлениями для программирования. Но нужно разбираться с тем, как адаптировать код Vassilisa для трикоптера.
Еще интересный вопрос - у американского Draganfly нижний и верхний винты на каждой консоли вращаются с оджинаковой скоростью или нет. Если с одинаковой, то каким образом достигнута синхронность - программно или электрически?

Осмелюсь прадположить, что стабилизация в подобных системах осущ. с помощью датчиков (гироскопов и т.п.). А там уж сами думайте как это - “программно или электрически”
В природе нет двух одинаковых винтов!!!
Каждый винт работает в своих условиях, не похожих на соседние. И эти условия постоянно меняются. Для того, чтобы вывести из равновесия подобные системы нужен мизерный разбаланс. Поэтому для стабилизации нужна обратная связь от датчиков.

Smouk_RedKaktuss

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

AndrKolom
Казаков_Alexandr:

Осмелюсь прадположить, что стабилизация в подобных системах осущ. с помощью датчиков (гироскопов и т.п.). А там уж сами думайте как это - “программно или электрически”
В природе нет двух одинаковых винтов!!!
Каждый винт работает в своих условиях, не похожих на соседние. И эти условия постоянно меняются. Для того, чтобы вывести из равновесия подобные системы нужен мизерный разбаланс. Поэтому для стабилизации нужна обратная связь от датчиков.

Конечно, стабилизация осуществляется с помощью датчиков. Это как минимум три гироскопа (столько в DF6 и Микрокоптере), это пьезоэлектрические гироскопы, впаяные прямо в плату контроллера. Не только винты влияют, могут быть порывы ветра, дисбаланс аппарата по осям, неточности в расположении двигателей и т.п.
Все это компенсируется скоростями вращения винтов, а управляет всем этим - микроконтроллер по программе, которая и является главной “фишкой”.
На сайте draganfly.com есть пример, когда на одной оси трикоптера один из винтов вообще отсутствует, но апппарат при этом все равно стабилизируется за счет работы других винтов.
Я и не сомневался, что все двигатели управляются программно. Вопрос в том прогаммно управляются два двигателя на оси или все шесть двигателей по отдельности. Естественно от этого и зависит сложность самой программы. На зарубежных форумах адаптация программы квадрокоптера для трикоптера представляется не слишком сложной - www.rcgroups.com/forums/showthread.php?t=716870&pa…
Но для меня, как не программиста, конечно это сложно, даже имея в наличии программный код от Vassilisa и Квадрокоптера.
Написанную программу стабилизации нужно довольно долго настраивать. Аппарат при этом подвешивается на растяжках и проверяется работа программы стабилизации, после чего вносятся изменения и опять проверяется и т.д.

Smouk_RedKaktuss:

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

Сам по себе микроконтроллер (Propeller или Atmel) стоит не дорого (первый - 50 долларов в комплекте Spin Stamp), так же не дорого стоят и пьезоэлектрические гироскопы. Vassilis использовал Propeller как для основной платы, так и для OSD. Еще одно удачное решение для стабилизации в двух плоскостях - это 5 DOF IMU от SparkFun (109 долларов без доставки). Это не принципиальный вопрос, какой процессор использовать. Что для Atmel, что и для Propeller есть свой софт для программирования. У меня сейчас есть программный код квадрокоптера как для одного так и для другого (vrhome.net/vassilis/) микроконтроллера. Нужен программист.

8 days later
ueff

Сейчас Валкеровский X ufo с коллекторными моторчиками RTF можно купить за 3500р, по моему проще ее на БК переделать.

AndrKolom
ueff:

Сейчас Валкеровский X ufo с коллекторными моторчиками RTF можно купить за 3500р, по моему проще ее на БК переделать.

Практически нужно делать новый аппарат. Этот вопрос на наших и зарубежных форумах уже заездили. Лучше не тратить 3500 на Х UFO - от него ничего не останется.

AndrKolom

С сайта vrhome.net/vassilis/ скачал выложенный Vassilisom программный код и файлы с разработанными им платами для контроллера и OSD.
Методом принтер-утюг сделал двустороннюю плату для контроллера, после нескольких проб по-моему получилось неплохо.
Получил посылку от Parallax с микроконтроллером и набором для разработки схем.
Купил фотоаппарат SONY 10 Мп - варварски разобрал, подпаялся к контактам зум и спуска, вывел их наружу - готово для подключения к RC свичам. Схему свича тоже спаял, но на фотоаппрате еще не проверял.
Приобрел маслянные аммортизаторы к гоночным моделям автомобилей - на их базе подготовил картонные лекала для вырезки из алюминия подвеса для фотоаппрата на подобие разработанного draganfly.com.
Теперь буду пытаться разобраться в программном коде Vassilisa для того, чтобы модифицировать его для трикоптера. Для меня это малореально, но попробую.
Но вопрос на счет того, управляются ли синхронно или автономно винты (верхний и нижний) на каждой ветке трикоптера остается все же открытым.

Nick_Shl
AndrKolom:

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

Если код Сишный то проблемы в нем разобраться не составит.
Теперь по винтам. В начале вопрос: как работает UFO на 4 мотора? Если все винты крутятся в одну сторону, то возникает реактивный момент закручивающий UFOшку в противоположную сторону кручения винтов.
В трикоптере dragonfly по два винта, крутящихся в разные стороны - то есть момент компенсирован. В таком случае, что бы повернуть UFOшку необходимо увеличить скорость одних винтов(верхних или нижних в зависимости от направления поворота) и уменьшить других. Отсюда вывод - винты должны уметь управятся независимо.

AndrKolom
Nick_Shl:

Если код Сишный то проблемы в нем разобраться не составит.
Теперь по винтам. В начале вопрос: как работает UFO на 4 мотора? Если все винты крутятся в одну сторону, то возникает реактивный момент закручивающий UFOшку в противоположную сторону кручения винтов.
В трикоптере dragonfly по два винта, крутящихся в разные стороны - то есть момент компенсирован. В таком случае, что бы повернуть UFOшку необходимо увеличить скорость одних винтов(верхних или нижних в зависимости от направления поворота) и уменьшить других. Отсюда вывод - винты должны уметь управятся независимо.

В UFO на четырех моторах винты вращаются следующим образом - одна пара противоположных винтов вращается в одну сторону, а другая пара - в другую. Таким образом момент компенсируется.
На сайте draganfly.com есть пример, когда один винт (нижний по-моему) на одной оси повреждается, но при этом второй компенсирует его недостаток и платформа все равно остается стабильной. Отсюда я делаю вывод, что возможно моторы на одной оси соединены параллельно и управляются не раздельно. Тогда если возникает крен в одну сторону из-за повреждения, процессор дает команду на компенсацию, оба мотора на оси (нижний и верхний) начинают вращаться быстрее (медленнее) и крен компенсируется.
Хотя, как я выше говорил на зарубежном форуме также считают, что моторы управляются независимо - www.rcgroups.com/forums/showthread.php?t=716870&pa…. Там в посте 3279 Djago показывает, как можно модифицировать программу для квадрокоптера под трикоптер.
Программный код у Vassilisa - на языке Spin он очень похож на С, программу для работы с ним можно скачать на сайте parallax.com она называется propellertool. Прямо в этой программе открываются выложенные Vassilisom на его сайте файлы программного кода и их можно редактировать.
В любом случае - для того, чтобы проверять все модификации программного кода, нужно сделать саму модель, подвесить ее на трех веревках и проверять с разными настройками кода, оценивая как изменения кода влияют на поведение модели.
Посмотрите этот язык Spin, мне трудно оценить на сколько сильно он похож на С.

AlexSr

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

Nick_Shl
AndrKolom:

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

Неправильный вывод. И я не про крен, а про yaw. Итак - нижний винт вышел из строя. В результате тяга упала. Нужно это компенсировать - разгоняем верхний винт. Но тогда на этой ноге возникает реактивный момент, который ничем не компенсирован. UFO начнет закручивать. Что бы этого избежать надо компенсировать реактивный момент. Для этого на остальных ногах тормозим верхние винты и разгоняем нижние(что бы тяга оставалась постоянной), до того момента, пока реактивный момент не компенсируется.
Если не хватает выходов на регуляторы(их надо 6 шт) - схему можно упростить. На двух ногах поставить винты в парралель, а на третей - раздельно. Понадобится 4-е выхода как на обычных UFO.

AndrKolom
AlexSr:

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

Я когда проглядывал своим неопытным взглядом этот код, загруженный в Пропеллер Тул, я так и понял, что его части взяты готовыми из библиотеки объектов, которая есть на сайте parallax.com. К сожалению, я технически не могу вложить все файлы кода Vassilisa, но на его сайте его можно скачать.

Nick_Shl:

Неправильный вывод. И я не про крен, а про yaw. Итак - нижний винт вышел из строя. В результате тяга упала. Нужно это компенсировать - разгоняем верхний винт. Но тогда на этой ноге возникает реактивный момент, который ничем не компенсирован. UFO начнет закручивать. Что бы этого избежать надо компенсировать реактивный момент. Для этого на остальных ногах тормозим верхние винты и разгоняем нижние(что бы тяга оставалась постоянной), до того момента, пока реактивный момент не компенсируется.
Если не хватает выходов на регуляторы(их надо 6 шт) - схему можно упростить. На двух ногах поставить винты в парралель, а на третей - раздельно. Понадобится 4-е выхода как на обычных UFO.

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

8 days later
AndrKolom

Вот уроки последних дней.
Показанные выше изготовленные платы использовать не получается. Они двухстороннего монтажа и поэтому требуется соединение верхнего и нижнего слоев. Прочитал в интернете как это можно сделать в домашних условиях - понял, что проще заплатить, чтобы эти платы сделали на производстве.
По вопросу спуска фотоаппарата по радиоканалу нашел в интернете схемы (во вложении) - только после изготовления третьей что-то получилось (shutter) во вложении.
Из фотоаппарата вывел провода для зума и спуска, но при этом видно замкнул какие-то контакты и высветилась ошибка Е:91:1. Не работает вспышка. Но это не важно, остальные функции работают. Вообще мой совет - делайте все манипуляции с фотоаппаратами очень аккуратно и внимательно. Там внутри все на шлейфах - рассчитано на 1-2 разборки-сборки. Там внутри имеется конденсатор вспышки, если его случайно разрядить на корпус - всем платам хана. Потом дорогую вещь (10МП Сони стоит не меньше 8900 рублей) можно выкинуть, т.к. ремонт будет дороже его цены. Готов поделиться своим опытом по Sony DSC-W170.
По поводу программы управления стабилизацией также есть небольшое продвижение. По знакомым нашел программиста, отправил ему материалы для изучения. Есть шансы, что возмется за работу. Сама идея интересная и может привлечь специалистов.
Кстати, наши форумчане, я так понимаю, есть весьма продвинутые в программировании микроконтроллеров - давали советы касательно Propeller и Spin, однако никто не сказал, что он готов взяться и попробовать изменить код квадрокоптера для заявленного проекта трикоптера.
Если вопрос в финансах - я готов оплатить работу, только хотелось бы иметь не просто нанятого работника, а реально интересующегося человека - единомышленника, который думает не только о деньгах, а и о результате.
Надеюсь вскоре получить заказанный в Германии квадрокоптер, систему приема-передачи видеосигнала. На их базе думаю отработать все основные решения, которые потом использовать в созданном трикоптере.

AndrKolom

На данный момент получил от Parallax все необходимое для программирования Propellera в том числе и два микроконтроллера, из которых один пойдет на IMU, а второй - на OSD.
По схеме Vassilisa вокруг микроконтроллера не так много деталей, поэтому думаем, что вполне сможем разместить IMU на базе education kit (модельной платы) и не заморачиваться с изготовлением высококлассной платы, тем более, что до конца не известно, сколько будет разъемов для управления двигателями.
Двигатели, винты и рама - это все купить и сделать не сложно. А вот контроллеры двигателей - особая тема. Дело в том, что нужны “быстрые” контроллеры на базе шины I2C. Такие есть у немецкого квадрокоптера. Поэтому я решил на базе схемы, размещенной на немецком сайте, сделать свою печатную плату и собрать контроллер. После чего загрузить в него программу с немецкого квадрокоптера.
Сегодня купил в Чип и Дип полный набор деталей для одного ESC. Весь комплект обошелся в 1400 рублей. Немцы продают такой контроллер дороже 50 евро плюс пересылка.
Хочу попробовать сделать контроллер бесколлекторных двигателей на длинной и узкой плате, чтобы можно было разместить его внутри рамы трикоптера. Это будет небольшое ноу-хау. Использую программу ExpressPSB, но до конца не знаю, как правильно провести все соединения. Схема не слишком сложная, но все-равно работа довольно тяжелая.
По результатам поделюсь и файлом платы и схемой, списком деталей и программным кодом. Но только при положительных результатах.
Кстати, никто не может подсказать, к чему можно подключить шину I2C, чтобы проверить готовый ESC? У меня ведь нет еще основной платы управления стабилизацией.

PigTail

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

AndrKolom
PigTail:

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

Спасибо большое.Чувствую, что скоро из юриста превращусь в программиста.

PigTail:

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

Кстати, не хотите посотрудничать по поводу переделки имеющегося программного кода для квадрокоптера под трикоптер?😃