Activity

Дешифратор MULTI канала прошивки VCoder

Вопрос Виталию: каким образом дешифратор будет детектить фейлсейф? Тут ведь возможны 3 варианта:
1 - собственно, фейлсейфа нет, при потере связи PWM не генерируется (родные приемники Турниги). Тут все просто - нет сигнала, выставляем заданные значения на выходах.
2 - фейлсейфа нет, но приемник при потере связи сохраняет последнее принятое значение (FrSky, если фейлсейф не запрограммирован). Как ловить Ф/С в этом случае? Пока на ум приходит только длительное отсутствие изменений канальных импульсов…
3 - при потере связи приемник выставляет заранее установленное значение. Тут тоже все понятно, но нужно иметь возможность это самое значение фейлсейфа запомнить в дешифраторе.

Ну и еще, неплохо бы, чтобы сам дешифратор тоже мог запоминать, а затем и устанавливать необходимые значения по всем 4-м выходным каналам. Пример: к дешифратору подключено управление камерой (2 канала), телеметрия и автопилот. При потере управления надо, чтобы камера встала в среднее положение (по курсу), телеметрия показывала максимально информативный экран (пусть будет №1, т.е. минимальное значение по этому каналу), а автопилот включал возврат на базу (скажем, канал на максимум).
Наверное, стоит предусмотреть место для кнопки программирования фейлсейфа.

p.s. Сборка собственного экземпляра пока откладывается. В местном радиомаге контроллеров нет вообще никаких. Теперь надежда только на то, что в скорости удастся выбраться в Ижевск.

Дешифратор MULTI канала прошивки VCoder
ВитГо;bt63438

Платка получилась вот такая:

Эм, а где кварц (на 12-13 ножках, из первого поста)? Или в данном варианте он не нужен (работает внутренний генератор)? Это уже под АтМега 8, как я понимаю?

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
ВитГо;bt63059

кто-то желает еще собрать дешифратор для тестов ?

А як же ж? Давно жду.😒 Правда, осцилографа у меня нет, так что, пока только натурные испытания…

ВитГо;bt63059

могу схему накидать…

Обязательно надо. Не все ж по десятку плат на мегах каждый день разводят.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Думаю, админы против не будут. Топик по теме? Аппаратуру управления обсуждаем? Ну и что, что китаец с кастомной прошивкой, все равно ведь РУ… Так что, все в пределах правил.
А отдельную тему завести точно не помешает.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

cnyx, в прошивке 16 виртуальных каналов. Первые 8, обычно, назначаются в соответствие физическим каналам передатчика, а вот каналы с 9-го (дальше идут обозначения A-F) можно использовать как источники промежуточных значений, что и предлагает сделать Виталий.
А по кол-ву каналов, сам давно жду хоть какую-то инфу по схеме дешифратора мультиплексированных каналов, но кроме того, что он должен быть на Атмега8, ничего не добился…

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
ВитГо;bt61184

попробуйте версию 2288 от 11.10.2011 г. vcoder build 2288 20111011.hex.html
по идее проблема должна уйти…

Сегодня смог маленько полетать на фаныче (точнее, повисеть против ветра). Таймер действительно нормально работает - после сброса, сигнал окончания отсчета теперь есть.

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x
ВитГо;bt62152

Гм… да, проблема механики… а при 8ми битном режиме ? попадания в центр есть ?

Да, попадает. Но там этой разницы положения стика просто не заметно (контроль положения более грубый).

ВитГо;bt62152

Нет… все проще.
по типу передатчика будут определятся длительности канальных импульсов…
например,
тип 1: мин=1000, середина=1500, макс=2000, полярность положительная
тип2: мин=1100, середина=1500, макс=1900, полярность отрицательная
и т.д.

Понятно.

ВитГо;bt62152

А на счет количества каналов решение у меня уже есть в голове, еще с VCoder’a…

Интересно, а как поведет себя дешифратор мультиплексированных каналов при срабатывании фейлсейфа или просто при пропадании сигнала?

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x
ВитГо;bt61953

