Встраивание переключателя полетных режимов собранного по схеме Алексея Козина в аппаратуру Cheerson CX-20.

Рад приветствовать всех, читающих эту статью.

К сожалению, писатель из меня не очень, сразу извиняюсь за занудство, но поделиться проделанной работой считаю полезным.
Cheerson CX-20 из-за своей невысокой цены и скрытым возможностям стал популярным у новичков, поэтому, думаю, будет интересен способ доработки его аппаратуры управления. В процессе дам некоторую необходимую информацию, которая старым воинам известна как отче наш, а вот новички зачастую путаются в трех соснах и собирают ее по крупицам. Во всяком случае, для меня изначально было вопросов больше чем я находил на них ответов.

Художественное введение.

Свой Cheerson CX-20, в свое время, к сожалению, я разбил об чей-то огород в деревне. Убегая от лопаты разгневанного мужика, пытаясь вставлять дипломатично выверенные успокаивающие фразы между его «ять», «на» и «в», мне удалось забрать обломки коптера. После осмотра повреждений остатков, коптер было решено не восстанавливать, а собирать новый, на другой раме, с телеметрией, FPV и прочими плюшками, но из-за нехватки средств, да и просто обиды, что так мало чирик мне послужил, было решено оставить аппаратуру управления и приемник. Контроллер на новом квадре, конечно, было решено оставить APM (правда родной контроллер заменил на miniAPM, но напрямую к делу это не относится). В процессе изучения темы квадрокоптеростроения я часто прибегал к помощи сайта apmcopter.ru где в доступной для чайников форме показывается и рассказывается путь в интереснейший мир полетного контроллера APM. Там же на сайте я наткнулся на статью про переключатель полетных режимов Алексея Козина, подробнее дневник Алексея Козина и сайт Алексея Козина.

Теоретическая часть.

Что такое переключатель полетных режимов? Ни для кого не секрет, что в большинстве изготовленных Cheerson CX-20 стоит полетный контроллер APM (точнее слегка урезанная его реплика), который имеет гораздо больше возможностей, чем заявляется производителем коптера. Тут речь пойдет о полетных режимах контроллера, которые пилот коптера переключает тумблерами на аппаратуре управления. Разработчики контроллера предусмотрели массу различных вариантов режимов, при которых коптер выполняет тот или иной алгоритм управления, выполнения миссий и автоматических действий, но предлагают пользователю выбрать шесть наиболее ему востребованных и назначить положение тумблеров на аппаратуре этим режимам. Так сделано и в Cheerson’е. При желании, подключившись к контроллеру через программу Mission Planner вы можете переназначить положение тумблеров или вообще выбрать другие режимы. Это здорово, но есть один жирный минус - зачастую, в процессе полета, от пилота требуется очень быстро принять решение о включении того или иного режима. И тут начинается вспоминание какое же положение тумблеров мне сейчас необходимо выставить, чтобы включить нужный режим, тратятся драгоценные секунды и хорошо еще если по запарке вобще чего не напутал. Мне это категорически не нравилось, в экстренной ситуации как всегда память начинала изменять, и даже табличка с расшифровкой положений тумблеров наклеенная на аппе не всегда помогала.
Меж тем, есть выход, гениальный по своей простоте, который и предложил Алексей Козин. Дело в том, что сигнал о выбранном режиме контроллер получает с пятого канала приемника, в который аппаратура посылает сигнал о положении тумблеров. Этот пятый канал, по принципу работы, на самом деле ничем не отличается от других каналов, аналоговых, на которых висят стики управления или крутилки (у чирсона предназначенные для управления подвесом). В каждый из этих каналов аппаратура отправляет импульсы определенной частоты и изменямой ширины. Ширина импулса показывает контроллеру тот уровень сигнала, которому соответствует положение стика или крутилки в настоящий момент. Так же и с тумблерами: каждому их положению жестко присваивается определенная ширина этих импульсов. Зная это, теоретически вместо тумблеров мы могли бы использовать, к примеру переменный резистор (крутилку), установленный на аппаратуре, и, при его повороте, режимы бы переключались по очереди: от режима закрепленного за минимальной шириной импульса до режима закрепленного за максимальной шириной импульса. Это для понимания сути. Что же предлагает Алексей Козин. Он предлагает отказаться от тумблеров и использовать на пятом канале канал закрепленный за одной из крутилок, только вместо нее поставить переключатель с шестью кнопками. За каждой кнопкой закреплен определенный уровень напряжения на выходе переключателя, что позволяет переключать полетный режим простым нажатием на нужную кнопку без копаний в памяти и последовательных переборов. Все написанное вы могли и так прочитать по ссылкам выше, но пишу я тут не потому что «повторение мать учения», а потому что при реализации данного проекта на аппаратуре Cheerson CX-20 возникли определенные сложности, вот информацией о том как их преодолеть и хочется поделиться.

