Часы на atmega8 и ds1307: AVR Урок 23. Собираем часы на DS1307 и LED индикаторе. Часть 1

Содержание

Часы на ds1307 atmega8

Наличие часов реального времени real-time clock, сокращенно RTC в системе с микроконтроллером очень удобная опция. Особенно она полезна, когда нужно запоминать определенные события с привязкой ко времени ведение лога системы. Микросхема часов DS компании Maxim широко известна и получила популярность благодаря простоте и дешевизне. Если Вы хотите добавить RTC к системе на основе микроконтроллера AVR , или если хотите узнать немного про интерфейс two-wire сокращенно TWI , переводится как «два-провода» , или так называемый I2C это два разных названия одного и того же интерфейса , то эта статья должна пригодиться здесь приведен перевод статьи [1]. Этот аппаратный интерфейс предназначен для поддержки последовательного протокола обмена данными через 2 сигнальные линии: сигнал данных data line, SDA и сигнал тактов clock line, SCL.


Поиск данных по Вашему запросу:

Часы на ds1307 atmega8

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам.

Содержание:

  • Please turn JavaScript on and reload the page.
  • Подключение DS1307 к микроконтроллерам AVR
  • Работа с часами реального времени DS1307
  • Часы на ATmega8a+DS1307 язык С
  • Часы на Atmega8 и семисегментном индикаторе. Идеальные часы
  • AVR Урок 23. Собираем часы на DS1307 и LED индикаторе. Часть 2
  • Как использовать RTC (часы реального времени) с Arduino и LCD
  • Урок 11. Работаем с DS1307 микросхемой часов реального времени

ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Часы на DS1307

Please turn JavaScript on and reload the page.


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

Подключение датчиков на схеме не соответствует печатной плате. Программа подогнана под печатную плату, необходимо подключать: — 1-й датчик к РВ1 й вывод — 2-й датчик к РВ2 й вывод. Обращаю ваше внимание на подключение выводов порта D микроконтроллера к выводам индикатора: — PD0 микроконтроллера — к выводу D7 индикатора — PD1 микроконтроллера — к выводу D6 индикатора — PD2 микроконтроллера — к выводу D5 индикатора — PD3 микроконтроллера — к выводу D4 индикатора Такое подключение выбрано с целью упрощения разводки дорожек на печатной плате.

Установка FUSE-битов — по умолчанию, ничего менять не надо. Для определения текущего времени применена микросхема часов реального времени DS , которая отсчитывает секунды, минуты, часы, дату месяца, месяц, день недели и год с компенсацией високосного года действительной до года. Работа программы организована по прерываниям по переполнению от таймера Т1 возникающие каждые 4 секунды. Обновление текущего времени происходит каждые 4 секунды, обновление текущих температур с датчиков — поочередно, через каждые 4 секунды.

Питание устройства осуществляется от стабилизированного источника питания напряжением 5 Вольт, можно применить зарядное устройство от сотового телефона, или автономный источник питания — АКБ. Потребляемый ток зависит от яркости подсветки номинала резистора R3 и в конкретном случае составляет 12 мА.

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

Поступило много комментариев на неработоспособность устройства, несоответствие печатной платы схеме. Ниже представлены фотографии собранного устройства по схеме, печатной плате и прошивке опубликованных на этой странице. Устройство заработало сразу, проблем не наблюдается. Печатная плата выполнена методом ЛУТ. Разъемы для подключения датчиков взяты от куллеров старых компьютеров. После промывки платы часы заработали.

Другие конструкции на микроконтроллерах: 1. Простые электронные часы на микроконтроллере ATyni26, с использование микросхемы часов реального времени DS 2.

Двухканальный термометр, термостат, терморегулятор с возможностью работы по времени, одноканальный таймер реального времени на ATmega8 и датчиках DS18B Собрал это устройство, и как некоторые, подключил датчик не на тот пин. Собирал с СМД варианте и не уследил по выходам. Минус один термодатчик, блин!

А так довольно неплохое устройство, правда по цене выходит то же самое, как и с китая готовое купить. Здравствуйте Влад. По датчику — сочувствую.

В Китае купить можно почти все, но не то, что собрано своими руками. С уважением, Admin. Добрый вечер! Собрал ваши часы все работает спасибо. Единственное что хочется добавить чтобы мигало двоеточие.

