ArduCopter Mega: порт на обычную Arduino (тестим)
Пробовал грузить, но не особо помогает. Там еще один интересный момент: на свежих батареях колбасит, а подсядут - и он успокаивается. Кстати, здесь где-то мысль промелькнула, что Y6 стабильнее, чем X6 - я так не считаю, кроме того, он еще и жрет больше. Вообще, Руссокоптер мне нравится, кстати, было изготовлено пять аппаратов в разных конфигурациях, барометр там очень неплохо работает. Жаль, что проект погас что-то последнее время. Что привлекает в Мегапирате - это возможность использования GPS и открытый код в плане гибкости использования сенсоров и т.п.
Мегапират еще хуже будет летать, к сожалению.
Вы считаете, что код Руссокоптера более оптимален? Или более гибкий в настройках? Или просто мегапират глючит?
Я считаю что руссокоптер более плавно летает, там все сделано с умом, мегапират и ардукоптер летают хуже (но по гпс, а гибкость в выборе датчиков только ухудшает плавность полета). А перекомпенсация это вообще не о мозгах, если загруз коптера не помогает, значит надо играть с длинной лучей, размером пропеллеров.
Тов. Пираты
Я раскопал настройку, которая сильно увеличила стабильность моей трешки с последним зазубренным винтом 😃
В библиотеках открыть AP_ADC/AP_ADC_ADS7844.cpp
Найти строку ( №125 )
i2c_write(0x18+4); // Internal Sample Rate 1kHz, 1…6: 1=200hz, 2-100,3-50,4-20,5-10,6-5
Заменить на
i2c_write(0x18+2); // Internal Sample Rate 1kHz, 1…6: 1=200hz, 2-100,3-50,4-20,5-10,6-5
Больше никаких настроек менять не надо.
Проверьте кто-нить пжл?
Подходит для любой версии мегапирата от В8 до 49. Проверялось на 49 BV beta GPS OK
Как-то чуть не год назад попробовал полетать на квадрике morpheusa с какой-то нашей переделкой “немца” в режиме гир. Я хорошо запомнил эту плавность в управлении. Теперь, похоже, нашел ее и тут.
попробовал полетать на квадрике morpheusa
Так morpheus вроде и есть на aircam.ru (ака Руссокоптер)
Morpheus
Активный участник
34 лет
Омск
Дата рождения: Июнь-10-1977
Так morpheus вроде и есть
Здесь он тоже есть.
Значит, это действительно был рускоп.
Юрий, если надумаете стать пиратом, для самолетов на то же железо тоже порт есть. По точкам уже полетали с автовзлетом и RTH.
===
Видно, не судьба мне от мультироторов скрыться 😁
Придется продолжать прерванную линию мегапирата, начиная с 49 версии.
Придется продолжать прерванную линию мегапирата, начиная с 49 версии.
велкам бек ту мегапайратнг =) кинь мыло на gmail.com - добавлю в code.google.com/p/megapirateng/
там все сделано с умом, мегапират и ардукоптер летают хуже
хотелось бы не голые слова по личным ощущения, а какие то доказательства, например одна и та же рама с моторами, один и тот же пилот, но разные мозги - тогда буде что сравнивать, а то обычно выходит что сравниваем собрал_из_того_что_было против купил_всё_супер_пупер - и тут как бы сразу понятно кто летает лучше, а кто хуже
велкам бек
оу оу оу… а как перетащить свой репозиторий с ардупиратов? Там 90% всех обновлений за год - мои 😦 Хотелось бы историю сохранить.
а как перетащить свой репозиторий с ардупиратов?
слить себе на копм, поудалять .svn и залить в новый репозиторий наверное, но лучше у гуру SVNна спросить =)
Так morpheus вроде и есть на aircam.ru (ака Руссокоптер)
Morpheus
Активный участник
34 лет
Омск
Дата рождения: Июнь-10-1977
Я тут тоже есть.
Syberian : Была версия 3.5
одна и та же рама с моторами, один и тот же пилот, но разные мозги
Так и было. На Руссокоптере взлететь не смог. На мегапирате с тем же железом летал.
велкам бек ту мегапайратнг
Я че, зря нового ардукоптера заказал? 😃
Я че, зря
типа будет чем сравнить 😉
Я вот, например, только рад, что у меня алинонов и вортексов кучка: и на самолет, и на трикоптер есть что поставить… А там еще бензинка на подходе.
у меня алинонов и вортексов кучка
у меня адруинок и датчиков по отдельности… мозгов на 4 квадрика, моторов и регулей на 3 =)
Ну вот видите, как все славненько, главное во время подзадорить😁
Так что, allinone с MS5611 заказывать? Лучше он, чем BMP085?😃
Считается, что лучше, но лично я не проверял. У меня все БМПшки, так что буду мучать то, что имею.
allinone с MS5611 заказывать? Лучше он, чем BMP085?
я бы с MS заказал - датчик в 10 раз точнее (в теории), да и новые арду мозги с этим датчиком
да и новые арду мозги с этим датчиком
только уточняй, что это уже не пиратские а “оригинал” 😉 или я не о том подумал?
я не о том подумал?
о том =) да именно в оригинале, но раз код есть (не смотрел - занят работой), то можно от туда перетырить, да и Sir Alex вроде писал код под этот датчик
Найти строку ( №125 ) i2c_write(0x18+4); // Internal Sample Rate 1kHz, 1…6: 1=200hz, 2-100,3-50,4-20,5-10,6-5 Заменить на i2c_write(0x18+2); // Internal Sample Rate 1kHz, 1…6: 1=200hz, 2-100,3-50,4-20,5-10,6-5
ето с 20hz на 98hz?
можно попробовать по идее смело и на 188hz врубить т.к. гиро оссобо не боится вибрации
i2c_write(0x18+1);
как раз имеет смысл если время цикла не более 5-6мс
у тебя не прописан инит PCINT - прерывания по входу ECHO
PCMSK0 = B00010000; // sonar port B4 - d10 echo
PCICR |= 1; // PCINT activated for PORTB
наставил Serial.println(“point_[N]”); в обработчки прерываний а также в setup() и loop()
в итоге картина такова: в обработчики и в loop() не заходит, а setup() вызывается в бесконечном цикле
есть идеи?
У меня сейчас мало времени на портирование (Я еще занимаюсь Русификацией электронных книг 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мс).