MultiWii

STRIMSS

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

natol
STRIMSS:

сначала поднялся на заданную высоту

Наверное барометр

STRIMSS

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

Art_Nesterov
STRIMSS:

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

А прошивка какая?

BigWheeelS
SovGVD:

Нос может быть виртуальным, не суть, коптеру в любом случае надо понять какие моторы и как крутить, чтобы лететь в нужную сторону

Вы открыли мне глаза. Не дочитав до вашего поста я, впринципе имел такое же мнение как и Saradon.

Получается, что режим MAG в MultiWii это всего лишь режим удержания направления и режим доворота носа на точку следования (для RTH и MISSION), а не режим вкл/выкл компаса.

jeka101

Перерыл 100 страниц темы, но так и не понял как подключать подсветку, может кто объяснить возможно-ли это вообще? ПК MW SE 2.5.

BigWheeelS
jeka101:

Перерыл 100 страниц темы, но так и не понял как подключать подсветку, может кто объяснить возможно-ли это вообще? ПК MW SE 2.5.

Про какую подсветку идёт речь? Про БАНО светодиоды?

Вот как это делал я:

  1. Купил сверхярких светодиодов. Разместил на концах лучей и подключил через транзистор-ключ к соответствующему пину на плате. По умолчанию это пин D12.

  2. Перешёл в раздел LED FLASHER в config.h файле проекта MultiWii. Там сделал следующее:

#define LED_FLASHER
#define LED_FLASHER_DDR DDRB
#define LED_FLASHER_PORT PORTB
#define LED_FLASHER_BIT PORTB4
//#define LED_FLASHER_INVERT
#define LED_FLASHER_SEQUENCE        0b00000000
//#define LED_FLASHER_SEQUENCE_ARMED  0b00000101
#define LED_FLASHER_SEQUENCE_MAX    0b11111111
#define LED_FLASHER_SEQUENCE_LOW    0b00000101

LED_FLASHER - для включения данного кода

LED_FLASHER_SEQUENCE_ARMED - это последовательность мигания для режима ARMED.
LED_FLASHER_SEQUENCE_MAX - последовательность мигания, когда активирован режим LEDMAX.
LED_FLASHER_SEQUENCE_LOW - последовательность мигания, когда активирован режим LEDLOW.
LED_FLASHER_SEQUENCE - последовательность мигания, когда ни один из вышеперечисленных режимов не активирован.

Режимы LEDMAX и LEDLOW появятся в гуи при сборке MultiWii с раскоментированным LED_FLASHER’ом.

Последовательность мигания - это байт, каждый бит которого представляет временной отрезок в 0.125 сек. То есть при последовательности 0b00000101 светодиоды будут делать “двойное проблёскивание”. При 0b11111111 будут постоянно гореть. При 0b11110000 будут зажигаться, гореть полсекунды, гаснуть, ждать полсекунды, зажигаться и т. д.

Если нужно поменять пин, на который вы хотите повестить светодиоды, то нужно отредактировать дефайны: LED_FLASHER_DDR, LED_FLASHER_PORT и LED_FLASHER_BIT.

Для этого, выбираем желаемый пин, например А2.
Если у вас плата на проце Atmega 328, то смотрим сюда: www.arduino.cc/en/Hacking/PinMapping
Если у вас плата на Atmega 2560, то сюда: www.arduino.cc/en/Hacking/PinMapping2560
Ищем там, в нашем случае, analog input 2 и смотрим какое название у этого пина.
Для Atmega328 это будет PC2. Следовательно регистр DDR для этого пина будет DDRC, регистр PORT будет PORTC, и бит этого пина PORTC2.

Делаем в конфиге:

#define LED_FLASHER_DDR DDRC
#define LED_FLASHER_PORT PORTC
#define LED_FLASHER_BIT PORTC2

Всё, идём мигать на улицу 😃

P.S.: Помимо заданных последовательностей эти светодиоды будут ещё мигать в качестве обратной связи на разные события (калибровка завершена и т. п.), как и баззер.

Saradon
BigWheeelS:

Вот как это делал я:

Круто! Надо будет повторить!

jeka101

BigWheeelS
Спасибо, да речь шла про обыкновенные светодиоды/ленты. Транзистор… а какой маркировки он у вас был?

BigWheeelS
jeka101:

BigWheeelS Спасибо, да речь шла про обыкновенные светодиоды/ленты. Транзистор… а какой маркировки он у вас был?

Честно сказать, я не помню. Сейчас он в термоусадке, не посмотреть. Просто посмотрел какие транзисторы у меня есть в моём бардаке, посчитал ток, который будет течь по светодиодным проводам и выбрал нужный.

Alibaba
jeka101:

Транзистор… а какой маркировки он у вас был?

любой с плат от компов(полевик), можно даже кт315г, например. нормально работает до 300ма.

