MultiWii
Только мой как раз убирает нелинейность, так как нормализация идет не по всему диапазону а по двум половинам.
нелинейность в том смысле что одинаковый сдвиг допустим вверх и вниз от центра будут различаться ненамного - у одного допустим диапазон сдвига 500 у другого 450, на аппе сдвинули один на 100 и другой на 100, на коптере получим для примера по одному сдвиг 95 по другому 90 - что-то вроде того. но в реальности при управлении коптером это наврятли будет заметно
П.С. если точнее посчитать
#define RX_PITCH_MIN 1145 - диапазон 442
#define RX_PITCH_CENTER 1587
#define RX_PITCH_MAX 2000 - диапазон 413
(1687-1587)*500/413+1500 = 1621, итого сдвиг на аппе в 100 = 121 на коптере
(1487-1145)*500/442+1000 = 1387, итого сдвиг на аппе в 100 = 113 на коптере
минтроттл влияет на значение газа для пуска моторов, у меня мин газа примерно 1120, моторы соответственно запускаются не при арминге а при небольшом смещении газа вверх…
да… еще один минус данного способа - 8 операций умножения/деления в прерывании - не очень хорошо (но имеет право на жизнь в вие - не так критично)
кстати скорее всего воспользуюсь вашим кодом, решение оч даже понравилось
Будет интересно 😃 Просьба отписаться потом, а то я все еще никак не взлечу, из-за проблемы с акселерометром.
А про нелинейность я имел в виду другое.
Этим кодом восстанавливается линейная зависимость между углов наклона стика и значением полученным multiwii.
Хотя тут еще важна линейность резистора в аппе.
да… еще один минус данного способа - 8 операций умножения/деления в прерывании - не очень хорошо (но имеет право на жизнь в вие - не так критично)
Так я же говорю - код плохой - он сделан макросом, и разворачивается 4 раза.
А по поводу деления и умножения, то во первых там целые 32-значные во-вторых компилятор должен выражение с константами упростить., либо можно принудительно упростить через переопределение промежуточных констант.
Подскажите, чем принципиально отличаются параметры RC Rate и Pitch/Roll Rate? Какие, в каком случае надо двигать?
Также моя Гекса Х (V2.1) в ACRO режиме делает петли по Pitch значительно меньшего диаметра, чем по Roll. Как я понимаю, если бы Pitch/Roll Rate были раздельные, это можно было исправить, но они совмещённые. Какими параметрами можно уровнять реакцию?
Подскажите, пожалуйста, если я из Bluetooth GPS выдеру Bluetooth модуль, означает ли это, что я без особой суеты смогу себе сделать Bluetooth-UART модуль для связи по Bluetooth? Модуль как бы уже настроен на прием, то есть его вроде как не надо конфигурировать. Или я чего-то недопонимаю?
А вы попробуйте 😃 если получится , они там как правило интегрирыванны в плату.Ну какбы можно если умеете работать с пайкой SMD компонентов…
Лучше купите вроде они сейчас не такие уж дорогие
Немного не в тему, но так как код практически мультивийный, у меня на трёшке на хвосте стоит серва слишком шустрая, зудит постоянно и может задёргаться как паралитик при включенном магнитометре (ставил аналоговую работает неплохо но хотелось бы оставить эту) по сей причине вопрос - можно ли ввести какой-нибудь фильтр для неё чтоб не так резво откликалась?
можно ли ввести какой-нибудь фильтр для неё чтоб не так резво откликалась?
Уменьшить P и I(Но так что бы соотношение I/P стало меньше) увеличить D для YAW, ну конструкцию сделать по жестче.
Еще может шуметь D. На тормозных моторах просто у него шуметь не получается.
вот это
delta = gyroData[axis] - lastGyro[axis]; // 16 bits is ok here, the dif between 2 consecutive gyro reads is limited to 800
lastGyro[axis] = gyroData[axis];
deltaSum = delta1[axis]+delta2[axis]+delta;
delta2[axis] = delta1[axis];
delta1[axis] = delta;
перепаравить на примерно это
delta = gyroData[axis] - lastGyro[axis]; // 16 bits is ok here, the dif between 2 consecutive gyro reads is limited to 800
lastGyro[axis] = gyroData[axis];
deltaSum = delta1[axis]+delta2[axis]+delta3[axis]+delta4[axis](ну и т.д…)+delta;
delta4[axis] = delta4[axis];
delta3[axis] = delta2[axis];
delta2[axis] = delta1[axis];
delta1[axis] = delta;
Тогда D шуметь перестает. На не перепрошитых регулях этот, код вообще добро, нет переодических осциляций.
можно ли ввести какой-нибудь фильтр для неё чтоб не так резво откликалась?
увеличить вес гиры в ИМУ… гира меньше шумит, а при к=400…500 она все еще в состоянии компенсировать своы дрейф по магнитометру…
/* Set the Gyro Weight for Gyro/Magnetometer complementary filter
Increasing this value would reduce and delay Magnetometer influence on the output of the filter
Comment this out if you want to set a specific coeff (non default)*/
#define GYR_CMPFM_FACTOR 400.0f
перепаравить на примерно это
для начала просто D поднять до 40…50
Спасибо вечером поэкспериментирую 😃
Ага он у меня 200.0f
для начала просто D поднять до 40…50
Чем больше D тем больше от этого D осциляций.
D он P “тормозит”, но из-за вибраций ему ничто не мешает самому осциляции устраивать(но с бОльшей частотой чем от P c перерегулированием).
Прежде чем этот костыль дописать, я пробовал и так и сяк.
Я к тому, что если не поможет просто D увеличить(PI уменьшить)…
Тряска сервы может быть и от пинков в гиру от люфтов в хвостовом приводе, грубо говоря тоже самое что по гире ключем на 17 постучать 😃
D это этого с ума сойдет.
Чем больше D тем больше от этого D осциляций. D он P “тормозит”, но из-за вибраций ему ничто не мешает самому осциляции устраивать(но с бОльшей частотой чем от P c перерегулированием). Прежде чем этот костыль дописать, я пробовал и так и сяк. Я к тому, что если не поможет просто D увеличить(PI уменьшить)… Тряска сервы может быть и от пинков в гиру от люфтов в хвостовом приводе, грубо говоря тоже самое что по гире ключем на 17 постучать D это этого с ума сойдет.
в целом согласен… НО у каждого конфига есть свой порог D, у меня на двух квадрах с длинной луча ~ равной размеру пропа (в моем понятии пропорциональная квадра 😉 ) при D=40…50 осциляций нет… но все правилно, т.к. Д уменьшает влияние П, то П как правило поднимается пропорционально Д и тогда мега плавно все + ветер держит + на спусках не трясет почти…
ну и многочисленние отзывы по а0, а1 сами за себя говорят 😉
хотя сейчас я уже немного “вырос” и мне Д=40 многовато, т.к. слишком тупой уж коптер выходит, а вот 35 само то…
MultiWii AllinOne (Alpha) play.google.com/store/apps/d...multiwii&hl=tr This app displays important information from MultiWii. (it works with MultiWii 2.0 and 2.1)
вот еще бы кто написал offline map tracking
походу добавили карту
play.google.com/store/apps/details?id=com.ezio.mul…
Д=40 многовато, т.к. слишком тупой уж коптер выходит
Угу, на замедленной съемке(раз в 100) это хорошо видно. Видео чуть позже выложу.
Маленький D - перелет, потом обратно возвращается и т.д.
Большой D как бы тормозит раньше времяни и скорость к нулю еле доползает отсюда и тупой.
Лучше всего очень точно настраивать.
Опишусь, попробовал различные варианты - серва “зудеть” не перестала, но пак паралитик уже не бьётся (GYR_CMPFM_FACTOR выставил 400.0f) и к изменению D никакого отношения не имеет, пробовал попрыгать ведёт себя адекватно - надо на улице выгулять, вывод напрашивается простой - не надо было эту серву ставить, или же через демпфер к лучу прикрутить - она сама некислые вибрации создаёт…
цифровая серва бесшумно практически не работает - всегда в поисках нуля - посему и зудит, просто подключи к приемнику на столе - будет тоже
MultiWii SE V2.0 Flight Controller w/FTDI
ХК всерьез занялись коптерами… кто следующий?
Их менеджеров давно разогнать надо.
Плата устарела примерно на год 😃 Нет смысла брать это чудо по 45$, когда за 58$ есть All In One с более качественными датчиками и процом, нормальным сериал-портом и полноценным USB-разъемом.
… да и дешевле на том же Dealextreme можно купить, причем, с фришиппингом 😉
А вот такую может стоит на вийе попробовать?
dx.com/…/gy-85-6dof-9dof-imu-sensor-module-for-ard…
Три гиры плюс три акселерометра плюс три магнетометра. Я для хедтрекера уже заказал.
Три гиры плюс три акселерометра плюс три магнетометра
Там не по три штуки ,а имеется ввиду что “трехосевые” гира,аксель,магнитомер
Опишусь, попробовал различные варианты - серва “зудеть” не перестала, но пак паралитик уже не бьётся (GYR_CMPFM_FACTOR выставил 400.0f) и к изменению D никакого отношения не имеет, пробовал попрыгать ведёт себя адекватно - надо на улице выгулять, вывод напрашивается простой - не надо было эту серву ставить, или же через демпфер к лучу прикрутить - она сама некислые вибрации создаёт…
Возьми среднее из последних значений(на серву) 3ех (может 5ти) - самый простой LPF фильтр
Привет всем, вчера собрал mobiDroneOSD все работает (огоньками моргает) но вот вопрос, она со стандартом PAL работает, если включать ее параллельно то тупо получается черный экран, если при работающей камере осд выдернуть то камера начинает опять показывать. Вроде в прошивке написал что PAL, но ничего не изменилось(((( Если кто сталкивался помогите.