Smalltim OSD and autopilot (часть 2)

smalltim

Потихоньку готовлю АП к квадрам и вообще ковыряюсь со всеми хотелками и запланированными изменениями.

В первую очередь - более быстрое, плавное и четкое управление, и новая навигация.

Убрав большинство циклов ожидания (синхронизация с ТМ, опрос датчиков, работа с внешней памятью и т.д.) в прерывания, раскочегарил главный цикл АП от 60-80 (приблизительно, зависит от нагрузки) до окого 150 циклов в секунду, это с очень сильно увеличившейся нагрузкой - захватом 250 Гц (скоростного синхронного, с последовательным или I2C проще) PPM на всех входах и генерацией 250 Гц PPM для цифровых серв на всех выходах.
Аккуратно, не торопясь, расставляю приоритеты прерываний и, где надо, ограничиваю реентерабельность.

Используя математику более оптимальным способом, рассчитываю поднять скорость главного цикла АП до 300-350 Гц.

Ильвир:

Тааак, а что и на что нужно при этом поменять, дабы тени на телеметрии просматривались четче. При этом желательно не по схеме показать, а по самой плате.

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

leliksan
smalltim:

Завтра с меня фото с кружочками и т.д.

Заодно покажи как сделать негатив (букофки чёрными а тени белыми). Как то давно ты писал что это элементарно, две дорожки перехлестнуть. А софтом это можно сделать?

Llirik

Не кидайте помидоры за возможно нелепые раздумья…
Суть в следующем:
Летать я буду по ноутбуку, т.к. по жизни очкарик и FPV-шные очки на меня вряд ли налезут…
Плюс опыт практически нулевой (один удачный полет).
Помня как я его совершал (без стабилизации и самой дешевой OSD-шкой), понимаю, что сосредоточенность в первых полетах будет такая, что не до воспоминаний о назначениях тумблеров…
Посему вчера набросал программулинку (пока сырую), генерирующую PPM. Хочу где-нибудь в уголке экрана вывести формочку с кнопками (назначение управляющих сигналов) или иными элементами (с интерфейсом пока не заморачивался). Завести этот самый PPM через тренерский разъем в пульт (у меня турнига с прошивкой ER9X) и микшировать на выход. Конечно же тумблеры тоже запрограммирую.
В общем смысл понятен… На ноуте выбираешь режимы автопилота и радуешься… А, к примру, команды по переключению экранов или точек можно сделать с автоматической (заданной в настройках) длительностью. Ткнул «следующая точка», в нужном канале выдержалось заданное значение определенное время и вернулось назад…

Что скажете, стоит такое творить?!

Miha9991

Нащет что очкарик не беда у фатшарков линзы есть специальные каторые прям в очки в паз вставляются и все! Я правдо эту проблемку решил преобрев глазные линзы в магазине оптики!

ubd

Летать я буду по ноутбуку, т.к. по жизни очкарик и FPV-шные очки на меня вряд ли налезут…

Все очки имеют сменные линзы, с разными диоптриями. Бывают регулиремые диоптрии. Но это так для справки.

Если честно не понятно зачем это всё. Ты тумблеры забываешь какие включать? Управление автопилотом одним тумблером делается, трёх позиционным: Ручной режим, стабилизация, возврат домой. Переключение камер это нафиг не нужно на первых полётах. Тут хотя бы с одной камерой научись летать.

Llirik
ubd:

Все очки имеют сменные линзы, с разными диоптриями. Бывают регулиремые диоптрии. Но это так для справки.

Под мою астигматику я вряд ли линзы найду…

ubd:

Ты тумблеры забываешь какие включать?

Когда визуально летаю не забываю… Но когда взлетел по камере, напряжение такое было, что про все забыл 😁. Даже комаров, плотно облепивших оголенные участки тела не замечал…
По мануалу возможны 5 режимов на одном канале, а я любопытный и хочу все попробовать и сразу 😃, посему придется комбинацию тумблеров воротить… или…

ubd:

Тут хотя бы с одной камерой научись летать.

В первом же полете не удержался и освоившись начал пантилтом крутить!..😃
Да и отоброжение попереключал…

Cosha

Good Morning!

Sorry, i only speak English 😮

I have a few questions about the SwiftAi Autopilot / SmallTim OSD

My Set Includes:

Autopilot Board - XY sensor & Z Sensor
OSD Module
Tracker

Questions:

Do i need the IMU Board for Quadcopter?

How do i calibrate XY / Z sensors? When placed on my model the angle is not correct?

Can you only power the autopilot via the balance lead from a 3s lipo?

Thank-you for you’re help

Ben

Pavel_K
Cosha:

Do i need the IMU Board for Quadcopter?

How do i calibrate XY / Z sensors? When placed on my model the angle is not correct?

Can you only power the autopilot via the balance lead from a 3s lipo?

