Часы-термометр на микроконтроллере ATmega8.

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


bedjamen
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср окт 13, 2010 18:26:30
Откуда: Вологда

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение bedjamen »

Доброго времени суток. Не подскажете существует ли прошивка id10clock v2.31_anod для схемы Антона, где Pin Call 1 минута. А то на сайте http://startcd.narod.ru/clock/oldv.html только для общего катода
Мои поделки за последние несколько лет.
https://yadi.sk/d/4_KITmRVcARCX
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Вот с одной минутой. Не проверял..
Вложения
id10clock v2.31 anod1m.rar
(40.66 КБ) 288 скачиваний
alex1
Родился
Сообщения: 4
Зарегистрирован: Вс янв 02, 2011 07:49:14

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение alex1 »

Здравствуйте уважаемые форумчане! Собрал эти часы около 3-х лет назад еще на ид10. До сих пор радуют своим внешним видом и стабильностью работы, огромная благодарность автору. А что если попробовать прикрутить к нашим часикам вот эту схемку http://telesys-ru.1gb.ru/electronics/projects.php?do=p121 (собрана-работает) + китайский приемник за 200рэ. ( или самодельный). Часы будут сами ежечасно корректироваться по сигналу точного времени. Точность хода будет практически идеальная. Жаль что уважаемый Дмитрий потерял интерес к проекту. Может кто из форумчан, разбирающихся в программировании рассмотрит возможность сопряжения двух девайсов?? Один из портов меги подключаем к выходу схемы выделения сигнала точного времени. При появлении на нем лог.1 должны обнуляться показания мин. и сек. Возможно такое реализовать?
Аватара пользователя
edunya
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вт дек 02, 2008 10:35:15
Откуда: Украина

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение edunya »

alex1 писал(а):...часы будут сами ежечасно корректироваться по сигналу точного времени.


По моему скромному мнению (в народе - ИМХО), сей прибор и так обладает высокой точностью хода, разумеется при должной его коррекции. Я месяц назад его откорректировал и вот прямо сейчас проверил - разница в пол-секунды. Автору девайса - респект и наилучшие пожелания, а также творческих успехов :))
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Сделать вроде как просто. Так как ножка таймера почти никем не используется, то ее и использовал для сброса. Что бы сбросить минуты и секунды нужно данную ножку замкнуть на землю. Версия для 555ИД10. В архиве примитив для протеуса.
А реально на сколько часы уходят? Программная коррекция не помогает? Может увеличить разрешение коррекции, делать ее не в один час например раз в 3 часа, таким образом шаг коррекции уменьшится в три раза. Это конечно если время найдется..
Последний раз редактировалось DimAlt Пн янв 10, 2011 19:05:54, всего редактировалось 1 раз.
kt361
Родился
Сообщения: 14
Зарегистрирован: Пт авг 15, 2008 13:01:25

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение kt361 »

Собирал часы на 5 индикаторах . Проблема с коррекцией действительно существует, из 10 кварцев только 1 попал в границу существуещей коррекции . Прошивка cl5_v17t1_1.7z . А вообще , часы очень понравились , пожалуй они одни из лучших в инете , спасибо большое автору !!!
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение O-LED »

kt361 а коррекция разве не +-минута в сутки?? Я перепробовал гору кварцев(большинство с матерей выпаяно) и почти все не хуже +-20сек.(большинство влазит в +-5 сек). А вот 2 шт из китайских муз открыток - спешат на 5 мин в сутки. (но стабильно спешат :) не больше, не меньше)
DimAlt а как у вас реализована коррекция? в статье на радиокоте и на вашем сайте не нашел, а всю тему прочитать это уже не реально :( .
KIT
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Просто.
В прерывании - 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, при их жизни они тоже были очень точными часами :))
alex1
Родился
Сообщения: 4
Зарегистрирован: Вс янв 02, 2011 07:49:14

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение alex1 »

DimAlt, Ваша оперативность поражает! 10-го на работе прошью мегу новой прошивкой и попробую её в работе. Реально с помощью программной коррекции удалось добиться точности около 1,5 сек в неделю. Для бытовых нужд более чем хорошо. Однако сама возможность сделать синхронизацию по радио таким простым способом, ИМХО, занимательна. Ваше детище, Дмитрий, в действии на фото.
Вложения
2.jpg
(162.99 КБ) 841 скачивание
1.jpg
(87.14 КБ) 504 скачивания
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение O-LED »

DimAlt Спасибо. Понятно. По такому принципу коррекцию можно делать с любым интервалом. единственно, если я правильно понял, при работе от батарей, коррекция не производится?
KIT
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Производится всегда.
alex1 а верхний термометр это какой проект?
Аватара пользователя
Seal
Сверлит текстолит когтями
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение Seal »

