ArduCopter Mega: порт на обычную Arduino (тестим)

SovGVD

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

tusik

Щас попробую. А во это надо?

//#define BARO_TO_SONAR_VALUE 500

Сам себе отвечу - надо

Глеб, чего он ругается?

AP_ADC\old AP_ADC_ADS7844.cpp.o: In function `i2c_init’:
C:\arduino-0022\libraries\AP_ADC/old AP_ADC_ADS7844.cpp:74: multiple definition of `s_filter_index’
AP_ADC\AP_ADC_ADS7844.cpp.o:C:\arduino-0022\libraries\AP_ADC/AP_ADC_ADS7844.cpp:74: first defined here
AP_ADC\old AP_ADC_ADS7844.cpp.o: In function `i2c_init’:
C:\arduino-0022\libraries\AP_ADC/old AP_ADC_ADS7844.cpp:74: multiple definition of `s_filter’
AP_ADC\AP_ADC_ADS7844.cpp.o:C:\arduino-0022\libraries\AP_ADC/AP_ADC_ADS7844.cpp:74: first defined here
c:/arduino-0022/hardware/tools/avr/bin/…/lib/gcc/avr/4.3.2/…/…/…/…/avr/bin/ld.exe: Warning: size of symbol `s_filter’ changed from 12 in AP_ADC\AP_ADC_ADS7844.cpp.o to 8 in AP_ADC\old AP_ADC_ADS7844.cpp.o

Все, разобрался 😃 Глядишь, так и кодить скоро начну😁

SovGVD

лучше не оставлять старые версии кода/файлов и НИКОГДА не использовать пробелы и точки в названиях

tusik
SovGVD:

лучше не оставлять старые версии кода/файлов

Есть нюанс. Подымаю коптер до 130см начинаю медленно опускать вниз, показания через 10 см становятся равными 17см и не меняются. Чтобы начало опять показывать надо резко взмахнуть коптером.

tusik:

BARO_TO_SONAR_VALUE 500

500 - это что за значение?

SovGVD

BARO_TO_SONAR_VALUE актуально для полета - это высота в см (для барометра) при котором в код высоты подмешивается сонар
учитывая “точность” барометра и нашег сонара (до 200см), лучше ставить 300, максимум 400 - иначе прыжки неизбежны, а то и вообще краш об землю с размаха

tusik
SovGVD:

это высота в см (для барометра)

А откуда она берет 0? (я, например, нахожусь на втором этаже 7 м). Или 0 берется при включении?

SovGVD

для барометра ноль считается от места старта

LeonVS

Решил и я попробовать прошивку новомодную 😃 Попробовал залить вылазить ошибко… Что за директорию он найти не может?
ArduCopterMega.cpp:59:39: error: Wire.h: No such file or directory

SovGVD

он не может найти стандартную библиотеку, которая должна быть в arduino ide, т.е. или удалил её или версия старая

tusik
LeonVS:

Что за директорию

В новых библиотеках этой папки нет. Надо брать из стандартной установки.

tusik:

17см и не меняются.

Зависания происходят при снижении, про подъеме или движению в горизонт - все нармально

SovGVD

у меня чистая arduino-0022, я каждый раз её распаковываю и туда заливаю новые библиотеки, не удаляя те что есть

tusik

Чет не пойму как сонар не работает 😦 Глеб, а можно где нибудь увеличить частоту опроса сонара? Над диваном, кстати, не работает. А как будет над травой?

Romb89

Залил в 2.0.40 версию возможность подключения GPS к i2c шине. Работает только с Ublox модулем, который стоит на AllInOne2.

  1. Прописываем в APM_Config.h:
    #define GPS_PROTOCOL GPS_PROTOCOL_UBLOX_I2C
  2. НЕ подключаем gps через tx-rx
  3. Тестим

Последняя версия планера нормально работает с 2.0.40?

SovGVD
Romb89:

Последняя версия планера нормально работает с 2.0.40?

хз… тестить GPS лучше в CLI (test-rawgps и test-gps)

tusik
Romb89:

Последняя версия планера нормально работает с 2.0.40?

У меня 67 нормально работала, обновил до 68 - пару раз зависла.

SovGVD

итак, мои тесты фильра сонара (еще обновил код, чтобы до 2 метров сонар мерил)

имхо более чем адекватно =) щас будет мини обновление (заодно с i2c GPS)

upd: обновил svn
upd2: и zip архивчик тут code.google.com/p/megapirateng/downloads/list

Sir_Alex

Глеб! Вроде бы я нашел, почему у нас глюки с сонаром!
У нас неправильно измеряется время отклика. Таймер начинает считать с момента посылки сигнала на вывод Trig и заканчивает, когда выход Echo перейдет в 0. А надо, начинать считать когда эхо перейдет в 1 и остановится, когда перейдет в 0.
Собственно, отсюда и разница в показаниях разных сонаров (v1, v2). Я не проверял на v1, но думаю так оно и есть. Ведь никто не обещал, когда именно на выводе Echo появится 1.

У кого сонар версии 1, попробуйте пожалуйста с этой либой:
www.audi-bel.com/downloads/ap_adc_ads7844.zip

P.S., Кстати, упростил вычисление высоты… до простого целочисленного деления 😃
P.P.S. Как вы уже догадались, я наконец то прикрутил сонар к коптеру, а так же подключил новый Bluetooth модуль, который позволить использовать внешний GPS приемник.

SovGVD

круто =) я пока не осознаю штуки типа TIMSK5=B00000111 (и даже хз где почитать)
я так понимаю потом можно будет единый код сделать? и получается ли с таким кодом больше 2х метров измерять?

кстатии по ссылке “Добро пожаловать на страницу ошибки 404!”

Sir_Alex
SovGVD:

кстатии по ссылке “Добро пожаловать на страницу ошибки 404!”

😃 Поправил.

Там исходник, без всяких фильтров и различий в версиях сонаров.

SovGVD:

круто =) я пока не осознаю штуки типа TIMSK5=B00000111 (и даже хз где почитать)

Да мне самому, пришлось поднимать даташит на ATMEGA… т.к. я лет 10 назад последний раз, под контроллеры что то писал…

Romb89

Что-то у меня перестал работать компас с последней прошивкой. До этого стояла 38, всё работало. А сейчас он вообще как-то странно себя ведет, крутится по кругу.