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

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 вход ардуино, но стабильность измерений будет зависеть от стабильности этого напряжения.

lavalava
schs:

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

Нууу Выы вообщеее МЕГА человек!!! СПАСИБО ОГРОМНОЕ, прям праздник сегодня у меня!
Только теперь бы ума дать, собрать и настроить.
Резисторы особые какие то надо, прецизионные или любые? Тип SMD 0805 подойдет ли?
Перед каждым полетом надо производить такую настройку и калибровку?

lavalava

Вопросы чайника:
U1- это что? Ардуина? Какую именно покупать?
“Настройка осуществляется через консоль (115200 8n1)” - это через HyperTerminal что ли? А что куда подключить то, к компу, через что и как?

schs
lavalava:

Только теперь бы ума дать, собрать и настроить.

При имении компонентов в полчаса уложитесь.

lavalava:

Резисторы особые какие то надо, прецизионные или любые? Тип SMD 0805 подойдет ли?

Любые. Я делал на резисторах с проволочными выводами, без платы их удобнее паять.

lavalava:

Перед каждым полетом надо производить такую настройку и калибровку?

Нет, одноразово. Большую точность показаний можно получить при калибровке не полностью заряженной батареи, т.е. при обчном рабочем напряжении.

Newbie74

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

lavalava:

“Настройка осуществляется через консоль (115200 8n1)” - это через HyperTerminal что ли? А что куда подключить то, к компу, через что и как?

Думаю консоль используется Arduino ID, к компу подключается через USB и FTDI адаптер. Если использовать Arduino Nano, то без адаптера. Но размер и вес будет больше.
Schs поправит, если где-то я ошибся.

Маркс

огромный респект автору.
если автор позволит, пару вопросов и комментариев.

schs:

Лучше питать от бортового напряжения,

тут надо иметь в виду, какое напряжение установлено на ВЕС регулятора.
про мини питается от 7-9В, это если не иметь ввиду прямое подключение к шине 5В.
если ВЕС 7,4В тогда все будет ок, меньше или больше, могут возникнуть трудности.
Ардуину Нано можно питать напрямую от 3-4S АК.
но она немного тяжелее, а с другой стороны она без танцев подключается к компу.
я выбрал НАНО V3

первый вопрос автору.
может стоило разделить скетчи калибровки и непосредственно измерения.
тем более что калибровка проводится один раз, а результаты хранятся в энерго-независимой памяти.
это все таки позволит немного сэкономить память.
да и вопрос необходимости хранения в ЕПРОМ данных которые не меняются?
можно на этапе калибровки получив их в терминале, вбить в тело в качестве констант ?
все таки начинающим их будет проще понять ))) (это я сейчас про себя в первую очередь)

второй вопрос касается источника опорного напряжения для АЦП.
Вы используете внутренний источник опорного напряжения.
но судя по отзывам, он не отличается большой стабильностью.
(могу ошибаться, я только начал знакомство с микроконтроллерами)
может стоит прикрутить внешний источник опорного напряжения ?

schs
lavalava:

U1- это что? Ардуина? Какую именно покупать?

Да. Pro mini, самая компактная. 5 вольтовую версию. Для заливки прошивки нужен FTDI адаптер.
Можно nano, она покрупней, но уже имеет USB, адаптер не нужен.

lavalava:

Настройка осуществляется через консоль (115200 8n1)" - это через HyperTerminal что ли? А что куда подключить то, к компу, через что и как?

Самый простой вариант из Arduino IDE, но можно использовать любой терминал, мне нравится putty. HyperTerminal тоже можно.
Для pro mini для подключения к компьютеру нужен FTDI адаптер

Маркс:

тут надо иметь в виду, какое напряжение установлено на ВЕС регулятора.

Я имел в виду бортовую батарею. Если 2S-3S, лучше питать непосредственно с неё.
При питании от бортового BEC на 5В, при подаче этого напряжения в обход стабилизатора на arduino качество измерения напряжения будет зависить от стабильности этого напряжения.

Маркс:

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

Зачем? Память для программы используется только наполовину. Код не оптимизирован, причесать его - ещё на треть уменьшится. Для чего экономить память?

Маркс:

да и вопрос необходимости хранения в ЕПРОМ данных которые не меняются?

Мне показалось так удобнее.

Маркс:

можно на этапе калибровки получив их в терминале, вбить в тело в качестве констант ? все таки начинающим их будет проще понять ))) (это я сейчас про себя в первую очередь)

Да, там в шапке дефолтовые значения забиты. Можете в коде закоментировать чтение EEPROM, будут подгружатся они. Но мне кажется это существенно сложнее в использовании.

Маркс:

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

Можно конечно. Если есть желание - можно поставить высокоточный стабилизатор и использовать его в качестве опорного. Для топикстартера это будет существенным усложнением, как мне кажется. Попробуйте, напишите, на сколько будут различатся показания.

Маркс

“спасибки” кончились ))

schs:

Если 2S-3S, лучше питать непосредственно с неё.

все таки 12,6 (3S) для мини будет много, для нано в самый раз,
с другой стороны, канальный шлейф с приемника все равно идет.
и если питание борта больше 7В, то вполне можно использовать красный провод из шлейфа.
а за остальные ответы спасибо еще раз