Здравствуйте Владимир. Изменить возможно, но пока нет на это времени. Не нашел тут информации по фьюзам на прошитых и снятых с аппаратуры защищенных АТМЕГА 8, подобрал, работает, иначе козябры, либо просит внешний кварц. Когда-нибудь будет и статья о фьюзах и их лечении. В принципе любой микроконтроллер можно оживить, если только у него неправильно выставлены фьюзы по тактированию, подачей внешнего тактового сигнала на вывод XTAL1 частотой мГц.

Сигнал можно получить с помощью другого микроконтроллера. Часики конечно классные! Завелись сразу. Хотя после первого включения какое-то время пялился в пустой экран, пока не догадался покрутить подстроечник Не могли бы Вы дать прошивку без заставки если возможно , чтобы часики сразу вступали в работу?

С уважением. Очень интересное устройство, собрал работает. Но слишком долго вступает в работу Вопрос такой можно ли ускорить запуск устройства? Убрать заставку убрать число 85? Если можно то очень прошу вас помочь мне. Спасибо за устройство. При попытке отладки Вашего устройства в Протеусе и на макетке по каналам температуры светятся ошибки ERR2,кроме того,отсутствует индекс Дом. Часы и календарь работают нормально,а управление перемещением курсором некорректное.

Где можно скачать рабочий Hex-файл? Код рабочий. В Протеусе устройства не тестирую, все только в железе или на макетной плате. Err2 означает, что датчик не подтверждает запрос от микроконтроллера на свое присутствие в схеме, возможно ошибка подключения. Курсор в программе перемещается в нужную позицию автоматически, кнопками выставляются только нужные значения.

Есть исправный проверен на двух других устройствах датчик DS18B При подключении его к данным часам постоянно показывает температуру ,1. Другой же DS18B20 работает на всех устройствах и на данных часах , но он дефектный на всех устройствах занижает температуру примерно на 3 градуса.

Почему не все DS18B20 работают в данных часах они же вроде все одинаковые по параметрам? К сожалению у меня больше нет DS18B20 для более детальной проверки. Такая же проблема мелькала ранее здесь в комментариях у Евгения.

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

Если будет возможность проверить — спасибо, у меня такой возможности сейчас нет и собирать конструкцию нет времени. Здравствуйте Admin! Вопрос ниже. Прошивка демо??? Чудес не бывает, устройство рабочее. Если все детали исправны, значит ошибка в их соединении. Температура на 4 градуса ниже. Запаял датчик на другое исправное устройство — тоже занижает.

Вывод — дрянь датчик. Но когда переставил в наши часы датчик с исправного устройства — получил постоянную температуру — 0.

В других устройствах этот датчик работает правильно. К сожалению на улице у данного устройства с DS и точным кварцем, а точнее подкидывал несколько монтаж по всем правилам точность хода часов зимой составила 5 минут в неделю.

Поставил конденсатор, но меньше 2 минут не добился. Сегодня перепаял на DSSN без каких либо доработок. Ток потребления DS был около 0,,3 мкА. О точности хода после такой доработки сообщу после тестов. Здравствуйте Сергей. У DS нет температурной коррекции, поэтому и такой уход.

У DS такая коррекция есть, точность хода должна быть достаточно приемлемой. Итак, за 14 дней данное устройство с DSSN показало себя с приятной стороны, а именно часы идут очень точно. За эти 14 дней точность хода составила менее одной секунды может это погрешность вторых часов. На этом считаю данное устройство полностью доработанным и готовым к повторению.

Так что однозначно собирать на DSSN. Здравствуйте Сергей! Спасибо за Ваш труд и то, что поделились результатами. Но слишком долго вступает в работу приходится ждать 20 секунд пока появится заставка потом пока начнут работать датчики и того все это время занимает 20 секунд.

Вопрос такой можно ли ускорить запуск устройства? Спасибо за отличное устройство. Конечно без Но не обошлось. Моя невнимательность.


Подключение DS1307 к микроконтроллерам AVR

Устройства на микроконтроллерах Схемы на микроконтроллерах pic, avr; Программаторы. Микроконтроллерная техника avr. С меню и будильником. Полный bcd календарь, часы плюс Предлагаю для повторения схемы электронных часов на микроконтроллере ATmega 8, с отображением информации большими светодиодами. Цифровая коррекция точности хода. Минитерминал V.

DS Микросхема DS предназначена для счета времени — секунд, минут, часов, дней, месяцев и лет. То есть по сути, это часы с.

Работа с часами реального времени DS1307

Возможно, продавец снова выставит его на торги позже. Напишите ему. Меню Au. Новый лот. Новое объявление. Новый тендер. Новая акция. Новая вакансия. Аукцион г. Торги завершены.

