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

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 еще хватит.

Dimac

Сделал 1 вариант. (рис1) Из рисунка, думаю всё понятно.
Out1 - ещё используется, как индикатор калибровки - на него надо повесить светодиод.
Подача питания - он медленно мигает 2-е секунды. Если в это время любой канал перевести в максимум - запустится режим калибровки - его время секунд 5. За это время надо подвигать стиками до крайних положений.
При потере сигнала на всех выходах 0.

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

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

RC_2IN_ATtiny13_2_1.rar

dimaris

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

Dimac

Всё равно, может кому пригодится. Как и обещал прошивка для рис2. - RC_2IN_ATtiny13_2_2.hex - там логика работы с калибровкой та же, только отключены сигнальные “мигания” светодиодом - при калибровке на выходах нули.
При прошивке надо запрограммировать фьюз RSTDISBL - для использования ножки Reset в качестве порта.
Эту прошивку не проверял, советую протестировать её, если возможно, в Протеусе.

Ещё сделал вариант для 1 рисунка, также с отключенным миганием. - RC_2IN_ATtiny13_2_11

Вариант с миганием - RC_2IN_ATtiny13_2_1

Всё в одном архиве.

RC_2IN_ATtiny13_2.rar

dimaris

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

Dimac

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

Так быть не должно. У вас управление от стиков или от крутилок.
Режим калибровки запускается, если любой входной канал, перед подачей питания или в течении пары секунд после, перевести дальше середины (>1600 мкс).
Иначе контроллер переходит в режим работы по предыдущим откалиброванным значениям.

Просто стики сами стоят по центру, а если используется крутилка - надо смотреть в каком она положении перед подачей питания.

Решили сделать 4-е выходных канала, смотрю стоят 4-е светодиода. Reset задействовали?

dimaris

Я проверял на стике, правда без пружины. Исходил из того что если начинает срабатывать ±5% отклонения от центра то в режим программирования не должна входить, а она все равно входит. Да сделал все 4 выхода используя reset, а также индикация в режиме программирования работает, мигает светодиод.

Dimac

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

А вообще, сейчас поверил - там довольно далеко порог срабатывания (1700мкс) - проверял сервотестером с индикацией длины импульса, может стик в инверсном режиме?
У меня самопроизвольно не переходит в режим калибровки сколько не коммутировал.

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

dimaris

Во время включения я стики не трогал, вот только подключал всего лишь один канал. Может это влиять? Длину импульса я не мерил и проверял все передатчиком Futaba 8FG и китайским приемником Frskay (что было на данный момент под рукой). Из конструктивных особенностей приемника мне удалось подключить только 3 канал. У футаб по умолчанию 3 канал в инверсе, я этих особенностей вашего устройства не знал. Надо еще раз заново пробовать учитывая ваши рекомендации.

Dimac

То, что подключен только один канал, влиять не должно. Я тестировал и так и эдак. В последний раз, когда проверял, тоже подключал только 1 канал.

dimaris

Значит поспешил с выводами, хотелось по быстрей увидеть творение в работе. Сбросить фьюзы в тини мне нечем, но всетаки должна работать раз у вас работает.