Помогите со схемой или готовым решением электронного тумблера

Hight

Я тут посмотрел на свою схему, работать она будет некорректно, так что делайте на МК ) ну или можно в мою схему ещё пару дифференциальных усилителей на ОУ воткнуть…

только в меге нету ЦАП, но его в принципе сделать не сложно на обычной r-2r матрице, правда его придется калибровать желательно автоматически

Ну и стоит ардуина далеко не 112 руб на радиорынке, а с ибея идет месяц.
тут достаточно будет mega48 с минимальной обвязкой, что будет явно меньше стоить 112р даже в РФ )

а ещё потребуется программатор

schs
Hight:

только в меге нету ЦАП

В чисто аппаратном виде нет. Есть PWM выхода, которые для этой цели вполне подходят, при небольшой частоте переключения измеряемых напряжений.
Можно и резистивный конечно сделать.

Hight:

Ну и стоит ардуина далеко не 112 руб на радиорынке, а с ибея идет месяц.

У нас радиорынка нет, поэтому почти всё закупается в интернет магазинах. Несколько штук для экспериментов лежит, по мере расходования пополняется.

lavalava
schs:

Могу ради интереса прототип собрать и отладить. У себя собрать сами сможете по готовой схеме, залить прошивку и подстроить напряжения?

Думаю да, если будет описание… Готов оплатить расходы на сборку, сумму на запчасти можно в ЛС!!

schs
lavalava:

Думаю да, если будет описание… Готов оплатить расходы на сборку, сумму на запчасти можно в ЛС!!

Ничего оплачивать не нужно, я соберу, проверю, дам схему и прошивку. Для себя соберёте сами.
Батарея на сколько банок? Какая OSD/телеметрия используется(входное напряжение)?
Кратко ТЗ?
Как я это вижу:
Меряем напряжение на банках и с секундным интервалом выдаём на выход по кругу.

  1. при PWM ~1000 или отсутствии - выдаём напряжение минимальной банки,
  2. при PWM ~1500 - все банки по кругу,
  3. при PWM ~2000- ?
    При подключении к последовательному порту можно подстроить измеряемые напряжения под действительные, измеренные нормальным прибором.

Т.к. процессор будет почти проставивать можно потом прикрутить другие плюшки, бано и.т.п.

Ranger_moscow
schs:

Ничего оплачивать не нужно, я соберу, проверю, дам схему и прошивку. Для себя соберёте сами.
Меряем напряжение на банках и с секундным интервалом выдаём на выход по кругу.

  1. при PWM ~1000 или отсутствии - выдаём напряжение минимальной банки,
  2. при PWM ~1500 - все банки по кругу,
  3. при PWM ~2000- ?
    … можно потом прикрутить другие плюшки, бано и.т.п.

Решение хорошее, но пару центов от меня:

  1. Для делителей (а без них не обойтись никак) понадобятся прецизионные резисторы. Или - несколько обычных для каждой банки, с возможностью подбора. Или - обычные делители, но потом в скетче менять по факту коэффициенты коррекции ошибок делителей. Все три варианта - как-то сложно реализуемы для неопытных в электронике и программировании ардуино.
  2. А зачем вообще так сложно, переключатель пульта, банки по кругу, на выход - аналоговое напряжение? ИМХО, в полете смотреть на циклически меняющиеся показания по банкам, плюс сравнивать их в уме - не есть правильно… почему не загнать все в скетч, с единым условием - "если максимальная разница между банками 0,2V (или сколько?), то выдать цифровой аларм на выход… в ту же телеметрию… или на световой маяк… или еще куда. Вопрос-то не в абсолютном значении по каждой банке, а именно в критичности разницы между ними.
  3. А БАНО ардуинкой очень хорошо управляются, проверено… у меня на борту стоят. 😃
schs
Ranger_moscow:

Для делителей (а без них не обойтись никак) понадобятся прецизионные резисторы.

Не нужны. Программная подстройка через консоль(однократная).

Ranger_moscow:

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

Мне так же кажется что это излишне, но наверное такой функционал это кому то нужен.

Ranger_moscow:

БАНО ардуинкой очень хорошо управляются, проверено… у меня на борту стоят. 😃

Аналогично.

Ranger_moscow

Ну собственно по первому пункту я это же и имел в виду 😃

  • обычные делители, но потом в скетче менять по факту коэффициенты коррекции ошибок делителей.
lavalava