Thank-you for you’re help

Hi Ben!

At this moment autopilot doesn’t support multicopters, only airplanes. Autopilot developer wrote today that he’s working on it, so we hope to get it sooner or later. Multicopter/helicopter would require IMU module, I suppose. Anyway IMU is much more better choice than pyrosensors, its artificial horizon is stable as if it’s been nailed to the real one.

You can power your autopilot with balance lead but there is known issue with it: almost any balance plug has bottom leads and those leads could accidentally touch sensitive electronics below the jack. If your autopilot board has plastic cover then it’s ok, if not - at least cover those bottom leads with tape. And never ever try to power standalone OSD (it could be used without autopilot with another firmware) via balance plug - you’ll burn it.

Udjin
Llirik:

стоит такое творить?!

Стоит установить сим и полетать. И от первого и от третьего лица.

Cosha

Thank-you for replying!

No, my board does not have a plastic attachment on the power terminals!

Would it be wise for me to use a seperate 2s lipo with JST leads and make my own power jack? I belive i have seen a picture of the current sensor opened and used to make a 11.1v power supply…

I think i will make my own jack to be on the safe side!

Am i correct that the IMU replaces the pyrosenors altogether? If so, for better performance i will buy a IMU board!

So far i think its a great system, but i have yet to fly using it 😛

Ben

leliksan
Llirik:

Что скажете, стоит такое творить?!

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

smalltim
Cosha:

Good Morning! Sorry, i only speak English

Hi Ben, glad to see you here 😃

Cosha:

Do i need the IMU Board for Quadcopter?

Sorry, the firmware that will allow the Autopilot board to control rotary wing models is in development atm.

Cosha:

How do i calibrate XY / Z sensors? When placed on my model the angle is not correct?

You don’t need to calibrate the pyro sensors, they autocalibrate themselves permanently. You only neet to make sure the aircraft parts don’t obstruct the FOV of the sensors. FOV is the 90 degrees cone.

Cosha:

Can you only power the autopilot via the balance lead from a 3s lipo?

Yes.

Cosha:

Would it be wise for me to use a seperate 2s lipo with JST leads and make my own power jack? I belive i have seen a picture of the current sensor opened and used to make a 11.1v power supply…

Please, do what is more convenient for you. I personally prefer using 1 battery for all the onboard equipment including motor, camera and all the stuff, and just plugging the balance lead to autopilot.
This way I can be sure the ground of camera power is connected to the ground of RC power and the ground of autopilot power, etc. Because it’s all just one battery 😃

Cosha:

Am i correct that the IMU replaces the pyrosenors altogether? If so, for better performance i will buy a IMU board!

IMU is better in terms of responce time and it is espetially good compared to pyros if used in cloudy weather. And you have less hassle trying to find a place to fit it, compared to pyros.

Llirik:

В общем смысл понятен… На ноуте выбираешь режимы автопилота и радуешься… А, к примру, команды по переключению экранов или точек можно сделать с автоматической (заданной в настройках) длительностью. Ткнул «следующая точка», в нужном канале выдержалось заданное значение определенное время и вернулось назад… Что скажете, стоит такое творить?!

Если Вам так удобно, и есть время это сделать, то почему нет? Или Вы спрашиваете, а пригодится ли кому-нибудь еще такая софтинка? Конечно, пригодится, уверен.

leliksan:

Заодно покажи как сделать негатив (букофки чёрными а тени белыми). Как то давно ты писал что это элементарно, две дорожки перехлестнуть. А софтом это можно сделать?

Не, софтом не сделать.

msv
Llirik:

Посему вчера набросал программулинку (пока сырую), генерирующую PPM.

Через звуковую карту?

Llirik:

Завести этот самый PPM через тренерский разъем в пульт (у меня турнига с прошивкой ER9X) и микшировать на выход. Конечно же тумблеры тоже запрограммирую.

Тогда уж к ноуту джой, да плюс клава, и полностью отказаться от пульта… Давно мечтаю слепить подобное, но уж очень руки к стандартным стикам привыкли…

Llirik
msv:

Через звуковую карту?

Да.

msv:

огда уж к ноуту джой, да плюс клава, и полностью отказаться от пульта…

Это уж как нибудь потом (хотя программно разницы ни какой), опять же при условии удовлетворяющей точности.

Edward_tlt
baychi:

Так попробуйте! У меня же нет этого модуля.
Цель - получить на выходе (автоматически, после включения питания) 3 типа NMEA посылок: GGA, RMC, и GSA
И что-бы скрость обмена была 38400, а период обновления координат - минимальный - 10 Гц.
Удачи!

В итоге на модуль была поставлена литиевая батарейка и с помощью miniGPS включена нужная строка GSA. Работает. С гипертерминалом так и не разобрался как команду в модуль слать 😃

baychi

