Часы-термометр на микроконтроллере 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 КБ) 290 скачиваний
Re: Часы-термометр на микроконтроллере ATmega8.
Здравствуйте уважаемые форумчане! Собрал эти часы около 3-х лет назад еще на ид10. До сих пор радуют своим внешним видом и стабильностью работы, огромная благодарность автору. А что если попробовать прикрутить к нашим часикам вот эту схемку http://telesys-ru.1gb.ru/electronics/pr ... hp?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;
}
}Код: Выделить всё
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,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 сек в неделюalex1 писал(а):DimAlt, Ваша оперативность поражает! 10-го на работе прошью мегу новой прошивкой и попробую её в работе. Реально с помощью программной коррекции удалось добиться точности около 1,5 сек в неделю. Для бытовых нужд более чем хорошо...
Автоматическая синхронизация это конечно круто, только вот радио нужно, настроить его на станцию надо, место для него в корпусе предусмотреть, питание предусмотреть, нужно еще один МК - если большая точность не требуется и часы легко доступны (без стремянки) то наворот не стоит потраченного времени.
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. Кнопку перенес на PB2, таймер оставил.Seal писал(а):Так-же ИД10 питать можно не привязываясь к ПОВЕР ДЕТЕКТ, а напрямую от КРЕНки5, до диода.вывод освобождается.
Последний раз редактировалось 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 КБ) 630 скачиваний
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Re: Часы-термометр на микроконтроллере ATmega8.
Печатку под мегу в TQF корпусе кто нибудь разводил?
Если да большая просьба поделиться.
Если да большая просьба поделиться.