Часы на ATmega8a+DS1307 язык С

Данная микросхема представляет из себя часы реального времени и календарь. Связь с микросхемой осуществляется по интерфейсу I 2 C. Её преимущество в том, что она работает считает время при выключенном основном питании от резервного источника питания в 3 вольта например, от батареики типа CR Но в DS есть один недостаток: в ней нет проверки на правильность введённых данных. Для работы с микросхемой потребуется минимальный обвес: кварц на Hz, батарея на 3 вольта и два резистора на 4,7кОм.

Вот уже скоро год будет как я ваяю свои часы.

Часы на Atmega8 и семисегментном индикаторе. Идеальные часы

В прошлой части нашего занятия мы занимались в основном проблемой отображения поочерёдно всех показаний на индикаторе в нужное время и в нужном виде. Это нам, как мы помним, удалось. Теперь перед нами стоит ещё одна нелёгкая задача — возможность редактировать значения в регистрах микросхемы реального времени DS Редактировать мы будем с помощью кнопок, вернее даже с помощью одной кнопки, так как у нас больше и ножек портов-то собственно не осталось. Ну и хорошо, что так, заодно и однокнопочный интерфейс изучим немного.

AVR Урок 23. Собираем часы на DS1307 и LED индикаторе. Часть 2

Добро пожаловать, Гость. Логин: Пароль: Запомнить меня. Забыли пароль? Забыли логин? В первом варианте больше нравится шрифт.

Испытания я проводил в связке ATmega32 + LCD 16×2 + DS Далее Программа для работы с часами реального времени DS

Как использовать RTC (часы реального времени) с Arduino и LCD

Часы на ds1307 atmega8

Микросхема DS предназначена для счета времени — секунд, минут, часов, дней, месяцев и лет. То есть по сути, это часы с календарем. Она тактируется от собственного кварцевого генератора с частотой Гц и может работать от двух источников питания — основного и резервного. Важная фишка этой микросхемы заключается в низком потреблении — меньше nA в рабочем режиме.

Урок 11. Работаем с DS1307 микросхемой часов реального времени

С использованием этой микросхемы минимально будет грузиться наш микроконтроллер.

Итак приступим, создадим новый проект мастером. Особенность роботы. В нормальном режиме мы видим время и дату.

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

Более четырех лет назад я собрал простые часы на ATmega8. Все это время они исправно работали и приносили пользу, особенно в темнее время суток. Но мне показалось, что такой микроконтроллер, как ATmega8 может делать намного больше, чем просто подсчитывать колебания кварца и выводить их в виде времени. Захотел, чтобы новые часы информировали не только о текущем времени, но и о температуре в помещении, где они находятся. Задался поиском подобных схем в интернете, отталкиваясь от уже имеющихся комплектующих, а именно: микроконтроллер ATmega8 и светодиодный индикатор с общим катодом. Отличное решение нашлось на этой странице, которое предоставил пользователь Soir, за что ему большая благодарность. Схема часов не сложная, плюс, я сделал в ней некоторые упрощения.

Нашёл у себя на компьютере экспериментальный проектик на часах DS Собственно вот схема в Proteus. На схеме нет кварца — к меге 16мгц, а к часикам часовой кварц желательно с канденсаторами по 22пф.


Простые часы на микроконтроллере AVR

Главная→Микроконтроллеры: схемы, конструкции, литература, программы→Радиолюбительские схемы на микроконтроллерах→Простые часы на микроконтроллере AVR

Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

Сегодня, уважаемые радиолюбители, вашему вниманию предлагается очень простая схема часов на микроконтроллере AVR и часов реального времени с последовательным интерфейсом I2C DS1307.

Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.

Схема часов:

В схеме применены следующие детали:
— Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.

Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
— запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).

Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.

Расположение выводов микроконтроллера ATyni26:

Расположение выводов DS1307:

Типовая схема подключения D1307:

Рекомендуемая схема подключения кварца к DS1307:

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

Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).


  Даташит DS1307 на русском (312.1 KiB, 1,543 hits)

  Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,451 hits)

  Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,270 hits)

  Схема часов в формате sPlan7 (119.3 KiB, 1,518 hits)



Взаимодействие микросхемы DS1307 RTC с микроконтроллером AVR

