Включение/выключене с 1 канала нескольких нагрузок. Возможно-ли?
RC_Switch_2313_3pos
Имеет максимум 8 выходов и 1 выход “потеря сигнала”
Работает с крутилкой, с простым и с 3-х позиционным тумблером.
Перед работой произвести калибровку:
Крутилкой: поставить крутилку в максимум и включить питание (вставить устройство в приёмник). Начнёт мигать диод “нет сигнала”. Перевести крутилку несколько раз в крайние положения.
Весь диапазон поделится на 9 частей: 1-ничего не горит, 2-горит диод D1, 3- D3, и т.д.
Тумблером: поставить тумбрер в максимум и включить питание (вставить устройство в приёмник). Начнёт мигать диод “нет сигнала”.переключить несколько раз.
При работе с простым тумблером: при каждом включении тумблера будет последовательно загораться диоды циклически: ничего не горит, D1, D2, D3 …D8, ничего не горит, D1…
При работе с 3-х позиционным тумблером: центр= 0, max= +100, min= -100
переключение: c центра в max и возврат в центр - переключение канала “вперёд”.
переключение: c центра в min и возврат в центр - переключение канала “назад”.
переключение: c центра в max и удержание там больше 3сек - включение всех каналов (далее их только возможно все выключить).
переключение: c центра в min и удержание там больше 3сек - выключение всех каналов.
Перемычки.
JP1 - нет - выход прямой, стоит - выход инверсный
JP2 - (обычный тумблер) нет - при выключении тумблера состояние выхода не изменяется, стоит - при выключении тумблера выход сбрасывается, в этом режиме при циклическом переключении нет отдельной позиции “ничего не горит” (когда цикл доходит до D8, следующий будет D1)
JP2 - (3-х поз. тумблер) нет - при включении следующего канала, предыдущий гаснет.
стоит - при включении следующего канала, предыдущий остаётся гореть.(при переключении “вперёд”). При переключении “назад” - предыдущий гаснет.
JP3 JP4 число каналов
нет нет 8
да нет 6
нет да 4
да да 2
JP5 - нет - на выходе крайнее состояние при потере сигнала, стоит - выход сброшен при потере сигнала.
p.s.
При изменении перемычками количества каналов - калибровку надо произвести заново.
Премного благодерен!
время долгого удержания можно бы снизить.
например на 1,5 сек.
немного не понял по пункту
переключение: c центра в max и удержание там больше 3сек - включение всех каналов (далее их только возможно все выключить).
это если я все каналы включу, то далее их нельзя будет последовательно выключить многократным переключением тумблера из 0 в -100?
и вопрос по tiny25
там все просто на 4 канала, мало ли кому пригодится этот же алгоритм, только на 4 канала, без выбора, но с теми же алгоритмами работы.
черт, столько понаписал и что-то сглючило. Попробую повторить…
это если я все каналы включу, то далее их нельзя будет последовательно выключить многократным переключением тумблера из 0 в -100?
Да, это так, при вкл. всех каналов по удержанию +100. Просто логика работы переключения каналов - “назад” зависит от перемычки jp2. И она разная. Я, чтоб не усложнять систему, унифицировал режимы “вкл. всё” и “откл. всё” и выходы из этих режимов в не зависимости от перемычки jp2.
Можно попробовать сделать возможность переключения “назад”, из состояния “вкл. всё” при удержании +100, в зависимости от перемычки. При установленной перемычке, режим “назад” возможен. При отсутствии перемычки, переключение “назад” от состояния “вкл. всё” при удержании +100, невозможно, можно только “выкл. всё” при удержании -100. Только не будет ли это слишком мудрёно.
C Tiny25 что-то не вижу смысла заморачиваться. По стоимости Tiny25 и Tiny2313 примерно равны. Tiny2313, судя по предыдущим постам, более распространён, чем 25. При использовании микросхем в корпусе SOIC разница в весе и размере небольшая. както-так
1,5 сек сейчас сделаю.
ок, насчет вкл все - лучше не заморачиваться, ЕСЛИ:
после того, как сработала команда “вкл все” (1,5 сек в режиме +100) и затем команда “выкл все” (1,5 сек в режиме -100) заново начинается исполнение программы переключения каналов по стандартной схеме, друг за другом.
так как если активировать команду вкл все, а затем лишиться возможности дальнейшего выключения или переключения каналов - нет логики, придется обесточивать систему, чтобы заново можно было поочередно выполнять включение каналов.
проще говоря - лучшее решение такой задачи это:
- При +100 на 1,5 сек срабатывает команда “вкл все”
- При -100 на 1,5 сек срабатывает команда “выкл все”
- При переключении тумблера в крайние положения происходит последовательное включение о отключение каналов соответственно.
Не важно, из какого состояния, например если после команды “вкл все” мы дернем тумблер в +100 (коротко), то все каналы выключатся (первое положение), еще раз в +100 - включается первый канал.
Если после команды “вкл все” дернуть тумблер в -100 (коротко), то останутся включенными 7 из 8 каналов (рассматриваю заранее на 8 каналов схему), а восьмой выключится, еще раз в -100 - остаются гореть 6 каналов…
Туд возможен затык, если вместо переключателя используется крутилка.
с ней вариант такой не проканает.
да, кстати, как выбирается режим для проги крутилка или переключатель??
после того, как сработала команда “вкл все” (1,5 сек в режиме +100) и затем команда “выкл все” (1,5 сек в режиме -100) заново начинается исполнение программы переключения каналов по стандартной схеме, друг за другом.
всё так.
Когда “вкл. всё” в результате удержания - после можно только “выкл. всё”
Когда “выкл. все” - после можно всё. Работа в обычном режиме, как после начального старта, когда всё выключено.
Режим крутилка / простой тумблер / 3-х позиционный тумблер выбирается во время калибровки. Программа по скачкам сигнала, во время калибровки, распознаёт с чем имеет дело и запоминает это в энергонезависимой памяти.
Далее уже идёт работа по соответствующей программе.
Собрал все свои наработки, которые использовал в предыдущих устройствах и сделал такой мега RC-Switch.
RC_Switch_2313_Deluxe
Имеет 8 выходов и 1 выход “потеря сигнала”
Работает с крутилкой, с простым и с 3-х позиционным тумблером.
Эти 8 выходов могут заранее программироваться в комбинации как сделано тут , которые могут переключаться тумблером, или выбираться крутилкой.
Количество возможных комбинаций задаётся перемычками и может быть: 3, 5, 7, 9.
Если сказать по другому, то можно запрограммировать 3, 5, 7 или 9 байт (сколько - зависит от установленых перемычек), которые будут посылаться в выходной порт (8 выходов) с помощью крутилки или переключаться тумблером.
* Крутилка выбирает комбинацию своим положением.
* Простой тумблер, каждым прещёлкиванием из min в max, циклически переключает комбинации в прямом направлении по кругу.
* 3-х позиционный переключатель позволяет переключать комбинации:
- вперёд (каждым прещёлкиванием из центра в max и обратно в центр);
- назад (каждым прещёлкиванием из центра в min и обратно в центр);
- в последнюю комбинацию (прещёлкиванием из центра в max и удержанием там больше 1,5 сек.);
- в первую комбинацию (прещёлкиванием из центра в min и удержанием там больше 1,5 сек.);
Более подробное описание и схема - в архиве.
Наконец-таки добрались руки изготовить данную конструкцию. Моя цель поджигать пиротехнику на самолете, имея 6 каналку, управление тумблером 5 канала “Шасси”. Собирал вариант на Attiny 2313 (6 каналов). Собрал все запустилось с первого раза. Спасибо автору за хороший материал, можно собирать разные устройства. Выкладываю свою общию схему и печатку, может кому-нибудь пригодится.
вот мой вариант печатки для 4х канального свича на тини25, транзисторы irfz46n
Давно сделал, все что-то руки не доходили разместить.
Для схемы на ATtiny25 из 26 поста rcopen.com/forum/f87/topic297998/27
Новые прошивки:
RC_Switch_ATtiny25_v3_0 - (3-и канала + канал потеря сигнала) добавлена поддержка 3-х позиционного переключателя. Переключение каналов вперёд и назад - при переводе переключателя из центра, соответственно, вперёд или назад. Теперь работает с крутилкой, обычным тумблером (переключение циклически в одну сторону) и с 3-х позиционным (переключение в 2-е стороны).
RC_Switch_ATtiny25_v3_0_4ch - вместо канала “потеря сигнала” добавлен ещё 1 канал (всего теперь 4-е канала). Потеря сигнала отображается включением всех каналов. При калибровке мигают все каналы.
RC_Switch_ATtiny25_v3_1_4ch - те же 4-е канала, только изменена логика работы 3-х позиционного переключателя. Появилась возможность быстро перейти на последний канал или сброс всех, при удержании переключателя в крайнем положении больше 2-х секунд (переключение по удержанию). Простое переключение теперь поисходит при возврате тумблера в центральное положение, естественно с удержанием в крайнем положении менее 2-х секунд.
RC_Switch_ATtiny25_v3_1_4ch.rarRC_Switch_ATtiny25_v3_0_4ch.rarRC_Switch_ATtiny25_v3_0.rar
RC_Switch_ATtiny25_v3_1_4ch - была найдена ошибка в программе, при работе с 3-х позиционным тумблером. Исправлено.
RC_Switch_ATtiny25_v3_2_4ch
999 строк кода… сильно . На таких примерах можнош изучать ассемблер. Было бы совсем здорово, если бы автор еще и подробно (понятно, что в коментариях итак все подробно) описал устройство программы и назначение входящих в нее подпрограмм…Это я так (когда, что то есть хочется еще больше), а так спасибо автору.
Вместо ATtiny25 не пойдет ATtiny13?
В местном магазине ни ATtiny25 ни ATtiny45 нет в наличии(((
под этот код - нет. назначение выводов другое.
Прошу совета и помощи. В общем хочется сделать управление меню Шторма (автопилот) через RC передатчик. Алгоритм работы следующий: Имеем приблуду у которой 2 RC входа и 3 дискретных выхода. RC входы подклчаются в два канала приемника.
Смысл работы следующий: когда на передатчике оба 3х позиционных тумблера находятся в среднем положении - на выходах приблуды логические 1. Если левый тумблер перевести вверх, на выходе (#1) будет лог. 0. Если перевести в самый низ, то на выходе (#2) будет лог. 0.
Переходим к правому 3х поз. тумблеру: Если перевести тумблер вверх, то на выходе #3 будет лог. 0. Если перевести тумблер вниз, то на выходах #1,2 будет лог. 0.
Такое можно реализовать либо с помощью двух RC Switch и одной логики. Либо на одном контроллере имеющим 5 портов. К сожалению писать прошивки я не умею (пробовал только флаукод, но как реализовать считывание длины импульса там я не знаю). А готовой схемы RC переключателя на 2 нагрузки с центральным (выключенным) положением я не нашел. Поэтому прошу помощи, в теории алгоритм не сложный…
Как мне кажется тут бы хватило одной тиньки 13 или пика 12f. Соответсвенно и себестоимость была бы мизерной. Можно было бы взять схему переключателя на 25 тиньке, но понадобилось бы их 2 штуки, а по цене это вышло бы не дешево.
-------
таки нашел схемку рц свича с нейстарльным положением 3х позиционника на тиньке 13. Но прийдется использовать тогда два таких свича и логику. Хотелось бы все уместить в одном контроллере.
В общем хочется сделать управление меню Шторма (автопилот) через RC передатчик
как это ни пародоксально но два ключа и логика это самый простой путь! Но мы не ищем легких путей, тем более нам потребуется 2 канала, а это противоречит названию темы : “Вкл/выкл с одного канала нескольких нагрузок” …
На передатчике можно организовать на Arduino вот такую дискретизацию ШИМ:
hobby.msdatabase.ru/project-updates/…/modesw как раз 5 кнопок вверх/низ, право/лево.
На самолете к выходу ШИМ с Rx подключаем еще одну Ardu которая определяет длительность ШИМ и в зависимости от этого переключает соответстивующие выходы “0” или “1”. Вот скетч для принимающей стороны hobby.msdatabase.ru/…/moswsw_decoder. Плюс к этому у нас есть еще 1 кнопка ( а их ведь можно и добавить) к свободным выходам подключаем силовые ключи и управляем… ну напримерой петардой для самоуничтожения самолета…
Спасибо, но как по мне мой вариант тогда куда проще и безгеморнее чем вариант с ардюино. Ведь делаю это не для себя, поэтому человеку нужно минимум действий) Воткнул в приемник и забыл, без дополнительного колхоза передатчика).
Я делал по просьбе одного человека прошивку для 25 тиньки на 2-а входа и 2-а выхода (для управления лебёдками сделанных из серв - чтоб питание им отключать, когда стик в среднем положении).
Постараюсь переделать на три выхода по описанной логике, должно быть несложно.
Вот, сделал прошивку для 25 тиньки. Попозже (из спортивного интереса) попробую адаптировать для 13 тиньки.
на схеме 1 канал - левый тумблер, 2-й - правый тумблер.
Единственный вопрос - что делать с выходами при отсутствии сигнала? Сейчас сделано так, что при пропадании сигнала на любом из входов - все выходы лог “0”. Можно сделать любую комбинацию или оставить последнее состояние.
В архиве проект для AVR Studio.
Файл прошивки RC_2IN_ATtiny25_3.hex
Фьюзы по дефолту (заводские), менять не надо. (либо сначала считать их перед программированием - если программа прошивальщик их программирует вместе с кодом или при прошивке запретить их программирование)
Перенёс программу на 13 тиньку. Распиновка выводов та же.
Не совсем понятна логика работы, какая ширина импульса на входах должна быть когда оба тумблера в среднем положении а какая в верхнем и нижнем? Я как раз искал такое устройство для отключения питания серво-лебедок когда стик в среднем положении.
Верхние схемы будут работать и от стиков. Диапазон изменения сигнала (я принял 1 - 2ms) разбивается на 3-и зоны. Входной сигнал, попадая в соответствующую зону устанавливает выходы в соответствии с заданной логикой. Я для простоты откалибровал по своей аппаратуре, чтоб не заморачиваться с калибровками, для тумблеров точность особо не нужна. Верх сделал 1ms, низ - 2ms. (но можно сделать и наоборот, хотя в принципе, в нормальной аппаратуре есть реверс).
По посьбам трудящихся 😃 выкладываю прошивку для ATtiny 25, для управления лебёдками на 2-а входа. Схема (есть в архиве) как в верхнем посте (rcopen.com/forum/f87/topic297998/72). Входы аналогичны, выходы: Out1 - выход “потеря сигнала”, Out2 - выход 1 канала, Out3 - выход 2 канала.
Описание.
RC_2IN_ATtiny25_1
Контроллер на 2-а входных канала управления и 2-а выхода + выход “нет сигнала”
Выход “нет сигнала” загорается, когда на обоих входах отсутствует сигнал.
Калибровка стиков:
При подаче питания начнет мигать диод “нет сигнала”. Есть 3 секунды, чтобы перевести любой стик от центра в максимум для запуска режима калибровки. Если за это время ничего не двигать - контроллер перейдёт в режим работы. При первом использовании необходима калибровка.
Режим калибровки: ( диод начнёт мигать быстрее). Есть 4 секунды, чтобы перевести стики несколько раз в крайние положения.
Калибровка производится одновременно 2-я стиками.
При завершении калибровки диод погаснет. После этого будет вычислен математический центр диапазона изменения сигнала и вокруг этого центра определена “мёртвая зона” ±5%.
При установке стиков в центр - на выходах лог. “0”.
При отклонении стика/крутилки на 5% от центра, включается соответствующий выход (лог. “1” ).