Jump to content
GO63

5DOF инерционник со смещениями.

Recommended Posts

Народ приветствую.А какой лучше датчик использовать для 3 осей,а то Gy-85 c гирокомпасом на алике что то не могу найти?

Share this post


Link to post
Share on other sites
10 часов назад, =BW=777 сказал:

Спасибо большое

Share this post


Link to post
Share on other sites

Ребята посоветуйте продавца Arduino Nano v3.0 на алике

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

Добрый день!

Попросили помочь с трекером 3DOF. Есть такой набор: Arduino nano + GY-85 вот с такой интересной маркировкой: MW-579

нашел инфу вот на этом сайте: https://www.arduitronics.com/product/561/gy-85-imu-9dof-itg3205-adxl345-hmc5883l

пишут что там HMC5883L

Пытаюсь прошить  Razor AHRS 5DOF  с подходящими вариантами сенсоров. 

Отказывается работать. 

В мониторе порта постоянно гонит данные в странной кодировке:

image.thumb.png.c838ea7d8d82b87046ee1b9c788b091f.png

Ни на какие команды не реагирует, после сброса резет-ом опять начинает гнать данные. 
В калибраторе, при подключении  в режиме opentrack - все замечательно, но сильный дрейф по оси x

При попытке калибровать магнитометр - забивает файл NULL-ами

гироскоп и акселератор -в программе калибруется, вроде, но выдает данные пополам с нуллами. 

На моей ардуине датчик работает так же как и мой GY-85

перепробовал разные версии Arduino.

Кто сможет помочь и проконсультировать? Уже 3-й день мучаюсь

Спасибо!

Share this post


Link to post
Share on other sites
Цитата

При попытке калибровать магнитометр - забивает файл NULL-ами

- Это баг версии [20190111]. Нужно прошить крайнюю версию [20191019].

 

Цитата

Ни на какие команды не реагирует, после сброса резет-ом опять начинает гнать данные. 
В калибраторе, при подключении  в режиме opentrack - все замечательно, но сильный дрейф по оси x

- В мониторе порта скорость 115200. А в Menu.h скорее всего 57600. Поэтому не реагирует на команды.

 

Если есть сомнения в чипах датчика, лучше начать с проверки в I2C_scanner.

 

Share this post


Link to post
Share on other sites
30 минут назад, GO63 сказал:

В мониторе порта скорость 115200. А в Menu.h скорее всего 57600. Поэтому не реагирует на команды.

Скорости одинаковы. Я это четко понимал, это уже не первый собранный трекер. В I2С сканере  через раз определяется датчик, НО! подключенный к другой ардуине он работает как часы. Минут 20 вертел его уже на готовой прошитой ардуине- все работает без проблем ( ну понятно, калибровать надо)

UPD. Минут пять уже висит uploading версии [20191019]. скорости 115200 выставлены в Connect.ini,  в скетче

С old bootloader сразу дало ошибку. Переключился на Atmega328p

пока писал итог:

image.thumb.png.15caf3a7a01266b4c70dc0edf5f5dcb6.png

ошибка с oldbootloader:

image.thumb.png.72f71eab2903fc349f3906ddc52938be.png

Share this post


Link to post
Share on other sites

Итог всей моей эпопеи:

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

Огромное спасибо GO63 за помощь и участие!

Edited by Skot_Lesnoy
  • Like 2

Share this post


Link to post
Share on other sites

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

 

А вот летаю на Microsoft Flight Simulator 2020.. ( до всех остальных просто "нет времени")) 

 

Замечено, что "иногда не коннектится". Или просто вылетает сама игрушка.. Помогает ( в 50% случаях ) кнопочка ресет  - вынесенная на дужку наушников. Но это не вопрос к авторам - скорее дело где-то ещё...

Датчик -  GY-9250 (MPU9250 = MPU6500 + AK8963) ( который "вариант 8"  в описании проекта) + обычная китайская Ардуино-про-микро.. Всё пока что просто на проводках, на USB. Отлично работает, калибруется, было куча экспериментов.  Вот заметил ( или субьективный взгляд ) - по поводу эффекта пружины... Если когда калибруешь магнитометр и вращаешь его везде-по-всякому - эффект один... А вот если в процессе этапа калибровки - вращаешь головой только в пределах своего телика-экрана Монитора..Записали данные, бла-бла.. 

 

 - получается так - если ты бросаешь взгляд на приборную доску - ( а она недалеко, рядом) - всё отлично - фокусируется и ничего не уезжает. А если чуть дальше - в левое/правое окошко - то "оно возвращается"... То есть этот эффект проявляется  при сильных поворотах головы.  И это очень понравилось... На приборку глянул - "ничего не плывёт"... А в окошко глянул - вернулось... Ну вот так мне показалось...

