phreaking Так выглядит наше реле с двух сторон и со снятым радиатором. Радиатор с термопастой — для задач типа «руление пылесосом» Вот что видно на осциллографе. Последовательность читается довольно легко Светим пультом прямо в глаз XÀÊÅÐ 04 /124/ 09 099
pc_zone phreaking +5V Почти собранные модули, — не впаян только драйвер ~220V Реле Нагрузка РЕЛЕ И ДРАЙВЕРЫ MCU 100 5 Ohm N-type MOFSET ВНУТРЕННОСТИ СЕНСОРА PIN Input AGS Control Circuit Band Pass Инфракрасный датчик — довольно сложное устройство. Для начала, в нем есть фотодиод, реагирующий на ИК-часть спектра. Напрямую аналоговый сигнал с фотодиода на контроллер посылать не имеет смысла — он просто все свободное время будет оцифровывать картинку и пытаться извлечь из нее данные. Поэтому в датчик уже включены фильтры и демодулятор, дергающий, в итоге, за базу транзистора. Как только поймается единица, транзистор откроется, и вывод OUT закоротится с землей GND — тогда контроллер видит переход состояний и запускает прерывание. Denodulator 30 3 1 2 V s OUT GND Несмотря на плюсы твердотельных реле, минусов у них тоже более чем достаточно. Во-первых, ток управления в большинстве случаев требуется такой, какой ножка микроконтроллера выдать не в состоянии — просто сгорит. Во-вторых, многим релюшкам требуется 5 В на включение, тогда как МК твой выдает только 3,3 В (по спецификации CMOS). В общем, я тебе категорически не рекомендую подключать релюшку напрямую к контроллеру, даже если тока с напряжением достаточно. Правильнее и дешевле — включать его через полевой транзистор! Для наших задач подойдет любой, например, IRML2803 фирмы International Rectifier. Теперь о том, как выбрать реле. Первая попавшаяся релюшка KSD210AC8 фирмы Cosmo Electronics уже подходит нам (http:// cosmo-ic.com/object/products/KSD210AC8.pdf). Управляется, минимум, 4 вольтами, поэтому надо добыть 5 или 12 вольт, но на плате они всяко есть. То, что управляет чем-то мощным (у нас это — реле), по терминологии зовется драйвером. В данном случае драйвер — просто полевой транзистор. Вместо обычного транзистора можно использовать его же, но с опторазвязкой, так во многих случаях безопаснее и правильнее, несмотря на наличие развязки уже внутри релюшки. Еще совет. Выбирай себе реле с максимальным выходным током в 2-3 раза больше, чем тот, с которым оно будет использоваться. Иначе — готовься к тому, что в шкафу будет адский кипятильник! приборы могут малыми силами замыкать и размыкать схему, по которой течет большой ток. Классический вариант — электромагнитное реле (с магнитом внутри, коммутирующим нашу цепь притягиванием к себе так называемого якоря). Вообще, термином «реле» можно с натяжкой обозвать любой выключатель, даже тот, что висит на стенке, приводится в действие рукой и включает освещение. У электромагнитных реле есть недостаток. Из-за наличия движущихся частей и электромагнита сами релюшки будут требовать немаленькое напряжение и потреблять нехилый ток, который микросхема выдать не в силах. Делать всякие мегаусиления не будем, а воспользуемся так называемыми твердотельными реле. Они требуют на вход TTL (3,3-5 В) логику и могут коммутировать переменные токи до нескольких ампер. Внешне они могут выглядеть как обыкновенные MOSFET-транзисторы с местом для прикручивания радиатора, а внутри являются тиристорами в паре (смотри врезку). В нашей лаборатории уже есть реле, сделанные из тиристоров 25TTS фирмы Vishay (http://www.vishay.com/docs/94384/94384.pdf). Ты тоже можешь подобрать себе подобное в магазинах/на барахолках, только следи за максимальным пропускаемым током (Мощность лампочки=Ток*Напряжение, не забыл?), а также — возможностью работать с переменным напряжением и минимальным током на затвор. Полагаю, придется привесить на вход реле еще один транзистор, но это не больно :). В общем, микроконтроллер в нужный момент будет подавать на реле (через транзистор или оптотриак) логическую единицу (3,3 В), а реле — пропускать через себя 220 В переменного тока. ПРОТОКОЛЫ Если частоты модуляции в ИК-пультах хоть как-то стандартизированы, то с протоколами что-то не сложилось. Любая компания-производитель выдумывает свои собственные. «Низкоуровневых» протоколов распространено два. Это RC5 (так называемый манчестерский код), использующийся Philips, и Sony, изобретенный фирмой Sony. Протокол Манчестера часто используется в линиях передачи данных, когда увеличение заряда или «яркости» линии чревато «ослеплением» сенсора (подробнее — смотри врезку). Вкратце, единица представляется переходом из 1 в 0, а ноль — из 0 в 1. Протокол Sony, в отличие от RC5, не кодирует данные переходами из состояния в состояние, а использует для этого их длительности (!). Например, сначала идет одиночный импульс «1», а потом, в зависимости от передаваемого, одиночная или двойная пауза (вообще, что считать паузой, а что импульсом — вопрос спорный, транзистор внутри сенсора все равно все инвертирует). Скажем, единица будет выглядеть как «1-0-0», а ноль — как «1-0». С «высокоуровневыми» протоколами — в разы сложнее. Поверх низкоуровневых модуляций уже передаются те самые данные, которые и отличают одну нажатую кнопку от другой. Здесь советовать что-либо трудно, количество стартовых/стоповых бит, LSB/ MSB очередности и разделение команды-данные всегда будет свои. Тычь осциллографом в сенсор, изучай передаваемые данные, ну и про XÀÊÅÐ 04 /124/ 09