Часы реального времени, как следует из названия, представляют собой модули часов. Они доступны как интегральные схемы (ИС) и управляет синхронизацией, как часы. Некоторые микросхемы RTC также управляет датой, как календарь. Главное преимущество в том, что у них есть система резервного аккумулятора, который поддерживает работу часов/календаря даже при отключении питания отказ. Для поддержания RTC в рабочем состоянии требуется очень небольшой ток. Это в В большинстве случаев используется миниатюрная 3-вольтовая литиевая батарейка типа «таблетка». Таким образом, даже если встроенный система с часами реального времени выключена модуль часов реального времени включен и работает резервным клетка. Этот же метод используется и в синхронизации ПК. Если вы открыли свой В корпусе компьютера вы заметите небольшую ячейку для монет на материнской плате.

В этом уроке мы научимся использовать очень известную микросхему RTC DS1307. DS1307 описан в таблице данных следующим образом:

DS1307 — это маломощные часы/календарь с 56 байтами SRAM с батарейным питанием. Часы/календарь обеспечивают секунды, минуты, часы, день, число, месяц и год. Дата в конец месяца автоматически с поправкой на месяцы с менее чем 31 днем, включая поправки на скачок год. DS1307 работает как ведомый устройство на шине I2C.

Таким образом, целью проекта будет доступ к регистрам DS1307, время чтения

  • Доступ к регистрам DS1307, т. е. чтение/запись данных в/из микросхемы DS1307
  • Отформатировать считанные данные и отобразить их на ЖК-дисплее
  • Возможность получать время от пользователя и сохранять его в DS1307. Это обеспечивает средства для настройки модуля RTC с правильным временем.

Внутренние регистры DS1307

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

АДРЕС БИТ7 БИТ6 БИТ5 БИТ4 БИТ3 БИТ2 БИТ1 БИТ0 ФУНКЦИЯ ДИАПАЗОН
00Н Ч

10 СЕКУНД

ВТОРАЯ

ВТОРАЯ

00-59
01H

10 МИНУТ

МИНУТЫ

МИНУТЫ

00-59
02H

12

10 часов

10 часов

ЧАС

ЧАС

1–12+AM/PM ИЛИ
00-23

24

утра/вечера

03H

ДЕНЬ

ДЕНЬ

01-07
04H

10 ДАТА

ДАТА

ДАТА

01-31
05ч

10 МЕСЯЦЕВ

МЕСЯЦ

МЕСЯЦ

01-12
06H

10 ГОД

ГОД

ГОД

00-99
07ч

ДЛЯ ПРОСТОТЫ Я ПРОПУСТИЛ РЕГИСТР УПРАВЛЕНИЯ

ЭТО ИСПОЛЬЗУЕТСЯ ДЛЯ ГЕНЕРАЦИИ ПРЯМОУГОЛЬНЫХ ВОЛН НА PIN7

08-3FH                 56 БАЙТ ОЗУ 00h-FFh

Регистр использует BCD (двоично-десятичный код) для хранения значений. Например возьмите регистр по адресу 01h, он хранит МИНУТЫ. Скажем, 37 минут. затем он будет храниться следующим образом.

Рис.: Формат BCD в регистрах DS1307.

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

 /****************************************************** ***

Функция чтения внутренних регистров DS1307
------------------------------------------------------------

адрес : Адрес регистра
data: сюда копируется значение регистра.


Возвращает:
0 = сбой
1 = успех
******************************************************* */

uint8_t DS1307Read(uint8_t адрес,uint8_t *данные) 

/****************************************** ************* Функция для записи внутренних регистров DS1307 ------------------------------------------------------------ адрес : Адрес регистра data: значение для записи. Возвращает: 0 = сбой 1 = успех ******************************************************* */ uint8_t DS1307Write (адрес uint8_t, данные uint8_t)

Эти функции зависят от библиотеки I2C. I2C (связь между ИС) является популярным протоколом связи между ИС. DS1307 и наш AVR ATmega8 обменивается данными по шине I2C. Я дам более подробную информацию об I2C в отдельном руководство.

Простой модуль RTC

DS1307 требуется 32,768 кГц кристалл, 3-вольтовая литиевая батарея и 2 подтягивающих регистра для работы. Так что я сделаю небольшую печатную плату, которая будет содержать все это. Показано изображение модуля ниже. Модуль можно подключить к разработке доски с использованием женщина-женщина бургские провода.

Рис.: Простой модуль RTC DS1307.

Профессиональный модуль DS1307 RTC

 

 

Рис.

: Принципиальная схема модуля DS1307 RTC.

