Включение/выключене с 1 канала нескольких нагрузок. Возможно-ли?
Вот, сделал прошивку для 25 тиньки. Попозже (из спортивного интереса) попробую адаптировать для 13 тиньки.
на схеме 1 канал - левый тумблер, 2-й - правый тумблер.
Единственный вопрос - что делать с выходами при отсутствии сигнала? Сейчас сделано так, что при пропадании сигнала на любом из входов - все выходы лог “0”. Можно сделать любую комбинацию или оставить последнее состояние.
В архиве проект для AVR Studio.
Файл прошивки RC_2IN_ATtiny25_3.hex
Фьюзы по дефолту (заводские), менять не надо. (либо сначала считать их перед программированием - если программа прошивальщик их программирует вместе с кодом или при прошивке запретить их программирование)
Спасибо большущее! Все работает как надо! Единственное что при отсутствии сигнала/ов на выходах должны быть лог.1 Если эту прошивку под 13 тиньку вогнать, то вообще будет здорово! И было бы неплохо ввести защиту типа: при первом включении пока оба тумблера одновременно не перещелкнуть (вверх-центр) два раза, схема не запустится, то есть на выходах всегда будут лог. 1. А так все работает в точности как я описывал. Спасибо еще раз!
И было бы неплохо ввести защиту типа: при первом включении пока оба тумблера одновременно не перещелкнуть (вверх-центр) два раза, схема не запустится, то есть на выходах всегда будут лог. 1.
В этом есть какой-то смысл? просто я не представляю, как реализовать это “одновременно” Может просто при первом запуске проверять установку тумблеров в центр и до этого не стартовать? Или я что-то не понимаю, в чём защита?
Всё остальное понял - сделаю. А для 13 тиньки уже есть прошивка, постом ниже (71 пост).
Присоединюсь к вопросу по своим делам. По большому счету мне нужно одно-канальное управление отключением питания рулевок в момент тахождения либо стика, либо тумблера в центральном положении. Действующая модель класса F2S уже есть, р/у АПЛ пр. 949А М:200. Имеются 2 балластные цистерны которые тянут 2 переделанные рулевки за зубчатые рейки. Так вот или из-за температуры (сервы аналоговые) или еще чего нибудь, они начинают “плавать”, то одна то другая. А вот если бы им отрубать питание то проблем бы не было.
Вот это то, что я выложил в 73 посте. Просто используйте 1 канал, второй не подключайте. Попозже постараюсь сделать для 13 тиньки.
Я Вам благодарен. если это можно воссоздать в тини13, реализовав ваш код в железе, готов предоставить фото-отчет, дабы труды не потрачены зря.
Может просто при первом запуске проверять установку тумблеров в центр и до этого не стартовать?
да можно и так. Смысл - защита от случайного срабатывания при включении передатчика/приемника
RC_2IN_ATtiny13_1 - 2-х входовый свитч для лебёдок на ATtiny13. Распиновка и работа, как на ATtiny25.
RC_2IN_ATtiny13_3 - 2-х входовый свитч для sashok17 (управление меню Шторма (автопилот) через RC передатчик) с учётом пожеланий.
У меня вопрос к Дмитрию. А можно организовать работу устройства так, чтобы при отклонении стика/крутилки на 5% от центра, в зависимости в какую сторону от нейтрали двигается стик влево или вправо появляется логическая единица на одном из двух выходов? Мне это нужно для зубыатой рейки, чтобы использовать конечные выключатели в крайних точках. Можно в принципе и наоборот ловить сигнал с двух концевиков и управлять одним выходом. Если конечно места в ATtiny13 еще хватит.
Сделал 1 вариант. (рис1) Из рисунка, думаю всё понятно.
Out1 - ещё используется, как индикатор калибровки - на него надо повесить светодиод.
Подача питания - он медленно мигает 2-е секунды. Если в это время любой канал перевести в максимум - запустится режим калибровки - его время секунд 5. За это время надо подвигать стиками до крайних положений.
При потере сигнала на всех выходах 0.
Вечером сделаю вариант2, - рис2. Но протестировать его не смогу, т.к. будет задействована ножка Reset, и я потом не смогу перепрограммировать чип. (нет параллельного программатора)
(прошивка на свой страх и риск ).
Может ещё старт калибровки поменяю (если будет пожелание), сделаю, как на регуляторах - при подаче питания, если стик отклонён - калибровка, нет - работа.
Не нравится, что при старте на выходе появляется сигнал.
Спасибо что откликнулись Дмитрий! Первого варианта схемы мне вполне хватит. Всетаки лишний раз трогать резет в тини опасно. В ближайшие дни обязательно протестирую вашу программу в железе и отпишусь о результатах.
Всё равно, может кому пригодится. Как и обещал прошивка для рис2. - RC_2IN_ATtiny13_2_2.hex - там логика работы с калибровкой та же, только отключены сигнальные “мигания” светодиодом - при калибровке на выходах нули.
При прошивке надо запрограммировать фьюз RSTDISBL - для использования ножки Reset в качестве порта.
Эту прошивку не проверял, советую протестировать её, если возможно, в Протеусе.
Ещё сделал вариант для 1 рисунка, также с отключенным миганием. - RC_2IN_ATtiny13_2_11
Вариант с миганием - RC_2IN_ATtiny13_2_1
Всё в одном архиве.
Дмитрий что б мы без вас делали)
единственное неудобство что каждый раз при подаче питания нужно заново калибровать.
Так быть не должно. У вас управление от стиков или от крутилок.
Режим калибровки запускается, если любой входной канал, перед подачей питания или в течении пары секунд после, перевести дальше середины (>1600 мкс).
Иначе контроллер переходит в режим работы по предыдущим откалиброванным значениям.
Просто стики сами стоят по центру, а если используется крутилка - надо смотреть в каком она положении перед подачей питания.
Решили сделать 4-е выходных канала, смотрю стоят 4-е светодиода. Reset задействовали?
Я проверял на стике, правда без пружины. Исходил из того что если начинает срабатывать ±5% отклонения от центра то в режим программирования не должна входить, а она все равно входит. Да сделал все 4 выхода используя reset, а также индикация в режиме программирования работает, мигает светодиод.
Я могу увеличить порог для перехода в режим калибровки, но уже после использования Reset, чип не перешить… или вы можете?
А вообще, сейчас поверил - там довольно далеко порог срабатывания (1700мкс) - проверял сервотестером с индикацией длины импульса, может стик в инверсном режиме?
У меня самопроизвольно не переходит в режим калибровки сколько не коммутировал.
Ещё момент, после включения надо секунды 3-и не трогать стики (которые подключены к устройству) - в это время идёт опрос входов для перехода в режим калибровки.
Во время включения я стики не трогал, вот только подключал всего лишь один канал. Может это влиять? Длину импульса я не мерил и проверял все передатчиком Futaba 8FG и китайским приемником Frskay (что было на данный момент под рукой). Из конструктивных особенностей приемника мне удалось подключить только 3 канал. У футаб по умолчанию 3 канал в инверсе, я этих особенностей вашего устройства не знал. Надо еще раз заново пробовать учитывая ваши рекомендации.
То, что подключен только один канал, влиять не должно. Я тестировал и так и эдак. В последний раз, когда проверял, тоже подключал только 1 канал.
Значит поспешил с выводами, хотелось по быстрей увидеть творение в работе. Сбросить фьюзы в тини мне нечем, но всетаки должна работать раз у вас работает.
Проверил на других каналах, все работает четко, и запоминает и в программирование выходит. Дмитрию спасибо!
Здравствуйте Дмитрий, понадобилось мне сделать ваш 2-х входовый свитч для лебёдок на ATtiny13 с прошивкой RC_2IN_ATtiny13_1.
Вроде все сделал правильно и прошилось без проблем, но работать отказывается. Вообще никаких признаков жизни не подает.
все заработало лично у меня с первой попытки.
схемку свою приложите. посмотрим
Странно, может у меня прогамматор глюканул? Схема с о всем остальным в 82 посте. Надо в протеусе нарисовать посмотреть.
Вопрос снят! Глюканула AVRDUDEPROG, перестала прошивать но делала вид что все замечательно и даже проходит верификацию. Пришлось удалить ее…скачал другую, все прекрасно прошилось и работает!
Доброго времени суток!!! Господа помогите, хочу собрать управление лебедкой от куркового пульта… Ну так чтобы на отклонение стика от 0 положения, включался либо первый переключатель либо второй.
Например при отклонении стика на 50% включается канал 1, при отклонении стика на 50% в другую сторону включался бы канал 2.
Заранее спасибо.