MultiWii

gena_g

Делаю свой комплект MultiWii для ФПВ . Датчики L3G4200D, LSM303DLHC, BMP085. Для компаса использую код от HMC5883, нормально работает . Вторая плата это mobiDroneOSD подключается к основной плате снизу , получается бутерброд. OSD еще не прошивал . Пробовал вечером подлетнуть в комнате вроде все работает нормально и даже барометр держит ± 50 см. и компас удерживает направление.
Схема вся питается от 3.3 в. Разведены все выводы процесора и даже больше (adc6, adc7)
У меня возникла проблема с GPS I2C . Не хочет ни в какую работать . Скорость с GPS соответствует программе (115200) , данные с gps идут, пробовал подавать на вход процесора данные с com порта из эмулятора тоже не работает . В GUI идут ошибки I2C и даные gps по нулям. Без gps ошибок нет .

Меня смутила разница
I2C_GPS_ADDRESS 0x40 (в программе MultiWii)
I2C_ADDRESS 0x20 (в программе i2c-gps-nav)
Прбовал менял , но все равно не работает . Может длина провода влияет , примерно 20 см.
У кого адекватно работает i2c gps подскажите.
Платы прилагаю в lay5

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

www.youtube.com/watch?v=l2uDfZ7hgO0&feature=player…

multiwii.zip

Alexey_1811
gena_g:

Делаю свой комплект MultiWii для ФПВ

Респект!!!

mahowik

от Глеба: нашел в чем косяк с трешкой, оказывается просто теперь можно через LCD или терминал править значение отклонения сервы, но по умолчанию там бред
www.multiwii.com/forum/viewtopic.php?f=8&t=1463&p=…

может кому то пригодится (хотя простой тупой хак с изменением переменной работает нормально)

soliada
gena_g:

У меня возникла проблема с GPS I2C . Не хочет ни в какую работать

Присоединяюсь,у меня тоже не работает.
Мне кажется,что либо что-то не правильно в прошивке,либо нужен какой-то особый ЖПС модуль.Возможно что что-то не так в самой схеме.
Длина проводов,смена адресов, скорости передачи данных,смена местами ТХ-RX тоже похоже ни на что не влияет.
Модуль 100% рабочий т.к спокойно соединяется с компьютером и общается через свою программулину.
Кстати у моего модуля уже предусмотрен I2C интерфейс,через него тоже ничего не работает.
Вообщем после нескольких дней возни бросил сие занятие.
Если у Вас что-то получится,буду,и наверное не только я, очень признателен за рассказ о том,как Вы победили этот I2C ЖПС.

Dimm168pin
gena_g:

Делаю свой комплект MultiWii для ФПВ . Датчики L3G4200D, LSM303DLHC, BMP085. Для компаса использую код от HMC5883, нормально работает . Вторая плата это mobiDroneOSD подключается к основной плате снизу , получается бутерброд. OSD еще не прошивал . Пробовал вечером подлетнуть в комнате вроде все работает нормально и даже барометр держит ± 50 см. и компас удерживает направление.
Схема вся питается от 3.3 в. Разведены все выводы процесора и даже больше (adc6, adc7)
У меня возникла проблема с GPS I2C . Не хочет ни в какую работать . Скорость с GPS соответствует программе (115200) , данные с gps идут, пробовал подавать на вход процесора данные с com порта из эмулятора тоже не работает . В GUI идут ошибки I2C и даные gps по нулям. Без gps ошибок нет .

Меня смутила разница
I2C_GPS_ADDRESS 0x40 (в программе MultiWii)
I2C_ADDRESS 0x20 (в программе i2c-gps-nav)
Прбовал менял , но все равно не работает . Может длина провода влияет , примерно 20 см.
У кого адекватно работает i2c gps подскажите.
Платы прилагаю в lay5

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

только вчера заказал LSM330DLC и lsm303dlhc напоиграться) пригодится ваше , спасибо) взял мегу 32u4 , но с ней шансов на удачу меньше всего)

gena_g

Заработал i2c_gps . Надо заменить библиотеки twi.h и twi.с в папке arduino-1.0/libraries/Wire/utility . В код добавлен перевод мотдуля gps mtk на 115200 и обновление 10 герц . Светодиод на d13 показывает статус gps.

gps_i2c.zip

Alexey_1811

Народ!!! Никто не использовал бародатчики BMP180? По даташиту обещают разрешении в 17см.

Dimm168pin
Alexey_1811:

Народ!!! Никто не использовал бародатчики BMP180? По даташиту обещают разрешении в 17см.

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

UPD, хы www.ebay.com/itm/…/270942488994 6 баксов)

upd. купил) подождем

dmgluk

После еще пачки опытов, диагноз повторяется. MobiDrone osd при записи параметров в multiwii портит их. Читает при этом нормально. Дает по редактировать. Сталкивался ли кто-нибудь? Если нет, посоветуйте куда копать код? Ясно, что в кусок пишущий эти данные, но как бы понять, что происходит? Есть ли в конфигурации контрольная сумма?

soliada
gena_g:

Заработал i2c_gps . Надо заменить библиотеки twi.h и twi.с в папке arduino-1.0/libraries/Wire/utility

Спасибо.Самое интересное я это знал,даже сделал 2 ИДЕшника,один для МультиВия,другой для ЖПС.Об этом даже несколько раз писал-предупреждал Глеб Девяткин…Но тупо прошивал в ИДЕшнике без изменений позабыв про то,что без подмены библиотеки работать не будет.

gena_g
dmgluk:

