Система стабилизации DJI для вертолетов классической схемы и не только!
к фазе нужно цепляться если строить на логике если программно то к фазе цепляться не надо замените длительность на скважность может так для вас будет понятнее
зачем видеть что с неё выходит если она сама следит за горизонтом и делает нужные коррекции конкретней что вас смущает в алгоритме данной программы
наша задача из 6 каналов сделать 4
Сергей здравствуйте !
Я противник “логики” (в смысле, собирать на отдельных логических элементах, в тоже время, в специализированных микросхемах, например шим контроллеры в блоках питания, логика уже встроена, без неё ни как), по поводу замены длительности на скважность, это да, кому как удобнее.
Зачем видеть что выходит с контроллера, да, в принципе это даром не надо. Но как удастся отстроить программу, не видя что приходит на контроллер, как выполнить масштабирование (соизмерение входных и выходных значений) сигналов. Безусловно, это всё можно просчитать (при достаточном практическом опыте), но на практике (говоря прямо, любителю-самоделкину) без этого “экранчика”, лично я не представляю как это можно сделать.
В программе не то что смущает, (мне знаком язык ассемблер и Си, у Вас другой язык, так мне кажется по “построению” и Вашему написанию, хотя это не важно). Я до конца не понимаю некоторые “тонкости” работы назы. Да, моторы в паре (при развороте) работают - один уменьшил обороты другой наоборот увеличил. Но это при “идеальных” условиях, то есть когда наза находится в “горизонте”. Если идёт болтанка и (или) резкое изменение высоты (например и режим автомат, не ручной) происходят не понятные мне процессы, У одного мотора обороты уменьшаются до одного предела (например -80 единиц) а у другого увеличивается на +130 (а не на +80, как можно было бы предположить) и ещё идёт поправка от крена итд. Предполагаю, это происходит (от части) не корректная отработка (на столе), а в полёте такого происходить не будет или же сама наза в ведёт свои дополнительные поправки. На счёт увеличения на +130 или уменьшения (-80) единиц, это нужно для получения сигнала корректировки на сервы автомата перекоса (и сигнала рудера). Для себя решил, на все эти “мелочи” не обращать, будут “полевые” испытания, они всё и покажут 😃
Алексей я так и не понял вы хотите написать программу назы для верта или адаптер для управления верта контролером квадрика
Алексей
Всё управление происходит синхронно то есть если летим в перёд передние двигатели верхний и нижний уменьшают обороты одинаково а задние увеличивают (длинна импульсов на верхних и нижних двигателях одного луча одинаковые на все 100%) изменение происходит при развороте длительность меняется на всех и тоже линейно (одинаково).
Если возьмем горизонтальное висение при идеальных условиях за 100 единиц то при полете вперёд передние верхние и нижние будут 90 ед. а задние 110 ед. если туда добавляем разворот то передние верхние 100 ед. задний верхний 120 ед. и соответственно передние нижние 80 ед. задний нижний 100 ед. так мы летим по кругу.
Программу назы - нет ! Для этого надо такую(большую 😃 ) голову иметь, её наверное и один человек вообще не напишет (если он не 10-ть раз гений).
Именно адаптер, но в нём (этом “адаптере”) всё равно придётся “генерировать” все сигналы управления (которые пойдут на сервы, все 5-ть (4-ре для электры, 5-ый сигнал соответственно на регуль мотора) штук). А их настройкой (крайние точки, среднее положение) надо будет заниматься, для этого и надо (желательно) иметь этот маленький экранчик, если это Вы имеете в виду. По крайней мере это моё представление данной затеи.
(длинна импульсов на верхних и нижних двигателях одного луча одинаковые на все 100%)
Виктор, честно говоря ,у меня в голове небольшая каша, в автоматическом режиме у меня получалось именно так как я написал (возможно я действительно ошибаюсь, но получал именно такой результат). У меня и появился большой вопрос, именно при этих разницах в значениях между верхним и нижним моторами одной пары, думаю это при “выворачивании” руля до упора (надо будет перепроверить), а если это так - то ничего страшного не будет, это же не 3Д верт, “газуешь” спокойно, плавно поворачиваешь 😃 и всё будет OK. (каша в голове - “сопротивление” буквально на каждом шагу, думал испытания проводить ещё недели две назад, а на практике нет, не тут то было и когда они будут пока не знаю…)
Алексей иногда если много знаешь вредит мне кажется что именно это и происходит в вашем случаи (не в обиду)
вам надо сначала написать саму программу а уже потом заниматься украшательствами, Виктор поднял верт если я правильно понял тупо воткнул место моторов сервы изменил настройки назы и он полетел и даже сам весел.
То что написал я это быстрей алгоритм чем программа переложите это на СИ и получите основной код адаптера и его можно облетать
средние точки серв нам ненужно нам нужен только максимально допустимые значения верх и низ чтоб не выламывать механику и была возможность настраивать максимальные углы атаки лопастей те же -6 +10 сигнал мотора правильней взять с приемника на прямую а наза будет управлять только шагом
эксперименты на столе нужного результата не дадут поскольку у назы мозг сносит и она не понимает что происходи поскольку нужного отзыва не видит
вот когда это полетит тогда можно заняться украшательством и то я вижу там всего 4 кнопки и один джампер для переключения цифровые или аналоговые сервы АП две для настройки нижнего предела и две для верхнего остальное написали назовцы
Виктор поднял верт если я правильно понял тупо воткнул место моторов сервы изменил настройки назы и он полетел и даже сам весел.
Да я поднял вертолет с NAZA-M и он прекрасно летает блинчиком и висит в режиме GPS.
понастрочили… 😃
Ребята не надо забывать что любой компьютер может выполнять только одно действие в один момент времени
Мы вкурсе 😉 Если Вы говорите о фазах программной обработки, то их значения (в нашем случае) мизерны и их величинами можно просто пренебречь, особенно если там будет:
16 гигагерц, для выполнения данной программы будет достаточно, AVR - это сила
(шутка) 😃
Мы говорим лишь о технической возможности.
и надо посмотреть как это все выглядит если этого не знать дальнейшее обсуждение тол ко мусорит ветку
понадобится двух лучевой осциллограф. Виктор вероятно изыщет такую возможность.
Кто нибудь спорит?
По поводу мусора - не согласен! Именно обсуждение вопросов адаптации Naza-M Lite к вертолету оживило эту ветку и наоборот только способствует поиску решения. Текущая активность говорит об интересе к теме сама за себя.
Виктор поднял верт если я правильно понял тупо воткнул место моторов сервы изменил настройки назы и он полетел и даже сам весел.
Сергей, не надо все валить в одну кучу. Есть два пути решения этой задачи: на логике и программный. Мы с Виктором, пока изучаем первый и есть вероятность, что все получится относительно просто.
Благодаря усилиям и практическим тестам Виктора мы выяснили несколько важных фактов:
- Вертолет в режиме коптера Y6 нормально стабилизируется, летает и управляется в ручном режиме (при наличии доп. гироскопа на рудере)
- Наза всегда делает вертолетный разворот в режиме RTH
- много других “мелочей”, который “всплыли” в процессе обсуждения
Это исходные данные и необходимый минимум тестов.
Но, теоретически, я за программный вариант, т.к. это на порядок больше возможностей. Вы написали примерный алгоритм - это замечательно, но еще нужен заинтересованный человек, имеющий опыт работы с AVR в соответствующей программной среде, чтобы доводить все это “до ума” Версия 1.0 никогда не бывает окончательной.
Добрый день. Не как не получается настроить naza h, может кто то поможет советом. Суть проблемы в том, что при взлете вертолет сильно начинает вилять хвостом, в чем дело не пойму, чувствительность менял,аппа jr pcm9x2, на хвосте серва align ds620, знает может кто в чем дело???
Олег я в принципе тоже за программный вариант но с логикой меня тоже вполне устроит чтоб мудрить на логике не хватает данных о них я уже писал да если сдвиг на пару тактов этим можно пренебречь а если на пол управляющего импульса тогда как, какой активный уровень 0 или 1 не зная этого можно рассуждать до посинения тем самым просто мусорить в ветке вот что я имел виду по поводу мусора
Виктор можете приоткрыть занавес вашего решения на предмет что кроме назы там добавилось нужен ли был реверс серв на тарелке ну в общем такие моменты
заинтересованное лицо надеюсь у нас есть это Алексей судя по его постам он уже достаточно освоился с АВР но у него может это коммерческий проект
Добрый день. Не как не получается настроить naza h, может кто то поможет советом. Суть проблемы в том, что при взлете вертолет сильно начинает вилять хвостом, в чем дело не пойму, чувствительность менял,аппа jr pcm9x2, на хвосте серва align ds620, знает может кто в чем дело???
если в полете перестает то подымите кривую газа из за малых оборотов не хватает производительности хвоста
до полета еще не дошло, на земле, когда вот вот вертолет оторвется, у него начинает вилять хвост
Виктор можете приоткрыть занавес вашего решения на предмет что кроме назы там добавилось нужен ли был реверс серв на тарелке ну в общем такие моменты
Да при настройке тарелки пришлось реверсировать одну серву, так как это программно сделать нельзя я разобрал серву перепаял двигатель на 180 градусов и концы переменного резистора.
до полета еще не дошло, на земле, когда вот вот вертолет оторвется, у него начинает вилять хвост
Уменьшайте чувствительность или регулируйте первоначальное положение лопастей.
Виктор можете приоткрыть занавес вашего решения на предмет что кроме назы там добавилось нужен ли был реверс серв на тарелке ну в общем такие моменты
Упс… я как то упустил это. Виктор, Вы делали реверс серв для тарелки? и что либо кроме назы было добавлено?
заинтересованное лицо надеюсь у нас есть это Алексей судя по его постам он уже достаточно освоился с АВР но у него может это коммерческий проект
Я имел ввиду заинтересованное в нашем хобби. Это для души, на добровольных началах, в свободное время. Мне показалось, что Алексей все же пока начинающий в AVR, но “смотрит” в правильном направлении. Эта задачка простая, но только для программиста с опытом (если уже есть выполненный хотя бы один подобный проект). Мне тоже доводилось писать программки для контроллеров на ассемблере для процессора Z80, правда очень давно.
Упс… я как то упустил это. Виктор, Вы делали реверс серв для тарелки? и что либо кроме назы было добавлено?
Я сам не ожидал, но сервы одного производителя при одном и том же сигнале могут крутится в разные стороны, НАЗА здесь не причём и нечего дополнительного я не ставил хотя была мысль поставить микросхему с элементом НЕ.
поменяйте местами сервы ивам снова понадобится реверс
поменяйте местами сервы ивам снова понадобится реверс
Я поменял направление вращения самой сервы.
я понял что вы заделали я хотел сказать что производитель здесь ни причём просто серва установлена по отношению к остальным зеркально и на этом канале всегда нужен будет реверс
Я сам не ожидал, но сервы одного производителя при одном и том же сигнале могут крутится в разные стороны
а я вот это не понял 😇
я понял что вы заделали я хотел сказать что производитель здесь ни причём просто серва установлена по отношению к остальным зеркально и на этом канале всегда нужен будет реверс
Вот я его и сделал.
Программно, у меня, реверс “на столе” работает без вопросов. Ни какого “коммерческого” интереса у меня нет, проста “опыта” не хватает. Раньше делал небольшие программы но на ассемблере, теперь перешёл на Си, а в нём многое по другому (для меня, любителя). В целом код написан, но постоянно возникают какие то маленькие проблемки то с одним врагментом то с другим. То что я его “домучаю” в любом случае - это без вопросов (полетит верт или нет - это другой вопрос, хотя раз у Виктора полетел, значит полетит), просто здесь явно есть люди занимающиеся теми же мультивиями и подобными контроллерами, а у них программы на порядок посложней, помощь бы не по мешала …
Программно, у меня, реверс “на столе” работает без вопросов.
Реверс Вы делаете НАЗОЙ или вашим контролером?