Акумы у меня и 3S и 4S, в зависимости от модели, но и на 5-6S планирую “садитья”, по этому если есть возможность расширения до 6S будет супер круто! Если это сильно усложнит задачу, то до 4S тогда, а в случае подключения 3S, что бы тоже работало…
OSD - разные, на данный момент, на мелком квадрике пользуюсь обычной и самой дешевой, легкой banggood.com/RCD-3060-OS-Mini-OSD-FPV-Module-p-763…
В планах поставить banggood.com/Tarot-TL300L-OSD-Module-Image-Overlay…, а так же на другой коптер goodluckbuy.com/mini-s-osd-osd-module-with-flight-… либо DJI OSD (так же использую её сейчас, но хочу убрать).
Входное напряжение у первой самой дешевой написано от 4.5-12В. Второй вход (для второго акума) она у меня и 3.7В измеряет и меньше!
По ТЗ, как я его себе понимаю, описал на первой страничке… Но исходя из своей неграмотности в электронике мне сложно представить как это все организовать и как будет выглядеть. Самое главное, НЕ БУДИТ ЛИ КЗ, при переключении после первой банки??? У меня только одна мысль была, что бы входы переключались последовательно, подавая разное напряжение от разных банок на мой второй вход ОСД, я бы видел мелькающие цифры… да сложно уследить и анализировать такой вид информации, оно все мелькает, это кошмар, можно прозевать, но хоть так!!!
Может тогда не делать мелькание, а выводить значение на постоянку самой слабой банки, а в случае расхождения между банками больше допустим 0.3В, заставлять её мелькать, давая пилоту понять, что на борту объявился нежданчик и стоит опасаться?? Как Вам такой вариант?

Идеальный вариант, НО его мы никак не сделаем, т.к. вход на ОСД свободный для измерения ТОЛЬКО ОДИН (можно конечно эти дешевые ОСД последовательно подключить, но это будет огород) - если будут на экране все банки гореть, не мелькая, тогда проще анализировать их состояние, а если еще при расхождении допустим на 0.3В эта банка начинала бы мигать, это вообще очень круто! Либо, как предложил Андрей, тоже не плохо, цитирую "почему не загнать все в скетч, с единым условием - “если максимальная разница между банками 0,2V (или сколько?), то выдать цифровой аларм на выход… в ту же телеметрию… Вопрос-то не в абсолютном значении по каждой банке, а именно в критичности разницы между ними…”
Но и просто свечения всех банок одновременно и мигание при расхождении на 0.5В очень было бы шикарно! Только не представляю как это сделать на ОСД с одним входом и как это отобразится, в каком месте экрана…
Любой вариант лучше чем ничего и меня устроит, т.к. сам я ничерта все равно не спаяю, без схемы, хотя бы небольшого описания и прошивки.

Про " при PWM ~1000" простите не понял, что это?

schs
lavalava:

Самое главное, НЕ БУДИТ ЛИ КЗ, при переключении после первой банки!?!?!?

КЗ невозможно. Переключений вообще не будет, за ненадобностью, замеряются напряжения без коммутаций, так же ка это делают модельные пищалки\вольтметры, цепляемые на балансирный разъём.

lavalava:

подавая разное напряжение от разных банок на мой второй вход ОСД, я бы видел мелькающие цифры…

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

lavalava:

Может тогда не делать мелькание, а выводить значение на постоянку самой слабой банки, а в случае расхождения между банками больше допустим 0.3В, заставлять её мелькать, давая пилоту понять, что на борту объявился нежданчик и стоит опасаться?? Как Вам такой вариант?

Мне кажется что такой вариант более удобный для восприятия.

lavalava:

Но и просто свечения всех банок одновременно и мигание при расхождении на 0.5В очень было бы шикарно!

Тут нужна OSD которая _уже_ умеет отображать побаночно. Для неё обсуждаемая конструкция не нужна.
Реально дописать подобный функционал для minimosd.

lavalava:

Про " при PWM ~1000" простите не понял, что это?

Можно оперативно, через свободный канал с приёмника, переключать режимы. Варианты режимов я предложил.

lavalava
schs:

КЗ невозможно. Переключений вообще не будет, за ненадобностью, замеряются напряжения без коммутаций, так же ка это делают модельные пищалки\вольтметры, цепляемые на балансирный разъём.

Очень хорошо, значит с надежностью все хорошо! Тут вопрос, на выход устройства что будет поступать, эквивалентная величина измеренного напряжения? Т.е. по результату измерения мы имеем 3.5В на банку, что в этот момент подается на вход ОСД - 3.5В?

schs:

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

Нормально, либо ноль, а лучше дефис…

schs:

Цитата Сообщение от lavalava Посмотреть сообщение Может тогда не делать мелькание, а выводить значение на постоянку самой слабой банки, а в случае расхождения между банками больше допустим 0.3В, заставлять её мелькать, давая пилоту понять, что на борту объявился нежданчик и стоит опасаться?? Как Вам такой вариант?
Мне кажется что такой вариант более удобный для восприятия.