Но... Вопрос не про это... Заранее извиняюсь, что "может я не в теме", но хотелось бы голову приблизить к монитору ( как жираф ) и соответственно выполнилось бы "увеличение экрана". Голову сдвинуть вправо - и соответственно изображение на мониторе "двигается именно вправо"... И в другие стороны - то есть "по горизонтальным смещениям"...   

А пока приходится крутить головой и вместе с этим поворачивать колёсики на джойстике - которым назначено увеличить/уменьшить взгляд, сдвинуть горизонтально по оси Х, сдвинуть вертикально по оси Y.

 

А в настройках есть же пункты X Y Z...
 

Спасибо всем кто ответит или перешлёт ( может быть в другое "более понятное место" )

 

 

Share this post


Link to post
Share on other sites

Кстати, вот про коннект\неконнект - на промикро часто было такое. что запускаешь - осьминожка мертвая. Переткнул в юсб - запуск - оживает. Сейчас собрал на nano, стартует всегда. 

20.10.2020 в 21:39, dess сказал:

Но... Вопрос не про это... Заранее извиняюсь, что "может я не в теме", но хотелось бы голову приблизить к монитору ( как жираф ) и соответственно выполнилось бы "увеличение экрана". Голову сдвинуть вправо - и соответственно изображение на мониторе "двигается именно вправо"... И в другие стороны - то есть "по горизонтальным смещениям"... 

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

  • Thanks 1

Share this post


Link to post
Share on other sites

Уважаемый GO63 - где в скетче указаны пины SDA, SCL? Хочу использовать ESP-01, вместо GPIO4 / GPIO5 надо подключить GPIO0 / GPIO2.

ESP8266 ESP-01............................ GPIO0/D5   GPIO2/D3
NodeMCU 1.0, WeMos D1 Mini................ GPIO4/D2   GPIO5/D1

Edited by Arachna

Share this post


Link to post
Share on other sites

В папке Sensors есть файл __I2C.cpp. В нем есть функция:

    void I2C_Init()
    {
        #ifdef ESP8266
//        Wire.begin(PIN_SDA,PIN_SCL);
            Wire.begin(4, 5);
        #else
            Wire.begin();
        #endif
    }

 

В строке Wire.begin(4, 5); нужно заменить 4 и 5 на свои контакты, скорее всего 0 и 1, но это проверить нужно.

На ESP-01 может интересно и очень компактно получиться. Только прошивать придётся через переходник USB-UART.

Удачи!
 

Share this post


Link to post
Share on other sites

   Board                                                               SDA             SCL
   ESP8266 ESP-01....................................... GPIO0/D5   GPIO2/D3
   NodeMCU 1.0, WeMos D1 Mini................ GPIO4/D2   GPIO5/D1

 

В строке Wire.begin(4, 5); нужно заменить 4 и 5 на свои контакты: 0 и 2.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Прошил ESP-01. Ответ на COM порту вижу.

Не прописывается SSID, Pass, Port, хотя Razor_WiFi_Config говорит - всё ок.

Буду мучить дальше.

Share this post


Link to post
Share on other sites

Как определили, что не прописываются SSID, Pass, Port?

Проверьте в Мониторе порта: 

https://sites.google.com/site/diyheadtracking/home/diy-razor-ahrs-5dof-20190111/proverka-raboty-trekera-v-monitore-porta

Должно быть примерно так:

...
UseWiFi         1
   (EEprom) SSID: TPlinkLAN
   (EEprom) Port: 5550
...

Ещё в ESP01 нет входа АЦП и нужно проверить куда подключен светодиод. Нужно отключить контроль батареи, вибромотор, и проверить контакт светодиода в ESP8266.h:

    #define BATTERY_CONTROL    0  // отключить контроль батареи
//    #define LEDpin         2
    #define LEDpin         D7    <-- проверить
        #define UseVibro       0            // отключить вибро

Не пересекаются ли эти контакты с контактами I2C ? Или UART?

 

Share this post


Link to post
Share on other sites