Saradon

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

www.youtube.com/watch?v=hCOLVo1XgfQ

Компас калиброван. Да и в GUI видно, что компас скачет в пределах одного градуса и к такому поведению, вроде как, не располагает.
Следующий косяк - залип режим ANGLE. Все кубики в GUI сняты, а режим горит. Хотелось-бы сделать его отключаемым.
Сколько ни общался с MultiWii - подобных вещей никогда за ним не наблюдал.
Ну и третье - не косяк, а так - как сделать его, скажем так, более плавным? Даже от вибрации мотора элероны уже начинает подколбашивать.
А, вот ещё… Почему, когда при наклоне самолёт пытается сам себя стабилизировать, рули работают не на полный ход, а будто с включенными “двойными расходами” - на 50%, независимо от крутизны отклонения. Ручное управление при этом отрабатывает на все 100%. Так и должно быть?
Заранее спасибо за ответы.

UPD. Ответ получен в другой теме.

уход руддера - это почти “норма”, лечится емнип установкой I для руддера в 0, в этой теме было про это 100%

от вибраций подколбашивает - лучше/правильнее всего устранить вибрации, побалансировать проп с мотором; дальше - виброразвязать сам контроллер

последнее, про рули не на полный ход - имхо это у всех стабилизаторов такое, так что можно считать " должно быть"

jeka101
Alibaba:

любой с плат от компов(полевик), можно даже кт315г, например. нормально работает до 300ма.

Полевик который ЦП питает?
Я тут нашел транзистор C945, подключил, работает вроде. На LED_FLASHER_SEQUENCE_MAX, удивлялся почему LOW не работал а там 00000000 одни то есть выключены.
Опять-же не понятно какой транзистор лучше использовать n-p-n? По крайне мере кт315г вроде такой, схемы связанные со светодиодами тоже. Имеет смысл что-то перед Базой транзистора поставить? Резистор к примеру или не знаю, диод? Ну что-бы защитить ПК…
Я просто в этой области мягко говоря новичок, поэтому не хочу сжечь ПК =)
В моей схеме всего 8 диодов с суммарным током в 0.05а. Диоды уже с резисторами.

Кстати о мат платах, там есть мальки типа n702 или k702, как я понял расшифровка 2N7002…Может подойдет тоже?

Alibaba
jeka101:

Имеет смысл что-то перед Базой транзистора поставить? Резистор к примеру или не знаю, диод?

если не полевик, то обязательно нужно ставить резистор порядка 1ком-4ком, для полевика лучше тоже поставить ом на 100-150. если ток до 100 ма, то ставте кт315 или им подобные. а вообще на комп-платах есть маленькие полевички, я их ставлю. опознаются тестером. я их прозваниваю, а потом проверяю как он открывается. по вольтажу они обычно не меньше 15 вольт.

soliada
Saradon:

Дошли руки поставить Мультивий (AIOP) в самолёт.

Очень много полезной информации про МультиВи на самолете можно найти здесь www.multiwii.com/forum/viewtopic.php?f=7&t=2456&hi…
Там почти в конце есть финальная версия прошивки для самолета.С ней летает замечательно,а при наличии ГПС еще и домой возвращается)))

Saradon

Спасибо. Почитаю, как смогу.
Интересно, как на самолёте выглядит GPS HOLD 😃

soliada
Saradon:

Спасибо. Почитаю, как смогу.
Интересно, как на самолёте выглядит GPS HOLD 😃

Полет по кругу с определенным радиусом.

13 days later
Dikario

Прошу помощи. Хочу перевернуть плату вверх ногами, Что тут надо поменять что-бы правильно летал ?
#if !defined(ACC_ORIENTATION)
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}
#endif
#if !defined(GYRO_ORIENTATION)
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#endif
#if !defined(MAG_ORIENTATION)
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}
#endif

какие датчики менять? компас как я понял по Y,Z, а остальные?

14 days later
mahowik

Всем привет!

Лежит у меня 2 месяца уже почти готовый MahoWii 2.4 релиз, т.е. на базе MultiWii_2.4.
Почти готовый т.к. не доделана инерциалка на удержание позиции. Проводил исследования, общался с самоделкиными. Пока затык, как правильно найти задержку ГПС модуля. Накатал сегодня вопросик к профи тут geektimes.ru/post/269344/
Пару человек с форума уже основательно облетали прошивку. Грубых ошибок нет, а что нашли исправили.
Летает по точкам, взлетает-садится на заданной скорости… Многое чего улучшено из стандартного вия… ну как обычно )))

В атаче мой “покрытый” To Do список для любопытных 😃

Интересно будет Вам? 😃
Спрашиваю т.к. очередной раз страшно садиться за описание 😃

todo.zip

Lexa_Doc

Я так понимаю это прошивка новее rc3? Конечно интересно!