Гм… у меня вообще никаких ±1 нет!!! ни в 10ти ни в 8ми битном режиме… значения встают четко и не меняются в любом положении !!

Это проблема именно механики стиков в моем конкретном случае. При движении стика в + или в -, обратно они возвращаются не совсем точно в центр, а с разбросом в 2-3 единицы (при десятибитном кодировании). Иногда встают так, что АЦП не может определиться со значением и возникает “дрожаение” младшего знака. Но, т.к. машинки такое изменение импульса все равно не отрабатывают, я на это забил.

ВитГо;bt61953

А что показалось не понятным на первый взгляд ?

вы можете создавать любые условия…
например, если нужно чтобы таймер начал считать при щелчке кнопки Trn
пишем условие номер 1

Во-о-от! Именно это и надо! Какой пункт за что отвечает и пару примеров. Теперь все понятно, спасибо.

И еще, вопрос по типам передатчиков. Первый тип, я понимаю, штатный FlySky\Turnigy и прочие восьмиканальные модули без лишних наворотов. Второй - телеметрийные FrSky (с возможностью отображения данных на дисплее передатчика). А третий тогда что? LRS 433MHz Chainlink\Dragonlink, 12 каналов? Если да, было бы здорово…

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x
ВитГо;bt61474

Алексей, если не затруднит, попробуйте тестовую прошивку A-Coder.hex

Попробовал. Дрожания значений АЦП не замечено ни в десятибитном, ни в восьмибитном режиме (+/- единичка не в счет - это именно стик встает на граничное значение). Все органы управления работают адекватно, значения калибровки при переключении режимов пересчитываются, сохранение настроек, вроде бы, работает. Жаль, генерации PPM пока нет - проверить бы, будет ли дрожание рулей на модели…
Да, и еще, может, все же стоит поменять кнопки + и - местами? А то как-то не логично увеличивать значение стрелкой влево. Точнее, непривычно после первой версии.

p.s. По редактору условий и выражений точно надо будет подробную инструкцию…

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
msl_272;bt61493

Дрожание канала это однозначно неисправность железа аппаратуры. Поскольку дрожит только один канал - значит неисправен переменный резистор именно этого канала.

А вот не все так просто…😵 Да, дрожит только один канал. Но на двух моделях это руддер, а на третьей - руль высоты. ВЧ один и тот же, приемники менял… Сервы, конечно, разные, но не будешь же их из модели выдирать… Так что, переменники в моем случае не при чем. На экране контроля выходных каналов, кстати, дрожания нет. Все двигается ровно и плавно. Пока подозрения на PPM, т.к. в симе тоже рули дрожат, хотя, тут может и звуковушка с SPP+PPJoy свою лепту вносят.

ВитГо;bt61495