Анализируя логи крайних полетов, обратил внимание на такую странность: в горизонтальном полете со стабилизацией целевой тангаж - 0 градусов, текущий тангаж -5 градусов. Спрашивается, что мешает АП привести текущий тангаж к требуемому?
Кладу модель дома на стол, лежит строго горизонтально, РВ в нейтрале, переключения из ручного режима в режим СТ, не меняют положение РВ. Начинаю немого приподнимать хвост, РВ не колышеться и только отклонение на 7-10 градусов начинают заметно воздействать на РВ. В другую сторону - тоже смое. А ведь даже единичный шелчок триммером - виден, значит есть куда двигаться! Увеличиваю чувствительность по тангажу вдвое, - зона неподвижности РВ становится вдвое меньше, но все равно - это единицы градусов. ИМХО многовато для качественного пилотирования. Аналогичные погрешности давно замечал по курсу и высоте при работе автовозврата, - курс очень редко сходится в 0 с требуемым, 5-10 градусов погрешности даже в полный штиль.
Вероятно это свойство ПИД регулирования, но откуда такая дискретность на выходе? Или там гистерезис специально заложен? Тимофей, объясни пожалуйста, этот феномен и можно ли это исправить?

Edward_tlt:

С гипертерминалом так и не разобрался как команду в модуль слать

Если набираемые символы не видны на экране, надо включить эхо. В конце нажать Enter. 😃

Edward_tlt:

была поставлена литиевая батарейка и с помощью miniGPS включена нужная строка GSA. Работает

А если отключить батарейку, настройки сохраняются?

Edward_tlt
baychi:

А если отключить батарейку, настройки сохраняются?

Да в том то и дело что нет. С помощью miniGPS похоже нельзя в энергонезависимую память писать. Ну думаю батарейки надолго должно хватить:)

smalltim
baychi:

Анализируя логи крайних полетов, обратил внимание на такую странность: в горизонтальном полете со стабилизацией целевой тангаж - 0 градусов, текущий тангаж -5 градусов. Спрашивается, что мешает АП привести текущий тангаж к требуемому? Кладу модель дома на стол, лежит строго горизонтально, РВ в нейтрале, переключения из ручного режима в режим СТ, не меняют положение РВ. Начинаю немого приподнимать хвост, РВ не колышеться и только отклонение на 7-10 градусов начинают заметно воздействать на РВ. В другую сторону - тоже смое. А ведь даже единичный шелчок триммером - виден, значит есть куда двигаться! Увеличиваю чувствительность по тангажу вдвое, - зона неподвижности РВ становится вдвое меньше, но все равно - это единицы градусов. ИМХО многовато для качественного пилотирования. Аналогичные погрешности давно замечал по курсу и высоте при работе автовозврата, - курс очень редко сходится в 0 с требуемым, 5-10 градусов погрешности даже в полный штиль. Вероятно это свойство ПИД регулирования, но откуда такая дискретность на выходе? Или там гистерезис специально заложен? Тимофей, объясни пожалуйста, этот феномен и можно ли это исправить?

Интересное наблюдение, Александр. Точность регулирования должна быть очень высокой: на входе и на выходе PPM захватывается и генерируется с точностью 2048 отсчетов на весь диапазон. Но, если исключить вариант с неудачной сервой, есть одна мысль, обсудим по телефону.

Точность внутренней математики АП проверяется элементарно: повторяешь весь этот эксперимент, но при этом держишь открытой Контрольную Панель. Она пишет все выходные каналы АП на экране с точностью до микросекунды.

baychi
smalltim:

повторяешь весь этот эксперимент, но при этом держишь открытой Контрольную Панель

До этого не додумался. Вечером гляну. 😃
Тим, слеты прошивки уже дважды укладывали меня на лопатки. 😃 Приношу на поле новую модель, собираю, включаю, вижу мертвую или полумертвую прошивку, выключаю, разбираю, иду домой. И так 2 раза подряд.
Похоже вероятность слета заметно выросла, когда с датчиков стали идти реальные данные. Может есть еще идеи, как бороться?

SkyWorker
Edward_tlt:

Да в том то и дело что нет. С помощью miniGPS похоже нельзя в энергонезависимую память писать. Ну думаю батарейки надолго должно хватить

Сейчас проверил на балконе - спутники находит как и прежде, но мигать перестает. Видимо заработало как надо. И высоту стало показывать.

Алексей_Сергеевич
baychi:

в горизонтальном полете со стабилизацией целевой тангаж - 0 градусов, текущий тангаж -5 градусов

Может и не связано, но у меня самолет в режиме АП всегда летит на 10-15 метров ниже чем задано в КП. То есть например задаю 300м, а самолет держит 290-285м, удерживает высоту стабильно ниже, но никогда не выше!

Посмотрел логи полетов, в режиме АП требуемый угол тангажа в среднем +4 градуса, реальный угол тангажа -4 градуса.