Режимы работы кодового замка на PIC16F628
Схема кодового замка имеет два режима работы. Одним из них является обычный режим работы, когда схема ожидает ввода секретного кода. Второй режим — программирование. Данный режим используется для настройки работы замка.
Состояние ввода кода
Для ввода секретного кода необходимо поочередно ввести четыре цифры, каждая цифра соответствует количеству нажатий на кнопку SA1. После первой введенной цифры, светодиод мигнет один раз. Затем необходимо ввести следующую цифру. После набора четвертой цифры при верно набранном коде светодиод быстро мигнет три раза и активируется реле. При неверно набранном коде светодиод также мигнет три раза, но медленно. Затем можно повторить попытку ввода. Изначально в памяти микроконтроллера записан код 1234.
Состояние программирования кодового замка
В схеме предусмотрен переключатель SA2, который используется для изменения режима работы секретного замка. Когда переключатель замкнут, устройство находится в состоянии программирования
Необходимо обратить внимание, что состояние данного переключателя опрашивается только при подаче питания, поэтому при изменении его положения необходимо выключить и включить питание схемы
Меню программирования кодового замка состоит из трех пунктов:
- Запись нового секретного кода в память микроконтроллера PIC16F628. При переводе SA2 в режим программирования и включении питания, светодиод будет светить одинарными вспышками. Это свидетельствует, что вы находитесь в первом пункте меню. Для записи нового кода необходимо поочередно ввести каждую цифру, так же как и при обычном вводе. После ввода последней цифры устройство подтвердит успешное завершения серией быстрых вспышек светодиода. Теперь питание можно выключить и перевести SА2 в обычный режим, либо можно перейти ко второму пункту меню программирования кодового замка. Для этого необходимо нажать кнопку SA1 и удерживать ее не менее 3 секунд. После отпускания кнопки, светодиод будет мигать двойными вспышками.
- Изменения продолжительности включения реле. Каждое нажатие прибавляет одну секунду. Допусти если нужно чтобы реле было активно в течении 5 секунд, то необходимо нажать кнопку SA1 пять раз с частотой нажатий в одну секунду. После этого устройство подтвердит запись значения серией частых вспышек. Для перехода в 3 пункт меню также нажимаем кнопку на 3 и более секунды и отпускаем. Теперь светодиод будет мигать тройными вспышками.
- Режим работы реле кодового замка. При одном нажатии реле будет активироваться на период, установленный во втором пункте меню. При двойном нажатии – реле будет включаться при вводе секретного кода, и выключаться только при повторном вводе секретного кода.
Для программирования микроконтроллера PIC16F628 модно воспользоваться несложным программатором, который описан здесь.
Скачать прошивку (1,2 MiB, скачано: 2 493)
Цифровой мультиметр AN8009
Большой ЖК-дисплей с подсветкой, 9999 отсчетов, измерение TrueRMS…
Подробнее
Принцип работы
Работа замка на микроконтроллере основана на поочередном вводе трех чисел. Размер каждого числа может быть в диапазоне от 0 до 255. Это в свою очередь повышает уровень секретности кодового замка по сравнению с другими замками, у которых каждое секретное число имеет размер от 0 до 9.
Hantek 2000 — осциллограф 3 в 1
Портативный USB осциллограф, 2 канала, 40 МГц….
Подробнее
В том случае если введенная последовательность этих трех чисел совпадает с тремя числами, которые внесены в память микроконтроллера кодового замка, то на выходе (вывод 3) появится управляющий сигнал ( лог.1), на 15 секунд загорится светодиод HL4 сигнализируя о правильности ввода и сработает реле К1 управляющее исполнительным механизмом замка. По истечении 15 секунд на выводе 4 микроконтроллера появится лог. 0 и замок перейдет в первоначальное состояние ожидания.
Управление работой кодового замка осуществляется всего двумя кнопками, руководствуясь только индикацией светодиодов. Причем ввод секретного кода осуществляется только одной кнопкой SB2, которая находится на наружной панели замка. Вторая кнопка SB1 предназначена для программирования, и она расположена на самой плате.
Принципиальная схема
Принципиальная схема приведена на Рисунке 1. Основные узлы частотомера: коммутатор (U1a), предварительный делитель на 4-разрядном двоичном счетчике (U2a), микроконтроллер ATtiny24A, узел термостата и ЖКИ MT-10T11 (на схеме не показан). Никаких особенностей схема не имеет, кроме того, что подтягивающие резисторы шины I2C (1 кОм) размещены на плате индикатора, и здесь не изображены. Сделано это для того, чтобы сохранить возможность применения любого индикатора с последовательным интерфейсом на 8 и более разрядов . Неиспользуемые элементы аналогового коммутатора и счетчика предоставляют простор для дальнейшей модернизации. Элементарно построение двухканального частотомера без дополнительных затрат.
Рисунок 1. |
Вообще то, что приведенная схема оказалась работоспособной и стабильной при работе с частотами выше 60 МГц, вызывает удивление. Просто внутренние цепи кристалла аналогового коммутатора 4053 имеют емкость около 10 пф, что на частоте 100 МГц соответствует сопротивлению 160 Ом! Как минимум, два порта практически соединены с источником входного ВЧ сигнала и МК, похоже, сохраняет точность аналого-цифрового преобразования и не сбивается при обработке прерываний, следующих через 25 мкс. Это невозможно, но это работает даже на макете с проводным монтажом.
Теперь о конструкции замка
Схема простейшая, испытанная, работает она уже полтора года без проблем, в условиях жары и холода. И самое главное, проста в повторении! Покупаешь радиодетали, плату можно использовать монтажную.
В качестве привода для замка, применил простой автомобильный электропривод (актуатор). В комплект идут и крепления – металлические полоски, которые нужно переделать, так как видно на фотографиях. Все зависит от того, какой замок применяется для переделки. Можно ставить готовую электрозащелку фирмы FASS LOCK Itemno:2369 (8-12V,12W). В таком случае меняется емкость конденсатора С1, так чтобы получить временную задержку таймера в 0,5-1с.
Дополнительный узел
Обратите внимание, что если на выходах RA0 и RA1 микроконтроллера одновременно будет установлен высокий уровень напряжения, все транзисторы мостового коммутатора VT4-VT7 откроются и произойдёт замыкание источника питания замка. При работе микроконтроллера по хорошо отлаженной программе это явление маловероятно, но вполне может произойти в процессе её отладки после внесения каких-либо изменений
При работе микроконтроллера по хорошо отлаженной программе это явление маловероятно, но вполне может произойти в процессе её отладки после внесения каких-либо изменений.
Во избежание подобных случаев рекомендуется дополнить устройство узлом, схема которого показана на рис. 2, включив его в разрывы проводов, помеченных на рис. 1 крестами.
Рис. 2. Схема дополнительного узла для кодового замка.
Транзисторы VT8 и VT9 никогда не откроются одновременно, что предотвратит одновременное открывание транзисторов VT4-VT7.
Прошивка для микроконтроллера — Скачать.
А. Гетте, г. Рязань. Р-12_2015.
Принципиальная схема
Устройство, схема которого изображена на рис. 1, позволяет посредством введённого кода отпирать дверь и запирать её.
Рис. 1. Принципиальная схема самодельного кодового замка на микроконтроллере PIC16F628A.
Код хранится в EEPROM микроконтроллера DD1, а при включении питания устройства программа копирует его в оперативную память. Индикатор HG1 — четырёхразрядный семиэлементный светодиодный с общими катодами знакомест. В процессе набора кода цифры сдвигаются по нему справа налево.
Если код состоит из пяти цифр, то при наборе его последней пятой цифры первая уходит за пределы индикатора. Тем не менее действуют все пять набранных цифр. В исходной программе предварительно записан нулевой код, который действует сразу после первого включения замка.
Чтобы открыть замок, находящийся в этом состоянии, достаточно убедиться, что его индикатор очищен, и нажать на кнопку SB8. Будут включены светодиод HL1 (им можно, например, освещать внутренность сейфа) и зелёный светодиод HL3 (путь свободен).
Затем кратковременно, примерно на две секунды, будет включён исполнительный двигатель М1, который и откроет запор. Для дальнейшей эксплуатации замка нулевой код нужно заменить новым секретным кодом, который должен находиться в интервале от 1 до 65535. Ввести его можно только при открытом замке при условии, что на индикаторе нули.
Для замены кода кратковременно нажмите на кнопку SB12. Индикатор очистится, включится светодиод HL1. Введите новый код, нажмите на кнопку SB 12 и удерживайте её нажатой около двух секунд.
Светодиод HL1 будет выключен, а индикатор HG1 очищен. Теперь новый код записан в EEPROM микроконтроллера. В дальнейшем код можно заменять неоднократно.
Если новый код был введён без предварительной очистки индикатора, но при нулях на нём, то светодиод HL1, сигнализируя о записи кода, погаснет на две секунды и включится снова.
Однако индикатор очистится, а новый код будет записан в энергонезависимую память микроконтроллера.
Чтобы отпереть замок после смены кода, нужно будет очистить индикатор кратковременным нажатием на кнопку SB 12. Затем ввести именно этот код и нажать на кнопку SB8. Если код был набран правильно, но механика замка по какой-либо причине заела, можно нажимать на кнопку SB8 неоднократно.
С каждым нажатием на неё двигатель М1 будет включаться на отпирание. Закрывают открытый замок кратковременным нажатием на кнопку SB 12. Светодиод HL1 погаснет, а приблизительно через две секунды индикатор HG1 очистится. Далее нажмите на кнопку SB8.
На две секунды будет включён красный светодиод HL2, а на двигатель М1 подано напряжение противоположной подаваемому при открывании полярности. Запор закроется. Эту операцию можно выполнить только один раз после каждого отпирания.
Повторное запирание невозможно. Если операции открывания и закрывания замка исполняются неправильно (одна вместо другой), то следует изменить полярность подключения двигателя М1. При первом включении замка на индикаторе HG1 могут появиться случайные цифры.
Чтобы удалить их или исправить ошибку в наборе кода, необходимо кратковременно нажать на кнопку SB12. На случай, если хранящийся в EEPROM микроконтроллера сменный код утерян, в его программной памяти имеется постоянный код, которым замок тоже можно отпереть
. В прилагаемой к статье программе он равен 45457. Изменить его можно только путём перепрограммирования микроконтроллера. Для этого нужно указать новое значение кода в строке:
«POSTKOD EQU .45457»
исходного текста программы (файла ZAMOK.ASM). Эта строка находится в самом его начале. Предшествующая коду точка означает в данном случае, что это десятичное число.
Значение постоянного кода должно находиться в пределах от 1 до 65535, в противном случае он действовать не будет. После изменения постоянного кода программу необходимо транслировать заново и загрузить в микроконтроллер полученный НЕХ-файл.
Пример Blink
Для проверки программатора загрузим в МК скетч мигания светодиодом (Blink). Для этого подключите светодиод и резистор к выводу 2 (порт PA4) МК ATtiny1614, как показано на Рисунке 7. На схеме также изображен программатор на плате Arduino Nano.
Рисунок 7. | Принципиальная схема подключения светодиода к МК ATtiny1614 для проверочного скетча Blink. |
Откройте в Arduino IDE файл Blink_ATTiny1614.ino и загрузите его в МК с помощью команды «Upload using programmer» в меню «Sketch». В процессе загрузки скетча проигнорируйте сообщения об ошибке программатора «avrdude: jtagmkII_initialize(): Cannot locate «flash» and «boot» memories in description». После загрузки скетча подключенный к МК светодиод начнет мигать (Рисунок 8).
Рисунок 8. | Пример подключения светодиода к МК Attiny1614 на монтажной плате. |
Обратите внимание, что физический вывод 2 (PA4) МК в Arduino IDE является портом D0 (см. карту портов ввода/вывода на Рисунке 6)
Электронный кодовый замок — принципиальная схема
К561ИЕ8, К561ИЕ9, К176ИЕ8, CD4022CD4017CD4017К561ИЕ8, К176ИЕ8EL4017AEскачайте тут
Итак, работа схемы электронного кодового замка очень проста. При вводе правильного четырёхзначного последовательного кода на выходе микросхемы (Q4) появляется логическая единица, которая приводит к открыванию замка. При наборе неверной цифры (кнопки S5-S10), не являющаяся частью кода, схема переходит в исходное состояние, то есть обнуляется через 15 вывод микросхемы (RESET). При нажатии S1 единичное состояние на третьем выводе Q0 микросхемы поступает на вход полевого транзистора VT1 открываясь он поддает напряжение на вывод 14 (CLOCK) который переключает единичное состояние на второй вывод Q1, потом при последовательном нажатии кнопок S2, S3, S4, сигнал переходит на Q2, Q3, и в конечном итоге при вводе правильного кода с выхода Q4 сигнал открывает транзистор VT2 на короткое время, определяемое емкостью конденсатора С1, включая реле К1 который своими контактами подает напряжение на исполнительное устройство (электрозамок, защелка, или автомобильный «активатор” (актуатор)).
Детали и конструкция
Конструкция панели управления замка может быть произвольной, но при этом должна защищать кнопки и светодиоды от возможных механических повреждений и отвечать требованиям эргономики. Оптимальное расстояние между кнопками — 40…60 мм.
Светодиоды целесообразно располагать на расстоянии 30…40 мм над кнопками. Кнопки не должны выступать над поверхностью панели управления, а светодиоды следует поместить как можно дальше (глубже) от внешней поверхности, чтобы световой поток от них проходил через узкие каналы коллиматоров (отверстия диаметром не более 1… 1,5 мм и глубиной не менее 5 мм) и не рассеивался во все стороны.
Ещё лучше сделать канал коллиматора в виде конусного отверстия с углом раскрытия 10… 15°. Яркость светодиодов должна быть минимально достаточной для уверенной идентификации при любых условиях внешней освещённости. Регулируют яркость подбором резисторов R4 и R5.
Если первоначальное программирование микроконтроллера будет производиться непосредственно на собранном устройстве (внутрисистемное программирование), на плате следует предусмотреть пятиконтактный разъём для подключения программатора. На схеме этот разъём обозначен XS1.
Из-за невысокой нагрузочной способности выходов некоторых программаторов программирование рекомендуется выполнять при выпаянных светодиодах и резисторе R6.
При первоначальном программировании микроконтроллера в его EEPROM записывается тестовый трёхразрядный код «1 — 1 — 1», который затем пользователь может заменить на любой другой. Максимальная длина пользовательского кода — восемь разрядов, что, как правило, является избыточным.
В микроконтроллере задействован сторожевой таймер WDT, который автоматически перезагрузит устройство в случае его «зависания» по какой-либо причине.
Поскольку схема устройства очень простая и для её реализации можно применить детали различных типоразмеров, чертёж печатной платы не приводится. Её сможет самостоятельно «развести» под свои детали даже начинающий радиолюбитель.
Программа написана в графической среде Algorithm Builder, которую можно скачать по адресу www.algrom.net . Там же можно найти схемы простых программаторов для микроконтроллеров Atmel.
Программа и hex-файлы для прошивки микроконтроллера: Скачать
И. КАРПУНИН, г. Нижний Тагил Свердловской обл. Р-12-2016.
Практические результаты
Макет частотомера (Рисунок 2) строился на микросхемах CD74HC393E, CD74HC4053E и без замечаний работает на частоте 70 МГц. Также испытывался счетчик LV393, но с ним выше 125 МГц проверка не проводилась. Программный предел для входной частоты – 150-160 МГц. Замена серии HC на LV в коммутаторе ощутимого улучшения характеристик не выявила, разве что на частоте 125 МГц субъективно на несколько единиц счета уменьшилась разница между минимальным и максимальным показаниями.
Рисунок 2. |
Поскольку источник эталонной частоты отсутствовал, настройка и проверка характеристик частотомера проводилась с набором серийных кварцевых генераторов, на технические параметры которых однозначно указывала маркировка. Таких оказалось четыре: 5, 30, 70, 100 МГц (частоты округлены). Вначале под каждый кварц подбиралось значение константы Dadd, чтобы показания частотомера соответствовали маркировке. В дальнейшей работе использовалось среднее значение Dadd, и все кварцы уложились в допустимое паспортное отклонение от центральной частоты (не более ±100 ppm). Наиболее близкими к среднему оказались настройки под кварц 70 МГц, который был принят за эталон. Далее каждый кварц термостатировался и фиксировалось максимальное отклонение показаний. После этого этапа работы с кварцами 5 и 30 МГц прекратились, потому что ошибка лежала в пределах ±1 ед.счета в течение достаточно длительного времени. Частота 100 МГц отображалась с максимальной ошибкой ±5 ед.
УСТРОЙСТВО СВЕТОВЫХ ЭФФЕКТОВ
Рейтинг: 5 / 5
- Подробности
- Категория: схемы на ATtiny
- Опубликовано: 08.04.2017 11:19
- Просмотров: 4095
В статье представлен вариант устройства световых эффектов на базе микроконтроллера AVR. Устройство позволяет реализовать 16 различных световых эффектов с заданием скорости переключения индикаторов в гирляндах. Устройства, создающие световые эффекты, пользуются неизменной популярностью на различных массовых мероприятиях. Применение в них микроконтроллеров позволяет значительно увеличить их функциональные возможности по сравнению с аналогичными устройствами, выполненными на цифровых логических микросхемах. Количество реализуемых разнообразных световых эффектов ограничивается лишь фантазией разработчика и памятью программ микроконтроллера. Причем, что число исполняемых функций, а так же параметры и количество световых эффектов устройства можно изменить, под каждый конкретный случай, изменив фактически только программное обеспечение, как правило, при минимальных доработках в аппаратной части. Это очень удобно, когда для изменения сценария световой иллюминации достаточно «на ходу» изменить только программное обеспечение. При желании это можно сделать даже во время мероприятия. Для этого нужно только перепрограммировать микроконтроллер или заменить его с новой зашитой программой.
Этапы управления кодовым замком
Рассмотрим это на конкретном примере. Допустим, нам нужно задать следующий секретный код: первая цифра 8, вторая цифра 12, третья цифра 9. Для этого подаем питание на устройство, затем нажимаем и удерживаем обе кнопки (SB1 и SB2). После этого отпускаем кнопку SB1, и как только начал мигать светодиод HL1 отпускаем и кнопку SB2. После этих манипуляций светодиод HL1 будет гореть постоянно, а светодиоды HL2 и HL3 не будут гореть. Это состояние светодиодов говорит о том, что устройство перешло в режим программирования.
Теперь чтобы записать первое число нам нужно нажать и удерживать кнопку SB2, при этом все три светодиода начнут мигать. Нужно отсчитать необходимое количество вспышек (в нашем случае это и отпустить кнопку. После этого, в подтверждении правильности введенного числа, светодиоды промигают такое же количество раз (8 раз). Все, первое число записано. Далее загорается светодиод HL2 – напоминая нам, что необходимо записать второе число.
Поступаем точно так же как и с записью первого числа: нажимаем и удерживаем кнопку SB2 и отсчитываем необходимое число вспышек светодиодов (в нашем примере это 12), отпускаем кнопку и проверяем правильность ввода по повторным вспышкам. Затем загорается светодиод HL3 для третьего числа, и повторяем туже процедуру и для третьего числа (число 9).
После того так мы записали в память микроконтроллера все три числа и для выхода из режима программирования нужно нажать кнопку SB1.
Набора секретного кода
Рассмотрим так же это на примере. До этого мы записали секретный код 8-12-9. Для ввода вначале нажимаем кнопку SB1 и отпускаем ее сразу, после того как загорится светодиод HL1, тем самым переводим наш замок в режим ввода кода. Свечение светодиода HL1 свидетельствует, что нужно ввести первую цифру. Процедура ввод цифр аналогична тому, как вводились цифры при программировании. То есть, нажимая на кнопку SB1, отсчитываем необходимое количество, после чего отпускаем кнопку и наблюдаем подтверждение наборной цифры путем мигания светодиодов. Затем переходим ко второй и третьей цифре.
Блок питания 0…30 В / 3A
Набор для сборки регулируемого блока питания…
Подробнее
В том случае если все три цифры секретного кода введены верно, сработает реле и на 15 секунд включится светодиод HL4, светодиоды HL1,HL2,HL3 будут светиться в режиме бегущих огней.
Для ввода секретного кода предоставляется три попытки. Если в третий раз код введен неверно, возможность ввода блокируется на 2,5 минуты. По прошествии этого времени замок снова будет готов к вводу кода.
При программировании микроконтроллера следует выставить следующие фьюзы:
- CKDIV8 = 0
- BODLEVEL0 = 0
- SPMEN = 0
Скачать прошивку (1,3 MiB, скачано: 1 993)
Используем переходную плату
Одна из проблем при экспериментировании с этими новыми МК заключается в том, что они поставляются только в корпусах для поверхностного монтажа (SMD). Это затрудняет их использование на макетных платах. Для этой цели была разработана плата-адаптер, которая позволит использовать МК ATtiny1614 как стандартный элемент в форм-факторе DIL (Dual-In-Line). Принципиальная схема платы-адаптера изображена на Рисунке 2.
Рисунок 2. | Принципиальная схема платы адаптера (SOIC-DIL) для МК ATtiny1614. |
Плата была разработана в САПР Eagle, и проектные файлы доступны для скачивания в разделе загрузок (Рисунок 3). Стоит заметить, что расположение выводов переходной платы DIL форм-фактора отличается от расположения выводов МК в SMD корпусе. Сделано это было специально, чтобы плата адаптера получилась односторонней и ее можно было изготовить в домашних условиях по ЛУТ-технологии, сохранив стандартную ширину 0.3 дюйма. Выводы UPDI/Reset, VCC и GND выведены на отдельную планку, поэтому программатор можно подключить к МК, даже когда плата-адаптер уже запаяна на другую плату (в устройстве).
Рисунок 3. | Проект платы адаптера (SOIC-DIL) для МК ATtiny1614 в САПР Eagle. |
Устройство передатчика
Управление дистанционным контролем осуществляется при помощи микроконтроллера Attiny2313А. Процессор работает от внутреннего RC осциллятора на частоте 1 МГц.
Цифровой мультиметр AN8009
Большой ЖК-дисплей с подсветкой, 9999 отсчетов, измерение TrueRMS…
Подробнее
Команды передаются через ИК-светодиод с длиной волны 940 нм. (TSAL6100, TSAL6200, TSAL5100 или TSAL5300). При нажатии на кнопку, передатчик посылает соответствующий код. Программа обеспечивает полную передачу кода кнопки независимо от того, когда кнопка была отпущена.
Импульсный ток, протекающий через ИК-светодиод, установлен на уровне 320…400 мА, который задается сопротивлением R1. Ток стабилизируется цепью с VT1, VT2, R1, R2, в результате он остается на постоянном уровне, не смотря на снижение напряжения питания.
Необходимо обратить внимание, чтобы протекающий ток через ИК-светодиод не превышал максимально допустимый. Рабочая частота передачи составляете около 37 кГц (частота процессора / 27)
Передатчик питается от источника 3В, например две AA или AAA батарейки, или иной источник на 3В. Минимальное рабочее напряжение для Attiny2313A является 1,8 В.
Ток потребления передатчика составляет около 20 — 30 мА. Когда не нажата ни одна кнопка, микроконтроллер переходит в режим Power Down и потребление передатчик снижается до 1мкA (что намного меньше, чем саморазряд батареи, поэтому этим можно пренебречь). Конденсатор C1 необходимо разместить как можно ближе к микроконтроллеру.
Версии микроконтроллеров AVR
После обозначения базовой версии микроконтроллера идет обозначение версии микроконтроллера — от одной до трех цифр, и еще в конце может быть буква. Цифры обозначают объем встроенной памяти программ и модификацию микроконтроллера.К примеру:ATmega8 — объем памяти программ — 8 килобайтATmega32 — объем памяти программ — 32 килобайтATmega168 — объем памяти программ — 16 килобайт, модификация 8ATtiny45 — объем памяти программ — 4 килобайт, модификация 5ATtiny861 — объем памяти программ — 8 килобайт, модификация 61
Буква после цифр указывает на параметры питающего напряжения и потребляемой мощности микроконтроллера.Буквы в конце цифр обозначают:Нет буквы — напряжение питания микроконтроллера скорее всего находится в пределах 4,5 — 5,5 вольтL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 — 5,5 вольт)V — версии контроллеров, работающих на низком напряжении питания (1,8 — 5,5 вольт)U — версии контроллеров, работающих на сверхнизком напряжении питания (0,7 — 5,5 вольт)P — малопотребляющие версии (до 100 нА в режиме Power-down)A — уменьшен ток потребления, перекрывается весь диапазон тактовых частот всех версий, напряжение питания 1,8 — 5,5 вольт (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit’ы отличаются.К примеру:ATmega8 — объем памяти программ — 8 килобайт, напряжение питания — 4,5 — 5,5 вольтATmega8L — объем памяти программ — 8 килобайт, напряжение питания — 2,7 — 5,5 вольтATtiny43U — объем памяти — 4 килобайта, модификация — 3, напряжение питания — 0,7 — 5,5 вольтATtiny44А — объем памяти — 4 килобайта, модификация — 4, уменьшенный ток потребления, напряжение питания 1,8 — 5,5 вольт
При этом надо учитывать, что микроконтроллер без буквы в обозначении может иметь пониженное напряжение питания (1,7 или 1,8 вольт), надо проверять по даташиту, к примеру:ATtiny841 — объем памяти — 8 килобайта, модификация — 41, напряжение питания — 1,7 — 5,5 вольтATtiny48 — объем памяти — 4 килобайта, модификация — 8, напряжение питания — 1,8 — 5,5 вольт
Схема кодовой кнопки на Attiny
Пару слов про резистор на выходе микроконтроллера. Используемое реле может потреблять менее 20 мА (чем выше напряжение, тем ниже будет ток удержания катушки), что при усилении тока около 200 дает около 0,1 мА базового тока. Когда выходной сигнал от платы составляет около 5 В, а падение на переходе база-эмиттер составляет около 0,7 В, базовый резистор может иметь значение 4,3 В / 0,1 мА или 43 кОм. Любое меньшее значение гарантирует полное насыщение в этом диапазоне. Так что 4,7 кОм уже даст полное насыщение.
Написана программа в BASCOM и после компиляции она занимает ровно 1024 байта. Bin файл для программирования во вложении. Тактовая частота 1,2 МГц. Работа кнопки шифрования несколько напоминает код Морзе, когда код короткий и длинный нажимается в нужное время. Всего у нас 256 комбинаций. Это может быть немного, но вряд ли кто захочет тратить столько времени на перебор ввода кода (надо ещё знать что вообще требуется сделать). После включения питания в течение 1,5 секунд схема выполняет внутреннюю очистку и готова к работе.
Схема устройства
Схема устройства представлена на следующем рисунке и содержит в своем составе Arduino, модуль клавиатуры, буззер (звонок) и ЖК дисплей. Плата Arduino управляет всеми процессами работы схемы: считывание пароля с модуля клавиатуры, сравнение паролей, включение/выключение буззера и передача статуса на ЖК дсиплей. Клавиатура используется для ввода пароля. Буззер используется для индикации, а ЖК дисплей используется для отображения статуса операции и различных сообщений. Буззер управляется с помощью NPN транзистора.
Столбцы модуля клавиатуры непосредственно подключены к контактам 4, 5, 6, 7, а строки – к контактам 3, 2, 1, 0 платы arduino uno. ЖК дисплей подключен к плате Arduino в 4-битном режиме. Управляющие контакты RS, RW и En подключены к контактам Arduino 13, GND и 12. Контакты данных ЖК дисплея D4-D7 подключены к контактам 11, 10, 9 и 8 arduino. Буззер подключен к контакту 14(A1) arduino с помощью NPN транзистора BC547.
Обозначения индексов микроконтроллеров
После обозначения базовой версии и серии микроконтроллера, через дефис идет индекс, указывающий вариант исполнения микроконтроллера.Индекс состоит из 1-2 цифр, которые означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания, и из 1-3 букв, которые обозначают вариант корпуса, температурный диапазон работы, и особенности изготовления.Первая буква (или две буквы) после частоты обозначает тип корпуса:P — корпус DIP (PDIP)A — корпус TQFPM — корпус MLFTS — корпус SOT-23 (ATtiny4/5/9/10)J — корпус PLCCA — корпус UDFN/USONC — корпус CBGACK — корпус LGAS — корпус EIAJ SOICSS — узкий корпус JEDEC SOICT — корпус TSOPX — корпус TSSOP
Следующая буква означает температурный диапазон и особенности изготовления:C — коммерческий температурный диапазон (0 °C — 70 °C)A — температурный диапазон −20 °C — +85 °C, с использованием бессвинцового припояI — индустриальный температурный диапазон (-40 °C — +85 °C)U — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припояH — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAuN — расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припояF — расширенный температурный диапазон (-40 °C — +125 °C)Z — автомобильный температурный диапазон (-40 °C — +125 °C)D — расширенный автомобильный температурный диапазон (-40 °C — +150 °C)
Еще в самом конце может быть буква R, которая означает, что микроконтроллеры упакованы в ленты для автоматизированных систем сборки
К примеру:ATmega8L-8AU — максимальная частота — 8 мегагерц, корпус — TQFP, индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припояATmega8-16PN — максимальная частота — 16 мегагерц, корпус — PDIP, расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припоя
Если вы знаете, что обозначают буквы и цифры в маркировке микроконтроллера, значит знаете основные параметры микроконтроллеров, и всегда сможете подобрать для своей конструкции наиболее оптимальный вариант микроконтроллера.
Линейка микроконтроллеров ATmegaЛинейка микроконтроллеров ATtiny
Маркировка микроконтроллеров AVR ATmega и ATtinyМаркировка микроконтроллеров AVR семейства ATmega и ATtiny, базовые версии и версии микроконтроллеров, индекс микроконтроллеров
Published by: Мир микроконтроллеров
Date Published: 04/27/2015
Особенности программного обеспечения
Таймер TC1 настраивается на работу в режимах CTC и генерирует «окно счета» длительностью 1 с на выходе OC1A (SEC1). Такой выбор позволяет организовать (псевдо) аппаратное формирование нарастающего и спадающего фронтов, положение которых во времени жестко привязано к системной частоте. В качестве опорного может применяться любой кварц. Настоятельно рекомендуем использовать как можно более высокочастотные.
Если используется кварц, отличающийся от указанного на схеме, нужно изменить две константы в программе. Частоту в Гц требуется разделить на 512, записать в шестнадцатеричной системе и присвоить значение константам Dbase, Dadd. При настройке «временных ворот» (1 с) следует подбирать значение Dadd. Здесь имеется ввиду то обстоятельство, что точная частота генерации конкретного кварца нам неизвестна, тем более, что она еще сдвинута от среднего значения работой при повышенной температуре в термостате.
Программа температурной стабилизации использует только 8 младших разрядов кода аналого-цифрового преобразования UBE транзистора-нагревателя. Поскольку зависимость UBE от тока коллектора и температуры кристалла не нормируется производителями, транзистор для датчика-нагревателя следует выбирать по минимальному UBE на рабочем токе (120-130 мА) и максимальному усилению тока. Для справки: 2SC4115S (T = 25 °C, IC = 1 мА, UBE = 607 мВ), применяемый в термостате, имеет UBE = 531 мВ при токе коллектора 120 мА и температуре кристалла +60 °C. Конечно, можно использовать двухбайтное значение и не экономить программную память МК, но это дело второе. Исходный код написан на ассемблере и очень компактен при компиляции.
Необходимые компоненты
- Модуль клавиатуры (матричная клавишная панель).
- Макетная плата.
- Источник питания.
- Соединительные провода.
В представленном проекте мы будем использовать технологию мультиплексирования для подключения клавиатуры (с помощью которой и будет вводиться пароль) к плате Arduino Uno. Мы будем использовать клавиатуру 4х4 которая содержит 16 кнопок (клавиш). В обычном режиме для подключения 16 кнопок к плате Arduino нам бы понадобилось 16 контактов, но с использованием технологии мультиплексирования нам будет достаточно 8 контактов для подключения 16 кнопок. Более подробно об этом можно прочитать в статье про подключение клавишной панели к Arduino.
Технология мультиплексирования является простым и эффективным способом уменьшения числа используемых контактов микроконтроллера при взаимодействии с большим числом кнопок (клавиш). В основном в этой технологии используется два простых приема: сначала сканируются строки, а потом сканируются столбцы. Но поскольку в Arduino мы используем специальную библиотеку для работы с клавиатурой, используя технологию мультиплексирования, нам нет необходимости писать специальный код для реализации этой технологии, по сравнению, например, с подключением клавишной панели к микроконтроллеру AVR.
Устройство приемника
Приемник также как и передатчик построен на Attiny2313A с тактовой частотой 1 МГц от внутреннего RC осциллятора.
В качестве ИК-датчика применен фотоприемник TSOP1736 (TSOP4836, TSOP31236, SFH5110-36, OSRB38C9BA, OSRB38C9AA, TSOP4838, TSOP34838, SFH5110-38). Приемник предназначен для работы на частоте от 36…38 кГц.
Стенд для пайки со светодиодной подсветкой
Материал: АБС + металл + акриловые линзы. Светодиодная подсветка…
Подробнее
Встроенный приемник получает, усиливает и демодулирует инфракрасный сигнал. Он имеет встроенную автоматическую регулировку усиления (АРУ), подавление помех от дневного света, полосовой фильтр, демодулятор и выходной сигнал, согласованный с уровнями TTL. Все вышеизложенное обеспечивается при длиннее световой волны в районе 940-950 нм, поэтому длинна волны, передающего светодиода должна соответствовать данной величине.
При приеме кода кнопки (образец кода должен быть получен два раза) и следующих за ними контрольных бит, микроконтроллер принятый сигнал декодирует и переключает соответствующий выход. После подачи питания на схему, первоначальное состояние всех входов (по умолчанию) – выключено.
Для коммутации нагрузкой выходы приемника модно подключить по следующей схеме:
Реле можно применить на 5 вольт с контактами, выдерживающими ток потребления нагрузки. Питание приемника осуществляется от стабилизированного источника питания на 5 вольт, построенного на стабилизаторе 78L05 или 7805.
Запрограммировать микроконтроллер можно USB программатором.
Фьюзы передатчика:
Фьюзы приемника:
Скачать прошивку (1,0 MiB, скачано: 2 706)
www.danyk.cz