![]() |
![]() |
||||||||||||
Дистанционно управляемая розетка на К1946ВМ014
Автор: ejsanyo Приветствую любителей дистанционного управления! А давайте сегодня сделаем что-нибудь на вашу любимую тему? Например, удлинитель с дистанционным выключателем. Бывает очень удобно, когда есть возможность включить с пульта, скажем, вентилятор или торшер вечером. Для осуществления задуманного нам, конечно, потребуется три составляющие: пульт, приёмник и исполнительное устройство, которое будет исполнять команды пульта. То бишь, включать/выключать сетевое напряжение. Пульт управления. В этой части, пожалуй, не будем "изобретать велосипед", а возьмём что-нибудь готовое, доступное и аккуратно сделанное, иначе получится огромная неудобная коробка, а нам это потом ещё и в руке держать придётся (у меня, например, точно так и будет)! Как всегда, нам на помощь приходит китайская промышленность. Из всего многообразия, пожалуй, остановимся на самых популярных радиопультах на основе чипа HS1527 / EV1527 и прочее что-то там-1527. Почему именно их, а не ИК, или bluetooth какой-нибудь? Потому что, при прочих равных, они имеют наибольшую дальность связи, не требуют прямой видимости, не боятся засветки солнцем, да и просто в продаже огромный выбор их форм и размеров за минимальную стоимость. Внутри симпатичной коробочки нас ждёт, собственно, чип - генератор кодовых посылок, маломощный передатчик, иногда выдвигающаяся внешняя антеннка, от одной до четырёх кнопок, светодиод и батарейки суммарным напряжением 6 или 12 В. Что же это за чип, HS1527? Это формирователь крика в пустоту последовательного кода, благодаря которому принимающее устройство должно "узнать" ваш пульт среди сотен других. Заодно к этому коду цепляется информация о нажатых в текущий момент кнопках. Распространённый в Интернетах даташит обзывает его "OTP Encoder-ом", намекая на то, что 20 бит кода зашивается в чип на этапе производства, и эти биты в теории дают миллион возможных кодовых комбинаций, делая ваш пульт поистине уникальным! Впрочем, насколько в среднем по Алиэкспрессу на самом деле уникальны коды производимых чипов, статистики не существует. Код этот передаётся в открытом виде, не меняется в процессе работы, никакой обратной связи от приёмника пульт не имеет. И если кто-то захочет перехватить этот код и сделать себе дубликат вашего пульта, он это сможет сделать без проблем. Более того, в продаже распространены уже готовые "пульты-копировщики", имеющие в своём составе приёмник, передатчик и контроллер, позволяющие продублировать такой пульт буквально парой нажатий кнопок! Так что, если планируете управлять не просто вентилятором, а чем-то посерьёзнее, вроде сигнализации вашего автомобиля, то этот вариант - не для вас. Тем не менее, для не очень ответственных применений его не гнушаются использовать не только полуподвальные фирмочки, но и вполне солидные производители. Например и в частности, итальянская Came. Для передачи кода используется простейшая амплитудно-импульсная модуляция ключевым транзистором, который подаёт/снимает питание с такого же простейшего передатчика. Чаще всего используется генератор на одном маломощном транзисторе с обратной связью через резонатор ПАВ, хотя изредка попадаются и специальные чипы. Точность настройки резонатора - "как повезёт", и о какой-либо выраженной сетке каналов в соответствии с требованиями к LPD говорить, к сожалению, не приходится. Но в данном контексте заострим ваше внимание, что в продаже они бывают на два базовых диапазона - 433 МГц и 315 МГц. Первый наиболее распространён, но и второй попадается, особенно на китайских интернет-площадках. Первый, при определённых условиях, официально разрешён к использованию в России без СМС и регистрации в ГКРЧ, а вот второй - нет! Зато, говорят, он разрешён в США. Конечно, маловероятно, что за вашим "неправильным" пультом тут же отправятся на охоту сотрудники Минкомсвязи с радиопеленгаторами, но мы вас предупредили: сверяйтесь с вашим местным законодательством при выборе! Теперь пришло самое время рассмотреть подробнее, как именно HS1527 передаёт кодовую посылку. Как известно, для передачи через эфир нежелательно использовать непрерывные трансляции нулей и единиц, поскольку это, как минимум, усложняет режим работы приёмного тракта. А такую ситуацию следует рассматривать, как возможную, когда у вас "миллион возможных комбинаций кодов". Эту проблему разработчики решают различными методами, так или иначе "вносящими разнообразие" в передаваемую последовательность. Можно вспомнить, например, манчестерский код. Но в данном случае используется метод кодирования длительностью импульса. Как видно, ноль кодируется импульсом, длительностью 1/4 периода, а единица - длительностью 3/4 периода. Таким вот образом биты кода передаются последовательно друг за другом. Тактовая частота чипа задаётся простой RC-цепочкой, кроме того, она имеет жуткую зависимость от напряжения питания! Поэтому длительность периода импульсов нестабильна и может находиться где-то в районе 1...3 мс. Чтобы отделить кодовые посылки друг от друга, в начале каждой трансляции чип вставляет т.н. "преамбулы" - особые импульсы длительностью 1/32 периода и с периодом в 8 раз длиннее, чем у "нормальных" импульсов. Пока просто запомним этот факт, он в дальнейшем ещё понадобится. Приёмник. Здесь также "изобретать велосипеды" не обязательно. Для бытовых целей достаточно взять готовый китайский модуль, которыми также завалены все интернет-площадки. Обратим внимание лишь на пару моментов: Очевидно, что приёмник следует выбирать на тот же частотный диапазон (433 МГц/315 МГц), в котором работает передатчик. Иначе они не договорятся друг с другом. По схемотехнике модули продаются двух видов. Первый - с простейшим сверхрегенеративным приёмником (да, древние технологии сегодня, хоть и на новый лад!). Их несложно опознать по характерным подстраиваемым катушкам индуктивности, обилию дискретных компонентов. И второй, постепенно вытесняющий первый - на специализированном чипе, вроде SYN470, SYN500 и т.д. В таком случае на плате будет сам чип и кварцевый резонатор, а привычных выводных индуктивностей, скорее всего, не будет вообще. Поскольку данный чип в приёмной части является полноценным супергетеродинным приёмником, хоть и с низкой промежуточной частотой, ожидается, что его чувствительность и качество приёма будут выше. Так или иначе, все эти модули всё равно делают достаточно широкополосными, чтобы они могли принять сигнал, по возможности, от любого случайно взятого пульта с разбросом их частот настройки и качества изготовления. Посему, на практике эти модули ловят всё без разбора, что приходит в антенну, и единственным способом выловить сигнал именно вашего пульта остаётся анализ и сравнение принятой кодовой последовательности. Пользоваться модулем очень просто: припаиваем к плате в качестве антенны кусочек провода, желательно в четверть длины волны, подаём питание 5В и в отсутствие сигнала ловим на выходном контакте эфирный шум... Нажимаем кнопку на пульте и начинаем принимать демодулированный сигнал. Видно, что со свежей батарейкой на моём пульте длительность "преамбулы" составила около 8 мс. Запомним и этот факт. Имейте также ввиду, что в продаже бывают модули со встроенным контроллером - декодером команд. Они выделяются характерной кнопкой на плате для входа в "режим сопряжения". Такой модуль нам не подойдёт, если мы хотим сделать свой декодер. А мы ведь хотим? Внимательно читайте описание товара перед заказом! Исполнительное устройство. И вот, собственно, ради чего мы здесь сегодня собрались. Понятно, что и здесь можно было бы взять готовую плату со всем необходимым. Или вообще, сразу взять готовый и настроенный комплект с пультом и реле, после чего просто напаять провода. Но это именно тот случай, когда у нас есть реальная возможность сделать что-то лучше, надёжнее, удобнее, чем уже сделано. Вот, скажем, нравится вам неинтуитивная настройка одной кнопкой? А внушают ли доверие дешёвые реле? А можете вы повлиять на их алгоритм включения/выключения? Если нет, значит, берёмся за дело. В качестве улучшения, да и просто ради эксперимента, попробуем заменить реле на "условно вечный" (во всяком случае, при работе без перегрузок) симистор. Ещё нам понадобится микроконтроллер. На сей раз снова возьмём К1946ВМ014, с которым мы познакомились в прошлой статье, поскольку, во-первых, у автора он был в наличии, а во вторых, он имеет некоторые полезные для данной задачи аппаратные особенности. Какие именно? Изобразим уже, наконец, схему, и пройдясь по ней, покажем эти особенности, а также, что нам такого удалось реализовать особенного с их помощью, по сравнению с готовыми решениями. Начнём с контроллера. Часть, идущая к программатору, сделана по примеру прошлого проекта с подключением к ChipProg. На схеме видим также две кнопки для простой привязки к кнопкам пульта и светодиод, чтобы делать хоть какую-то индикацию. А дальше интереснее: как было показано выше, для успешного приёма кода с пульта нам, по сути, требуется постоянно мониторить длительность импульсов, приходящих с приёмника. В современных контроллерах специально для измерения временны́х параметров импульсов встраивают кусок частотомера таймер с дополнительными возможностями. Для измерения длительности импульсов предусмотрен режим input capture "захвата по входу". Вкратце суть его заключается в том, что таймер отсчитывает импульсы образцовой тактовой частоты, и имеется аппаратный регистр, в который текущий отсчёт таймера максимально быстро копируется по фронту/срезу сигнала, приходящего на специально предусмотренный для этого вход. Одновременно с этим формируется аппаратное прерывание, обработчик которого уже может не спеша достать этот отсчёт из регистра и обработать его. Atmega8535 К1946ВМ014 такой возможностью не обделён, задействуем 16-битный таймер1 для этих целей. Ко входу захвата модуль приёмника подключен через пины XP1. В соответствии с правилами грамотного использования "режима захвата", в обработчике считаем длительность нуля/единицы как разницу между текущим и предыдущим захватом, без принудительной остановки, сброса таймера (такие операции повлияли бы на точность работы захвата, поскольку их выполнение даже в обработчике происходит с задержкой). И пусть вас не смущает, что будут случаи, когда после переполнения таймера текущий отсчёт окажется меньше предыдущего - в мире unsigned int представления чисел даже вычитание происходит с отбросом знака результата! Хорошо, теперь мы умеем измерять длительность импульсов. Но как обозначить тот порог, импульсы короче которого мы будем считать единицей кода, а длиннее - нулём? Особенно учитывая "невероятную стабильность" этих параметров в нашем пульте. Вспомним, что некоторая опорная точка в коде у нас всё же есть, и это - "преамбула", имеющая очень большую, по сравнению с остальной частью кода, длительность нуля. В общих чертах, алгоритм декодирования можно описать так:
Весь алгоритм ворочается в обработчике прерываний по захвату. Таким образом, декодер автоматически подстраивается к текущей скорости передачи кода. Заметим напоследок, что работа с 16-битными регистрами таймеров на 8-битной AVR имеет некоторые особенности: так, при чтении сначала положено читать младшую половину регистра, а потом - старшую. Обязательно учтём это в своей прошивке. Теперь посмотрим на симистор и его управление. Как вы наверняка знаете, оно значительно отличается от "просто подай ток", как было в случае с электромагнитными или оптическими реле. Впрочем, в простейших случаях можно делать и так, но всё же более правильным и энергетически выгодным считается управление короткими импульсами тока. Как видно по схеме, мы подаём эти импульсы на управляющий электрод через импульсный трансформатор, что даёт некоторые преимущества: гальваническую развязку основной схемы от управляемой (так безопаснее пользователю), надёжную посадку управляющего электрода на общий вывод по постоянному току (это значительно снижает вероятность ложных срабатываний симистора). Удобно также то, что трансформатор превращает однополярный импульс в два разнополярных, что также повышает надёжность отпирания симистора. А коль скоро у нас неподалёку стоит контроллер, логично, что с его помощью можно сформировать и импульсы. Используем для этого таймер 0 и его дополнительный режим "ШИМ-генератора". Если кратко - есть специальный регистр, и есть специальный выход, который выдаёт 0, если текущее значение таймера меньше, чем значение этого регистра, и 1 - если больше. Запускаем таймер - и на выход пошли импульсы с нужной нам длительностью. Имеем 8 битный таймер, значит, период импульсов будет в 256 раз больше периода тактовой частоты. Таким образом, частота импульсов у нас получилась чуть менее 4 кГц. Поскольку для надёжного отпирания симистора (по крайней мере, из "обычных" серий) требуется развивать импульсы тока минимум в десятки мА, контроллеру в этом помогает ключ VT1 IRLML2803 КП526А9, а R4 ограничивает максимальный ток этих самых импульсов. Я выбрал уровень около 100 мА. Керамический конденсатор C2 помогает сглаживать импульсы потребления по питанию в моменты коммутации. Соответственно, рекомендуется устанавливать его в непосредственной близости к указанным элементам. Остановимся подробнее на импульсном трансформаторе T2. В качестве которого был выбран..."малогабаритный импульсный трансформатор" МИТ-16В от Георгиевского трансформаторного завода. Кому-то может с первого взгляда показаться древней экзотикой, но в продаже они по прежнему нередко встречаются. Чёрный, пузатый, "малогабаритен" он, конечно, только по советским меркам. Чем же был продиктован такой выбор? Во первых, конечно, тем, что они были у автора в наличии. Во вторых, по советски дубовая конструкция со сплошной заливкой и неломкими толстыми выводами! Имеется нужное количество обмоток с нужным коэффициентом трансформации. Но подходят ли параметры этих обмоток? Согласно распространённой в интернете информации, наш транс может скушать до 210 мА тока подмагничивания, что вполне достаточно для любого адекватного по мощности симистора. С импульсными параметрами особой ясности нет. Фигурирует странная фраза, трансформатор, мол, "применяется в усилителях в диапазоне частот от 250 кГц до 30 МГц", что бы это ни значило. Прочность изоляции между обмотками описана не менее загадочно: "напряжение при проверке" мол "600В или 750В, 50 Гц". "Или" - это как, в зависимости от настроения мастера в цеху, что-ли?! И что это за напряжение указано, выдаваемое мегомметром, или пробивной установкой? А это не одно и то же. В целом, нам бы и такой информации, вроде как, должно быть достаточно при изоляции от бытовой сети в нормальных условиях и нормальном режиме работы. Но чтобы обезопаситься по всем правилам, для изоляции на пробой всё же рекомендуется выдерживать напряжение хотя бы 1,5 кВ, а лучше 2,5 кВ! Поэтому если планируете контактировать с контроллером и, вообще, изолированной частью схемы долго и часто, не смеем отговаривать вас от идеи использовать трансформатор с более внятными гарантиями по изоляции. Например, немецкий T60403-D4097-X051. Кстати, а как же выбрать параметры импульсов для симистора, особенно, если мы имеем дело с не полностью известными параметрами трансформатора? Опишу свою "методику". Наверняка здесь найдутся настоящие знатоки тиристорного управления, и если вы знаете более правильный и научно обоснованный подход, напишите в комментариях. Так вот, про амплитуду импульса тока уже говорилось, выбираем её немного выше, чем оговорено в документации на симистор (ведь у нас ещё будут какие-то потери в трансформаторе). Частота импульсов? Вообще это зависит от метода управления симистором. В данной конструкции (да и во многих других подобных) я просто непрерывно подаю на управляющий электрод импульсы с частотой, во много раз выше частоты сетевого напряжения. Сверху частота импульсов ограничена инерционностью симистора и для типичных моделей в корпусе TO-220 составляет, по крайней мере, не ниже нескольких кГц. Метод "тупой" и многим не нравится, но практика показала, что именно он одинаково хорошо работает как на мощной нагрузке, так и на самой маломощной и "сложной", со значительной реактивной составляющей. Длительность, насколько импульс должен быть коротким? Определяю экспериментально на живой схеме:
В этом месте снова обязателен инструктаж по безопасности. Никогда, слышите, НИКОГДА не подключайте осциллограф к цепям, находящимся под сетевым напряжением! При выполнении описанных здесь действий цепи симистора полностью оторвите от сетевых, и лишь потом подавайте питание на силовой трансформатор. А ещё лучше вообще не связывайтесь с сетью на данном этапе и подавайте питание постоянным напряжением 10...12В от внешнего блока питания параллельно конденсатору C3. При этом, конечно, придётся временно изменить код прошивки. В какой именно части изменить - далее вы поймёте.
Ещё более точно длительность импульсов можно настроить, подкручивая частоту тактового генератора через регистр OSCCAL. Точное его значение зависит от индивидуальных параметров RC-генератора конкретно в вашем контроллере. Но в целом, делать это не обязательно. Элементы R1 C1 - это "снабберная цепочка". Она может понадобиться, если вы будете коммутировать нагрузку с явно выраженной индуктивной составляющей, а может и не понадобиться, если возьмёте т.н. snubberless симистор, или будете коммутировать в чистом виде активную нагрузку. Имейте ввиду, что при закрытом симисторе она даёт небольшую утечку тока, что может быть заметно при коммутации очень слабых нагрузок. Например, импульсных блоков питания мощность в единицы Ватт. Резистор рекомендую мощностью не менее 1 Вт, конденсатор надо выбирать либо из серий, специально рассчитанных на работу в силовых сетях (MKP x2, К78-2) на напряжение не ниже 305В, либо обычный плёночный, но уже не ниже, чем 630В. Ещё не будет лишним напомнить, что симистор всем хорош по сравнению с электромагнитными реле, кроме одного - в открытом состоянии он всегда имеет падение напряжения в районе 1...2В. В реле ситуацию можно улучшить, используя качественные платиново-иридиевые да хотя бы серебряные контакты и, главное, увеличивая их площадь. А здесь это неустранимо, поскольку физически обусловлено его принципом действия. Отсюда неизбежные потери при протекающем токе и нагрев. Вот почему на плате симистор был установлен на радиатор SK29-25S, этого достаточно для мощности нагрузки где-то до 500 Вт. Если вам захочется коммутировать что-то более мощное, придётся позаботиться о дополнительном охлаждении. Трансформаторы, импульсы...зачем так сложно? Есть же специальные оптосимисторы. Да они ещё и включаются синхронно с переходом через ноль! Предположу, что некоторые опытные разработчики сидят и думают так, читая всё это. Действительно, можно вспомнить популярный оптрон MOC3082M, или даже российские АОУ179/5П51. Они позволяют легко и просто превратить обычный симистор в необычный аналог высоковольтного оптореле. Кроме того, они содержат схему, которая включает управляемый симистор не совсем в тот момент, когда пользователь подал ток на светодиод, но лишь синхронно с началом нового полупериода сетевого напряжения. Что это даёт? Несколько более лёгкий режим включения, поскольку и ток через симистор нарастает не резко, а более плавно, вместе с нарастанием мгновенного напряжения. Меньший уровень помех в момент включения. В общем, неплохая в нашем случае вещь. Кстати, если кто знает, как она схемотехнически реализована в недрах таких оптронов, расскажите об этом в комментариях. А можем ли мы сделать что-то подобное? Давайте попробуем. Очевидно, что для этого нам понадобится какая-то синхронизация контроллера с сетевым напряжением. по крайней мере, с его переходами через ноль. И именно для создания детектора перехода через ноль мы подали напряжение с выпрямителя не напрямую на C5, а через дополнительный диод. Таким образом, мы сохранили на выходе выпрямителя тёмное нефильтрованное напряжение, которое далее подаём на простейшее пороговое устройство на биполярном транзисторе BC847 КТ231А9. Сравнительно низкое сопротивление в цепи его базы имеет значение, чтобы C3 и всякие паразитные ёмкости успевали разряжаться в момент перехода нуля сети, создавая пульсации, близкие к 100%. Было гладко на бумаге...а работает ли это в жизни, как ожидалось? Давайте проверим! Ещё раз напоминаем, что в сеть осциллограф включать категорически запрещено! Поэтому лучше просто посмотрите осциллограммы, полученные специально обученными профессионалами на специально подготовленном стенде. А видим мы здесь интересный эффект - пульсации имеют отрицательный сдвиг фазы относительно сетевого напряжения. Хмм, влияние индуктивности сетевого трансформатора? Тем не менее, посмотрим форму сигнала на базе транзистора и его выходе. А не так уж всё и плохо, задний фронт полученного импульса достаточно чётко совпадает с моментом перехода через ноль. Ну а передний фронт можно использовать, например, для фиксации момента, когда лучше производить отключение. Т.е. когда считать, что основной цикл полусинусоиды завершился, а значит, можно перестать "пинать" симистор импульсами и дать ему спокойно закрыться. И разумеется, Atmega8535 К1946ВМ014 имеет входы для внешних прерываний с выбором срабатывания по фронту/срезу импульса, чем мы и воспользуемся, подав сигнал на этот вход. А в обработчике прерывания разрешаем, либо запрещаем работу таймера 0, синхронно с движением синусоиды. Немного забегая вперёд снова попросим специально обученных людей подключить нагрузку к работающему выходу и осциллограф параллельно ей. Действительно, очень похоже на то, что мы ожидали. Сейчас подключена сравнительно сложная нагрузка в виде вентилятора, но с практически 100% активной нагрузкой в виде обогревателя 400 Вт картина практически такая же, только ровнее - нет колебательного выброса после отключения. Но мы так и не ответили на главный вопрос - наше управление чем-то всё же лучше, чем оптосимистором, или нет? А ответ будет такой: да, немного лучше в определённых ситуациях, когда нагрузка слабая, и особенно, если имеет при этом значительную реактивную составляющую. На схеме с MOC3082M на выходной синусоиде начинала просматриваться небольшая, но заметная "ступенька" в моменты перехода нуля. Что не удивительно, поскольку пороговый элемент оптосимистора имеет какой-то порог срабатывания. Да и ток удержания такой стандартной серии симисторов, как ТС106, становится уже больше, чем ток нагрузки в окрестности нуля синусоиды. И в таком случае, в отличие от одиночного импульса, непрерывная "прополка" импульсами запуска работает лучше, поскольку не даёт симистору закрыться раньше времени. А теперь со всем этим мы попробуем взлететь. На самом деле, дальше всё просто. В основном цикле прошивки идёт проверка нажатия кнопок на плате. Если какая-либо кнопка нажата - запускается процесс "обучения" новому коду для включения нагрузки или выключения. Предусмотрен таймаут операции, на...какой-нибудь всякий случай, вдруг вход сработает случайно от неведомой помехи? Мы же рассчитываем использовать изделие 24/7. Далее идёт сравнение текущего принятого кода с образцами, хранящимися в памяти. Если есть совпадение, выставляется флаг, по которому обработчик Int0 включает или выключает подачу импульсов на симистор, как было сказано ранее. Трансформатор питания использован ТПК-2 на 8В, что после выпрямления и сглаживания превращается примерно в 11...12В постоянного тока. Напомним однако, что у маломощных трансформаторов при нагрузке, ниже номинальной, превышение напряжения на выходе может быть существенным! Это важно при выборе конденсатора C5, с таким трансформатором разумно выбрать его тип на напряжение 25В. В процессе работы было установлено, что при использовании пульта возможны ситуации, когда сигнал при нажатой кнопке, приходящий на приёмник, "замирает" случайным образом, потом снова появляется. Увы, такова особенность распространения высокочастотного радиоизлучения, "теневые зоны" приёма распределяются хаотичным образом, особенно, когда пользователь с пультом не сидит на месте. Этот факт имеет значение, когда одна и так же кнопка пульта (или она на нём единственная) "подшита" и на включение, и на выключение. "Замирания" сигнала воспринимаются приёмником как раздельные нажатия кнопки, и как следствие получаются ложные срабатывания. Чтобы этого избежать, пришлось в прошивке расписать довольно сложный алгоритм, разделяющий операции включения и выключения. Для подсчёта таймаутов на операции задействован таймер 2. Коды пульта сохраняются в EEPROM "малую EEPROM данных" ВМ014. При этом используется тройное резервирование сохранённых данных...не то, чтобы это в данном случае было необходимо, скорее просто так сделал. Watchdog я тоже на всякий случай включил. Имейте ввиду, что там, где в коде периодический сброс его счётчика в явном виде не просматривается, на самом деле он всё равно присутствует и происходит в недрах функции delay_ms(). Распишем алгоритм начала работы с изделием:
Коды на включение и выключение запоминаются независимо друг от друга. И это даёт огромное количество вариантов использования! Например, как уже говорилось, на включение и выключение можно назначить одну и ту же кнопку. А другую кнопку пульта, скажем, можно назначить для управления другой такой же "радиорозеткой". Можно на включение и выключение назначить кнопки разных пультов! Более того, поскольку HS1527 добавляет в код состояние всех четырёх своих входов, ничто не мешает задействовать для включения/выключения "секретные комбинации", когда на пульте одновременно зажимаются две, три, все четыре кнопки! Удачное распознавание кода дублируется зажиганием светодиода. Изредка я у себя замечал, что погасание светодиода происходит со значительным запаздыванием по сравнению с отпусканием кнопки. Это значит, что приёмник в этот момент ловит посторонние излучения (от чужих пультов?) и ждёт освобождение эфира. Вы, случайно, не живёте неподалёку от КПП или автомобильной стоянки? Как всегда, в конце приложен полный проект платы в Altium Designer 10 и проект прошивки в CodeVision V2.04.4a. Плата оптимизирована под односторонний ЛУТ и корпус BOX-KA05 от Мастер Кит. Количество переходных перемычек получилось не очень большим. При сборке провод-антенну аккуратно прокладываем изнутри вдоль корпуса, чтобы ничего ею не замкнуть. Этого уже достаточно, чтобы обеспечить слышимость в пределах одной-двух комнат, но можете поэкспериментировать и со внешней антенной. Фьюзы выставлены следующим образом: lfuse = 0x24, hfuse = 0xD9, раскочегарив ядро до 8 МГц. Прошивку, полагаю, можно портировать и под AVRGCC, если применить где требуется местные функции для работы с EEPROM, вроде eeprom_write_byte / eeprom_read_byte. Сам не проверял, но наверняка и под ВМ014 они будут работать адекватно. С библиотеками CodeVision проблем не возникло. И конечно, ещё раз напомним о безопасности. Часть схемы таймера находится под опасным сетевым напряжением! Соблюдайте соответствующие меры предосторожности при сборке и наладке устройства. На схеме предохранитель по входу не показан, но он есть. И вы не пренебрегайте его установкой, когда будете повторять конструкцию!
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
||||
|
|
||||