Идеальный вариант!!! Другого и не надо, отлично! Жаль, что ОСД не поволяет видеть напряжение до сотых, а только в десятых долях, но это уже мелочь… И еще, САМО ОСД кстати может приврать с напряжением, т.к. моё дешевенькое ОСД например врет на 0.1В смело и как его калибровать не понятно, но это тоже мелочь в принципе, ОСД поменять и все!

schs:

Тут нужна OSD которая _уже_ умеет отображать побаночно. Для неё обсуждаемая конструкция не нужна. Реально дописать подобный функционал для minimosd.

А входов у минимОСД достаточно для измерения, если дописать функционал?

schs:

Сообщение от lavalava Посмотреть сообщение Про " при PWM ~1000" простите не понял, что это?
Можно оперативно, через свободный канал с приёмника, переключать режимы. Варианты режимов я предложил.

А вот это вообще придел мечтаний будет! 😃
Если еще и режимы можно придумать, получится крутой девайс!
Тогда вот как примерно:

  1. при PWM ~1000 или отсутствии - выводить значение на постоянку самой слабой банки, а в случае расхождения между банками больше допустим 0.3В, заставлять значение БЫСТРО мелькать (например 2-3 раза в секунду, глянуть как лучше для восприятия, что б не прозевать или мелькать без пустого пробела а вместо пробела пусть будет знак восклицания “!”);
  2. при PWM ~1500 - демонстрация всех банок по кругу, банки чередуются знаком “-”, интервал 1сек;
  3. при PWM ~2000 - надо подумать
lavalava

А ничего и не придумывается больше! 😃
Если будут 2 таких режима, будет замечательно!!!

А, кстати, я стормозил, знак “-” и “!” там никак не выведешь, только цифры… Тогда вместо “-” выводим “0”. А вместо “!” - просто пробел, пусто, если можно.

Можно конечно добавить типа такого:
3) при PWM ~2000 - выводится просто среднее значение всех банок, тоже не плохо.
Может кто то предложит другой режим?
По первому режиму, не совсем уверен при каком расхождении лучше всего выводить аларм, 0.1В или больше/меньше!? Тут надо подумать… Может сделать несколько вариантов прошивок, с 0.1В, 0.05В…

О, нашел совершенно случайно!!! Смотрите видео, с 0:45… все уже было сделано оказывается в одной из ОСД:

Смалтим!!! Как и говорилось, горят все банки, при разнице между банками, просевшая моргает!

Newbie74

Schs, просветите как вы планируете с помощью ШИМ заставить OSD понять напряжение? Там же стоит такой же АЦП, который скорее всего будет показывать бред при поступлении на него сигнала ШИМ. Алгоритм работы, предложенный вами, в целом самый правильный. Но проблема выдачи с атмеги плавно регулируемого напряжения решается очень непросто.

schs
Newbie74:

просветите как вы планируете с помощью ШИМ заставить OSD понять напряжение?

Так же, как приёмники выдают RSSI. Цепочка - резистор последовательно, после него конденсатор на землю. Т.е. усреднение.
Неудобства такого варианта в том что нельзя часто резко менять значения, будет задержка.
Или как уже предложили - резистивный ЦАП, благо цифровых выходов хватает.

P.S. программу для измерения отлаживаю, процесс пошёл. Пока только в терминал выдаёт:
c1:750/375.0000000000
c2:748/375.2440185546
c3:625/376.2500000000
c4:630/376.8500366210

Маркс

Буквально на днях, для тренировки “мозга”, решил замутить нечто типа простенькой телеметрии на основе Ардуины Нано V3
В том числе в проекте передача “на землю” по каналу 2,4/WiFi информации о по баночном напряжении бортовой батарейки.
Благо у 328 меги 8 аналоговых входов, два уйдут на i2c а остальные 6 на измерения напряжения 6 банок.
В принципе ничто не мешает такой измеритель прикрутить к ОСД, а еще есть готовое решение, датчик напряжения, у тараниса, вот бы посмотреть в протокол.

schs

Сделал. Краткое описание, исходник, схема положил сюда.
Пожелания и критика приветствуется.

blade
schs:

приветствуется.

Посмотрел бы, если бы не :Firefox не может найти сервер schs.apatity.ru.
?

ItBoss

Супер! Пока лично не собирал, но идея класс

schs
blade:

Посмотрел бы, если бы не :Firefox не может найти сервер schs.apatity.ru.

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

Newbie74

Ардуина с APM будет питаться с +5V? Вход RAW же со встроенным линейным регулятором, он будет на плату меньше чем 5В пропускать? Это на стабильности замеров не скажется? Я к тому, что если на входе гарантированные 5В, может питаться лучше через VCC?

schs
Newbie74:

Ардуина с APM будет питаться с +5V?

Лучше питать от бортового напряжения, если батарея до 3S. Можно питать от +5, подав его на VCC вход ардуино, но стабильность измерений будет зависеть от стабильности этого напряжения.