ArduCopter Mega: порт на обычную Arduino (тестим)
Сократил super_fast_loop до 960 мкс, задал ему частоту 1 кГц. Гира тоже на 1кГц.
Только ДУС ITG3200. Видно, что система распознает быстрый поворот (крутил, как только позволяла скорость руки). Ближе к концу ролика совершал плавные круговые движения. Медленное уплывание горизонта - естественное явление для ДУС + интегратор.
www.youtube.com/watch?v=YiD1gTeZbiI
MegaPirateNG 1kHz ITG3200, 250Hz BMA180 (accel_weight = 3*constrain(1 - 2 * fabs(1 - accel_magnitude), 0, 1); // upped to (<0.66G = 0.0, 1G = 1.0 , >1.33G = 0.0))
www.youtube.com/watch?v=s4V7dDGB5yU
Далеко не факт, может оказаться и 5 и 6 и 7мс, скажем в момент, когда выполняется медленный код на 50Гц.
Значит, нельзя брать константу 4000мкс из Ch6, это значение никогда не меняется! Я сейчас везде использую время интегрирования G_Dt = (float)(timer - fast_loopTimer) / 1000000.f;
------
Кстати, в прошивке для BV используются мс millis(), а у нас - мкс micros():
if ((timer - fast_loopTimer) >= 4) //BV
{
G_Dt = (float)(timer - fast_loopTimer) / 1000.f;
Добрый день всем!
Поскольку у нас сегодня Новый Год, который Рош Ашана, то и с Новым Годом!
Закончил установку на монстрика все приблуды, и теперь имеем на борту 2 Ардуины Меги, GPS, АРС220, Allinon, видеокамеру 650 строк, БАНО из светодиодных лент RGB, сонар. Теперь осталось все это заставить работать. Вес получился приличный с батареей 5000 маЧас 45С, но все тяжелое разместил намного ниже центра тяжести пепелаца. Надеюсь, что устойчивости добавится. У кого нить есть светлые мысли насчет разделения кода по двум Мегам? Хочу перенести на вторую управление БАНО, сонары (в проекте еще 3 сонара для бокового обзора. Чтоб не таранить припятствия), FPV и прочее. Связь между Ардуинами темный лес для меня, поэтому просьба к продвинутым программерам подсказать, в какую сторону копать.
вязь между Ардуинами темный лес для меня, поэтому просьба к продвинутым программерам подсказать, в какую сторону копать.
Для связи можно задействовать Serial (TX,RX) или SPI интерфейс… правда я так понимаю, он занят под i2c шину и датчики.
А мегу ставить не крутовато для этого? Может проще какую нить Nano?
Ставлю, что есть. С запасом. Есть еще Дуемиланове, но там не хватает портов под БАНО. Планирую использовать эту платку для прошивки G-OSD. Вроде, если правильно понял, стоит разделить медленные и быстрые процессы между Ардуинами. SPI это самый скоростной интерфейс?
Хочу перенести на вторую
Хочу сделать быстродействующее IMU на мелкой Ардуинке 328. А по шине гнать готовые значения гиры, акселя, компаса, барометра в DCM.
Планирую приспособить лэптоп под наземную станциюю. Есть распоторошеный передатчик на 6 команд. 2.4 Гигагерц с сателлитом. Если организовать кодирование команд на лэптопе и передавать кодированный сигнал с модуля от передатчика, то можно, в принципе, получить нужное количество каналов. Есть пара джойстиков, довольно продвинутых, с сателлита получать сумму и декодировать во второй Ардуине.
Хочу сделать быстродействующее IMU на мелкой Ардуинке 328. А по шине гнать готовые значения гиры, акселя, компаса, барометра в DCM.
А если развести плату с датчиками и 328 процессором отдельно?
А если развести плату с датчиками и 328 процессором отдельно?
Стоит денег. А Фридуинка 328 мини и датчики уже есть, только соединить. Тем более, сейчас BMP085 хочу\планирую\мечтаю заменить на MS5611, а itg3200 на 3 штуки ADXRS620. Если сделать плату, то уже не выпаять-впаять новые. Конечно, она будет легче, чем бутерброды из отдельных датчиков.
Кстати, как цеплять аналоговые датчики к Ардуинке? У нее АЦП 10 бит, всего 1024 значения. Значит, по 512 единиц влево-вправо. Внешний АЦП городить… эх… У ITG3200 16 битный АЦП внутри…
Я планирую своего монстрика нашпиговать под завязку всем, что есть под рукой сейчас. Погонять на привязи, отрегулировать аппаратуру управления, подогнать параметры. Потом на природе то же самое. В процессе устаканится, что нужно, а что нет. Когда начнет летать это чудо, собираюсь развести платы с мозгами в программе и заказать парочку для пробы. У нас с этим проблем нет, только мелкие партии дороговато получаются. Есть одна местная конторка на примете, у них маленький аппаратик есть, платы травят для всоих проектов. Примитивная штука, нельзя многослойные делать, но для мозгов и двухсторонней за глаза. Хотел себе такую бандуру прикупить, не дорогая и места занимает, как посудомоечная машина. Передумал. Проще договорится, чтобы сделали на заказ. Расходные материалы для этой штуковины дороже обходятся, чем сама машина. А у изготовителей в Китае заказывать, тоже самое, с учетом пересылки.
А если развести плату с датчиками и 328 процессором отдельно?
Вуаля www.ebay.com/itm/…/260782395748 😃
150 баксов? Не дорого, но хочется развести свой. Чипы россыпью можно заказать через знакомую контору. Копейки получается. Я им делал дизайн корпуса их прибора с деталировкой. На Солиде, так, что не откажут в мелкой услуге. Это у них машинка для мелкосерийного изготовления плат. Можно несколько вариантов под назные чипы изготовить. Там ребята не работают с Атмеловскими чипами. Пики в ходу. И хочется развести такую плату под Мегу. Хочу проверить, можно ли использовать видеокамеру для бездрейфового висения над точкой.
150 баксов? Не дорого, но хочется развести свой. Чипы россыпью можно заказать через знакомую контору. Копейки получается. Я им делал дизайн корпуса их прибора с деталировкой. На Солиде, так, что не откажут в мелкой услуге. Это у них машинка для мелкосерийного изготовления плат. Можно несколько вариантов под назные чипы изготовить. Там ребята не работают с Атмеловскими чипами. Пики в ходу. И хочется развести такую плату под Мегу. Хочу проверить, можно ли использовать видеокамеру для бездрейфового висения над точкой.
Не проще ли тогда уже подождать Arduino Due (Которая на ARM будет)? А по камере сделать стабилизацию наверное не получится, на AVR так точно. (Наработки которые есть у ArduCopter’ов, работают на базе датчика из мышки)
Продолжаю с Planer 1.0.76. В GUI 1 - STABILIZE, 6 - ALT_HOLD. При переключении в терминале меняется STABILIZE и SIMPLE.
Хочу обратить внимание сообщества.
Может я невнятно выразился, но у меня непонятно какой режим устанавливается на переключатель. Это только у меня так? Это можно посмотреть в консоли и в графическом интерфейсе. У меня в графическом интерфейсе при переключении тумблера STABILIZE меняется на ALT_HOLD, а в консоли STABILIZE меняется на SIMPLE.
Так на какой режим я переключусь?!
Не проще ли тогда уже подождать Arduino Due (Которая на ARM будет)? А по камере сделать стабилизацию наверное не получится, на AVR так точно. (Наработки которые есть у ArduCopter’ов, работают на базе датчика из мышки)
Есть у меня такой датчик от вертолетной системы стабилизации. Не впечатляет. Работает на 3 метрах не больше. Хочется привязаться к рисунку рельефа на больших высотах. мышкины датчики для этого не подходят. Проверено.
Кстати, прикидываю платформу на базе 2 роторов от вертолета 450 класса. Получается довольно приличная конструкция. В Солиде пока. Что то вроде треугольника из хвостовых балок Ти-Рекса 450 со стабилизирующими винтами вместо 3го мотора тикоптера. Тяги сдвоенной силовой установки хватит для подъема 4 килограммов, по прикидкам.
А сколько ждать эту Дуе? И подойдет ли к ARM нынешний код?
Хочется привязаться к рисунку рельефа
Это-ж еще и оптику городить предется.
И подойдет ли к ARM нынешний код?
Судя по коду, его как раз сейчас и готовят под портирование 😃
Хочется привязаться к рисунку рельефа на больших высотах. мышкины датчики для этого не подходят. Проверено.
Думаю мощности AVR просто не хватит, для анализа перемещения по камере.
Хочется привязаться к рисунку рельефа на больших высотах.
это уже совсем другой уровень -> надо x86 (или хороший ARM, типа terga2/r) пихать и Linux+openCV/ROS (как у MIT/vislab/DARPA Chellenge/etc)
одно дело узнать на сколько сдвинулись по датчику мышки (он уже отдает вектор, если память не изменяет), а другое анализ изображения с полноценной камеры
Arduino Due (которая на ARM будет) Судя по коду, его как раз сейчас и готовят под портирование
Понятно, что Си-образный код просто скопировать можно, а ассемблер (i2c, сонар)?
Это-ж еще и оптику городить предется.
Зачем? Обычный объектив от ФПВ камеры. Даже ТVOut библиотека Ардуины поддерживает работу с объектами на экране, если судить по ролику в инете. Захватывается характерный рисунок рельефа местности и удерживается моторами в центре экрана. Конечно над водой и неконтрастными участками работать не будет.
Понятно, что Си-образный код просто скопировать можно, а ассемблер (i2c, сонар)?
Ассемблер естественно портировать придется.
судить по ролику в инете.
а можно пруф? видел как контрастная буковка А выводится - рельеф местности будет набором случайных точек и будет похож больше на шум, который при скорости работы avr даже не отследить толком (имхо)
а можно пруф? видел как контрастная буковка А выводится - рельеф местности будет набором случайных точек и будет похож больше на шум, который при скорости работы avr даже не отследить толком (имхо)
Можно, если скажете, что такое пруф!
С высоты не будет набором случайных точек. Характерные границы застройки-береговая линия-поля-пустыри. Но это все благие пожелания. Наверное проще повысить точность по ЖПС .