Практическая часть.

Для начала необходимо собрать сам переключатель. Схема есть по вышеуказанным ссылкам. Ранее Mission Planer предлагал пользователю выбрать только пять полетных режимов, но в последних версиях можно выбрать уже шесть, поэтому у Алексея представлены схемы как с пятью кнопками, так и с шестью. Я, конечно выбрал для построения шестикнопочную версию. В схеме можно использовать либо отдельно купленную ATmega328, либо плату Arduino Pro Mini, которая стоит копейки и продается у китайцев чуть ли не на вес. Плюсами второго варианта является, то что нет необходимости возни с загрузчиком ATmega328 и более простая печатная плата переключателя, которую любой человек сможет изготовить по технологии ЛУТ, даже если он раньше и утюга в руках не держал (я к таковым не отношусь, мной давно уже освоена технология изготовления печатных плат с использованием фоторезиста, но лень-матушка: зачем делать сложно, то, что можно сделать просто 😉 ). После изготовления печатной платы и напаивания на нее всех необходимых элементов, прошиваем ардуинку и инсталлируем плату в корпус аппаратуры Cheerson CX-20. Процедуру прошивки расписывать не буду, о том, что для этого требуется и как это делается написано море статей и давно всем известно.


Подключение платы переключателя я произвел вместо переменного резистора AUX1. В приемнике тоже необходимо произвести небольшую переделку. Провод, идущий от 5-го канал приемника на контроллер, отключаем от приемника и подключаем его на соседний шестой канал приемника, ну или на седьмой канал, если Вы будете использовать AUX2. Таким образом, контроллер теперь понимает сигнал от нашего переключателя как будто это сигнал с тумблеров.
Как оказалось, питание электроники нашего пульта управления производится от встроенного стабилизатора 3.3 В, а не 5 В, как ожидалось, но этого напряжения вполне достаточно для стабильной работы нашего переключателя, только потребовался подбор номиналов токоограничивающих резисторов в цепях светодиодов. Хотя это требовалось бы в любом случае, так как номиналы этих резисторов зависят не только от напряжения питания, но и от такого параметра светодиодов как прямое падение напряжения, а светодиоды все разные, разных цветов и этот параметр у всех отличается, т.е. резисторы в любом случае требуется подбирать.
Все подключено, проверено. Пищит, нажимается и светится светодиодами. Напряжение на выходе переключателя изменяется. Лепота. Включаем коптер, запускаем на компьютере Mission Planner и… натыкаемся на проблемку.
Оказалось, на каналах крутилок стоит непонятный мне алгоритм, по которому после первой подачи питания, при превышении крутилкой середины своего диапазона, реальное положение крутилки перестает иметь значение, а на выходе формируется максимальный сигнал. Снимается этот режим кратковременной установкой крутилки в верхнее положение, после чего сигнал становится адекватным ее положению. С переключателем это выглядело так: после подачи питания, при нажатии на кнопки 1-3, сигнал канала соответствовал нажатой кнопке, а при нажатии на кнопки 4 и 5, я получал на выходе максимальный сигнал, который должен был появляться только после нажатия на кнопку 6, но после хотя бы кратковременного нажатия шестой кнопки и четвертая с пятой начинали работать корректно.

www.youtube.com/watch?v=YcH1hzj9MuQ