DimAlt , а можно оставить таймер, а кнопку сброса секунд сделать на месте кнопки "К ". Так ведь получается логичнее, зачем вводить суточную коррекцию руками, если предполагается внешняя ?
Точнее не "К" а например ногу РВ2. От нее питается ИД10 , и что-то мне кажется , что тока выхода меги может нехватить для питания всех индикаторов, ведь суммарный ток индикации может быть более 50 мА ?
А питание снимать с ИД10 можно с вывода POW DET ? Только обязательно диод включить между выводом контроллера и коллектором транзистора.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

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сек. в сутки.

alex1 писал(а):DimAlt, Ваша оперативность поражает! 10-го на работе прошью мегу новой прошивкой и попробую её в работе. Реально с помощью программной коррекции удалось добиться точности около 1,5 сек в неделю. Для бытовых нужд более чем хорошо...

В авторской версии, предел точности для любого кварца попавшего в диапазон подстройки (наихудший вариант) согласно моим подсчетам 0,5/128*24*7=0,656 сек в неделю

Автоматическая синхронизация это конечно круто, только вот радио нужно, настроить его на станцию надо, место для него в корпусе предусмотреть, питание предусмотреть, нужно еще один МК - если большая точность не требуется и часы легко доступны (без стремянки) то наворот не стоит потраченного времени.
alex1
Родился
Сообщения: 4
Зарегистрирован: Вс янв 02, 2011 07:49:14

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение alex1 »

DimAlt, верхний термометр это проект Л. Ридико на 89с2051 и ds1820. Мне хотелось чтобы постоянно отображались время, дата и температура на улице, да и стеклышко было резать жалко :)) . Ещё бы сделать чтоб атмосферное давление показывали, но к сожалению не могу найти схемы электронного барометра на led индикаторах.
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Seal писал(а):DimAlt , а можно оставить таймер, а кнопку сброса секунд сделать на месте кнопки "К ". Так ведь получается логичнее, зачем вводить суточную коррекцию руками, если предполагается внешняя ?
Точнее не "К" а например ногу РВ2. От нее питается ИД10 , и что-то мне кажется , что тока выхода меги может нехватить для питания всех индикаторов, ведь суммарный ток индикации может быть более 50 мА ?
А питание снимать с ИД10 можно с вывода POW DET ? Только обязательно диод включить между выводом контроллера и коллектором транзистора.

Так я же вывел ножку для авто сброса по сигналам точного времени, для ручного сброса есть соответствующая менюшка. Или я что то не до понял? Сигнал можно было бы посадить на общую клаву, но тогда вывод бы опрашивался со скоростью опроса клавы, что не быстро.
ИД10 сама по себе потребляет около 3мА. Этот ток не зависит от тока индикатора, так как выход у ид10 открытый коллектор, и ток индикатора идет только через выходные транзисторы.
Аватара пользователя
Seal
Сверлит текстолит когтями
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение Seal »

Да, согласен про потребление, если конечно используются индикаторы с ОК как в схеме. Но в любом случае, таймер можно было оставить, и не проблема если внешний сигнал нужно будет подавать немного дольше чем 1 сек. Так-же ИД10 питать можно не привязываясь к ПОВЕР ДЕТЕКТ, а напрямую от КРЕНки5, до диода.вывод освобождается.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Уболтали :)
Сделал кнопку на клаве. Опрос раз в 2 ms. Данная версия предпочтительней. В ней нет больше никаких изменений, только добавлена эта кнопка.
Последний раз редактировалось DimAlt Пн янв 10, 2011 19:03:20, всего редактировалось 1 раз.
DimAlt
Вымогатель припоя
Сообщения: 576
Зарегистрирован: Пт май 19, 2006 05:39:11
Контактная информация:

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение DimAlt »

Seal писал(а):Так-же ИД10 питать можно не привязываясь к ПОВЕР ДЕТЕКТ, а напрямую от КРЕНки5, до диода.вывод освобождается.

А в этой версии сделал по совету Seal. Кнопку перенес на PB2, таймер оставил.
Последний раз редактировалось DimAlt Пн янв 10, 2011 19:04:54, всего редактировалось 1 раз.
Аватара пользователя
Seal
Сверлит текстолит когтями
Сообщения: 1122
Зарегистрирован: Чт мар 05, 2009 19:51:55
Откуда: Дырасполь

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение Seal »

Спасибо большое DimAlt !
В ближайшее время займусь сборкой, печаточка готова уже !
Выкладываю доработанную печатку с применением 555ИД10 и внешней кнопкой коррекции.
Вложения
clock.lay
к версии id10clock v2.31TochSign
исправлена маленькая неточность
(58.84 КБ) 629 скачиваний
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
gikart
Встал на лапы
Сообщения: 122
Зарегистрирован: Ср янв 06, 2010 06:00:50
Откуда: Омск

Re: Часы-термометр на микроконтроллере ATmega8.

Сообщение gikart »

Печатку под мегу в TQF корпусе кто нибудь разводил?
Если да большая просьба поделиться.
Ответить

Вернуться в «Статьи»