Hardwired

Разработки и радио-схемы, справочники, отечественные и импортные электронные компоненты.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Навигатор

Главная Практика Лампа-часы-термометр на Аtmel АТmеgа 16L-8Рl

Лампа-часы-термометр на Аtmel АТmеgа 16L-8Рl

Печать PDF

В данной статье описано простое многофункциональное устройство на микроконтроллере.

Основу устройства составля­ет микроконтроллер фирмы Аtmel АТmega 16L-8Рl. Микроконтроллер был выбран исходя из следующих его достоинств:

  • наличие восьми десятиразрядных АЦП;

  • значительный объем Flash-памяти;

  • наличие таймера реального времени.

Такое число АЦП позволяет ис­пользовать недорогие датчики тем­пературы ТМР35-ТМР37. В данной разработке используются более доро­гие, но и более точные датчики АD592 из-за наличия у них токового выхода, что позволяет обойтись всего двумя соединительными проводами и дает возможность использовать длинную линию связи. Ниже будут приведены схемные решения, позволяющие под­ключить недорогие датчики. Большой объем Flash-памяти необходим для реализации системы меню и относи­тельно большого числа мелодий.

Основные возможности устройства:

  • отсчет времени с индикацией часов, минут, дня недели, числа, месяца, года;

  • измерение и отображение температуры от трех независимых датчиков;

  • наличие трех будильников с возможностью установки на каждый день недели;

  • калибровка хода часов и узлов измерения температуры;

  • автоматическое определение висо­косного года и переход с зимнего времени на летнее и наоборот;

  • управление лампой накаливания (плавное зажигание, регулирование мощности, включение по будильникам, выключение или включение по таймеру);

  • управление мощной внешней на­ грузкой (например, электрообогре­вателем): регулирование мощности,
    управление по таймеру, стабилизация температуры комнаты (по вне­шнему, встроенному датчикам или
    по среднему значению);

  • энергонезависимость часов (в качестве резервного источника питания используется литиевый элемент питания);

  • правление осуществляется пя­тью кнопками;

  • удобное и гибкое меню.

Оригинальным является узел оп­ределения перехода через нуль фазы сетевого питающего напряжения без применения оптоизоляторов, тем не менее низковольтная часть устрой­ства гальванически развязана от се­тевого напряжения.

Устройство выполнено в виде двух блоков, один из которых (базовый) представляет собой бра с элемента­ми управления и индикации, второй блок — корпус с розетками и уста­новленным в нем симистором на радиаторе для управления электро­обогревателем.

Принципиальная схема базовой конструкции приведена на рис. 1.


На элементах R1, R2, VD2-VD5 собран датчик перехода сетевого на­пряжения через нуль. Переменное напряжение с вторичной обмотки трансформатора питания низко­вольтной части ограничивается па­раметрическими стабилизаторами R1VD5 и R2VD4 относительно уров­ня общего провода и включенны­ми встречно-параллельно диодами между входами встроенного во все микроконтроллеры АVR аналогово­го компаратора. В момент перехода сетевого напряжения через нулевое значение происходит переключение компаратора, что отслеживается про­граммно, вызывая прерывание.Данный спо­соб позволяет более точно отследить момент перехода через нуль сетевого напряжения, построен на более деше­вых и широко доступных элементах. Недостатком является необходимость наличия микроконтроллера, имеюще­го в своем составе аналоговый ком­паратор с двумя информационными входами.

Вывод информации осуществляется с помощью дисплея на жидких крис­таллах, имеющего 16 символов в две строки со встроенным контроллером. Связь с микроконтроллером четырех-проводная, плюс два управляющих сиг­нала: сигнал данные/команда RS и сиг­нал строба Е. Подстроечный резистор R15 служит для регулировки контраста отображения индикации. Подсветка управляется микроконтроллером че­рез транзистор VT2. Чтение данных из дисплея не предусмотрено, поэтому вывод RW индикатора замкнут на об­щий провод (запись данных). Посколь­ку при лог. О на шине Е шина данных и управляющий вывод находятся в высокоимпендансном состоянии, эти выводы используются для ввода дан­ных в микроконтроллер с пяти кно­пок. Для предотвращения искажения выводимой на индикатор информации при одновременном нажатии на кноп­ки последовательно с ними включены развязывающие диоды VD12-VD16.

На элементах VD6, С1, R6, R7, VT1 и встроенном во входной порт мик­роконтроллера резисторе выполнен датчик наличия сетевого напряже­ния питания. Когда сетевое напря­жение есть, транзистор VТ1 открыт, на выводе прерывания INТО микро­контроллера — лог. 0. При отклю­чении от сети на выводе INТО будет лог. 1.

