MultiWii

Пчёл=

Многое прояснили ,Спасибо большое, ещё не понял как раскомментировать саму плату, приемник обычный перемычка стоит на usb , до того как накосячил плата активировалась без проблем с пульта( арминг- дизарминг)теперь молчит.
тип коптера нашел ранее ка выбрать, у меня сейчас прога multiwii conf не видит плату ,в ардуино выставлял duemilanove w/atmega328 , да последний релиз скачал его и пытаюсь воткнуть , после редактирования нажимаю verify/compile в скече , запись проходит без ошибок, плату все равно не видно

mahowik
DVE:
  • ALT HOLD is greatly improved thanks to the code of Mahowik, a little bit optimized since
    improved baro hold (PID) algorithm that includes the accelerometer z-axis
    its a real major improvement for multiwii

Это мой старый зачаточный АХ, который был в первых бетах (ранее распространявшихся) + простой регулятор высоты со свободным газом. Т.е. никакой заданной регулировки скорости (через отдельный пид регуль), автокалибровки газа висения (+ компенсации на просадку батареи соот-но) и независимости от конфига тама нет. Взлетать-садиться в альтхолде ясное дело не умеет…
А последние вкусности пока в RC1 и RC2.

Raptor_SK
Пчёл=:

ещё не понял как раскомментировать саму плату,

Твоя плата: 😃

//#define HK_MultiWii_SE_V2 // Hobbyking board with MPU6050 + HMC5883L + BMP085
#define HK_MultiWii_328P // Also labeled “Hobbybro” on the back. ITG3205 + BMA180 + BMP085 + NMC5583L + DSM2 Connector (Spektrum Satellite)
//#define RCNet_FC // RCNet FC with MPU6050 and MS561101BA www.rcnet.com

Пчёл=:

,в ардуино выставлял duemilanove w/atmega328 ,

Ставь Arduino Nano ATmega328… И используй последнюю версию ГУИ…
P.S. На прошлой неделе я отдал челу хексу на такой плате… прекрасно летает.
P.P.S. Проверь шнур/разъем USB - у меня на одной такой плате были из за этого проблемы, пропаивал разъем на плате…

dROb
dROb:

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

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

Между тем - напомните, плз, какой параметр PID для Pitch и Roll надо крутить, если наблюдается сложность удержания высоты? (без Altitute Hold). I по-моему, но вот в какую сторону крутить - не припомню…

mahowik
dROb:

какой параметр PID для Pitch и Roll надо крутить, если наблюдается сложность удержания высоты? (без Altitute Hold).

пиды тут ни при чем… надо настроить экспоненту газа под свой коптер… сделать это можно либо в аппе, либо в ГУИ вия, НО не там и там!
удобнее так, в аппе отрубаем, а в ГУИ выставляем EXPO=0.25-0.35. Более 0.35 не советую выставлять, т.к. газ совсем дубовый становиться.

  • середину выставляем (в ГУИ это MID). Середина - примерная точка висения. Примерная, т.к. с просадкой батареи она убегает на 50…100 единиц…
Alexsis1109

Всем доброго времени суток! Кто-нибудь самостоятельно писал код для обработки ШИМа РРМ сигнала на контроллере Atmega? Я пытаюсь написать на Atmega128

mataor
Alexsis1109:

Кто-нибудь самостоятельно писал код для обработки ШИМа РРМ сигнала на контроллере Atmega? Я пытаюсь написать на Atmega128

блин… в одной теме тебе кучу вариантов предложили, а ты еще сюда полез. лезеш в исходники вия, конкретно в RX.ino - там все есть. Единственно тебе придется выдрать из ардуино и переделать для 128-й меги таймер системного времени и процедурку micros. Вперед.

Alexsis1109
mataor:

Единственно тебе придется выдрать из ардуино и переделать для 128-й меги таймер системного времени и процедурку micros. Вперед.

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

mataor

во первых - вопрос не для этой ветки.
во вторых - почему 128-я мега?
по обработке приемника неудобна - мало входов прерываний - всего 8, если использовать приемник с PPMSUM то норм (по одному проводу где), иначе все ноги входов прерываний нужно задействовать.
по таймеру: так и не сказали какой кварц?
настройка таймера по даташиту легко делается:
TCCR0 - установкой битов CS00-CS02 предделитель таймера
TCNT0 - сюда загружаем счетчик сколько считаем, в прерывании записываем значение вновь
TIMSK - устанавливаем бит TOIE0
для примера при кварце 16МГц предделитель 0 (CS00 = 1) TCNT0 = (255-16) будет прерывание 1 раз в 1 мкс, но имхо так делать не стоит - почти половину времени (зависит от внутренности прерывание) процессор будет уделять только таймеру.

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

Alexsis1109
mataor:

для примера при кварце 16МГц предделитель 0 (CS00 = 1) TCNT0 = (255-16) будет прерывание 1 раз в 1 мкс, но имхо так делать не стоит - почти половину времени (зависит от внутренности прерывание) процессор будет уделять только таймеру.

вот и у меня, когда я пытаюсь сделать его быстрее 5мкс, он зависает, видимо не успевает просто сам себя обработать. кварц 14.7456 МГц.

mataor:

Еще раз говорю - смотрите исходники библиотек ардуино.

какие именно библиотеки использовать, не подскажите?

mataor:

во вторых - почему 128-я мега?

в основном, потому, что у нее 8 аппаратных шимов и 2 уарта

mataor

а у меня 22 шима и 7 уартов окромя остальной кучи периферии)))
arduino-1.0.1\hardware\arduino\cores\arduino\ оттуда в данный момент вам нужна wiring.c - копайтесь в ней…
примите за правило - в прерывании МИЗЕР кода.

Alexsis1109
mataor:

а у меня 22 шима и 7 уартов окромя остальной кучи периферии)))

ого, круто, а atXmega у вас какая, 64-ая?

mataor:

примите за правило - в прерывании МИЗЕР кода.

да, это правило я хорошо знаю)

mataor
Alexsis1109:

ого, круто, а atXmega у вас какая?

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

Alexsis1109
mataor:

MultiWii на atxmega (не arduino) лучше уж спрашивай там…

договорились

dROb
mahowik:

пиды тут ни при чем… надо настроить экспоненту газа под свой коптер… сделать это можно либо в аппе, либо в ГУИ вия, НО не там и там!
удобнее так, в аппе отрубаем, а в ГУИ выставляем EXPO=0.25-0.35. Более 0.35 не советую выставлять, т.к. газ совсем дубовый становиться.

  • середину выставляем (в ГУИ это MID). Середина - примерная точка висения. Примерная, т.к. с просадкой батареи она убегает на 50…100 единиц…

Вот видео, которым я сызмальства пользовался для настройки ПИДов 😃 (автор - капитанКУК)

Там примерно на 1:20 - как раз сценарий когда “Hard to control height” (причина - высокий P)

А Кривую тоже обязательно настроим. У этого коптера висение вообще на 25% газа…

Shurikk
dROb:

Вот видео, которым я сызмальства пользовался для настройки ПИДов (автор - капитанКУК)

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

dROb
Shurikk:

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

Не уверен , что досматривал это видео до конца))) Хотя вчера пока писал сообщение - это видео на заднем фоне звучало)) Но видимо я оказался быстр 😃

gorbln
Shurikk:

вы бы предупреждали, что там в конце видео))

Да уж. Чуть личинку не отложил

Beware the chicken!!!

Пчёл=
Raptor_SK:

Твоя плата: 😃

Ставь Arduino Nano ATmega328… И используй последнюю версию ГУИ…
P.S. На прошлой неделе я отдал челу хексу на такой плате… прекрасно летает.
P.P.S. Проверь шнур/разъем USB - у меня на одной такой плате были из за этого проблемы, пропаивал разъем на плате…

Да использую последнюю 2.2, но все то же,кабель менял порты менял , пробовал на другом компе ftdi определяется четко, (а то думал менять его) разъем прозвонил ,пропаял , даж ft232 пропаял на всякий, где то читал что с файлом def тоже что делают, точнее для работы нужны два файла def и config , с eeprom не нужно ничего делать ? удалять данные или чистить ?, с предыдущей платой на 168 меге тоже были заморочки пока данные не удалил ,в этой пока не знаю как и нужно ли это делать.

Raptor_SK
Пчёл=:

в этой пока не знаю как и нужно ли это делать.

File > Examples > EEPROM > eeprom clear… потом жмешь загрузить, как при заливке. Все, память очищена… Можно заливать свежую прошивку.
И скачай последнюю версию Ардуино.
P.S. Открывать прошивку надо через File > open > MultiWii.ino,
дожна открытся куча вкладок, работаешь в основном с конфигом, все остальное игнорируешь, разве что, в output правишь миксы для хексы…

wins

Собрал квадрик и готовлюсь к взлету. Но вот возникла такая проблема. Прошивка 2.1. В ГУИ настраиваю аппу Turnigy9x : 1020-1500-1980 по всем каналам. Все хорошо-значения меняются ±2единицы. Выключаю питание коптера и передатчика. Потом включаю снова - значения в середине по всем каналам 1480, минимум так и остался , максимум упал до 1940. Через минут 5 все значения восстанавливаются как при настройке. Аппа вроде ни при чем- значения АЦП средние и максимальные никуда не ползут.
DEADBAND пробовал и 6 и 10 - не влияет. В чем может быть проблема?