MultiWii

Rover

Вопрос, пожалуй, к Александру (mahowik). Подключил дисплей OLED I2C 128x64. Если его монтировать не горизонтально, а под углом, то получается, что разъем вверху. Соответственно, жгут подходит сверху. Это неудобно и не эстетично. Вопрос: можно ли перевернуть картинку на дисплее на 180 градусов?

mahowik
kostya-tin:

вот не могу я побороть работу Ublox NEO6 v2, на мультивие. вроди как и скорость нужная, а вот частотой загвоздки. вчера на поле выходил, сам GPS, я так понимаю, фикс словил, т.к начал своим диодом мигать где то раз в секунду, но мультивий данных никаких не видил

посмотрите комменты к рс3 + рс2… все уже обсуждено… там “народные” модули запустились у всех…

Ublox NEO6 в частности, на сколько помню, если по ublox протоколу не запускается совсем (со спец. дефайнами NEW_SP_END_UBLOX, также для nmea - NEW_SP_END_MTK), можно по nmea протоколу подрубить… для этого соот-но модуль нужно перевести утилитой (с компа) в nmea…

WETErok:

Для себя делал такую заметку год назад для убунты.

это вы описали процесс сборки гуи под линуксом 😉

а спрашивали вроде как просто гуевину запустить… для этого ничего не надо ставить… просто распаковать MultiWii_2_3.zip\MultiWiiConf\application.linux32 (64бит версия почему то не стартовала у меня)… установить в настройках MultiWiiConf\application.linux32\MultiWiiConf файла как executable… ну и запустить…

Rover:

Подключил дисплей OLED I2C 128x64. Если его монтировать не горизонтально, а под углом, то получается, что разъем вверху. Соответственно, жгут подходит сверху. Это неудобно и не эстетично. Вопрос: можно ли перевернуть картинку на дисплее на 180 градусов?

как говорят сделать можно все, вопрос какой кровью 😃
смотрите LCD.ino… это весь дривер переколшматить придется… одна таблица символов чего стоит… хотя ясное дело можно автоматизировать…
проще конструкцию напильником перепилить будет 😃

sergibus:

возможно реализовать схему полета Y4, вот только чтобы нос коптера был сдвоенные моторы, то есть, чтобы летал не как Y, а наоборот?

вий поддерживает кастомные миксы… т.е. можно любую конфигурацию моторов задать

/***********************      your individual mixing     ***********************/
    /* if you want to override an existing entry in the mixing table, you may want to avoid esditing the
     * mixTable() function for every version again and again.
     * howto: 
     */
    //#define MY_PRIVATE_MIXING "filename.h"

вот к примеру для гексы миксы мне не нравились rcopen.com/forum/f123/topic258132/1454

Upd: принцип довольно простой: умножаем плечо на косинус угла относительно roll/pitch и подбираем так что бы суммарная сила по roll/pitch примерно была равна… даже если и не равной получится, то пидами можно вытянуть потом…

Rover
mahowik:

это весь дривер переколшматить придется…

Эх, беда… я-то надеялся программной процедурой развернуть матрицу пикселей перед выгрузкой в дисплей…

mahowik
Rover:

я-то надеялся программной процедурой развернуть матрицу пикселей перед выгрузкой в дисплей…

возможно вы правы! посмотрите драйвер!
я не подумал что задачу можно с конца решить 😃

AlexeyStn

Проблема такая:
Контроллер AIOP v2 с RCtimer, прошивка MultiWii 2.3.
В прошивке установлены параметры:
MINTHROTTLE 1150
MAXTHROTTLE 1850
MINCOMMAND 1100
MINCHECK 1170
MAXCHECK 1830 (такие значения, потому что расходы на простейшей аппе не настраиваются)

По команде с пульта контроллер армится - загораются светодиоды и в конфигураторе строка ARM выделется зелёным.
Однако моторы не крутятся и в конфигураторе на всех моторах показывается 1000.
В чём может быть дело?

mataor
Rover:

Эх, беда… я-то надеялся программной процедурой развернуть матрицу пикселей перед выгрузкой в дисплей…

скорее всего так и можно будет сделать - нужно смотреть даташит на дисплей, возможно будет нужная команда, которую необходимо вставить в ф-ю инициализации

Razer007

Народ, подскажите плиз.
Есть коптер не симметричной конструкции как на картинке. видно что момент по roll больше чем по pich. в результате при настройке пидов level (аксели) у меня получается задать хорошие параметры для roll стабилизации, но тогда не стабилизирует по тангажу в горизонт. а если поднимать пиды то перерегулирование на ролле получается. реально ли победить такую конструкцию?

flygreen
AlexeyStn:

По команде с пульта контроллер армится - загораются светодиоды и в конфигураторе строка ARM выделется зелёным.
Однако моторы не крутятся и в конфигураторе на всех моторах показывается 1000.
В чём может быть дело?

Обычно помогает калибровка гиры через мультивий конфиг. Ну и как советовал товарищ обнуление ЕЕПРОМ.

________________________________

ВОПРОС уважаемым пользователям мультивия. Где и что, нужно подправить в коде что-бы корректно летать с лучами не под 90 град (квадр) ? У меня рама от гексы - пользую как квадр. Вроде все летает - но есть мысль что может еще лучше.

mahowik
Razer007:

Есть коптер не симметричной конструкции

flygreen:

У меня рама от гексы - пользую как квадр.

Парни, ну нельзяЖ так! Ну прям на этой странице и всего пару сообщений выше писал!

