Включение/выключене с 1 канала нескольких нагрузок. Возможно-ли?

vasia

999 строк кода… сильно . На таких примерах можнош изучать ассемблер. Было бы совсем здорово, если бы автор еще и подробно (понятно, что в коментариях итак все подробно) описал устройство программы и назначение входящих в нее подпрограмм…Это я так (когда, что то есть хочется еще больше), а так спасибо автору.

3 months later
ССМ=

Вместо ATtiny25 не пойдет ATtiny13?
В местном магазине ни ATtiny25 ни ATtiny45 нет в наличии(((

DJ_URAN

под этот код - нет. назначение выводов другое.

3 months later
sashok17

Прошу совета и помощи. В общем хочется сделать управление меню Шторма (автопилот) через 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. Но прийдется использовать тогда два таких свича и логику. Хотелось бы все уместить в одном контроллере.

vasia
sashok17:

В общем хочется сделать управление меню Шторма (автопилот) через RC передатчик

как это ни пародоксально но два ключа и логика это самый простой путь! Но мы не ищем легких путей, тем более нам потребуется 2 канала, а это противоречит названию темы : “Вкл/выкл с одного канала нескольких нагрузок” …
На передатчике можно организовать на Arduino вот такую дискретизацию ШИМ:
hobby.msdatabase.ru/project-updates/…/modesw как раз 5 кнопок вверх/низ, право/лево.
На самолете к выходу ШИМ с Rx подключаем еще одну Ardu которая определяет длительность ШИМ и в зависимости от этого переключает соответстивующие выходы “0” или “1”. Вот скетч для принимающей стороны hobby.msdatabase.ru/…/moswsw_decoder. Плюс к этому у нас есть еще 1 кнопка ( а их ведь можно и добавить) к свободным выходам подключаем силовые ключи и управляем… ну напримерой петардой для самоуничтожения самолета…

sashok17

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

Dimac

Я делал по просьбе одного человека прошивку для 25 тиньки на 2-а входа и 2-а выхода (для управления лебёдками сделанных из серв - чтоб питание им отключать, когда стик в среднем положении).
Постараюсь переделать на три выхода по описанной логике, должно быть несложно.

Dimac

Вот, сделал прошивку для 25 тиньки. Попозже (из спортивного интереса) попробую адаптировать для 13 тиньки.
на схеме 1 канал - левый тумблер, 2-й - правый тумблер.
Единственный вопрос - что делать с выходами при отсутствии сигнала? Сейчас сделано так, что при пропадании сигнала на любом из входов - все выходы лог “0”. Можно сделать любую комбинацию или оставить последнее состояние.

В архиве проект для AVR Studio.
Файл прошивки RC_2IN_ATtiny25_3.hex
Фьюзы по дефолту (заводские), менять не надо. (либо сначала считать их перед программированием - если программа прошивальщик их программирует вместе с кодом или при прошивке запретить их программирование)

RC_2IN_ATtiny25_3.rar

dimaris

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

Dimac

Верхние схемы будут работать и от стиков. Диапазон изменения сигнала (я принял 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” ).

RC_2IN_ATtiny25_1.rar

dimaris

Отлично! Как раз то что нужно, с реализацией калибровки к любой аппаратуре подойдет. Жаль только в ATtiny13 такое не запихнуть, памяти скорей всего не хватит. Просто ATtiny25 у меня нет в наличии.

Dimac

Не, памяти хватит. Программа занимает 622 байта. Просто в 13 тиньке только один таймер. А я использую один для определения длины импульса и ещё один для калибровки (организация мигания светодиодом).
Может что-нибудь придумаю через бодягу с использованием пустых циклов. В предыдущем случае, когда я переделал на 13 тиньку, я выкинул калибровку и избавился от использования 1 таймера.

sashok17
Dimac:

Вот, сделал прошивку для 25 тиньки. Попозже (из спортивного интереса) попробую адаптировать для 13 тиньки.
на схеме 1 канал - левый тумблер, 2-й - правый тумблер.
Единственный вопрос - что делать с выходами при отсутствии сигнала? Сейчас сделано так, что при пропадании сигнала на любом из входов - все выходы лог “0”. Можно сделать любую комбинацию или оставить последнее состояние.

В архиве проект для AVR Studio.
Файл прошивки RC_2IN_ATtiny25_3.hex
Фьюзы по дефолту (заводские), менять не надо. (либо сначала считать их перед программированием - если программа прошивальщик их программирует вместе с кодом или при прошивке запретить их программирование)

Спасибо большущее! Все работает как надо! Единственное что при отсутствии сигнала/ов на выходах должны быть лог.1 Если эту прошивку под 13 тиньку вогнать, то вообще будет здорово! И было бы неплохо ввести защиту типа: при первом включении пока оба тумблера одновременно не перещелкнуть (вверх-центр) два раза, схема не запустится, то есть на выходах всегда будут лог. 1. А так все работает в точности как я описывал. Спасибо еще раз!

Dimac

И было бы неплохо ввести защиту типа: при первом включении пока оба тумблера одновременно не перещелкнуть (вверх-центр) два раза, схема не запустится, то есть на выходах всегда будут лог. 1.

В этом есть какой-то смысл? просто я не представляю, как реализовать это “одновременно” Может просто при первом запуске проверять установку тумблеров в центр и до этого не стартовать? Или я что-то не понимаю, в чём защита?
Всё остальное понял - сделаю. А для 13 тиньки уже есть прошивка, постом ниже (71 пост).

dimaris

Присоединюсь к вопросу по своим делам. По большому счету мне нужно одно-канальное управление отключением питания рулевок в момент тахождения либо стика, либо тумблера в центральном положении. Действующая модель класса F2S уже есть, р/у АПЛ пр. 949А М:200. Имеются 2 балластные цистерны которые тянут 2 переделанные рулевки за зубчатые рейки. Так вот или из-за температуры (сервы аналоговые) или еще чего нибудь, они начинают “плавать”, то одна то другая. А вот если бы им отрубать питание то проблем бы не было.

Dimac

Вот это то, что я выложил в 73 посте. Просто используйте 1 канал, второй не подключайте. Попозже постараюсь сделать для 13 тиньки.

dimaris

Я Вам благодарен. если это можно воссоздать в тини13, реализовав ваш код в железе, готов предоставить фото-отчет, дабы труды не потрачены зря.

sashok17
Dimac:

Может просто при первом запуске проверять установку тумблеров в центр и до этого не стартовать?

да можно и так. Смысл - защита от случайного срабатывания при включении передатчика/приемника

Dimac

RC_2IN_ATtiny13_1 - 2-х входовый свитч для лебёдок на ATtiny13. Распиновка и работа, как на ATtiny25.

RC_2IN_ATtiny13_3 - 2-х входовый свитч для sashok17 (управление меню Шторма (автопилот) через RC передатчик) с учётом пожеланий.

RC_2IN_ATtiny13_1.rarRC_2IN_ATtiny13_3.rar

2 months later
dimaris

У меня вопрос к Дмитрию. А можно организовать работу устройства так, чтобы при отклонении стика/крутилки на 5% от центра, в зависимости в какую сторону от нейтрали двигается стик влево или вправо появляется логическая единица на одном из двух выходов? Мне это нужно для зубыатой рейки, чтобы использовать конечные выключатели в крайних точках. Можно в принципе и наоборот ловить сигнал с двух концевиков и управлять одним выходом. Если конечно места в ATtiny13 еще хватит.