Узел управления лампой накалива­ния выполнен на элементах U1, VD11, R12, R18, С9, RU2. Способ управления выбран фазоимпульсный, поскольку он обеспечивает плавное изменение ярко­сти лампы. Данный способ регулиро­вания мощности имеет существенный недостаток — создание помех, кото­рые можно услышать, если включить радиоприемник в диапазоне длинных или средних волн. Существуют спосо­бы снизить уровень помех, например, при помощи LС-фильтров. В данной конструкции LС-фильтры не использу­ются по конструктивным причинам, но при повторении конструкции рекомен­дуется установить стандартный дрос­сель и высоковольтные конденсаторы, бумажные или металлопленочные, в цепь питания лампы. К сожалению, из-за большого тока во втором канале управления затруднительно установить дроссель из-за его значительных габа­ритов. Впрочем, если мощность сило­вой нагрузки не регулировать, а просто коммутировать, дроссель может и не понадобиться.

Микроконтроллер с помощью встроенного 16-разрядного таймера с блоком сравнения управляет силовым оптосимистором, нагрузкой которо­го является лампа накаливания мощ­ностью не более 100 Вт (в авторском варианте используется лампа фирмы Philips мощностью 60 Вт с отражате­лем и матовой поверхностью). Второй канал 16-разрядного таймера исполь­зуется для управления внешней на­грузкой. Принцип регулирования ос­нован на отсчете выдержки времени от точки перехода сетевого напряже­ния через нуль до включения силовых симисторов. В момент перехода через нуль программно устанавливаются в единицу выводы микроконтроллера, управляющие нагрузкой, тем самым отключая симисторы. После отсчета времени, соответствующего необхо­димой мощности нагрузки, эти вы­воды программно сбрасываются, от­крывая силовые симисторы. Данный способ позволяет регулировать мощ­ность нагрузки в широких пределах. Для цепи управления лампой нака­ливания реализована плавная подача напряжения питания при включении, что способствует значительному про­длению срока службы лампы.

Блок питания собран по класси­ческой трансформаторной схеме с интегральным стабилизатором DA2 на 5 В. Резервное питание поступает от литиевого элемента GB1 напря­жением 3 В. Для нормальной работы необходимо выполнение следующих условий: микроконтроллер должен быть рассчитан на напряжение пита­ния 2,7...5,5 В, этому требованию от­вечают микроконтроллеры, имеющие в своем обозначении литеру L; диод VD10 должен иметь минимальное па­дение напряжения (диод Шоттки).

Резисторы R13, R14 образуют дели­тель для измерения напряжения ли­тиевого элемента питания с помощью АЦП. Литиевый элемент CR2032 имеет емкость 200...250 мА-ч. Ток потребле­ния устройства от элемента питания составляет 200...300 мкА в режиме микропотребления (с отсчетом вре­мени) и 2 мкА при наличии сетевого напряжения. Исходя из указанных значений емкости элемента и макси­мального тока потребления можно предположить, что отсчет времени в режиме резервного питания сохранит­ся в течение примерно месяца. Однако это было бы верно, если бы микроконт­роллер был работоспособен при напря­жении питания от 2 В. К сожалению, в данном устройстве при использовании диода Шоттки срок работы резервного питания уменьшается. Впрочем дли­тельная работа от резервного источ­ника питания не имеет смысла, т. к. происходит только отсчет времени и сохранение различных параметров в ОЗУ, а индикация и остальные перифе­рийные устройства не функционируют. При длительном отключении сетевого напряжения элемент питания на этот срок лучше извлечь из устройства. Не­сколько продлить срок работы без се­тевого напряжения можно, используя вместо диода Шоттки малогабаритное герконовое реле или низкопороговый полевой транзистор. Также можно использовать батарею элементов на напряжение 4,5...6 В или экономич­ный повышающий преобразователь напряжения.

Для звукового оповещения предус­мотрен пьезокерамический излуча­тель BF1, подключенный к порту мик­роконтроллера через транзистор VT3. Для задания тактовой частоты 4 МГц используется встроенный в микро­контроллер генератор. Для таймера реального времени, реализованного на таймере-счетчике 2 микроконтрол­лера, установлен кварцевый резона­тор ZQ1 на частоту 32768 Гц.

Датчики температуры AD592 с то­ковым выходом подключаются не­посредственно к входам АЦП мик­роконтроллера. Для преобразования тока в напряжение служат резисторы R3R5. Номиналы резисторов рас­считываются по формуле:

К = Uоп/Iмакс.датч

где Uоп— опорное напряжение, В; мо­жет использоваться как встроенный в микроконтроллер источник опорного напряжения на 2,56 В, так и внешний; Iмакс.датч — выходной ток датчика тем­пературы при максимальной заданной пользователем температуре. Для по­вышения точности измерения реко­мендуется выбрать верхнюю границу измеряемой температуры на уровне 40...50 °С. Для AD592 выходной ток при температуре 25 °С составляет 298,2 мкА, температурный коэффи­циент равен 1 мкА/°С.

