Часы-термометр на микроконтроллере ATmega8.
-
bedjamen
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Ср окт 13, 2010 18:26:30
- Откуда: Вологда
Re: Часы-термометр на микроконтроллере ATmega8.
Доброго времени суток. Не подскажете существует ли прошивка id10clock v2.31_anod для схемы Антона, где Pin Call 1 минута. А то на сайте http://startcd.narod.ru/clock/oldv.html только для общего катода
Мои поделки за последние несколько лет.
https://yadi.sk/d/4_KITmRVcARCX
https://yadi.sk/d/4_KITmRVcARCX
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Вот с одной минутой. Не проверял..
- Вложения
-
- id10clock v2.31 anod1m.rar
- (40.66 КБ) 288 скачиваний
Re: Часы-термометр на микроконтроллере ATmega8.
Здравствуйте уважаемые форумчане! Собрал эти часы около 3-х лет назад еще на ид10. До сих пор радуют своим внешним видом и стабильностью работы, огромная благодарность автору. А что если попробовать прикрутить к нашим часикам вот эту схемку http://telesys-ru.1gb.ru/electronics/projects.php?do=p121 (собрана-работает) + китайский приемник за 200рэ. ( или самодельный). Часы будут сами ежечасно корректироваться по сигналу точного времени. Точность хода будет практически идеальная. Жаль что уважаемый Дмитрий потерял интерес к проекту. Может кто из форумчан, разбирающихся в программировании рассмотрит возможность сопряжения двух девайсов?? Один из портов меги подключаем к выходу схемы выделения сигнала точного времени. При появлении на нем лог.1 должны обнуляться показания мин. и сек. Возможно такое реализовать?
- edunya
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт дек 02, 2008 10:35:15
- Откуда: Украина
Re: Часы-термометр на микроконтроллере ATmega8.
alex1 писал(а):...часы будут сами ежечасно корректироваться по сигналу точного времени.
По моему скромному мнению (в народе - ИМХО), сей прибор и так обладает высокой точностью хода, разумеется при должной его коррекции. Я месяц назад его откорректировал и вот прямо сейчас проверил - разница в пол-секунды. Автору девайса - респект и наилучшие пожелания, а также творческих успехов
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Сделать вроде как просто. Так как ножка таймера почти никем не используется, то ее и использовал для сброса. Что бы сбросить минуты и секунды нужно данную ножку замкнуть на землю. Версия для 555ИД10. В архиве примитив для протеуса.
А реально на сколько часы уходят? Программная коррекция не помогает? Может увеличить разрешение коррекции, делать ее не в один час например раз в 3 часа, таким образом шаг коррекции уменьшится в три раза. Это конечно если время найдется..
А реально на сколько часы уходят? Программная коррекция не помогает? Может увеличить разрешение коррекции, делать ее не в один час например раз в 3 часа, таким образом шаг коррекции уменьшится в три раза. Это конечно если время найдется..
Последний раз редактировалось DimAlt Пн янв 10, 2011 19:05:54, всего редактировалось 1 раз.
Re: Часы-термометр на микроконтроллере ATmega8.
Собирал часы на 5 индикаторах . Проблема с коррекцией действительно существует, из 10 кварцев только 1 попал в границу существуещей коррекции . Прошивка cl5_v17t1_1.7z . А вообще , часы очень понравились , пожалуй они одни из лучших в инете , спасибо большое автору !!!
Re: Часы-термометр на микроконтроллере ATmega8.
kt361 а коррекция разве не +-минута в сутки?? Я перепробовал гору кварцев(большинство с матерей выпаяно) и почти все не хуже +-20сек.(большинство влазит в +-5 сек). А вот 2 шт из китайских муз открыток - спешат на 5 мин в сутки. (но стабильно спешат
не больше, не меньше)
DimAlt а как у вас реализована коррекция? в статье на радиокоте и на вашем сайте не нашел, а всю тему прочитать это уже не реально
.
DimAlt а как у вас реализована коррекция? в статье на радиокоте и на вашем сайте не нашел, а всю тему прочитать это уже не реально
KIT
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Просто.
В прерывании - 128 прерываний на одну секунду
Коррекция это прибавление\вычитание значения из clock_ (макс. число 128) в основном цикле
Но что интересно, сейчас обновил на компе время с интернета и сверил с часами, идут секунда в секунду.
Мне, наверно, попался хороший кварц, с наручных часов электроника 55, при их жизни они тоже были очень точными часами
В прерывании - 128 прерываний на одну секунду
Код: Выделить всё
ISR(SIG_OVERFLOW2)
{
clock_++;
if (clock_==128)
{
clock_=correct;
isr_1sek_=1;
}
}Коррекция это прибавление\вычитание значения из clock_ (макс. число 128) в основном цикле
Код: Выделить всё
static void clock(void){
if ( isr_1sek_ )//прошла секунда
{
correct=0;
if (++hour[h_sek]>=60)
{
hour[h_sek] =0;
if (++hour[h_min]>=60)
{//----------
if ( corr_flag & _BV(fl_corr_znak_pl) )//корекция часов <----------
correct=correction;//для убыстрения
else
correct= 0x00-correction;
Но что интересно, сейчас обновил на компе время с интернета и сверил с часами, идут секунда в секунду.
Мне, наверно, попался хороший кварц, с наручных часов электроника 55, при их жизни они тоже были очень точными часами
Re: Часы-термометр на микроконтроллере ATmega8.
DimAlt, Ваша оперативность поражает! 10-го на работе прошью мегу новой прошивкой и попробую её в работе. Реально с помощью программной коррекции удалось добиться точности около 1,5 сек в неделю. Для бытовых нужд более чем хорошо. Однако сама возможность сделать синхронизацию по радио таким простым способом, ИМХО, занимательна. Ваше детище, Дмитрий, в действии на фото.
Re: Часы-термометр на микроконтроллере ATmega8.
DimAlt Спасибо. Понятно. По такому принципу коррекцию можно делать с любым интервалом. единственно, если я правильно понял, при работе от батарей, коррекция не производится?
KIT
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Производится всегда.
alex1 а верхний термометр это какой проект?
alex1 а верхний термометр это какой проект?
- Seal
- Сверлит текстолит когтями
- Сообщения: 1122
- Зарегистрирован: Чт мар 05, 2009 19:51:55
- Откуда: Дырасполь
Re: Часы-термометр на микроконтроллере ATmega8.
DimAlt , а можно оставить таймер, а кнопку сброса секунд сделать на месте кнопки "К ". Так ведь получается логичнее, зачем вводить суточную коррекцию руками, если предполагается внешняя ?
Точнее не "К" а например ногу РВ2. От нее питается ИД10 , и что-то мне кажется , что тока выхода меги может нехватить для питания всех индикаторов, ведь суммарный ток индикации может быть более 50 мА ?
А питание снимать с ИД10 можно с вывода POW DET ? Только обязательно диод включить между выводом контроллера и коллектором транзистора.
Точнее не "К" а например ногу РВ2. От нее питается ИД10 , и что-то мне кажется , что тока выхода меги может нехватить для питания всех индикаторов, ведь суммарный ток индикации может быть более 50 мА ?
А питание снимать с ИД10 можно с вывода POW DET ? Только обязательно диод включить между выводом контроллера и коллектором транзистора.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Re: Часы-термометр на микроконтроллере ATmega8.
Если интересует точность, я выкладывал прошивку с коррекцией в 8 раз точнее чем исходный вариант. Это достигается тем что корекция производиться не только раз в час но и дополнительно раз в сутки.
"Я подкорректировал прошивку и теперь точность можно регулировать с дискретностью 0,001 сек/час. Но коррекция не совсем выражает долю секунды в час. Если коррекцию (ту что настраивается на часах) разделить на 1,024 то это будет коррекция выраженная в доля сек./час. Это только для этой прошивки. В авторском варианте делить на 1,024 не нужно было." смотри 48 страницу форума.
Если кварц в данных часах укладывается в +-5,97 сек в сутки, значит данный кварц можно использовать с моей модифицированной прошивкой (другими словами корректирующее число в настроенных часах должно быть меньше 0,255). Если шаг настройки 0,001 сек в час это значит что в самом худшем случае (если мы каким-то образом сможем точно определить необходимое число коррекции) часы будут спешить/отставать на 0,0005 сек в час (если к примеру они будут спешить на 0,0006 то мы прибавив корректирующее число на 1, добъёмся отставания на 0,0004) В результате "уход" часов составит не более 0,0005*24*365=4,38 секунд в год! (в авторском варианте это число составляет 35,04 сек. в год или 2,92 сек в месяц) Это предельные значения которых можно добиться на любых кварцах в худшем случае. В тоже время может так случиться что кварц точно попадет под дискретность настройки и в исходном варианте часы будут уходить менее секунды в год! Просто мне не хотелось рассчитывать на удачу и я применил более надежный подход - исправил код программы. В авторском варианте диапазон настройки шире - 9,15сек. в сутки.
В авторской версии, предел точности для любого кварца попавшего в диапазон подстройки (наихудший вариант) согласно моим подсчетам 0,5/128*24*7=0,656 сек в неделю
Автоматическая синхронизация это конечно круто, только вот радио нужно, настроить его на станцию надо, место для него в корпусе предусмотреть, питание предусмотреть, нужно еще один МК - если большая точность не требуется и часы легко доступны (без стремянки) то наворот не стоит потраченного времени.
"Я подкорректировал прошивку и теперь точность можно регулировать с дискретностью 0,001 сек/час. Но коррекция не совсем выражает долю секунды в час. Если коррекцию (ту что настраивается на часах) разделить на 1,024 то это будет коррекция выраженная в доля сек./час. Это только для этой прошивки. В авторском варианте делить на 1,024 не нужно было." смотри 48 страницу форума.
Если кварц в данных часах укладывается в +-5,97 сек в сутки, значит данный кварц можно использовать с моей модифицированной прошивкой (другими словами корректирующее число в настроенных часах должно быть меньше 0,255). Если шаг настройки 0,001 сек в час это значит что в самом худшем случае (если мы каким-то образом сможем точно определить необходимое число коррекции) часы будут спешить/отставать на 0,0005 сек в час (если к примеру они будут спешить на 0,0006 то мы прибавив корректирующее число на 1, добъёмся отставания на 0,0004) В результате "уход" часов составит не более 0,0005*24*365=4,38 секунд в год! (в авторском варианте это число составляет 35,04 сек. в год или 2,92 сек в месяц) Это предельные значения которых можно добиться на любых кварцах в худшем случае. В тоже время может так случиться что кварц точно попадет под дискретность настройки и в исходном варианте часы будут уходить менее секунды в год! Просто мне не хотелось рассчитывать на удачу и я применил более надежный подход - исправил код программы. В авторском варианте диапазон настройки шире - 9,15сек. в сутки.
alex1 писал(а):DimAlt, Ваша оперативность поражает! 10-го на работе прошью мегу новой прошивкой и попробую её в работе. Реально с помощью программной коррекции удалось добиться точности около 1,5 сек в неделю. Для бытовых нужд более чем хорошо...
В авторской версии, предел точности для любого кварца попавшего в диапазон подстройки (наихудший вариант) согласно моим подсчетам 0,5/128*24*7=0,656 сек в неделю
Автоматическая синхронизация это конечно круто, только вот радио нужно, настроить его на станцию надо, место для него в корпусе предусмотреть, питание предусмотреть, нужно еще один МК - если большая точность не требуется и часы легко доступны (без стремянки) то наворот не стоит потраченного времени.
Re: Часы-термометр на микроконтроллере ATmega8.
DimAlt, верхний термометр это проект Л. Ридико на 89с2051 и ds1820. Мне хотелось чтобы постоянно отображались время, дата и температура на улице, да и стеклышко было резать жалко
. Ещё бы сделать чтоб атмосферное давление показывали, но к сожалению не могу найти схемы электронного барометра на led индикаторах.
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Seal писал(а):DimAlt , а можно оставить таймер, а кнопку сброса секунд сделать на месте кнопки "К ". Так ведь получается логичнее, зачем вводить суточную коррекцию руками, если предполагается внешняя ?
Точнее не "К" а например ногу РВ2. От нее питается ИД10 , и что-то мне кажется , что тока выхода меги может нехватить для питания всех индикаторов, ведь суммарный ток индикации может быть более 50 мА ?
А питание снимать с ИД10 можно с вывода POW DET ? Только обязательно диод включить между выводом контроллера и коллектором транзистора.
Так я же вывел ножку для авто сброса по сигналам точного времени, для ручного сброса есть соответствующая менюшка. Или я что то не до понял? Сигнал можно было бы посадить на общую клаву, но тогда вывод бы опрашивался со скоростью опроса клавы, что не быстро.
ИД10 сама по себе потребляет около 3мА. Этот ток не зависит от тока индикатора, так как выход у ид10 открытый коллектор, и ток индикатора идет только через выходные транзисторы.
- Seal
- Сверлит текстолит когтями
- Сообщения: 1122
- Зарегистрирован: Чт мар 05, 2009 19:51:55
- Откуда: Дырасполь
Re: Часы-термометр на микроконтроллере ATmega8.
Да, согласен про потребление, если конечно используются индикаторы с ОК как в схеме. Но в любом случае, таймер можно было оставить, и не проблема если внешний сигнал нужно будет подавать немного дольше чем 1 сек. Так-же ИД10 питать можно не привязываясь к ПОВЕР ДЕТЕКТ, а напрямую от КРЕНки5, до диода.вывод освобождается.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Уболтали
Сделал кнопку на клаве. Опрос раз в 2 ms. Данная версия предпочтительней. В ней нет больше никаких изменений, только добавлена эта кнопка.
Сделал кнопку на клаве. Опрос раз в 2 ms. Данная версия предпочтительней. В ней нет больше никаких изменений, только добавлена эта кнопка.
Последний раз редактировалось DimAlt Пн янв 10, 2011 19:03:20, всего редактировалось 1 раз.
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Seal писал(а):Так-же ИД10 питать можно не привязываясь к ПОВЕР ДЕТЕКТ, а напрямую от КРЕНки5, до диода.вывод освобождается.
А в этой версии сделал по совету Seal. Кнопку перенес на PB2, таймер оставил.
Последний раз редактировалось DimAlt Пн янв 10, 2011 19:04:54, всего редактировалось 1 раз.
- Seal
- Сверлит текстолит когтями
- Сообщения: 1122
- Зарегистрирован: Чт мар 05, 2009 19:51:55
- Откуда: Дырасполь
Re: Часы-термометр на микроконтроллере ATmega8.
Спасибо большое DimAlt !
В ближайшее время займусь сборкой, печаточка готова уже !
Выкладываю доработанную печатку с применением 555ИД10 и внешней кнопкой коррекции.
В ближайшее время займусь сборкой, печаточка готова уже !
Выкладываю доработанную печатку с применением 555ИД10 и внешней кнопкой коррекции.
- Вложения
-
- clock.lay
- к версии id10clock v2.31TochSign
исправлена маленькая неточность - (58.84 КБ) 629 скачиваний
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Re: Часы-термометр на микроконтроллере ATmega8.
Печатку под мегу в TQF корпусе кто нибудь разводил?
Если да большая просьба поделиться.
Если да большая просьба поделиться.