По началу я даже подумал, что это глюк переключателя, но потом, еще раз посмотрев осциллографом выход переключателя, понял, что к переключателю вопросов нет, а максимальный уровень сигнала формирует сама аппаратура управления. При этом, каналы, закрепленные за стиками, такого алгоритма не имеют, но использовать то мы можем только каналы крутилок, как невостребованные. Как победить это в самой аппаратуре я не знаю, а раз не можем победить, то попытаемся подстроиться. При неоценимой поддержке автора проекта Алексея Козина, за что огромное ему спасибо, была внесена поправка в код переключателя. Теперь после включения, переключатель на несколько секунд сразу встает в положение максимального выходного сигнала, а после издает звуковой сигнал готовности к работе и переходит в режим минимального выходного сигнала (первая кнопка). Тем самым мы автоматически сбрасываем этот странный алгоритм аппаратуры и заставляем ее работать адекватно. Теперь привязываем необходимые режимы к нашим кнопкам в Mission Planner, распечатываем наклейки с названиями режимов для каждой кнопки и наслаждаемся простым и интуитивно понятным управлением.

www.youtube.com/watch?v=tgQ3NTX4Djk

Информация от Алексея Козина для тех, кто захочет повторить данную схему в аппаратуре Cheerson CX-20. Необходима правка кода:

Внутри

в процедуре setup
найдите такие строки
digitalWrite(SelBtn,0);

analogWrite (AnalogOut, BtnLevel(SelBtn));

и вставьте между ними чтоб получилось так
digitalWrite(SelBtn,0);

analogWrite (AnalogOut, 255); //максимальный сигнал
delay (3000); //задержка 3 секунды

analogWrite (AnalogOut, BtnLevel(SelBtn));

Параметр delay (3000) отвечает за время задержки уровня максимального сигнала после подачи питания. Его по уму нужно сделать максимально коротким, чтобы в полете, если случайно передернули питание аппаратуры, коптер как можно меньше находился в режиме, закрепленном за шестой кнопкой, вдруг этот режим категорически не будет нужен вам в это время. Но я сделал этот параметр равным 3.5 секунды только для красивого звука включения, когда после звука включения аппаратуры, переключатель издавал свой сигнал, а на шестую кнопку назначу какой-нибудь «безобидный» автоматический режим, например, RTL. Кстати, с тонАми под свою пищалку я тоже поигрался, изменяя количество, частоту, паузы и длительность сигналов в коде Алексея. Кому интересно, вот полный скетч залитый сейчас у меня.

Внутри

/*
s1 - s6 & LEDS connected to analog pins 1-6
its numbers from 14 to 19
*/
#include <EEPROM.h>
#define AnalogOut 10 // PWM out
#define SoundOut 7 //d7 speaker out
int SelBtn = 14; // default
//int BtnLevels[20];
void setup()
{
Serial.begin(9600);
pinMode(8, INPUT); //tune up button
pinMode(9, INPUT); //tune down button
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
if (EEPROM.read(1)!=124 || digitalRead(9) == LOW ) // if pin 9 short to 0 start reset defaults
reset_eprom();
//force pwm
TCCR1B = 0x01;
delay(100);
pinMode(SelBtn, OUTPUT);
digitalWrite(SelBtn,0);

analogWrite (AnalogOut, 255); //максимальный сигнал
delay (3500); //задержка 3.5 секунды

analogWrite (AnalogOut, BtnLevel(SelBtn));tone(SoundOut, 400, 200);
delay (200);
tone(SoundOut, 500, 200);
delay (200);
tone(SoundOut, 600, 600);
}
void loop()
{
ScanBtns();
TuneLevel();
delay(10);
}
void ScanBtns()
{
for (int i=14; i <= 19; i++)
ScanBtn(i);
}
void ScanBtn(int ScanPin)
{
if (SelBtn != ScanPin)
{
pinMode(ScanPin, INPUT);
digitalWrite(ScanPin,HIGH);
if (digitalRead(ScanPin)==0)
{
SelBtn = ScanPin;
unsetOther(ScanPin);
tone(SoundOut, 600, 150);
while (digitalRead(ScanPin)==0); // hold scaning until relise button
pinMode(ScanPin, OUTPUT);
digitalWrite(ScanPin,LOW);
}
}
}
void unsetOther(int excludePin)
{
for (int i=14; i <= 19; i++)
{
if (i != excludePin)
pinMode(i, INPUT);
digitalWrite(i,HIGH);
}
analogWrite (AnalogOut, BtnLevel(excludePin));
Serial.println(BtnLevel(excludePin));
}
void reset_eprom()
{
EEPROM.write(1, 124); //mark eeprom inited
EEPROM.write(14, 0);
EEPROM.write(15, 84);
EEPROM.write(16, 127);
EEPROM.write(17, 160);
EEPROM.write(18, 190);
EEPROM.write(19, 255);
}
byte BtnLevel(int pin)
{
return EEPROM.read(pin);
}
void TuneLevel()
{
byte newlevel = 0;
if ( digitalRead(9) == LOW)
{
newlevel = constrain(BtnLevel(SelBtn) - 1 ,0,255);
EEPROM.write(SelBtn, newlevel);
showpin(newlevel);
}
if ( digitalRead(8) == LOW)
{
newlevel = constrain(BtnLevel(SelBtn) + 1 ,0,255);
showpin(newlevel);
}
}
void showpin(byte newlevel)
{
EEPROM.write(SelBtn, newlevel);
analogWrite (AnalogOut, newlevel);
Serial.println(newlevel);
if (newlevel >1 && newlevel < 254 )
digitalWrite(SelBtn,HIGH);
delay(200);
digitalWrite(SelBtn,LOW);
}

