ArduCopter Mega: порт на обычную Arduino (тестим)
У меня сейчас мало времени на портирование (Я еще занимаюсь Русификацией электронных книг Kindle), но я почти закончил порт 2.1, осталось только проверить и допилить шероховатости. Я застрял на сборке нового коптера, старый разобрал, а на новый еще не успел установить мозги… Так что, Олег, подожди немного пока я не закончу, а дальше можем вместе что то делать. В старых исходниках не вижу смысла, пусть лежат на старом месте, можно туда сделать ссылку разве что.
Код под MS5611 написан, но не работает (пару человек пробовали), нужен человек понимающий код и с таким датчиком. Я не покупаю отдельно этот датчик, т.к. жду когда доделает новую платку Fabio (FreeIMU) с MS5611 и MPU6050 (тот, что стоит на новом APM 2.0) - у него были трудности с комплектухой, но в ближайшую неделю должны быть готовы. 😃
наставил Serial.println(“point_[N]”); в обработчки прерываний а также в setup() и loop() в итоге картина такова: в обработчики и в loop() не заходит, а setup() вызывается в бесконечном цикле есть идеи?
У тебя неправильно инициализировался Таймер5. В пирате используется еще канал B таймера, а у тебя его нет, но он инициализировался.
Замени код функции setup() на этот:
void setup() {
// initialize the serial port, lets you view the
// distances being pinged if connected to computer
Serial.begin(115200);
// Sonar INIT
//=======================
//D48 (PORTL.1) = sonar input
//D47 (PORTL.2) = sonar Tx (trigger)
//The smaller altitude then lower the cycle time
cli();
PORTH&=B10111111; // H6 -d9 - sonar TX
DDRH |=B01000000;
PORTB&=B11101111; // B4 -d10 - sonar Echo
DDRB &=B11101111;
TCCR5A = 0; //standard mode with overflow at A and OC B and C interrupts
TCCR5B = (1<<CS11); //Prescaler set to 8, resolution of 0.5us
TIMSK5 = B00000011; // ints: overflow, capture, compareA
OCR5A = 65510; // approx 10m limit, 33ms period
PCMSK0 = B00010000; // sonar port B4 - d10 echo
PCICR |= 1; // PCINT activated for PORTB
sei();
}
Кстати, спасибо за скетч, я пока сам ковырял, обнаружил багу с кодом сонара. Иногда происходит переполнение счетчика не успев обработать эхо сигнал от сонара. По уму надо это учитывать и кроме того измерения надо выполнять один раз за 5 переполнений счетчика (по спецификации на сонар, один цикл измерения не должен быть короче 150мс).
спасибо огромное! попробую отпишусь.
по спецификации на сонар, один цикл измерения не должен быть короче 150мс
ну да, по идее так для прохождения звуком 5м, как раз надо примерно 150мс…
а фикс на найденный баг уже есть?
а фикс на найденный баг уже есть?
Я в твоем скетче поправил, а в пирата пока не перенес.
Я в твоем скетче поправил, а в пирата пока не перенес.
проверил… терь все работает! спасибо еще раз!
з.ы. впилил в мультивий… циклтайм в порядке!
осталось alt pid регуль подпилить под него…
goodluckbuy.com/rabbit-flight-controller-for-quard…
Народ про эту плату что скажите?
www.goodluckbuy.com/rabbit-fl...e-free-cf.html Народ про эту плату что скажите?
Вэлкам сюда - rcopen.com/forum/f123/topic260089
А так то офф
Что то я застрял на портировании 2.1.0.
Планер не может подключится к плате, вроде параметры успевает прочитать, а потом все… больше ничего не идет, как будто он теряет коннект. Даже не знаю, где искать ошибку…
Последние исходники лежат в SVN, в папке trunk, Олег, может то же посмотришь? Кстати, специальная версия для BV уже не нужна, последние прошивки отлично работают на BV.
Может это защита от Китайских друзей? Вроде DIYDrones обещали ее сделать…
Кстати, специальная версия для BV уже не нужна, последние прошивки отлично работают на BV.
Это радует 😃 , на выходных потестю.
а работу последних версий на BV с APC220 никто не проверял? т.к у меня на MegaPirateNG_2.0.49_BV_Beta_GPS_OK не работала связь на через APC.
Syberian, можете подсказать что изменить в прошивке что бы заработало E-OSD с вашей прошивкой?
Что то я застрял на портировании 2.1.0.
Чем 2.1 лучше 49? На 2-ке новая плата, датчики, новые баги. Здесь хотя бы с железом на пирате проблемы разгребли…
Сейчас выложу на NG свою сборку 49 под вортекс.
З.Ы. загрузил мултивий, думал, исправились за год. Нифига. Как прыгал на старте, так и прыгает. I в 0, помогло. Все равно стиками ловить приходится. Пират лучше конкретно для моего фрейма.
что бы заработало E-OSD
Его нужно прошить и подпаяться.
Описание здесь
rcopen.com/blogs/39391/12024
промотать до MegaPirate E-OSD
Сейчас выложу на NG свою сборку 49 под вортекс.
Зачем плодить версии под BV? MPNG beta4 - отлично должна работать с BV, если что то и дорабатывать, то в ней. А эти BV eddition надо вообще поудалять.
MPNG beta4
вот именно она и не детектит вортексную жпс. Я пробовал ставить в дефайнах вортекс напрямую - без результата. Пришлось с самолетной свою старую библиотеку пихать. С GPS_OK все нормально. Откатился.
Syberian, можете подсказать что изменить в прошивке что бы заработало E-OSD с вашей прошивкой?
Надо прописать в APM_Config.h:
#define OSD_PROTOCOL OSD_PROTOCOL_SYBERIAN
Там по умолчанию стоит OSD_PROTOCOL_NONE
вот именно она и не детектит вортексную жпс
Разумеется, потому что надо ее выбрать! GPS_PROTOCOL_BLACKVORTEX
Можно вкратце, чем бета4 отличается от BV GPS OK принципиально? Какие фиксы?
Можно вкратце, чем бета4 отличается от BV GPS OK принципиально? Какие фиксы?
Только в том, что я сделал отдельный GPS протокол для BV. В остальном, прошивки идентичны.
Прошивку BV GPS OK сделал Сергей (CSG_EU) до того, как я выложил B4.
C 2.1 оказалось все немного сложнее… зато потом будет проще. Проблема оказалась в том, что в AC начали использовать специальный шедулер, который разруливал обработку датчиков по SPI шине. А компас и барометр работали по старинке, через I2c. Так вот у нас все датчики I2c и происходил конфликт чтения датчиков. Ну короче, я с этим разобрался. Пока отлаживаю на своем железе.
Поздравляю всех с наступающим Новым Годом!
Всем желаю, что бы летало! 😃
P.S. Ых, не успел я чуток с MPNG NY Eddition… На данный момент, я отладил драйвера сонара, барометра, гиры и акселя. осталось переделать драйвер компаса под новый шедулер и версия будет готова.
Поздравляю всех с наступающим Новым Годом!
Всем желаю, что бы летало! 😃
P.S. Ых, не успел я чуток с MPNG NY Eddition… На данный момент, я отладил драйвера сонара, барометра, гиры и акселя. осталось переделать драйвер компаса под новый шедулер и версия будет готова.
А под какую версию Arduini IDE планируется прошивка? Под IDE 1.0 не ожидается?
Под IDE 1.0 не ожидается?
Разницы не будет. Ардуино 1.0 единственно отличается тем, что в ком-порт внедрили класс stream, что эквивалентно fastserialport в мегапирате - оно все равно оверрайдиться будет, так что можно обновляться. Я 49-ю версию на 1.0 компилировал - без изменений (летает так же круто) 😉
Всех с NY 😃
Разницы не будет. Ардуино 1.0 единственно отличается тем, что в ком-порт внедрили класс stream, что эквивалентно fastserialport в мегапирате - оно все равно оверрайдиться будет, так что можно обновляться. Я 49-ю версию на 1.0 компилировал - без изменений (летает так же круто) 😉
Всех с NY 😃
Странно, я пробовал 49-ю в IDE 1.0 так замучился ошибки исправлять для компиляции. Вместо WProgram.h заменять на Arduino.h, плюс к этому теперь методы write(), print(), println() возвращают size_t вместо void и т.д.
Подцепил к трикоптеру bvHUD. ФПВшить по комнате не решился 😃
Писалось на HDR1000D, кач-во SP (хвастаюсь)
Потеря линка вначале происходит всегда при первой активации моторов: NG калибрует гиру и основной цикл отключен.
Подцепил к трикоптеру bvHUD. ФПВшить по комнате не решился 😃
Писалось на HDR1000D, кач-во SP (хвастаюсь)
Добрый день! Я новичек, извиняюсь если вопрос покажутся глупыми, а какую камеру и какой передатчик используете?
bvHUD - это что, просто обычный HUD (OSD) или что-то определенное? (Гугл ничего ясного не показал)
P.S. Еще один вопрос вдогонку, возможно ли просто использование ArduinoMega с отдельными датчиками, вместо Black Vortex controller? А то сразу выложить 10000 возможности нет, хотелось бы все датчики набирать постепенно.
Есть ли у кого-нибудь опыт использования датчиков “RU-IMU-9+1 v1.0” ?
С Уважением, Евгений!