После еще пачки опытов, диагноз повторяется. MobiDrone osd при записи параметров в multiwii портит их. Читает при этом нормально. Дает по редактировать. Сталкивался ли кто-нибудь? Если нет, посоветуйте куда копать код? Ясно, что в кусок пишущий эти данные, но как бы понять, что происходит? Есть ли в конфигурации контрольная сумма?

Проверил . У меня ОСД нормально менят параметры . Может дело в прошивке multiwii. Тестировал с такой прошивкой на multiwii. В последней версии multiwii поменяли протокол обмена.

mahowik
gena_g:

Заработал i2c_gps . Надо заменить библиотеки twi.h и twi.с в папке arduino-1.0/libraries/Wire/utility . В код добавлен перевод мотдуля gps mtk на 115200 и обновление 10 герц . Светодиод на d13 показывает статус gps.

soliada:

Спасибо.Самое интересное я это знал,даже сделал 2 ИДЕшника,один для МультиВия,другой для ЖПС.Об этом даже несколько раз писал-предупреждал Глеб Девяткин…Но тупо прошивал в ИДЕшнике без изменений позабыв про то,что без подмены библиотеки работать не будет.

ко мне едет MTK3339
для поддержки i2c нужен дополнительный борд или достаточно перепрошить? если да то киньте пожалуйста ссылку как…
также кто имел дело, процедура обновления прошивки для MTK3329 и MTK3339 одинакова? предполагаю что разницы оссобо не будет…
и какова частота данных на выходе по NMEA? теже 10гц? т.е. если так и есть свободный сериал порт то можно и не шить по идее…

dmgluk
gena_g:

Проверил . У меня ОСД нормально менят параметры . Может дело в прошивке multiwii. Тестировал с такой прошивкой на multiwii. В последней версии multiwii поменяли протокол обмена.

Прошивка у меня та-же. Буду копать дальше…

soliada
mahowik:

для поддержки i2c нужен дополнительный борд или достаточно перепрошить? если да то киньте пожалуйста ссылку как…

По идее нужна еще одна Ардуина с 328АТмегой.
То что надо в нее залить и заменить в библиотеке Wire здесь- code.google.com/p/i2c-gps-nav/source/browse/#svn%2…
Модуль к ардуине подключается по UART,а Ардуина+ЖПС к МультиВию по I2C.
Но суть в том,что для Вашего модуля нужен еще и переходной борд со стабилизатором на 3.3в и желательно и LLC,в случае питания Ардуины и МультиВи от 5в.
По настройке самого модуля мне помогла эта статья hobby.msdatabase.ru/…/ardupilot-gps,модули немного разные,но думаю суть одна,найти нужный софт,и если возможно ,то настроить необходимые параметры.
Да,для сохранения разного рода настроек в ЖПС в схеме понадобится еще и ионистр.

mahowik
soliada:

Но суть в том,что для Вашего модуля нужен еще и переходной борд со стабилизатором на 3.3в и желательно и LLC,в случае питания Ардуины и МультиВи от 5в.

3.3в стаб. есть на ардуине (mega1280) + Алексей вот тут писал про mt3329, что можно и без LLC по даташиту…

Dimm168pin
HATUUL:

Помогло.

так подробности опишите) ,а то я смотрю тут что не случай то какой-то танец с бубном )глядишь кому еще пригодится опыт )

mahowik:

3.3в стаб. есть на ардуине (mega1280) + Алексей вот тут писал про mt3329, что можно и без LLC по даташиту…

если леньки паять мелкий pca9306 то вот

все как в спаркфановском LLC на bss138 , только на односторонней плате с 0 резисторами перемычками
llc.zip
делается ЛУТом за пол часа, ввиду отсутствия у местных торгашей 9306 похоже тоже придется временно на такую схему перейти т.к хочу собрать еще пару мозгов, для коптеров и летающего крыла)

UPD , или вот так сразу

www.sparkfun.com/products/10403

gena_g
mahowik:

3.3в стаб. есть на ардуине (mega1280) + Алексей вот тут писал про mt3329, что можно и без LLC по даташиту…

Можно питать от 5 в , только tx и rx подать через резисторы 1 к

EduardNN

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

gena_g
EduardNN:

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

Найдите строку

} else if ( (rcData[YAW] > MAXCHECK || rcData[ROLL] > MAXCHECK) && rcData[PITCH] < MAXCHECK && armed == 0 && calibratingG == 0 && calibratedACC == 1) {

и замените её этой

} else if ( rcData[YAW] > MAXCHECK && rcData[PITCH] < MAXCHECK && armed == 0 && calibratingG == 0 && calibratedACC == 1) {

mahowik
Dimm168pin:

делается ЛУТом за пол часа

это если есть текстолит, лазерник, химреактивы для травления и мелкодрель с мелкосверлами и т.д… кроче “каша из топора” 😃
хотя до смены места дислокации почти все это было, а тут еще не совсем обжился пока ))
я вот недавно оптикал-флоУ-сенсор ваял, так пришлось паять на базе платки от мышки с другим сенсором, царапать дорожки + навесной монтаж лепить… благо что там кондеры по 0.1мкф были, а то пришлось бы заказывать и ждать… хотя вот на будущее заказал себе набор 20PCS Double-Side Prototype PCB, Universal Board. 5x7 4x6 3x7 2x8CM

gena_g:

Можно питать от 5 в , только tx и rx подать через резисторы 1 к

по идее только ТХ ардуины надо через делитель к RX GPS, т.е. чеб урезать треть уровня от 5-ти к 3.3, а в обратную сторону делитель не нужен…
o вспомнил вот! я так iPhone как терминал/serial monitor подрубал…

www.multiwii.com/forum/viewtopic.php?f=8&t=392&p=1…