На этом все. Надеюсь кому-нибудь будет полезно.

  • 9725
Comments
NARAJANA

Проделана большая работа, респект.
Тоже пользуюсь подобным переключателем, только на аппе FlySky9x. Чрезвычайно удобная вещь. До него пробовал ставить галетный переключатель на шесть позиций, но переключатель в разы удобнее.

magsilver

Спасибо, класс!
Вопрос - если Нова тот же Чирсон, на ней тоже можно так ?

Nivel

Сделать можно на чем угодно, где есть невостребованные крутилки. Тут вопрос был только в “неадекватном” поведении каналов крутилок на Cheerson’е. Абсолютно точно это было сделано производителем специально, преследовались какие-то цели для управления подвесом, но мы то используем эти каналы не по их значальному предназначению, и нам эта багофича мешала. Статья посвящена тому как это обойти. Если у Новы нет такого поведения каналов крутилок, то и обходить нечего, можно воспользоваться первоначальным кодом от Алексея Козина.

gosha57

Спасибо ! 😃

gosha57

Александр, а если вместо крутилки использовать “слегка усовершенствованный” штатным трёхпозиционником галетник ? Не так удобно, но с разбега в электронике не разберусь, хотя как паять ещё не забыл. Суть :

  1. Старт в “левом по схеме - ручном” положении.
  2. Среднее положение трёх… - удержание, пока думаю и спокойно выбираю галетником подходящий случаю “фоторежим”, например - полёт по кругу.
  3. Перехожу на “правое” по схеме положение штатного трёхпозиционника с уже заранее выбранного галетником и резисторным делителем режимом.
    Таким образом, будет возможность переключать любой режим через “удержание”, давая возможность новичку “не спеша обдумать” и не промахнуться, а то я уже все ноги переломал при посадке, включая у земли “возврат домой”, на что НОВА подпрыгивает -))
    rcopen.com/files/544fce829970730077692d79
    Рисовальщик я не очень… Как думаете - будет работать такая схема ?
    Спасибо.
Nivel

Так будет, почему бы нет? Только на шестипозиционнике один резистор со стороны GND лишний, но, как бы сказать, это нетехнологично. Во-первых, ушли от двух тумблеров, пришли к двум галетникам. Да, чуть более наглядно, но все-равно скучно. ))) Во-вторых, прямого доступа к выбранному режиму мы все-равно не получаем: последовательный перебор либо по трехпозиционному, либо по шестипозиционному переключателю. Ну а в-третьих, механические контакты подвержены окислению, дребезгу и прочим бякам, поэтому работать будет, но насколько удобно и безотказно - вопрос.
UPD. Насчет штатного переключателя, если его не отключать от схемы и не подключать вместо крутилки, ничего не скажу. Работу их алгоритма я не изучал, может и прокатит. Все, что я написал выше, относится к тому, как если бы мы использовали галетные переключатели, подключенные вместо одной из крутилок без использования схемы Алексея Козина.

gosha57

Спасибо, Александр - надо ещё почитать-подумать.

Nivel

И, кстати, про использование штатного трехпозиционного переключателя. Для переключения режимов мне он теперь не нужен, но ему тоже применение нашлось. У меня он теперь используется для переключения экранов minimOSD.