Такой вопрос - а включать нужно в случайном порядке или все таки последовательно ? (а то в конфе про адаптированный кодер MSV обсуждается необходимость включения в случайном порядке (не последовательным перебором)

Для начала, хотя бы последовательно. А то как включить нужный режим, если они будут перебираться по рандому? Сейчас крутилкой тоже все последовательно переключается.
Для автопилота, конечно, нужно иметь возможность быстрого включения двух режимов: принудительное включение и отключение, но это и тумблерами реализуется. А промежуточные режимы и последовательно попереключать не грех.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
ВитГо;bt61474

так все таки сколько значений 4 или 5 нужно переключать ?

Лучше 5. По крайней мере, в AP-117 именно 5 вариантов экрана OSD. У Смолтима, вроде, тоже по 5 команд на управляющий канал реализовано. В любом случае, больше - не меньше. Хуже не будет.

ВитГо;bt61474

можно ли сделать чтобы значения переключались двумя переключателями ? например GEAR выбирает диапазон 0-2 или 3-5 и уже трехпозиционником FMODE выбирается конкретное значение из трех…

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

Как вариант, можно и таким образом. Тем более, что в Acoder`е, если не ошибаюсь, трехпозиционник - это полноценный орган управления, а не только полетные режимы. Для автопилотов этот вариант будет интереснее.
А вот именно для OSD можно сделать так: в настройках выставляем стартовое значение (например, +100) шаг изменения или кол-во шагов - как удобнее и направление смещения (будет значение канала увеличиваться или уменьшаться). Затем, по щелчку, например, тумблером Trainer, значение канала будет смещаться на заданное значение (к примеру: +100->+50->0->-50->-100->+100…) и так по циклу.

p.s. А насчет скинуться на плату - я за.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Давно хотел сказать, да все как-то забывалось… Может, только у меня такой глюк вылазит, но сигнал окончания отсчета таймера пищит только один раз после включения аппы или перезагрузки модели. После того, как таймер был сброшен exit`ом, минутные бипы срабатывают как и положено, частые сигналы последнюю минуту тоже есть, а вот сигнала, что таймер дошел до нуля, нет. В принципе, ситуация не сильно напрягает, но все же… Все это творится, как минимум, 3 последние прошивки точно. Может и раньше было, да как-то не замечал.
Вторая проблема - время от времени начинает дрожать серва в канале руддера. Проблема точно не в машинке, такой глюк проявляется на разных моделях с разными сервами (правда, все аналоговые), с разными ВЧ-блоками и приемниками. Пошевелишь стик - дрожание прекращается. Потом снова может возникнуть без явных причин. По другим каналам дерготни, вроде, пока не было.

И еще (думаю, FPV-шники будут рады), хотелось бы иметь возможность на одном из каналов циклически переключать 4-5 заранее заданных положений, например, с помощью тренерского тумблера. Наверно, придется создавать еще один тип микшеров… Впрочем, если в первом кодере это нереально, то можно и до второй версии экраны телеметрии крутилкой попереключать.

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x
ВитГо;bt59633

Это уже сейчас сделано… выглядит правда немного по другому… но все точки настраиваются в одном месте !

Ну, тогда вопросов больше не имею. Отдельной настройки min-mid-max и субтрима, меняющего сразу все 3 точки будет достаточно. ИМХО.

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x

Или, как вариант, при рассчете субтрима проверять условие: если участки min-mid и mid-max равны, то менять все 3 точки разом. Если отличаются - то менять только центр. Ну и оставить возможность произвольной настройки конечных точек (которая, судя по всему, и так планировалась). Думаю, так получится угодить и вашим и нашим.
Да, и еще неплохо было бы настройку центра и конечных точек сделать на одном экране. Что-то типа настройки центра в первом кодере, только справа и слева от значения центральной точки расположить значения крайних точек и сделать их доступными для редактирования. Что-то вроде такого:
№ канала min mid max
1 1000 1500 2000
2 900 1450 2100
По умолчанию выделять имеено средний столбец (центр канала), а при необходимости задать конечные точки, смещать курсор кнопками +/-.

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x

может быть сделать такую модель:…

ИМХО, было бы здорово. А оффсет тогда - аналог субтриммера, но применительно к каждому конкретному микшеру (т.е. тоже не будет вызывать дифференциала)?

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x
ВитГо;bt56824

а WINGLET типа в два разных калала для реализации функции тормоза что ли ? в принципе то два руля можно и через Y кабель подключить…

Это, видимо, как на B2 - воздушный тормоз на консолях крыла (либо расщепляющийся элерон). Раскрывается с той стороны, в которую нужно повернуть. На второй консоли при этом плоскости остаются в сложеном положении.

p.s. Есть предложение допилить самолетные настройки и запустить генерацию PPM, чтобы прошивкой уже можно было пользоваться. Так баги гораздо быстрее вылезут, чем при беглом просмотре меню. А остальной функционал потом постепенно добавлять в новых сборках.

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x

Виталий, может быть, конечно, глупый вопрос задам… Я понимаю, что форматы EEPROM и самих файлов настроек модели будут кардинально отличаться от 1-й версии, но реально ли как-то конвертировать старый EEPROM в новый формат, чтобы не перенастраивать все модели с нуля? Или это в принципе невозможно?
И еще, что там со схемой декодера для мультиплексированных каналов?

VCoder2 - Новая версия ПО для Turnigy/Eurgle/FlySky 9x
ВитГо;bt56279

OFS это смещение центра источника…
блин… как бы объяснить по понятнее…

Т.е. Offset - это аналог механического триммера, но с учетом конечных точек.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Евгений, схемы дешифратора, скорее всего, не будет, пока Виталий не вернется из поездки. Как он говорил, просто 8-й Атмеги и обвязки к ней может не хватить. Возможно, придется внешний таймер использовать. Но до отъезда схему набросать он не успел…

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
=V=simon;bt55387

Может Виталий нам поможет и что то поменяет в своей Гениальной прошивке ))) что бы 3-х позиционный задействовать по полной.