Датчик температуры DA1, располо­женный на плате, изначально предна­значался для проверки правильности функционирования узла измерения температуры. Из-за фиксированного расположения проводить его калиб­ровку затруднительно. При желании можно этот датчик не устанавливать, используя для измерения комнатной температуры внешний датчик. Любая систематическая погрешность легко ус­траняется программной калибровкой.

При установке датчиков температу­ры с выходом по напряжению (рис. 2)рис.2

потребуется дополнительный конден­сатор, который желательно устано­вить в непосредственной близости к датчику.

Подборки резисторов в этом случае не требуется из-за отсутствия тако­вых. В этом случае при применении внешнего источника опорного на­пряжения выбор последнего должен происходить в соответствии с напря­жением датчика, соответствующим максимальной выбранной темпера­туре.

Блок управления сильноточной на­грузкой показан на рис. 3.

Управляющий сигнал с микроконт­роллера открывает оптосимистор U2, который включен в управляющую цепь силового симистора VS1. Дву­цветный светодиод HL1 индицирует зеленым свечением наличие сетевого напряжения, а красным — перегорание сетевого предохранителя FU3. Трехпозиционным переключателем SA1 выбирается режим включения нагрузки: отключение от сетевого напряжения, включение напрямую, минуя управляющий симистор, либо через симистор с возможностью уп­равления нагрузкой дистанционно. Через блок управления сильноточ­ной нагрузкой транзитом проходит сигнал с датчика температуры. Это удобно, когда требуется измерять температуру вблизи обогревателя, находящегося на значительном уда­лении от управляющего устройства. Если управление сильноточной на­грузкой не используется, датчик тем­пературы можно подключать прямо к разъему XS2, измеряя температуру внутри помещения.

Устройство выполнено на несколь­ких платах: на одной располагаются все основные элементы блока управ­ления, на плате, установленной под передней панелью рядом с индикато­ром, располагаются кнопки управле­ния (рис. 4), плата блока управления сильноточной нагрузкой расположена в отдельном корпусе.

Автор придерживается мнения, что печатные платы лучше всего разводить под имеющиеся корпус и комплектацию. Вот общие рекомен­дации по расположению элементов и разводке платы. Блокировочные кон­денсаторы должны устанавливаться вблизи выводов питания микросхем, то же касается и конденсатора в цепи RESET микроконтроллера. Общий провод от таких конденсаторов же­лательно выделить и развести его отдельно к выводу GND микрокон­троллера. Также автор рекомендует для всего, что должно соединяться с основной платой проводниками (кнопки, разъемы на корпусе, вынос­ные датчики и т. п.), использовать разъемы. Располагать элементы необ­ходимо, разделяя высоковольтные и низковольтные цепи, стараясь, чтобы они не пересекались друг с другом. После монтажа желательно покрыть высоковольтные цепи на плате и ра­диодетали, принадлежащие к этим цепям, электроизоляционным лаком в несколько слоев. При монтаже и на­ладке необходимо соблюдать правила электробезопасности.

Конструкция внешних датчиков произвольна. Желательно датчики герметизировать, чтобы можно было впоследствии калибровать их, опус­кая в воду. Хорошие результаты дает применение термоусадочных трубок разных диаметров.

Микроконтроллер ATmegal6L-8PI можно заменить на более дешевый ATmega8535L-8PI, если не исполь­зовать большой набор мелодий, а всего одну или две. Для перехода на этот микроконтроллер придется не­значительно переделать программу.

Также можно использовать внешний источник опорного напряжения, который подключается к выводу 32 AREF (нумерация дана для корпуса DIP).


В программе предусмотрено использование датчика освещеннос­ти на фотодиоде

(рис. 5) для авто­матического включения подсветки LCD-индикатора.





Полезно будет добавить подсветку кнопки включения лампы (рис. 6).


В программе можно выбрать раз­личные способы подсветки: постоян­ное свечение светодиода, мигание с частотой пересчета таймера реального времени или отключение подсветки.

Индикатор — любой формата 16 символов в две строки с встроен­ным контроллером, совместимым с HD44780. При замене может воз­никнуть проблема несовместимости кодировок русского шрифта, кото­рая устраняется только путем замены подключаемого файла text.inc, в кото­ром необходимо заменить весь текст на кодировку используемого инди­катора. У примененного автором ин­дикатора кодировка формата Epson, но более предпочтительной является кодировка ASCII, при которой текст в программу можно вводить напря­мую. В случае применения нерусифи­цированного индикатора его можно русифицировать известными метода­ми или выводить информацию на английском или другом языке.

