CRIUS ALL IN ONE PRO Flight Controller
сделать свой вариант pilot lamp
Вот к этому всё и идёт, просто надеялся, что кто-нибудь уже сделал. ))
Вот к этому всё и идёт, просто надеялся, что кто-нибудь уже сделал. ))
если я правильно понял, то вот
/******************************** LED FLASHER ***********************************/
//#define LED_FLASHER
//#define LED_FLASHER_DDR DDRB
//#define LED_FLASHER_PORT PORTB
//#define LED_FLASHER_BIT PORTB4
//#define LED_FLASHER_INVERT
//#define LED_FLASHER_SEQUENCE 0b00000000 // leds OFF
//#define LED_FLASHER_SEQUENCE_ARMED 0b00000101 // create double flashes
//#define LED_FLASHER_SEQUENCE_MAX 0b11111111 // full illumination
//#define LED_FLASHER_SEQUENCE_LOW 0b00000000 // no illumination
можно сделать по тумблерку (AUX-x), можно при арме, при дисарме, все по разному мигает, для себя делал блым-блым-пауза, вроде так, видео есть если надо)
цеплял 12V LED полоски (4 штуки по 3 светодиода), смыкал это дело транзистором, вешал на D12 если не путаю
в новой версии мультивии они просот вместо bin (что я думаю нагляднее) сделали вот так
#define LED_FLASHER_SEQUENCE_ARMED ( (uint8_t) (1<<0 | 1<<2) )
Прошу помощи у сообщества с миним осд, айоп и рсси.
Пытаюсь заставить миним осд показать мне рсси с приемника.
Рсси контакт подключен к А5 АЙОПа, а коде в "Apm_config.h " добавил строчку #define RECEIVER_RSSI_PIN 5, также добавил эту строчку в config.h в разделе плата- пират. Я уже готов её запихать куда угодно. Была она у меня попеременно и там и там, никакой разницы.
Датчик тока/напряжения подключены к пинам А1/А2. А0 вроде как по умолчанию отдан датчику скорости, не будем масло масленное делать, пусть висит себе А0 в одиночестве. Необходимые правки сделал в config.h, всё ок, всё работает.
Перешивал саму осд с прошивками 2.0 и 2.2extra, и 2.3extra (залита сегодня, 11 часов назад вроде как 😃 )
Ко всему прочему полыхнул чип ОСД, пипец. Он тупо перегрелся! И это в1 не греющаяся с хоббика. Во время работы она нереально горячая. Чип генерации осд “филипс” (вроде) горячий хуже утуга, пальцем не коснуться. Вот он молча и умер. Но это фигня, есть ещё 1 осд.
Миним показывает всегда РССИ 1%. Не важно что я делаю, я вижу 1%. Даже когда я ставлю галочку @display RAW data@, я вижу 1% а не значение от 1 до 255…
Господа, что я делаю не так?
если я правильно понял, то вот
Спасибо, сделаю пока так.
Миним показывает всегда РССИ 1%
а rssi случайно не pwm? как к примеру в D8R-XP…
тогда нужно RC фильтр прилепить для преобразования в аналог…
а rssi случайно не pwm? как к примеру в D8R-XP…
тогда нужно RC фильтр прилепить для преобразования в аналог…
Нет, приемник V8FR-HV(discontinued) У него нет рсси. На просторах форума нарыл давно уже как через оперативный усилок сделать рсси (с зелёной лампочки статуса), точнее УБП(уровень битых пакетов). Там вольтики просто. Есть сигнал- 3в, нет сигнала меньше 1в. А Айопу разве не это надо? На осд ремзиби это работало. Там помоему принцип тот же. Или айопу совсем другое надо?
Да и дело скорее всего в АЙОПе, я не знаю как заставить его гнать сигнал на осд. Те чтрочки, что я добавлял, они взяты с официального сайта миним, для оригинального арду. Может в порте это не работает, или работает не так.
Вот единственная страничка, где я что-то нашел как включить рсси code.google.com/p/arducam-osd/wiki/Cfg_RSSI
Занялся и я своими платами ALL In One v1.0 по случаю купленными на НК. Идея такая - собираюсь использовать программу от Ардукоптера. Взял библиотеки для барометра и гиро-акселя от Ардупирата чуток подправив и в результате барометр читается с непериодическими сбоями сбоями. Можно было бы выковырять кусочек кода для I2C из МультиВия, но тогда сильно много правки а не хотелось бы. Судя по всему I2C на Ардуино имеет какие то ньюансы, учитывая обилие библиотек и работает не очень. Обработку приемника выковыряю с МультиВия. Но это попозже, когда с I2C разберусь. Может кто-нибудь разбирался с I2C и может чего то посоветовать?
Для записи лога может попробую SD карточку использовать или внешнюю память прилеплю.
Попутно решил попробовать Глонас с GPS. Плата сделана в прошлом году но руки не доходили. Библиотека нашлась сразу и тестовая программка работает, так что осталось выставить в окошко и потестировать, но как то погода не способствует. Из окна дома прием не очень(по опыту), а на свежий воздух с ноутбуком гулять не тянет.
В выходные продолжил возится с барометром. В результате заменил библиотеку на I2С. Нашел другую более продвинутую. Дописал пару строчек контроля и пришлось снизить частоту чтения до 50 Гц. Все в сумме как то помогло. Осталась непонятна инициализация. Как то нестабильно инициализируется. А так как то уже задышало. Так что буду потихоньку отлизывать.
Игорь, а смысл сейчас городить что то совсем свое? Что пират что вий стали вполне стабильными платформами… проще дописать что то под себя и не гулять по старым граблям…
Игорь, а смысл сейчас городить что то совсем свое? Что пират что вий стали вполне стабильными платформами… проще дописать что то под себя и не гулять по старым граблям…
Так и не гуляем. Программа отработана. Просто переношу с платформы на платформу. Работающее на АРМ1 точно так же работает на АРМ2 и будет работать на ALLINONE. Мне просто надоело в свое время тестировать чужие решения. Если появляется что то новое тут же дорисовываю себе. МультиВия платка на Атмеге 328 у меня на той же программе летала и получше, чем МУльтиВий. (Ну так мне показалось.)
О том что это хорошие платформы я писал очень давно и больше двух лет ими эпизодически занимаюсь.
По точкам у меня АРМ1 летала 2 года тому и автопосадка была.
В связи с существующей ситуацией, когда никому ничего не надо и беспилотники в том числе, развлекаемся когда делать совсем нечего. И с погодой не везет. Снегом всех засыпало и посылочки застряли.
Принципиально то что сервиса в программе нет, но зато датчики читаются чаще (почти в два раза) и обрабатываются.
Платки ALLINONE купил по дешевке для других целей (вместо процессора). А сейчас освободились и поставлю на коптер.
Далее если будет время и желание возьму телефон на Андроиде и будем использовать вместо пульта. Тот же Дрон с Айфоном, но подальше и с автопилотом. Пока что UMI X1не сильно вдохновил. Не нравятся его датчики.
есть ли возможность реализовать на этой этой плате автопосадку? Например, если не будет сигнала с пульта. Если есть, то какие дополнительные компоненты нужны? Хватит ли самой платы с её датчиками?
есть ли возможность реализовать на этой этой плате автопосадку? Например, если не будет сигнала с пульта. Если есть, то какие дополнительные компоненты нужны? Хватит ли самой платы с её датчиками?
Я не вижу проблемм. Можно садиться по барометру, а лучше прицепить сонар. Если взять с Ардукоптера типа МВ1240 - прицепить совсем легко на АЦП. Но он дорогой. Я использовал такой алгоритм- снижаемся со скоростью 10-20 см/сек, на высоте 20-30 см сбрасываем газ и блокируем моторы . Основная проблема в том, что при ветре садиться нужно достаточно быстро в момент когда горизонтальная скорость близка к нулю. Иначе переворачивается. С дешевым сонаром нужно данными сонара откалибровать барометр с фильтрацией, поскольку сонар сбоит. Чисто по барометру проблематично, так как за 5-10 мин нуль может на метр уйти. Сесть то сядет, но при ветре будут проблемы, поскольку при такой погрешности быстро снижаться не получиться.
есть ли возможность реализовать на этой этой плате автопосадку? Например, если не будет сигнала с пульта. Если есть, то какие дополнительные компоненты нужны? Хватит ли самой платы с её датчиками?
Вот тут посмотрите , здесь чувак реализовал ету функцию. Перечитайте тему по ссылке, там есть ответ.
Например, если не будет сигнала с пульта.
Зависит от Вашего приёмника. Например со стоковым комплектом Turnigy 9x, можно. Я имею ввиду просто уменьшить обороты и через определённое время выключить двигатели.
есть ли возможность реализовать на этой этой плате автопосадку? Например, если не будет сигнала с пульта. Если есть, то какие дополнительные компоненты нужны? Хватит ли самой платы с её датчиками?
Подобное пробовал на MahoWii RC2 c использованием приемника, поддерживающего FS. Например FrSky.
У меня стоковый комплект Turnigy 9x. Имеется плата. Нет GPS, нет сонара. Хочу реализовать простейшую автопосадку, чтобы показать её на конференции. Переключил тумблер на пульте и коптер пошел на посадку. Хочется как-то так, ну или просто отключил пульт и коптер также пошел на посадку.
Можно ли это назвать полноценной посадкой, не знаю. В конфиге Вы можете разрешить работу функции FAILSAFE и указать времена и и обороты двигателя.
//#define FAILSAFE // uncomment to activate the failsafe function
#define FAILSAFE_DELAY 10 // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example
#define FAILSAFE_OFF_DELAY 200 // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example
#define FAILSAFE_THROTTLE (MINTHROTTLE + 200)
После пропадания сигнала от передатчика, через установленное Вами время обороты снизятся до установленных в конфигурации и ещё через время моторы выключатся, но поскольку высота не контролируется , то и полноценной автопасадкой назвать наверно нельзя.
чтобы показать её на конференции
Хотя для этой цели может и сойдёт, только нужно показывать атопасадку с заранее опредёлённой высоты. Например рекомендуют устанавливать обороты двигателей, для FAILSAFE чтоб коптер снижался примерно метр в секунду. Поднимаете коптер на 3 метра выключаете передатчик и если вконфиге поставить время 3-4 секунду он приземлится и выключит двигатели. ))
Конечно строго вниз он наверно не полетет, нужно иметь запас площади.
Можно ли это назвать полноценной посадкой, не знаю. В конфиге Вы можете разрешить работу функции FAILSAFE и указать времена и и обороты двигателя.
А если к вычислению значения газа для FAILSAFE использовать значание батареи ? Например отнимать . При полной батарее значение одно при просершей другое. Так ка сейчас сделано получается коптер на полной батарее снижается плавно , а на подсевшей гораздо быстре. Например так #define FAILSAVE_THROTTLE (MINTHROTTLE + 200 - vbat*2 )
Может и можно так делать, но я не пробовал и у меня пока не подключен контроль аккумулятора. Мне кажется было бы интересно задействовать сонар для автопасадки.
Вопрос возник, что делать если усб разьем отвалился ?
Можно через SPI и USBAsp заливать ?
А если к вычислению значения газа для FAILSAFE использовать значание батареи ? Например отнимать . При полной батарее значение одно при просершей другое. Так ка сейчас сделано получается коптер на полной батарее снижается плавно , а на подсевшей гораздо быстре. Например так #define FAILSAVE_THROTTLE (MINTHROTTLE + 200 - vbat*2 )
это все пальцем по воде… норм. автопосадка должна идти через расчетную вертикальную скорость, тогда не будет зависимости от конфига… у меня сейчас так и настроен FS через память каналов frsky приемника… при срабатывании FS, приемник врубает алтьхолд + заданое положение стика на снижение с вертикальной скоростью -60см/с… a для дешевых приемников (без памяти по кананам) городить было лень…
Вопрос возник, что делать если усб разьем отвалился ? Можно через SPI и USBAsp заливать ?
через SPI всегда можно!
- если есть обычный usb-uart переходник, то просто на rx0/tx0 можно подвесить и при заливке, в момент когда arduino IDE показал размер прошивки нажать reset… не всегда прокатывает, но обычно ок… я так прошивку и в мобидрон и в миним осд заливал…