Если верить этой схеме, то светодиод подключен к GPIO2. Как его совсем исключить из скетча?

ESP8266-ESP-01map.jpg

Edited by Arachna

Share this post


Link to post
Share on other sites

Можно просто назначить LEDpin на не используемый вывод. Например, #define LEDpin D7 (GPIO13 ?).

Совсем отключить СД можно, если в файле Voltage.cpp переписать две функции void LED(byte On), строки 42-58.

 

Share this post


Link to post
Share on other sites
12 минут назад, GO63 сказал:

Например, #define LEDpin D7 (GPIO13 ?).

Пробовал. Arduino пишет - не поддерживается (про все неподключенные пины).

Да и бог с ней. Похоже, одну спалил.

Есть еще ESP-07 и адаптер на пружинных контактах. Попробую на ней.

Все выводы есть. И еще компактней будет.

Share this post


Link to post
Share on other sites
20.10.2020 в 21:39, dess сказал:

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

 

А вот летаю на Microsoft Flight Simulator 2020.. ( до всех остальных просто "нет времени")) 

 

Замечено, что "иногда не коннектится". Или просто вылетает сама игрушка.. Помогает ( в 50% случаях ) кнопочка ресет  - вынесенная на дужку наушников. Но это не вопрос к авторам - скорее дело где-то ещё...

Датчик -  GY-9250 (MPU9250 = MPU6500 + AK8963) ( который "вариант 8"  в описании проекта) + обычная китайская Ардуино-про-микро.. Всё пока что просто на проводках, на USB. Отлично работает, калибруется, было куча экспериментов.  Вот заметил ( или субьективный взгляд ) - по поводу эффекта пружины... Если когда калибруешь магнитометр и вращаешь его везде-по-всякому - эффект один... А вот если в процессе этапа калибровки - вращаешь головой только в пределах своего телика-экрана Монитора..Записали данные, бла-бла.. 

 

 - получается так - если ты бросаешь взгляд на приборную доску - ( а она недалеко, рядом) - всё отлично - фокусируется и ничего не уезжает. А если чуть дальше - в левое/правое окошко - то "оно возвращается"... То есть этот эффект проявляется  при сильных поворотах головы.  И это очень понравилось... На приборку глянул - "ничего не плывёт"... А в окошко глянул - вернулось... Ну вот так мне показалось...

Но... Вопрос не про это... Заранее извиняюсь, что "может я не в теме", но хотелось бы голову приблизить к монитору ( как жираф ) и соответственно выполнилось бы "увеличение экрана". Голову сдвинуть вправо - и соответственно изображение на мониторе "двигается именно вправо"... И в другие стороны - то есть "по горизонтальным смещениям"...   

А пока приходится крутить головой и вместе с этим поворачивать колёсики на джойстике - которым назначено увеличить/уменьшить взгляд, сдвинуть горизонтально по оси Х, сдвинуть вертикально по оси Y.

 

А в настройках есть же пункты X Y Z...
 

Спасибо всем кто ответит или перешлёт ( может быть в другое "более понятное место" )

 

 

Для этого нужен второй датчик к вашему, на шею. 

С похожим вопросом я к вам сюда заглянул, тоже новичок с этими ардуино, ну не суть важно, в общем собрал все заработало с первого раза, теперь вот захотелось расширить функционал, нужно, чтобы теперь он вперёд и назад у меня заработал, и возник вопрос для шеи датчик обязательно должен быть другой?

У меня GY-91, и собственно сам вопрос, GY91+GY91(которого еще нет) будут работать в паре, если нет то...

Второй, в скетче нет связки GY91+GY271(GY273) или GY91+GY-521, и это означат, что мне надо отказаться от G91 и заказывать GY-521+GY271?

 

Заранее благодарен за ответ, спасибо. 

 

Ответ нашелся в видео от Leonid_0071 в данном топике.

Edited by RuPossessed
Ответ найден.

Share this post


Link to post
Share on other sites

Подарили наушники,у них металлический ободок .На инерционник будет влиять?Его же на маковке надо разместить.

Share this post


Link to post
Share on other sites

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

 

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

 

Наушники нельзя хранить, надев на компьютерную колонку, чтобы не намагнитился каркас. Также нельзя позволять дочке украшать наушники неодимовыми магнитами для апгрейда джойстика ;)  Если всё-же каркас намагнитился, то поможет повторная калибровка магнитометра.

 

Удачи!

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...