В этой версии вряд ли. Виталий говорил, что капитально перелопачивать прошиву не будет, станет только исправлять глюки, да мелкие дополнения делать.
И правильно. Пусть лучше вторую версию побыстрее до ума доводит.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Не получится сделать Fmode в качестве источника для микшера напрямую.

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

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

… получите 3 полетных режима, с управлением от 3-х позиционного тумблера.

И просадит 20% доступной памяти низачто (10-12 блоков по 32 байта). Если мне память не изменяет, то тумблер Fmode таки можно выбрать в качестве источника в микшерах. Правда, тогда полетные режимы нечем будет переключать, ну да не всегда оно и надо.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
ВитГо;bt54741

По дешифратору схема будет…
сейчас читаю каким образом обычно дешифраторы делаются… там есть один тонкий момент при генерации выходных сигналов… думаю как реализовать

Но набор обвязки-то к 8-й меге известен? Просто решать надо побыстрее, как бы не сегодня поездка состоялась…

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x
ВитГо;bt54715

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

Интересный способ. Надо попробовать.
А на дешифратор, если схемы пока нет, то, может, хоть список деталей можно прикинуть?

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

видимо экспонента накладывается не на 40% расходов, а на 100%, и в диапазоне 40%, происходит практически линейное уменьшение расходов

Да, это так. Особеность алгоритма рассчета в данной прошивке. Приходится приноравливаться.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Виталий, так что насчет схемы декодера? Просто я на этой неделе, возможно, выберусь в местную столицу, а там нормальный радиомагазин есть. Надо бы знать, что покупать (ну, кроме 8-й меги, коечно).

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Проблема в длине проводов может? примерно 55-60cm, может чуть меньше.

Возможно. У меня с такими проводами вообще работать не хотел. Заработал, когда укоротил до 20см + 15 в самой аппе. Но у меня LPT-порт не напрямую к материнке припаян, а на отдельном шнурке (т.е. + еще почти 20см).
Кстати, попробуйте увеличить delay multiplier, может помочь.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Вадим Камоцкий, у меня сим нормально работает (SPP+PPJoy+шнурок к звуковушке). Так что, сигнал на тренерском разъеме есть. Проверяйте соединение, сам кабель симулятора или софт. А вот захвата ППМ нету, так что, ни тренером поработать, ни хедтрекер подключить пока нельзя.

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

А у меня, кажется, назревает вопрос по мультиплексированию каналов. Что там насчет дешифратора? Схема есть? Просто собрал самик под FPV. 4 основных канала, как обычно, элероны, РВ, газ, РН, 5-й канал - закрылки, 6-й - шасси. Еще 2 канала заняты под вращение камеры, и все, свободных каналов нет. А хочется еще телеметрию с OSD поставить и, возможно, стаблизатор или даже автопилот. На них ведь тоже, как минимум, по каналу потребуется…

Наш ответ Китаю - Прошивка для TURNIGY \ EURGLE \ FLYSKY 9x

Petr, lainer, AZyArt, Может, дело в софте? Другой прогой не пробовали шить? Я пользуюсь простейшим LPT-программатором и CV AVR. Вот скрин программера и его настройки:


Поначалу малость помучался с самим программатором - с длинным проводом работать не хотел, но теперь все шьется без вопросов, что со штатной 64-й мегой, что с нынешней 128-й. Только чип перед прошивкой надо стирать.