Звукоизлучатель — любой с доста­точной громкостью звучания. В кор­пусе прибора желательно просверлить отверстия напротив излучателя для улучшения его слышимости. Если громкость все же недостаточна, можно вместо пьезоизлучателя применить ма­логабаритную динамическую головку. В этом случае резистор R10 можно ис­ключить. Трансформатор — малогаба­ритный для печатного монтажа, напри­мер фирмы Hahm, но подойдет любой на выходное напряжение 7... 10 В и ток около 0,5 А. Выпрямительный мост — любой низковольтный на ток 0,5... 1 А, VD7 — диод Шоттки на ток 0,5...1А или любой выпрямительный на тот же ток. Диоды VD9, VD10 — диоды Шоттки с минимальным падением напряжения. Остальные диоды — КД521Б или лю­бые импульсные или выпрямительные. Оптосимистор UlS26MD01 или подобный на ток от 0,6 А. Необходимо проследить, чтобы симистор не имел узла Zero-cross, который переключает симистор только при переходе через нуль сетевого напряжения. Оптосимис­тор U25П50 (отечественный ана­лог — АОУ163), подойдут импортные МОС3020ММОС3022М, симистор VSlMAC16M, подойдут любые на ток 10... 16 А, например отечествен­ные КУ208Г, ТС106-10-6, ТС112-10-6, ТС112-16-6. Резисторы R3R5 жела­тельно использовать прецизионные С2-29В-0,125; Rll, R18—R20 MF-2, ОМЛТ-2; R21MF-1, ОМЛТ-1; под-строечный резистор R15СП5-2ВБ, СПЗ-19а; остальные резисторы — MF-0,125, ОМЛТ-0,125. Варисторы RU1RU3JVR20N-391M. Конденса­торы оксидные — SR, керамические — К10-17а, С9К73-17 на напряжение 400.. .630 В. Разъемы для подключения датчиков температуры и кабеля к блоку управления сильноточной нагрузкой — ОНЦ-ВГ-1-3/16Р (В — ответная часть), розетки XS5, XS6 — обычные для от­крытой проводки. Разъем программи­рования ХР1 зависит от типа приме­няемого программатора. В авторском варианте это IDC-10М с разводкой выводов, соответствующей програм­матору STK-200 производства Atmel. Программировать лучше внутрисхем-но, но разъем под микроконтроллер предусмотреть все же стоит.

После монтажа радиоэлементов не вставляя микроконтроллер в разъем и включив питание необходимо прове­рить напряжения +12 В и +5 В. Затем выключить питание, установить мик­роконтроллер и, подав питание, запрог­раммировать его. При необходимости можно установить оптимальную конт­растность изображения на индикаторе подстроечным резистором R15.

Наладка заключается в калибров­ке датчиков температуры. В главном меню выбирается пункт «Уст. пара­метров» — «Калибровка термодат­чиков». Затем выбирается тип дат­чика (встроенный, внешний датчик для измерения уличной температу­ры и внешний датчик для измерения комнатной температуры). Первая ка­либровочная константа подбирается при температуре датчика О °С (датчик опускается в воду с тающим снегом или льдом), на индикаторе при этом необходимо кнопками «Up» и «Down» установить значение температуры, близкое к нулю. Затем, нажав кноп­ку «Enter» (константа сохраняется в памяти EEPROM микроконтролле­ра), необходимо установить температуру по второй произвольной точ­ке, определяемой по образцовому термометру, чем ближе она будет к максимальной границе измеряемой температуры, тем точнее будет про­изведена калибровка. Достаточную точность можно получить, используя для калибровки температуру челове­ческого тела.

Система меню, отображаемая ин­дикация и действия кнопок в каждом конкретном случае поясняются в фай­ле mode.doc в приложении к файлу прошивки. Добавление функций устройства и пунктов меню не соста­вит большого труда. Программа, на­писанная на ассемблере . Число мелодий определяется подклю­чаемым файлом melody.inc, в котором пользователь может сам задать нуж­ные мелодии, пользуясь о приведенной методикой.

При программировании следует об­ратить внимание на биты Fuse. При неправильном их программировании устройство может не отвечать заявлен­ным требованиям или вообще быть неработоспособным. Так для установ­ки тактовой частоты 4 МГц необхо­димо выставить биты CKEL0CKEL3 в ООП. Чтобы обеспечить микропот­ребление, необходимо запрограмми­ровать следующие биты: BODEN = 1, OCDEN = 1, JTGEN = 1 (1 — незап-рограммированньй бит). Остальные биты оставить по умолчанию.

Сергей Лузгин, г. Екатеринбург

при копировании материалов ссылка на источник обязательна
Скачать:
Download this file (lamp.zip)lamp.zip384 Kb
Tags:
 


Навигатор

Главная Практика Лампа-часы-термометр на Аtmel АТmеgа 16L-8Рl