Когда у вас будет готов модуль RTC, вы можете подключить его к своему любимому MCU. как PIC или AVR или любой другой MCU. В этом уроке я свяжу его с AVR ATmega8 MCU, я также буду связывать его с последними микроконтроллерами PIC.

Пример интерфейса AVR ATmega8, DS1307 RTC с ЖК-модулем

Чтобы сделать полный пример, мы подключим 16×2 ЖК-модуль и 3 нажмите на кнопки. Подробная принципиальная схема приведена ниже.

Рис. :Схема интерфейса AVR ATmega8 RTC.

Программное обеспечение avr-gcc

Полное программное обеспечение для примера написано на языке C и скомпилировано с помощью avr-gcc. Все программное обеспечение очень модульное. Следующие программные модули использовал.

  • Модули интерфейса LCD для управления устройством отображения. Более подробная информация представлена ​​на этих страницах.
    • ЖК-дисплей Интерфейсная библиотека для Atmel AVR микроконтроллеры
    • ЖК-дисплей Интерфейсная библиотека для Microchip Микроконтроллеры PIC
  • Библиотека низкоуровневого интерфейса I2C . Это обрабатывает данные связь с использованием аппаратного модуля I2C, присутствующего внутри микроконтроллеров AVR/PIC.
    • Для микроконтроллеров Atmel AVR (еще не написано)
    • Для микроконтроллеров PIC16. (Еще не написано)
    • Для микроконтроллеров PIC18. (Еще не написано)
  • Модуль DS1307 : Этот модуль построен поверх вышеуказанного модуля I2C. помощь в чтении/записи данных в и из чипа DS1307. Функции очень просто и задокументировано внутри самих файлов .c и .h.
  • Основной прикладной модуль RTC. c это прикладное программное обеспечение который использует вышеупомянутые модули для связи как с ЖК-дисплеем, так и с чипом DS1307. Он также управляет обработкой пользовательского интерфейса (UI) с помощью 3 push-уведомлений. кнопки.

Инструкции по изготовлению

Соберите цепи в соответствии со схемами, показанными выше. Сжечь hex (ссылка для скачивания указана в конце статьи) на ATmega8 с помощью подходящий программатор. Установите байт предохранителя следующим образом МЛАДШИЙ = 21 HEX ВЫСОКИЙ = D9 Шестнадцатеричный . Подайте питание на цепь и отрегулируйте потенциометр контрастности ЖК-дисплея до тех пор, пока дисплей четкий. Начальное время должно отображаться как 00:00:00 . Теперь нажмите клавишу «меню» , чтобы войти в главное меню. Используйте клавиши ЛЕВЫЙ и ПРАВЫЙ для перемещения между параметры и ВВЕДИТЕ , чтобы выбрать элемент. В главном меню есть следующие варианты.

  • Установить время
  • Установить время включения (ЕЩЕ НЕ РЕАЛИЗОВАНО)
  • Установить время выключения (ЕЩЕ НЕ РЕАЛИЗОВАНО)
  • Выход

Рис. : Главное меню.

Перейдите к опции «Установить время» , появится следующий пользовательский интерфейс. отображаться.

Рис. : Установка времени.

Используйте «Move Sel» клавиша для переключения между часами, минутами, секундами, AM/PM, и <ОК>. Используйте «Увеличение»/»Уменьшение» кнопки для настройки значения. Наконец перейдите к и нажмите любая клавиша. Появится сообщение «Main Time Set» . Главное меню вернется. Выберите «Выход» из отобразится главное меню и главный экран, показывающий текущее время. В настоящее время RTC настроен, он сохранит время, даже если вы отключите цепь. Затем вы включаете схему, она все равно будет показывать РЕАЛЬНЫЙ время!

Рис. : Пример основного экрана DS1307 RTC.

Загрузки

  • Исходный код C
  • Hex-файл готов к записи и запуску!
  • Файл моделирования Proteus для быстрого и простого тестирования!

Просьба читателей

Если вы считаете эту статью полезной, у вас есть какие-либо сомнения или вы хотите поделиться ваши ценные предложения, пожалуйста, оставьте комментарий или два! я был бы рад услышал от тебя.

-Автор

Авинаш Гупта

Мой профиль на Facebook

Видео

ATmega DS Пример действия.

Столкнулись с проблемой в проекте встроенной электроники или робототехники? Мы здесь, чтобы помочь!
Опубликовать запрос о помощи.

Avinash

Avinash Gupta сосредоточен исключительно на бесплатном и высококачественном учебном пособии, чтобы сделать изучение встроенной системы увлекательным!

