Не так давно у меня возникло желание сделать радио управляемый ключ. Захотелось оснастить свой самолёт подсветкой, чтобы летать в сумерках, включать пищалку для поиска самолёта в траве.
В интернете нашёл много разных схем, но решил попробовать сделать свой вариант. К этому подтолкнула тема на форуме http://forum.rcdesign.ru/ и давнее желание научиться писать программы для микроконтроллеров.
Вот наступила нелётная погода, и я решил наконец, сделать законченное устройство о котором и написать в журнале.
Для основы взят микроконтроллер фирмы Atmel ATtiny25, просто потому, что он у меня был (купил в DIP корпусе для изучения). Есть линейка идентичных контроллеров:ATtiny25, ATtiny45, ATtiny85, которые отличаются только объёмом памяти. Для данного устройства подойдёт любой из них. Для простоты прошивания контроллера, чтобы не испортить его неправильной пошивкой фьюзов, решил оставить заводские настройки фьюзов и не трогать их. По количеству доступных ног микросхемы, можно управлять независимым переключением 4-х нагрузок. Во время тестирования программы, обнаружилось, что мой приёмник перестаёт выдавать сигнал (если не настроить FailSafe), когда теряется связь с передатчиком. Решил это использовать и выделил один канал для сигнализации о потере связи (4 канал). Получилось 3-и управляемых канала + канал "потеря связи".
Сперва переключение каналов поизводилось только пропорциональным управлением с передатчика (крутилка или стик). Но т.к. были пожелания сделать управление с помощью тумблера, разработал универсальную прошивку, которая может работать с крутилкой, тумблером и 3-х позиционным тумблером.
Перед началом использования, RC Switch нужно настроить на работу (откалибровать) с данным элементом управления на передатчике (крутилка, тумблер или 3-х позиционный тумблер). Для этого перевести этот элемент управления в максимум и подключить RC Switch на соответствующий канал приёмника. Начнёт мигать светодиод 4-го канала приглашая выполнить калибровку. Далее, надо покрутить крутилку (если элемент управления - крутилка) несколько раз в крайние положения или пощёлкать тумблером, соответственно. Для этого есть около 4-х секунд. После данной процедуры устройством можно пользоваться.
Новую калибровку необходимо проводить только при смене прошивки и при смене типа элемента управления.
Сделал 2-а Варианта прошивки:
1- при включении следующего канала, предыдущий отключается
RC_Switch_ATtiny25_v3_01;
2- при включении следующего канала, предыдущий остаётся включеный
RC_Switch_ATtiny25_v3_02.
Ещё, до кучи, может кому сгодится, сделал 2-а варианта 4-х канальной прошивки. Тут 4-й канал имеет двойную функцию: его можно включить самому, и также он включается автоматически когда теряется сигнал.
1- RC_Switch_ATtiny25_v3_31_4ch.hex
2- RC_Switch_ATtiny25_v3_32_4ch.hex
(Прошивки и схема в конце статьи)
Прошить контроллер можно этим программатором: Программатор USBasp AVR для процессоров ATMEL
Полевые транзисторы (n-канальные) использовал от старой материнской платы, можно было купить что-нибудь меньше размером в другом корпусе, но не люблю покупать, то что можно найти на халяву :)
Диод по питанию IN4148 поставил, чтоб можно было использовать регуляторы на 5,5 - 6 вольт, на нём падает излишек напряжения. И ещё, уровень сигнала от приёмника может быть недостаточен и контроллер его не увидет, таким образом я немного опускаю порог логической единицы для контроллера.
Прошивки, схема
Материал считаю весьма полезным.
ещё у вас по схеме reset болтаеться в воздухе, что неесть хорошо. Он конеш подтянут внутри 100ком резистором внутреннем но его недостаточно.
Года два назад перемотал двигатель после краша и понадобилось узнать сколько он оборотов даёт. Сам разработал и собрал тахометр :)
Теперь, вот думаю, что на микроконтроллере было бы попроще.
Такие статьи потом трудно искать во всей ленте статей! + спасибо
PS: И ещё вопросик, по этой теме ничего не подскажете http://www.parkflyer.ru/blogs/view_entry/9689/ ?
Молодец! Так держать! Только +