gosha57

В видео

маленькая платка - может в пульт НОВЫ поместиться - она уже с прошивкой (а то из меня прошивальщик…) ? Прямой ссылки на приобретение или сайт не нашёл. И ещё : количество (6 шт.) “закреплённых режимов” определено версией программы МР ?
Спасибо .

Nivel

В пульт влезет, там места хоть пляши. Приобрести такую плату можно тут.
Шесть полетных режимов определено самой мишн планер, да.

gosha57

Не удержался - заказал платку, СПАСИБО за ссылку! 😒
-…вместо переменного резистора AUX1. В приемнике тоже необходимо произвести небольшую переделку. Провод, идущий от 5-го канал приемника на контроллер, отключаем от приемника и подключаем его на соседний шестой канал приемника, ну или на седьмой канал, если Вы будете использовать AUX2-
Александр, никак не возьму в толк :
с целью оставить для 3-х осевого подвеса обе крутилки, возможно ли подключить этот переключатель ВМЕСТО обоихТУМБЛЕРОВ ? Они ведь тоже посредством магазина сопротивлений отдают управляющее калиброванное напряжение на ПЯТЫЙ канал передатчика (и , соответственно приёмника) ? Или там какой-то другой принцип “микширования”. ? 😃
Тогда ведь и переподключать каналы не надо? Надо только найти “крайние точки” и обрезать одну от "+"са, а тот проводок, что "идёт на 5-й канал - будет “стрелкой-движком” воображаемого потенциометра. Ну и “земля”.
К этим трём точкам (-,+, и "стрелка) и подклЮчиться электронный 6-ти позиционник…
Ну, очень не хочется ошибиться в “простых” вещах. 😵
Спасибо !

Nivel

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

gosha57

…По сути внутри аппаратуры уже встроен такой переключатель, как мы обсуждаем, и у нас нет возможности аналогового управления им, только дискретное…
 Получается, что если дефолтные значения частот, закреплённых за каждым полётным режимом при “тумблерном переключении” режимов в МП на - краях выделенных диапазонов,
то выставить их в “серединку” для избежания “ложняка” путём подбора неких резисторов - бесполезно ?
А в 6-ти кнопочном переключателе тоже нет такой “возможности подстройки” каждого канала - вдруг на краю окажется и будет перескакивать на соседний режим например, при просадках в АПе зимой ? Только кодом ?

Nivel

То ли я Вас не понимаю, то ли Вы действительно не понимаете разницу между понятиями дискретный и аналоговый сигнал. Попробую объяснить, то как я вижу ситуацию по Вашей проблеме, но позвольте позанудствовать. Без претензии на грамотность, просто как это вижу я, человек занимающийся системами автоматизации. Сначала по определению понятий. Дискретный сигнал имеет только два состояния “о” и “1”, условно говоря “выключено” и “включено”. Аналоговый же сигнал может иметь любое значение в пределах своей шкалы, то есть позволяет производить плавную регулировку. В нашем деле оба этих варианта причудливым образом переплетаются и конвертируются один в другой, возможно поэтому Вы сбиты с толку на каком этапе какой из сигналов работает. Вот смотрите, начнем с конца. Каждый из полетных режимов в полетном контроллере имеет только два значения: включен или выключен. Фактически это дискретные состояния и управлять ими было бы можно, если бы у нашей аппаратуры управления было шесть дискретных каналов. (Это очень условно, на самом деле хватило бы трех, да даже одного, но для простоты картины пусть будет шесть.) Но у нас, во-первых, нет шести дискретных каналов, а есть один аналоговый, а во-вторых, нам не требуется включение одновременно более одного режима, что позволяет передавать контроллеру сигнал о выборе одного из полетных режимов по одному аналоговому каналу. Как это происходит. В этом аналоговом канале передаются импульсы определенной частоты, но изменяемой ширины: наименьшая ширина импульса соответствует низу шкалы аналогового сигнала, а наибольшая ширина импульса - верху шкалы. В полетном контроллере каждому из полетных режимов присваивается не просто определенная ширина этого импульса, а диапазон ширн: от стольки-то до стольки-то миллисекунд будет один полетный режим, а от стольки-то до стольки-то другой. Теперь взглянем на аппаратуру управления. Она у нас семиканальная, то есть мозги аппаратуры имеют семь аналоговых в ы ходов на радиопередатчик, именно мозги аппаратуры формируют ширины импульсов для каждого из каналов, а формируют они их на основании состояния своих входов. Входа тоже бывают аналоговые и дискретные. Например, все стики и крутилки это аналоговые каналы, но интерфейс этого аналогового сигнала уже другой: на выходе с потенциометра стика (и соответственно на входе в мозги) мы имеем сигнал напряжение 0-3.3 В, а мозги этот сигнал конвертируют в соответствующую длину импульса. Что мы имеем используя переключатель Алексея Козина подключенный вместо одной из крутилок? Выбор и фиксация одной из шести кнопок это дискретная операция; в памяти переключателя каждой кнопке присвоено определенное выходное напряжение, то есть переключатель конвертирует это дискретное состояние в сигнал напряжение по шкале от нуля до напряжения питания. Программное обеспечение переключателя позволяет присвоить каждой кнопке свое выходное напряжение (это ответ на Ваш второй вопрос); далее мозги аппаратуры конвертируют этот уровень напряжения на своем входе в определенную ширину импульса, то есть тоже в аналоговый сигнал, но другого принципа; контроллер принимает этот сигнал, смотрит на ширину импульса и включает тот полетный режим в диапазон которого попадает данная ширина. Ширина импульса может колебаться в определенных пределах, но если она не превышает привязанного к режиму диапазона режим не переключится. Теперь о штатных тумблерах аппаратуры управления. Я, как уже говорил, с ними не разбирался. Есть, конечно определенная вероятность того, что они переключают определенные наборы сопротивлений как Вы и думаете, а мозги получают информацию о их состоянии с аналогового входа, как в случае со стиками и крутилками, но где-то на подсознательном уровне я считаю, что это не так. Это было бы неправильно, нетехнологично и вобще, так никто не делает в наш век цифровых сигналов. Я считаю, что мозги аппаратуры управления принимают сигнал о положении тумблеров на свои дискретные входа, а конкретно на три дискретных входа. Внутри мозгов зашит алгоритм какую ширину импульса выдавать на пятый аналоговый выход в зависимости от положения этих дискретных входов. Вот и все. У дискретного сигнала нет понятия “серединка”, он либо в “коле”, либо в “нуле”. Куда вы собрались подавать изменяемое напряжение?
Это мои мысли. Но Вы всегда можете покопаться самостоятельно и вдруг там действительно аналоговый сигнал с переключением уровнем напряжения. Посмотрите.

gosha57

Спасибо, Александр ! Много полезной информации. Надо подумать. 😃

gosha57

От теории - к практике ! И всё чЮдесатее и чюдесатее 😃.
1.В приёмнике Новы (сх-20) поменял местами 5-й и 7-й каналы для испоЛзования “правой” крутилки в качестве канала переключения режимов.
2. Родная крутилка при калибровке в МР показывает диапазон 1500 - 2000, что кака-то странно (ведь должно быть 1000-2000 ?! ).
3. Подключённый переключатель изменяет … от 1002 до 1087 😃, с неким шагом и индикацией переключения “будущих” режимов. Попытка подстроить каналы доп кнопками безуспешна - работает только в этом маленьком диапазоне.
Подскажите, пожалуйста … что не так?

Nivel

Для начала отделим мух от котлет. Если восстановить подключения в приемнике, то есть вход пятого канала на контроллере вернуть на выход пятого канала на приемнике и пощелкать тумблерами на аппаратуре, то какой максимальный диапазон по пятому каналу мы видим в MP?

gosha57

Выл в норме (надысь калибровал в МР, наблюдая переключение тумблерами полётных режимов), однако сегодня попробую восстановить - может кто “покинул нас”, пока я три провода перепаивал или непропай какой 😦

gosha57

При питании “от резистора” 3,4 В , платка на выходе “S” выдаёт от 0,0 В до 0,34 ступенчато 😃 - сниму видео. Должно ведь быть от 0 - 3,4В ?

Nivel
gosha57;bt131523

Должно ведь быть от 0 - 3,4В ?

Про нижнюю границу не помню, но скорее всего, да, в районе нуля, а верхняя - напряжение питания, то есть 3,3 В. А подстроечные кнопки на переключателе есть? Как меняется напряжение если их нажимать?

gosha57

Изменяется по-правильному - ступенчато (с индикацией каждой), но в пределах 0,0 - 0,34В. Если бы я накосячил (при пайке, например трёх проводов), то не работало вообще бы, а тут глюково - какое-то.
Подстроечные (Д8 и Д9) работают (с морганием , как полагается) но … в “том же” диапазоне - не более 0,34В 😢 Шайтан мене арба !!!

Nivel

Тогда отключаем провод, который раньше шел на ползунок резистора, то есть тот, который, как я понимаю, у Вас S и меряем напряжение на висящем в воздухе выходе переключателя (естественно по отношению к минусу питания). Если и в таком случае будет всего до 0,34, то я бы для начала вывесил 14-ю ногу контроллера и посмотрел осциллографом что на ней творится, но Вам предлагаю обратиться к изготовителю, возможно брак. Это, конечно, если подключения произведены правильно.

gosha57

Дык на видео - “чистый” экспери-мент (с оторванной S) Вот только осциллографа у меня нет… И зрения для 14 й ноги. Мож непропай где… Надо глазастых спецов искать.
… Не думал, что моё “коптероводство” в три провода и две колодки упрётся ! 😅

Nivel

Ну нечему там ломаться. Проверьте правильность монтажа и соответствие схеме. Особо посмотрите на резисторы и конденсаторы по выходу. В порядке бреда конечно, но вдруг монтажник перепутал и поменял их местами… Проверьте наличие питающего напряжения на контроллере… Вообщем, это все гадание на кофейной гуще. Надо разбираться держа в руках. Обратитесь к производителю, либо найдите специалиста в своем окружении. Накрайняк, если совсем без вариантов, мне присылайте, посмотрю.

gosha57

Спасибо, Александр ! Эта овца просто не знает, с кем связалась ! Я предварительно договорился с Алексеем - он то её точно победит. Просто несложная с точки зрения монтажа (для меня любителя) и оч нужная модификация, упёрлась в странную непредсказуху на ровном месте. Три провода ! (мать…мать…мать - привычно откликнулось Эхо…)
А покупать (толком не разбираясь) Таранис при такой…нефти - ничто не поднимается - ни рука ни курс. Тем более шестикнопочного переключателя режимов там (по слухам) тоже НЕТ !! А тумблеров мне и в Нове хватило - все ноги переломал при посадке… 😁
Спасибо ещё раз большое. Будем биться дальше.
ЗЫ Подскажите , пожалуйста - какую пищалку на Али-экспрессе докупить, чтобы озвучить переключатель ? (Ужо его-то я впаять сумею 😒) …

gosha57

Старые светодиоды - новые кнопки :

www.youtube.com/edit?o=U&video_id=2ECfO9EbRDc&feat…

dokl36

Вывод: на аппе без крутилки, или штатного 6-позиционника, эта приблуда работать путем простой подпайки не будет, так?

Nivel

Я бы сказал: эта приблуда будет работать вместо штатной крутилки путем простой подпайки. Все остальное - танцы с бубном.

dokl36
Nivel;bt131798

Я бы сказал: эта приблуда будет работать вместо штатной крутилки путем простой подпайки. Все остальное - танцы с бубном.

Но если крутилки на пульте нет - эти танцы, получается, обязательно будут и простой подпайкой не обойдется?. Вот я про что.

gosha57

Ур-АА ! Сегодня настроился и выставил-назначил режимы кнопкам ! Кто не спрятался…
Спасибо БОЛЬШОЕ !

gosha57

Чем сердце успокоилось :

Чего и всем желаю !

SkinneR

Александр, спасибо за интересную и подробную статью. Очень ценная информация.
В свою очередь, хочу поделиться корректным решением проблемы с диапазоном “крутилки” вместо которой вы подключили сей переключатель.

Сталкивался с аналогичной проблемой, когда пытался управлять наклоном камеры. Оказалось, что пока не отработаешь предельные значения, по-сути, на этом канале было всего 2 значения - “0” до 50% и “1” после, что весьма наглядно отображается в МП.
Благо, оказалось, что эта проблема устраняется путем калибровки аппы:

П.с. Естественно, в процессе калибровки необходимо поработать и самими “крутилками”, а не только стиками, как в видео.