Просмотр полной версии : Часы на микроконтроллере
kaligraf
15.06.2007, 16:29
Закончил новый проект часов на микроконтроллере PIC16F628A. Схема наипростейшая, а программу можно улучшать. Кого заинтересует эта тема, то полное описание конструкции здесь размещено на моём сайте.
Что можно добавить в программу или схему часов? Какие дополнительные функции внести?
Хотелось бы выслушать любые разумные предложения...
Dimon50002004
15.06.2007, 17:09
Хорошо бы исходники поглядеть. На сайте я чего-то их не нашёл.
а зачем имено на проце7 есть же микрухи типа ds там всякие, таблетки опять же (i button)
там точность хода гарантирована
kaligraf
16.06.2007, 06:47
Отвечу по порядку вопросов.
Ссылки разрешены только после 15 сообщений, а я только что зарегистрирован.
Исходников пока не будет, вид у них разобрано-кусочный.
А на проце потому что точность достижима и здесь очень даже неплохая, а соотношение цена/качество и простота схемы в пользу контроллера.
Добавлено через 2 минуты
Ещё насчёт ссылки - ссылка в моём профиле
To:kaligraf 73!:umnik2:
Всем доброго утра!
А почему бы не ввести функцию:
- переключения Московского времени (часового пояса) на Гривнич, средне Американское время (у них там много разных);
- секундомер с несколькими памятями;
Ajax.
Вот неплохой проект http://sharon.esrac.ele.tue.nl/mirrors/zl1bpu/micro/CLOCK/index.htm Все собирался повторить но не нашел TCXO. А так и UTC и Local Time показывает. Точность несколько секунд в год.
да ладно вам - смеетесь - несколько секунд в год )))))))))
все зависит от кварца
а в плане простоты на проце - сомневаюсь. микруху часов опрашивай несколько раз в секунду и все. да и точность будет лучше тк микруха питается от литиевой батарейки и сброс питания ей нестрашен. а проц глюканул от питания - и все
а зачем имено на проце7 есть же микрухи типа ds там всякие, таблетки опять же (i button)
там точность хода гарантирована
С любой DS или таблетки информацию еще чем-то надо вытянуть. Так что без проца ну никак. А если это просто часы, то и на процессоре точность хода определяется исключительно стабильностью кварца. Лишние добавки в виде микросхем типа real time clock в таком случае иногда нужны только для того, чтобы не было сбоя времени при пропадании питающего напряжения. Для них просто легче резервировать питание :smile3:
да ладно вам - смеетесь - несколько секунд в год )))))))))
...
Да нет же. Вы статью по ссылке почитайте. Применяется термокомпенсированный опорник на 14,65 МГц. Затем частота выставляется с большой точностью используя сигналы телевидения (как пишет ZL1BPU у них эти сигналы стабилизированы рубидиевым стандартом времени). Так что такая точность это не сказка.
А так хотелось бы высокоточные часы с двумя дисплеями один отображает - местное время, другой-GMT. Тут наверное 7 сегментными LED не обойтись. Напрашивается ЖКИ матричник. Неплохо бы сделать коррекцию ухода (чтобы не заморачиваться с TCXO). Использовать в качестве контроллера ширпотреб типа 16F84 или 90S2313 (чтоб в провинции не заморачиваться с заказом пиков). Предусмотреть резервное питание и оптимизировать программу для малого энергопотребления в режиме отсутсвии основного питания. Чего то по этой тематике есть в приложеном файле.
ну не знаю как у них с тв там а у нас могу сказать следующее - иногда когда кабльщики сигнал слишком сильный с сеть тыкают соседний канал накладывается немного на основной и видно что у того кадры бегут относительно первого - значит частота кадров немного разная - какая нах синхронизация7 а какая частота кадров точная7
Добавлено через 1 минуту
Так что без проца ну никак
а я и не говорил что без проца. просто прога меньше получится.
ладно - каждому своё
kaligraf
17.06.2007, 00:08
Интересно, для чего на практике можно отслеживать время разных часовых поясов? Расскажите, если это не секрет конечно?
To: Ajax !
Насчёт секундомера - спасибо за идею!
Точность хода часов достижима в несколько секунд в год и без таблеток.
Частота кварца плавает в некоторых пределах, в зависимость от внешней температуры, а в среднем за несколько месяцев уходит незначительно. Хотя какой-нибудь особо прецезионный кварц - был бы несомненным плюсом. Может кто-то владеет информацией по прецезионным кварцам?
Насчёт глюков по питанию - редчайшее явление. Ни разу за 4 месяца работы, таймер, управляющий освещением не глюкнул.
Дело не в глюках по питанию, а в пропадании питания. Раз хотите продолжать тему, то пожалуйста.
1. Для начала - какая цель стояла при разработке устройства с автономным питанием и применением светодиодного индикатора? Это, на мой взгляд, абсолютный нонсенс в наше время. Если это просто "мозговой штурм", то опыт удачный. Похвалите себя, любимого, и вперед, к новым свершениям. Мой совет - считайте данную конструкцию законченной.
kaligraf
17.06.2007, 17:48
Конструкция закончена - это естественно. Автономное питание - просто вариант, один из... С тем же успехом можно при небольшой переделке схемы сделать питание внешним. Вопрос пропадания питания по моему тоже решается легко.
Тема часов на самом деле очень интересна, хотя обычно на неё обращают мало внимания. А обсуждение для того, чтобы определиться со следующим проектом, выяснить, что требуется на практике?
kaligraf
18.06.2007, 19:17
Набирается несолько интересных предложений:
- добавить секундомер с памятью показаний!
- отображать время разных часовых поясов (вполне осуществимо, только объяснил бы кто где это применяется)
- использовать микросхему точного времени со встроенным питанием
Отображать время желательно не нескольких часовых поясов (излишество), а двух - GMT и местное время. А делается это потому, что все радиолюбители "живут" по всемирному GMT времени, но и местное при этом знать не помешает.
На мой взгляд, практическая ценность проекта "Часы на микроконтроллере" в виде отдельной конструкции очень невелика - гораздо проще приобрести что-то готовое, тем более, что сейчас нет проблем с выбором. Но как упражнение в программировании Pic-контроллеров вполне подходит.
kaligraf
19.06.2007, 18:00
Отображать время желательно не нескольких часовых поясов (излишество), а двух - GMT и местное время. А делается это потому, что все радиолюбители "живут" по всемирному GMT времени, но и местное при этом знать не помешает.
Спасибо за объяснение, вот теперь появилась ясность в этом вопросе!
Добавлено через 5 минут
практическая ценность проекта "Часы на микроконтроллере" в виде отдельной конструкции очень невелика - гораздо проще приобрести что-то готовое, тем более, что сейчас нет проблем с выбором. Но как упражнение в программировании Pic-контроллеров вполне подходит
Проект действительно реализован в качестве упражнения по программированию. А практическая ценность определится со временем, ведь возможностей для улучшения осталось достаточно, Около 850 байт программной памяти, да и схему можно немного усложнить при необходимости...
Добавлено через 2 часа 34 минуты
Появилась интересная мысль. Допустим есть часы-таймер, встроенный в трансивер, или другую связную аппаратуру.
Какие функции можно возложить на такое устройство? Окажется ли оно полезным в практической работе?
Что оно должно уметь делать?
Будем считать для начала, что время синхронизировано с абсолютной точностью...
To:kaligraf
Допустим есть часы-таймер, встроенный в трансивер, или другую связную аппаратуру.
Какие функции можно возложить на такое устройство? Окажется ли оно полезным в практической работе?
Думаю что эта функция была-бы полезна по следующим причинам на мой взгляд:
1. В длительных тестах на КВ делаются перерывы (отдых) - это определенный промежуток времени (думаю функция оповещения сама напрашивается);
2. Включить аппаратуру и прогреть ее зарание пред началом работы и т.д.
Во всяком случае применение таймеру всегда найдется и не обязательно в трансивере.
Да чуть не забыл секундомер желательно чтобы также срабатывал и от внешнего импульса (разной логики), контакта, а не только от руки.
Появилась интересная мысль. Допустим есть часы-таймер, встроенный в трансивер, или другую связную аппаратуру.
Какие функции можно возложить на такое устройство? Окажется ли оно полезным в практической работе?
Что оно должно уметь делать?
При всем желании невозможно установить таймер в современный импортный трансивер - там для этого просто места не найдется, ни для платы этого таймера, ни для кнопок управления и индикатора! Думаю, что это касается и любой другой связной техники промышленного исполнения. Здесь речь может идти либо об отдельной конструкции, либо о самодельной технике, в которую можно поставить такой таймер.
Что касается отдельной конструкции - то проще и дешевле будет подобрать что-то готовое. Относительно самоделок - возможно такой таймер кто-то захочет использовать, но вряд ли таких людей будет много...
Это, кстати, иллюстрирует типичную ситуацию для многих людей, кто освоил/осваивает программирование микроконтроллеров - где применить свои знания на практике. Чаще всего оказывается, что все это практически никому не нужно, и дальше упражнений дело не идет. Я, вот, например, могу программировать микроконтроллеры ATMEL - понадобилось одно устройство, необходимое для проведения эспериментальной работы, ничего готового не было, и проще всего и быстрее оказалось реализовать этот дивайс на микроконтроллере. Но это была реальная проблема, требующая неотложного решения. А генерировать притянутые за уши задачи, типа создания никому не нужных часов/таймера и пытаться их решать - пустая трата времени.
kaligraf
20.06.2007, 19:17
Это, кстати, иллюстрирует типичную ситуацию для многих людей, кто освоил/осваивает программирование микроконтроллеров - где применить свои знания на практике. Чаще всего оказывается, что все это практически никому не нужно, и дальше упражнений дело не идет. Я, вот, например, могу программировать микроконтроллеры ATMEL - понадобилось одно устройство, необходимое для проведения эспериментальной работы, ничего готового не было, и проще всего и быстрее оказалось реализовать этот дивайс на микроконтроллере. Но это была реальная проблема, требующая неотложного решения. А генерировать притянутые за уши задачи, типа создания никому не нужных часов/таймера и пытаться их решать - пустая трата времени.
Вполне справедливо во многом, но где тогда выход? Ведь достаточно много устройств были сначала разработаны, и только потом востребованы. Можно поставить вопрос так: чтобы этакое сделать, что может оказаться полезным? :)
кто там тему то начал7
сделайте лучше преобразование фурье на проце, а7
и то интересней
DmitryElj
20.06.2007, 22:53
Интересно, для чего на практике можно отслеживать время разных часовых поясов? Расскажите, если это не секрет конечно?
Например при прослушивании зарубежных радиостанций, которые "живут" по своему местному времени.
kaligraf
20.06.2007, 23:07
Например при прослушивании зарубежных радиостанций, которые "живут" по своему местному времени.
Включить заранее настроенный приёмник в нужное время?
Хм...
А если в это же время включить заранее настроенный передатчик...
Добавлено через 4 минуты
сделайте лучше преобразование фурье на проце, а7
- можно добавить в список возможных улучшений (только для чего это применяется?)
DmitryElj
20.06.2007, 23:16
Включить заранее настроенный приёмник в нужное время?
Всё проще. Например написано что передача будет в 12.00 по гринвичу, соответственно это время нужно пересчитывать в своё чтобы не ошибиться (с учетом часового пояса + DST).
Кстати задача автоматического определения DST по введенному городу тоже весьма непростая, требует неслабой таблицы данных т.к. правила перехода для разных стран свои.
для чего это применяется?
Разложение сигнала в спектр.
Цитата:
Сообщение от FLYING
сделайте лучше преобразование фурье на проце, а7
- можно добавить в список возможных улучшений (только для чего это применяется?)
смотреть частотный спектр сигнала. вот это будет реальная тренировка. а часы - эт так.........зарядка для костей мозга
Можно поставить вопрос так: чтобы этакое сделать, что может оказаться полезным?
Такой вопрос нужно ставить не здесь, а там, где сама жизнь ставит проблемы. Ну например, на каком-нибудь производстве - какой-либо прибор, необходимый для контроля/управления в технологическом цикле; или в НИИ (НИИ - это научно-исследовательский интистут), где время от времени тоже может возникать необходимость создания нестандартного устройства с микроконтроллерным управлением. А здесь собираются любители, которые часто сами не знают, что им нужно для полного счастья - то ли осетрины под хреном, то ли конституции, Hi! Удачи в поиске актуальной проблемы!
Добавлено через 5 минут
Кстати задача автоматического определения DST по введенному городу тоже весьма непростая, требует неслабой таблицы данных т.к. правила перехода для разных стран свои.
Эта задача уже не для микроконтроллера - Кесарю кесарево, а слесарю...
DmitryElj
21.06.2007, 21:09
> Эта задача уже не для микроконтроллера
А почему бы и нет, представьте - часы с автоматическим переводом на летнее/зимнее время, достаточно лишь указать в настройках страну и город.
Если ещё добавить автоматическую установку и синхронизацию времени по радиосигналу (77кГц вроде частота на которой идут посылки), получится совершенно реальный девайс не хуже коммерческих.
PS: А кто-то говорил что создание часов это неинтересно... Да тут поле для работы непаханное ;)
kaligraf
21.06.2007, 21:32
А почему бы и нет, представьте - часы с автоматическим переводом на летнее/зимнее время, достаточно лишь указать в настройках страну и город.
Если ещё добавить автоматическую установку и синхронизацию времени по радиосигналу (77кГц вроде частота на которой идут посылки), получится совершенно реальный девайс не хуже коммерческих.
PS: А кто-то говорил что создание часов это неинтересно... Да тут поле для работы непаханное
Вот с этим полностью согласен! Программисты хорошего уровня бросают эту тему после первой удачной попытки. В сети трудно найти действительно удобные и простые в повторении часы.
Добавлено через 2 часа 47 минут
Если ещё добавить автоматическую установку и синхронизацию времени по радиосигналу (77кГц вроде частота на которой идут посылки)
Может быть кто-то знает где есть подробная информация о параметрах сигнала?
DmitryElj
22.06.2007, 01:56
Ищите по ключевому слову DCF-77.
http://www.ee.udel.edu/~mills/ntp/dcf77.html например.
kaligraf
22.06.2007, 14:36
Ищите по ключевому слову DCF-77.
Кое что нашёл, спасибо. Очень мало информации на русском. Хотя приёмник для 77,5 кГц может быть очень простым, типа тех схем, что публиковались в журнале Радио лет 20 назад для начинающих радиолюбителей. Об отечественных вариантах синхронизации на этой частоте пока ничего вразумительного не нашлось...
В сети трудно найти действительно удобные и простые в повторении часы.
У нас в городе симпатичные часы/таймер/будильник/календарь китайского производства размером чуть более спичечного коробка, питание от батареи, естественно; большие констрастные цифры - стоят около 2 долларов. Причем, на удивление, мне попались очень точные - уход времени за месяц в пределах 2-3 секунд. Теперь обьясните, для чего нечто подобное, только скорее всего, гораздо худшего внешнего вида, нужно делать самому??? Просто ради самого процесса? По-моему, это пустое занятие для того, кому нечем больше заняться.
И зачем нужна автокоррекция хода часов, тянущая за собой значительное усложнение схемотехники, ежели, во-первых, есть сигналы точного времени - нажал кнопочку и откорректировал показания при необходимости, а во-вторых - кому и для чего реально нужна такая фантастическая точность хода самопальных часов?
Опять же светодиодная индикация - значит, либо питание от сети во всеми вытекающими, либо дублирование питания или же при работе от батареи включение индикации только на период считывания показаний.
В общем резюме - флаг Вам в руки и барабан на шею.
DmitryElj
22.06.2007, 16:18
Если говорить о часах, то для того чтобы это имело практический смысл, эти часы как минимум должны иметь:
- Настраиваемые будильники по дням недели (например "8 утра рабочие дни"), минимум 2-3 разных (по количеству членов семьи).
- Синхронизацию времени по радиоканалу. Сложность в том, что бОльшая часть в России не попадает в зону уверенного приема DCF-77, соответственно нужно что-то придумать, например синхронизировать секунды по сигналам точного времени от российских станций. Ну или хотя бы предусматривать разъем для внешней антенны (хм, представил себе часы с трансиверным разъемом и 1/4L-антенной на диапазон 77кГц...).
- Календарь на текущий месяц (соответственно нужен уже не самый мелкий экран)
- (уже мечты) Подзарядку встроенного аккума от солнечной батареи, чтобы они "вечно" работали :)
Кстати говоря, реально часов с радиосинхронизацией я у нас в широкой продаже не видел, или же те что есть не работают. Так что есть простор для экспериментов.
Могу подкинуть идею актуального в быту устройства - небольшой по размеру кухонный таймер с магнитным основанием, одной кнопкой и индикатором. Нужно например поставить картошку варить, нажатием на кнопку выставил время 20 минут, прилепил эту штуку к боку плиты, ну и через 20 минут она запищит что готово :)
kaligraf
22.06.2007, 19:09
Могу подкинуть идею
Вы действительно генерируете идеи
- встроенный календарь на текущий месяц(абсолютно новое предложение)!!!
- насчёт зарядки от солнечной батареи - неплохо было бы, но это если применить ЖК индикаторы. В последние варианты схем я просто добавил внешнее питание, и контроль его на входе, для того чтобы часы не останавливались во время пропадания напряжения
- у меня в запасе есть ещё неприменённей приём вывода показаний. Назвал я его режим ASP_ автоматическая смена показаний. Думаю это позволит расширить возможности LED индикатора. Если периодически выводить на индикатор несколько видов информации последовательно, вместе с подсказками, то может оказаться удобно
- насчёт кухонного таймера - вполне решаемая задача
- синхронизация от радиосигнала - осуществить это было бы шикарно, найти бы простое решение. Тут в общем то достаточно одного импульса, точно определяемого контроллером хотя бы раз в сутки
Добавлено через 5 минут
Теперь обьясните, для чего нечто подобное, только скорее всего, гораздо худшего внешнего вида, нужно делать самому?
Мог бы задать встречный вопрос:
Зачем иметь радиолюбительский позывной при наличии сотового телефона? :)
Мог бы задать встречный вопрос:
Зачем иметь радиолюбительский позывной при наличии сотового телефона?
Лично мне тоже не понятна позиция kaligrafa. Если Вы делаете эту конструкцию для себя, то зачем разводить писанину на несколько страниц? Заложили функции, которые необходимы именно Вам, и наслаждайтесь! Или Вам не дают покоя лавры конструктора "народных часов"? Часы окружают нас повсюду - в компьютере, в сотовике, на стенках, на руке, наконец. Неужели надо еще одни? Найдите более РАЦИОНАЛЬНОЕ применение своим способностям! Даю идею - создайте лучше погодную станцию, к примеру. С измерением температуры, давления, влажности, силы ветра. Разместите индикатор у себя на окне, чтобы соседи с улицы видели. Хоть кто-то скажет Вам спасибо, да и силой Вашего разума будут восхищаться. :new_russian: Можете, кстати, встроить все это в свои часы...:beer: Режим ASP_ как раз пригодится.
kaligraf
22.06.2007, 20:01
лавры конструктора "народных часов"
Трудно на это претендовать, да и вряд ли нужно. Просто в последнее время пришёл к мысли, что что-то действительно нужное создаётся не в одиночку, а коллективно. А это обсуждение - один из вариантов коллективной работы. Мне интересна тема часов, предложил высказаться всем желающим, что в этом непонятного...
Добавлено через 3 минуты
создайте лучше погодную станцию, к примеру. С измерением температуры, давления, влажности, силы ветра
- спасибо, мысль интересная
То:kaligraf
что-то действительно нужное создаётся не в одиночку
Полностью согласен, не то время. Нужен анализ всего от концепции до доставки изделия к потребителю. Одному это не под силу. Нужна группа единомышленников в споре рождается истена.
Ну, а почему-бы и не часы, не думаю что эта тема закрыта. Да ряд Фурье престижней - но там ведь тоже присутствует временная составляющая.
А время вечно, в том числе год, месяц, неделя, день, час, минута и секунда.
kaligraf Успехов!:good:
DmitryElj
22.06.2007, 23:11
2 kaligraf:
Календарь на месяц на сегментном дисплее Вы вряд ли сделаете :) Значит нужно будет большой ЖК, что-то типа графического 160х160 (а лучше конечно 240х320).
Ну и насчет настраиваемого будильника подумайте - очень удобно когда будильник достаточно настроить один раз и потом не трогать (чтобы он сам учитывал будние/выходные дни).
Да кстати, уже классикой в хороших часах стало отображение текущей температуры :)
kaligraf
23.06.2007, 02:31
Календарь на месяц - весь отобразить на семисегментном конечно не получиться, но узнать какой день недели будет в определённое число возможно.
термометр и несколько настраиваемых будильников "занесены в список полезных идей":focus:
Список кстати набрался приличный
Мог бы задать встречный вопрос:
Зачем иметь радиолюбительский позывной при наличии сотового телефона?
А зачем быть охотником или рыбаком, если мясо или рыба продается в магазине? В радиосвязи на КВ меня лично привлекает не ее стабильность, определенность и надежность, как в случае сотовой связи, а как раз наоборот - нестабильность и неопределенность. Включив трансивер на одном из диапазонов, можно не услышать никого, или услышать "ближайших" соседей, либо, если удачно сложится целый ряд обстоятельств, очень редкую и дальнюю станцию. В этом-то и вся прелесть...
Хотя, наверное и в том, чтобы представить себя "народным конструктором" часов всех времен и народов, начитавшись скорее всего материалов по программированию PIC-контроллеров с сайта Е. Корабельникова, есть определенное удовольствие...
afisha-4s
27.08.2007, 12:39
Закончил новый проект часов на микроконтроллере PIC16F628A. Схема наипростейшая, а программу можно улучшать. Кого заинтересует эта тема, то полное описание конструкции здесь размещено на моём сайте.
Что можно добавить в программу или схему часов? Какие дополнительные функции внести?
Хотелось бы выслушать любые разумные предложения...
:curtsey:
Часики нетикають.
Паршивочка однако.
kaligraf
27.08.2007, 12:58
Попробуйте поискать причину, паршивочка может оказаться в любом месте монтажа. Вы не первый повторяете конструкцию, до этого тикало у всех.
afisha-4s
27.08.2007, 14:24
Cпасибо за ответ, но вот проект в протеусе.
kaligraf
28.08.2007, 04:25
Уважаемый, afisha-4s
Проект закончен, проверен в железе многократно.
Если вам так важна эта модель, придите ко мне в форум, там обсудим в чём здесь может быть ошибка. Но если честно, то желания заниматься этим нет.
afisha-4s
29.08.2007, 01:45
Уважаемый, kaligraf очень извиняюсь часики тикают.
Большое спасибо за проект.
Работающий проект для протеуса.
afisha-4s
29.08.2007, 01:47
Проект в протеусе
Powered by QRZ.RU