MultiWii

serenya
Ratverg:

вот на этом buzzer pin у меня напруга не менялась что я ни делал.

Может аукс был раскомментирован?

Ratverg:

тестером меряю - какая-то ерунда. Либо 1.8V либо 0,3 - 0,6 - и не меняется…

Ну так Вы повесьте хотя бы светодиод что-бы видеть наглядно а не тестером.

Ratverg:

Может чего-то ещё надо сделать?

Может везде где есть определение buzzer pin поменять надо? Там далее по коду еще есть где можно поменять.

ADF
Art_Nesterov:

А вы собственноручно настраивали файлсейв? (раскомментировали соответствующие строки в ко…

Вы меня за дебила держите? Естественно речь идет о ситуации, когда фэйлсэйв активирован и настроен…

Ratverg
serenya:

Ну так Вы повесьте хотя бы светодиод что-бы видеть наглядно а не тестером.

светодиод не загорается вообще.

serenya:

Может везде где есть определение buzzer pin поменять надо? Там далее по коду еще есть где можно поменять.

попробовал - тоже не получилось.
Блин,да что ж не так

Art_Nesterov
Ratverg:

попробовал - тоже не получилось.
Блин,да что ж не так

Может ошибаюсь, но светодиод, так же как и буззер-пищалку нужно через ключик подключать… иначе вы перегружаете выход Меги

Ratverg
Art_Nesterov:

так же как и буззер-пищалку нужно через ключик подключать… иначе вы перегружаете выход Меги

ну у меня походу дела просто не включается почему-то выход…

serenya

Может в конфиге включить A32U4ALLPINS?
this moves the Buzzer pin from TXO to D8 for use with ppm sum or spectrum sat. RX (not needed if A32U4ALLPINS is active) */

Или здесь поковыряться
override default pin assignments

Аа на стандартном d8 работает?

Ratverg
serenya:

Аа на стандартном d8 работает?

дак а на нановие разве есть D8?

Ratverg

Спасибо! всё в итоге заработало, я, балбес не раскоментировал #define D8BUZZER а только #define BUZZER

Нашёл от Маховика такое сообщение, а куда этот код ставить?
Он должен “эмулировать” писк - как аз то что мне нужно!

mahowik:

#if defined(BUZZER)
static int8_t buzzerCount = 0;
if((buzzerCount % 2) && (buzzerCount > 0)) {
BUZZERPIN_ON;
} else {
BUZZERPIN_OFF;
}
buzzerCount++;
#endif

ADF
Ratverg:

а куда этот код ставить?

Объявление переменной куда-то в шапку или функцию инициализации засунуть, остальной код - в основной цикл, который вызывается с частотой несколько сотен герц, более точно не скажу, так как еще не во всем оригинальном коде разобрался.

И еще: судя по всему, где-то должно быть место в коде, которое постоянно делает buzzerCount = 0 пока пищалка должна быть выключена.

serenya
Ratverg:

дак а на нановие разве есть D8?

Аукс как раз на d8 висит. Код который Вы нашли предназначен для пищалок без встроенного генератора.

DmS
mahowik:

аксель не причем и калибруется один раз ровно в горизонт + иногда вишными тримами (шаг 0.2 град.) с пульта можно подкорректировать…

mahowik:

при подаче питания нужно несколько сек. не дергать коптер, т.к. идет калибровка гирррр. и если гиры не в нуле после калибровки, то интегратор в ИМУ в момент начнет копить ошибку с частотой примерно 300гц, что и выползет завалом горизонта. аксель конечно тут помогает, т.к. по нему идет корректировка, но это не спасет от завала горизонта т.к. в итоге в комплиментарном фильтре будет найден баланс между накоплением ошибки и корректировкой…

Ну а проще врубить дефайн GYROCALIBRATIONFAILSAFE и забыть

Когда участвовал в конкурсе Крока, пришлось дрейф по yaw несколько другим способом, выводил на отладку значение att.heading (которое находил по своей формуле), и по времени засекал дреф на 5 градусов (у меня минута получалась),
затем врубал счетчик и автоматом корректировал каждую 1/5 минуту на один градус, в общем замечательно получилось.

Сама процедура калибровки гироскопов в положении покоя на MW весьма сомнительная, так как значения за 512 циклов суммируются, а потом делятся на 512:
gyroZero[axis]=(g[axis]+256)>>9; (+256 добавлено в версии 2.3)

а так как калибровочное значение - целое (int16_t gyroZero[3] = {0,0,0}😉,
то получаем, что если гир за 512 циклов уплыл на значение меньшее 256, то корректировка =0,
в этом случае нужно переходить на float

  • Вообще писать на ардурино - очень грустное дело, отладки полноценной нет (JTAG), уходит много времени, чтобы понять в чем ошибся,
    думаю перейти на опенпилот, пробовал кнонибудь писать под эту платформу ?
Ratverg
serenya:

Код который Вы нашли предназначен для пищалок без встроенного генератора.

да да! у меня просто основная идея - это подать сигнал с мультивия на микрофонный вход видеопередатчика FPV сетапа. И таким образом мониторить напряжение 😃 (во всяком случае, протянуть до доставки OSD)
Попробовал вставить код в разные места - нихрена не вышло. Пишет ошибки при компиляции.

Ratverg

Реализовал то что хотел сделать, результатом доволен, но надо ещё допилить немного будет =)
Спасибо serenya 😃 переназначил успешно на выход D11 на нановиее.
Купил микродинамик со встроенным генератором на 5V.

Разобрал его(схема странная немного, два транзистора и два резистора, даже конденсатора нет, не понял как генерирует и от чего частота зависит) и через кондёр подал сигнал от одной лапки катушки динамика на микрофонный вход видеопередатчика.
Теперь когда падает напруга у меня пищит и динамик на моделе и динамик на пульте FPV 😃 В принципе, может и вообще не буду тогда OSD вешать на свой микросетап, довольно удобно вышло.

Недостаток - у этого динамика частота зависит как-то от хрен знает чего. У меня выходит что если дырочку заклеиваешь на динамике, скотчем (чтобы дома не глушил) частота понижается чуть-чуть и сигнал на видео сразу становится раза в два громче.
Убираешь скотч с дырочки - частота повышается чуть чуть и сразу писк в видеоприёмнике как-то хрипнет и глохнет 😃 В принципе, различим, пользоваться этой “телеметрией” можно. Нужно будет схему перерисовать и спросить у кого-нибудь знающего, как сдвинуть чуток частоту этой пищалки (может кондёр куда впаять мелкий. Реально не понимаю, как с двумя транзисторами и двумя резисторами она генерирует, один из них, при этом похоже просто ограничивает ток)

Ещё, пока не понял, в мультивиее 3 уровня напряжения контроля - 1 предупреждение, 2-е предупреждение и critical.
При первом - одинарный писк, при втором - двойной писк. А вот при критикал - ничего не происходит, так и пищит двойной, что-то не так, хотелось бы чтобы начинал попискивать не переставая.

ADF
Ratverg:

А вот при критикал - ничего не происходит, так и пищит двойной, что-то не…

Наверное он подразумевает, что в этот момент уже должен неуправляемо падать в землю? 😃

Извиняюсь за оффтоп.

ppzaec

Задавал этот вопрос в теме про OSD? но там сказали что может здесь кто знает ответ. Пытаюсь получить данные напряжения и тока - со стандартного датчика напряжения и тока с рс таймера. Точнее с напряжение все получилось подобрав правильный VBATSCALE. напряжение стало показывать правильно. А вот ток вообще ничего не показывает постоянно ноль.
вот как выглядит конфиг

//#define POWERMETER_SOFT
#define POWERMETER_HARD
#define PSENSORNULL 510
#define PINT2mA 132

вместо PSENSORNULL 510 пробовал и 1 и 1000 результата нет.
вместо PINT2mA 132 пробовать и 200 и 1 результата нет.
менять там просто больше нечего. поскольку постоянно подключать датчик тока и крутить моторы не удобно подключал просто 1.5 вольта от батарейки.
Не знаю что еще и как пробовать. Может вход А2 не рабочий.

Менял в def.h в секции контроллера своей платы.

#define PSENSORPIN A2 // Analog PIN 2

результата тоже никакого. Может здесь это уже обсуждалось или кто то нашел выход из подобной ситуации подскажите. сетап wii 2.3 и minimOSD 3.7

Art_Nesterov
ppzaec:

Может здесь это уже обсуждалось или кто то нашел выход из подобной ситуации подскажите.

так в качестве бредового предположения…: вы точно в А2 подключили. Я подключал RSSi, тоже думал, что в А3 воткнул… А потом оказалось, что там входы А0,А1,А2,А3 и тд… начинаются с А0. То есть А2 это третий контакт.

Ratverg

Прошил в контроллеры YEP-7A после долгих сомнений BLHeli. Тестовый полёт на остатках батареи показал, что похоже, все проблемы с болтанкой и стабильностью теперь решены, ура ура 😃
А вот недостаток - нановий не хочет их автокалибровать… Выставил значения вручную - 0 и максимум - квадрик хоть полетел. Но хочется-то откалибровать нормально.
BLHeli ведь популярная прошивка, что-то можно подкрутить чтобы калибровалось? Или может есть какой-нибудь извращённый способ чтобы нормально откалибровать ESC?

ppzaec

Да про нумерацию контактов знаю, напряжение на А0 работает, а вот ток на А2 нет…

Art_Nesterov
ppzaec:

напряжение на А0 работает, а вот ток на А2 нет…

А вы сам вход проверяли? Это обычный аналоговый вход, он меряет напряжение, которое выходит с датчика тока. Возьмите соберите обычный делитель, например 1к+3к, и подключите его на питание +5в, а среднюю точку подключите на А2. Теоретически в Гуи должно появиться какое-то значение… Если появится, значит с датчика тока ни чего ни выходит.

GrafSher
Ratverg:

А вот недостаток - нановий не хочет их автокалибровать… Выставил значения вручную - 0 и максимум - квадрик хоть полетел. Но хочется-то откалибровать нормально.

В настройках ESC должен быть включен пункт “Programming by TX”

Ratverg
GrafSher:

В настройках ESC должен быть включен пункт “Programming by TX”

галочка стоит