С наступающим всех кстати! 😃

Tigra74
Rover:

Вопрос: можно ли перевернуть картинку на дисплее на 180 градусов?

В LCD.ino:
1.Сверху вниз:

Расскомментировать-закомментировать:

// i2c_OLED_send_cmd(0xa0); //colum address 0 mapped to SEG0 (POR)*** wires at bottom
i2c_OLED_send_cmd(0xa1); //colum address 127 mapped to SEG0 (POR) ** wires at top of board

2.Слева-направо(зеркало -или вдруг зеркально станет перевёрнутое)-и тут надо тоже,

Расскомментировать-закомментировать:

// i2c_OLED_send_cmd(0xC0); // Scan from Right to Left (POR) *** wires at bottom
i2c_OLED_send_cmd(0xC8); // Scan from Left to Right ** wires at top

3.“Чёрные буквы на белом экране” (но код send_cmd(0xa6)встречается в нескольких местах-поэтому может и там менять надо 0xa6 на 0xa7)
и контраст

i2c_OLED_send_cmd(0xa6); // Set WHITE chars on BLACK backround
// i2c_OLED_send_cmd(0xa7); // Set BLACK chars on WHITE backround
i2c_OLED_send_cmd(0x81); // Setup CONTRAST CONTROL, following byte is the contrast Value

4.Размер шрифта в config.h

//#define DISPLAY_FONT_DSIZE //currently only aplicable for OLED_I2C_128x64

  1. А если (как пишут на РЦТамере-If the OLED Mdodule display abnormal when MultiWii FC started, please try to off/on power of FC again in 15~20 seconds)
    -типа клацните питание,если дисплей глючит),
    то паяем кондёр(0.1 мк) и резистор(10 кОм) на цепь сброса дисплея,как на рисунке.
    (один вывод отсоединён от платы).

И файл OLED_Test_Code.ino ниже-там подробней про коды упоминается.

flygreen

Други, готовлюсь к приему вкусных помидорофф ))) Как сделать что-бы мультивий заводился на холоде ? Прям беда, из тачки вытаскиваешь - работает. Заглушишь, постоит пару минут, остнет - не армится не в какую ( .

Наверняка обсуждали этот трабл, ткните плизз.

ЗЫ Все заткнул поролоном. Посмотрю чего получится.

klimianok
flygreen:

Други, готовлюсь к приему вкусных помидорофф ))) Как сделать что-бы мультивий заводился на холоде ? Прям беда, из тачки вытаскиваешь - работает. Заглушишь, постоит пару минут, остнет - не армится не в какую ( .

Наверняка обсуждали этот трабл, ткните плизз.

ЗЫ Все заткнул поролоном. Посмотрю чего получится.

Поставить арм на любой переключатель, а не армиться со стиков?

omegapraim

попробуй расходы на аппе по руддеру увеличить видать на морозе у тебя плывет сигнал.

flygreen

АРМ на переключатель ставить не охота, черевато…Буду пробовать с расходами. Есть мнение что это гирик мерзнет на плате.

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

roll = cos(60)*4/5 + cos(60)*4/5 + 4/5 = 1.6
pitch = cos(30)*9/10 + cos(30)*9/10 ~= 1.56

что за косинус 30 и 60 град я вроде понял а, вот что за 4/5 и 9/10 ? Длинна лучей ?

Вот для такого варианта не черканете пример ? Буду благодарен очень ) Потом по аналогии думаю соображу )))

По умолчанию в мультивии вот такое написано

#ifdef QUADX
motor[0] = PIDMIX(-1,+1,-1); //REAR_R
motor[1] = PIDMIX(-1,-1,+1); //FRONT_R
motor[2] = PIDMIX(+1,+1,+1); //REAR_L
motor[3] = PIDMIX(+1,-1,-1); //FRONT_L

😃

flygreen

Была мысль скопировать просто из гексы лучи в квадр, но понял что не подойдет…

omegapraim

Дядь ты чет заморачиваешься ты какую раму то хочешь Х или |=| или >=< определись. Какие нафиг синусы косинусы и прочая ерунда нучи под 45 градусов и все вот те квадратрастягивать раму можно только вдоль оси Х тоесть делать ее длинее а ширина никогда не должна привышать длинну рамы. Я имею ввиду по кончикам лучей. С гириком у тебя тоже скорее всего все впорядке у тебя как я уже говорил либо значения приемника плывут, либо ты имеешь непрошитые плюшки и они на морозе не стартуют (был такой баг).

flygreen

У меня рама ДЖай 550 . Оставил только четыре луча, вроде все летает но не нравится что потряхивает и на спусках потряхивание немного усиливается .Вот я и замарачиваюсь. Щас найду рисунок и покажу как оно в реале выглядит. Получается квадр в ширь ширше, чем в длину )

Shuricus

Чет ты Дим написал, тоже, запредельное!
Многие ФПВ рамы микриков имеют расположение моторов большее в ширину, чем в длину.
Вот что я имею ввиду:

Перед - сверху.

О-О
О-О

О—О
О—О

Соответственно угол между передними моторами 109 градусов, а боковыми 72. (Через центр рамы)
Собственно, точно как у Григория ситуация.
Вопрос как поправить миксы?

flygreen

Вот и я про то-же ) Думаю миксы если подкоректировать будет гуд. Такое расположение лучей мне нравится тем, что не мешает камере на подвесе . Подвес болтается с низу.