Другие сообщения — Веб-сайт

Follow Me:

Программируемый контроллер освещения | Hackaday.io

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

Чтобы удовлетворить вышеуказанное требование, я разработал этот контроллер с использованием ATmega8 MCU и DS1307 RTC. Драйвер этого светового контроллера предназначен для работы с общедоступными светодиодными модулями мощностью 7 Вт.

Детали

Основным компонентом этого программируемого светильника является маломощный CMOS-микроконтроллер ATmega8. Основной причиной выбора этого микроконтроллера является его более низкая стоимость и более высокая доступность. За исключением двух вышеупомянутых причин, этот микроконтроллер также поставляется с богатым набором периферийных устройств, включая 23 GPIO, 3 независимых таймера, двухпроводной последовательный интерфейс, EEPROM и т. д.

Помимо микроконтроллера ATmega8, эта система использует часы реального времени DS1307 для поддерживать системное время. Как и ATmega8, DS1307 также является очень популярным RTC на рынке.

Этот контроллер предназначен для работы с источником питания 24 В постоянного тока. Основная причина выбора 24 В заключается в том, что большинство светодиодных модулей средней мощности на рынке предназначены для работы с этим напряжением. Во время моих поисков все светодиодные модули средней мощности, которые я нашел, рассчитаны на работу в диапазоне 20В — 28В. Из этих светодиодных модулей большинство модулей рассчитаны на входное напряжение 24 В.

Для этой схемы рекомендуется использовать портативный импульсный источник питания 24 В 1,5 А. За исключением каскада драйвера светодиода, все остальные части этого светового контроллера рассчитаны на работу с напряжением 5 В. Преобразователь постоянного тока MC34063 используется для подачи 5 В на эти компоненты.

Чтобы уменьшить размер, я спроектировал эту систему с использованием компонентов для поверхностного монтажа , но эта система также может быть построена с использованием компонентов типа со сквозными отверстиями. На стадии прототипа я строю эту систему полностью на макетной плате, используя детали типа со сквозными отверстиями.

Для создания источника света мощностью 7 Вт я использовал детали светодиодной лампы, доступные на рынке, в том числе светодиодную панель теплого белого цвета мощностью 7 Вт, алюминиевый корпус лампы (радиатор) и рассеивающий колпачок (крышка лампы).

  • 1 × ATmega8 Микропроцессоры, микроконтроллеры, DSP/ARM, микроконтроллеры на базе RISC
  • 1 × ДС1307 Часы реального времени
  • 1 × MC34063 ИС управления питанием / Импульсные регуляторы и контроллеры
  • 1 × IRF540 Дискретные полупроводники / силовые транзисторы и МОП-транзисторы
  • 5 × ММБТ3904 Дискретные полупроводники / транзисторы, MOSFET, FET, IGBT
  • 1

    Изготовление и пайка печатных плат

    Конструкция печатной платы, которую я предоставляю, основана на двух слоях, и поэтому рекомендуется создавать эту печатную плату, используя какой-либо сервис по изготовлению печатных плат.

    После изготовления печатной платы можно приступать к впаиванию в нее компонентов. Сначала попробуйте припаять микросхемы SMD. После пайки всех трех микросхем начните с небольших компонентов SMD, таких как резисторы, конденсаторы и транзисторы SOT-23. Я настоятельно рекомендую установить семисегментный дисплей, базу с разъемом постоянного тока, зажимы для батареи и клеммную колодку на последних этапах пайки.

  • 2

    Загрузить прошивку в систему

    После того, как все компоненты собраны, следующей задачей является загрузка прошивки в микроконтроллер. Для загрузки микропрограммы наиболее рекомендуемым методом является использование адаптера, совместимого с AVR для внутрисхемного программирования (ISP).

    Эта система предназначена для работы со стандартным 6-контактным интерфейсом AVR ISP, и для этого интерфейса доступно множество программаторов.

    Во время сборки моего прототипа я использовал программатор USBasp для прошивки микроконтроллера прошивкой.

    В процессе загрузки прошивки обратите особое внимание на настройки фьюза ATMega8. Чтобы получить предполагаемые результаты, low-fuse байт должен быть установлен в 0xEF, а high-fuse байт должен быть установлен в 0xD9. Дополнительные сведения см. в документации проекта на GitHub.

    При использовании интернет-провайдера обязательно отключите источник питания 24 В от системы.

  • 3

    Светодиодный модуль

    После загрузки встроенного ПО остается только подключить светодиодный модуль к контроллеру.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *