О как =) странно, проверю тот ли окончательный вариант я выложил. Извиняюсь.alex_dd писал(а):zordog
Ставил в протеусе время в ваших часах
23:59 31.12.2010 CP
через минуту получилось
00:00 01.13.2010 Чt
вот так вот
PS : причем в 13 месяце всего 6 дней и по прохождении их ,наступает 2011 год.
где-то что то не так....
С уважением Александр
Часы-термометр на микроконтроллере ATmega8.
Re: Часы-термометр на микроконтроллере ATmega8.
- Реклама
Re: Часы-термометр на микроконтроллере ATmega8.
Каюсь... Дома иcходники, на работе исходники... посчитал что дома последний вариант.
Обновите прошивку.
Обновите прошивку.
Re: Часы-термометр на микроконтроллере ATmega8.
Вот теперь нормально перескакивают.
Молодец интересный проект!
и еще вопрос а в меге много места осталось?
и в планах есть ли прикручивание датчика влажности?
С уважением Александр
Молодец интересный проект!
и еще вопрос а в меге много места осталось?
и в планах есть ли прикручивание датчика влажности?
С уважением Александр
Re: Часы-термометр на микроконтроллере ATmega8.
to alex_dd:
Занято 84% объема.
Про датчик влажности даже не думал, нет надобности.
Занято 84% объема.
Про датчик влажности даже не думал, нет надобности.
Читаем 5 постов выше и высказываем благодарности автору, а не человеку, с напильником в руках, который заточил под себя отличный проект.alex_dd писал(а): Молодец интересный проект!
Re: Часы-термометр на микроконтроллере ATmega8.
Да, не плохо бы было до полного комплекта - датчик влажности прикошачить.
Склоняю голову перед автором, великолепный чудо-проект.
С УВАЖЕНИЕМ.
Виталий-1
Склоняю голову перед автором, великолепный чудо-проект.
С УВАЖЕНИЕМ.
Виталий-1
- Реклама
Re: Часы-термометр на микроконтроллере ATmega8.
Всем доброго времечка.
Во первых:
Датчиком влажности у меня выступает супруга. Именно она управляет включением и выключением увлажнителя (парогенератора). На мой вопрос, про автоматизацию процесса, был получен укорительный взгляд, после чего я отстал. =) Поэтому и нет надобности в датчике и т.д.
Во вторых:
Если выкроить время, то в принципе можно и проработать этот момент, НО никто даже не предложил варианты датчиков. я присмотрел ЭТОТ. Опять же... если выкроить время...
Во первых:
Датчиком влажности у меня выступает супруга. Именно она управляет включением и выключением увлажнителя (парогенератора). На мой вопрос, про автоматизацию процесса, был получен укорительный взгляд, после чего я отстал. =) Поэтому и нет надобности в датчике и т.д.
Во вторых:
Если выкроить время, то в принципе можно и проработать этот момент, НО никто даже не предложил варианты датчиков. я присмотрел ЭТОТ. Опять же... если выкроить время...
Re: Часы-термометр на микроконтроллере ATmega8.
zordog Добрый вечер.
Благодарю Вас, что не отказали.
Я, думаю что с этой просьбой, ко мне присоединяться многие фонаты этого действительного,
замечательного проекта.
Будем ждать от Вас ВЕСТЕЙ.
С УВАЖЕНИЕМ, Виталий-1
УДАЧИ !!!
Благодарю Вас, что не отказали.
Я, думаю что с этой просьбой, ко мне присоединяться многие фонаты этого действительного,
замечательного проекта.
Будем ждать от Вас ВЕСТЕЙ.
С УВАЖЕНИЕМ, Виталий-1
УДАЧИ !!!
-
Romanrus1973
- Родился
- Сообщения: 6
- Зарегистрирован: Сб ноя 01, 2008 10:18:18
Re: Часы-термометр на микроконтроллере ATmega8.
Здравствуйте. Сделал часы, завелись с первого раза, спасибо автору, использую их в качестве термостата отопительной системы. Возможно ли добавить четвертую временную зону ? Версия часов на 9-ти индикаторах с ОК и 74hc595.( Часы-термометр на микроконтроллере ATmega8. V 2.0)
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Насколько я помню, то с временными зонами этот проект по функциональней http://startcd.narod.ru/cl_termo2/index.html
Добавил 4 зоны, версия прошивки эта
http://startcd.narod.ru/clock/cl_termo/v2.23.7z 8 основных будильников и 8 для управления нагрузкой макс. время 23-59-59. Добавлен автоматический переход на летние зимние время.
Добавил 4 зоны, версия прошивки эта
http://startcd.narod.ru/clock/cl_termo/v2.23.7z 8 основных будильников и 8 для управления нагрузкой макс. время 23-59-59. Добавлен автоматический переход на летние зимние время.
- Вложения
-
- v2.23 4zon.rar
- (26.98 КБ) 253 скачивания
Последний раз редактировалось DimAlt Сб окт 30, 2010 10:55:07, всего редактировалось 1 раз.
Re: Часы-термометр на микроконтроллере ATmega8.
уважаемый Dimalt ответьте если можете на этот вопрос. я посмотрел, в ваших часах на меге16, кварц стоит без конденсаторов, значит подключены внутренние. чем их включают??O-LED писал(а):Dimalt вопрос не совсем по часам, но вы это применяли в своих часах.
в первых версиях своих часов вы использовали встроенные конденсаторы для кварца. как вы их подключали? в даташите сказано что для того чтоб подключить внутренние конденсаторы к XTAL1 и XTAL2 нужно фьюз СКОРТ установить в 0. но ведь мы используем не основной генератор, а асинхронный подключенный к асинхронному таймеру2, и кварц получается цепляем не на XTAL1 и XTAL2, а на ТОСК1,2. как подключить конденсаторы к ТОСК1,2 ??? или, из-за того что в мега8 выводы XTAL1,2 совпадают с выводами ТОСК1,2 конденсаторы автоматически подключаются в любом случаи при записи 0 в СКОРТ???
я просто мучу часики на Мега16А, и установка СКОРТ в 0 не дает никакой реакции. как спешили часы на минуту в сутки(реальные конденсаторы - 18пф) так и продолжают спешить. хотя по идеи должны немного меньше спешить (всетаки 36 пф внутренних добавляется к уже имеющимся 18 наружным).
А вообще, я хотел бы попробовать обойтись одними встроенными.
KIT
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Цитата из даташита стр 31
Timer/Counter
Oscillator
For AVR microcontrollers with Timer/Counter Oscillator pins (TOSC1 and TOSC2), the crystal is
connected directly between the pins. No external capacitors are needed. The Oscillator is optimized
for use with a 32.768 kHz watch crystal. Applying an external clock source to TOSC1 is
not recommended.
Re: Часы-термометр на микроконтроллере ATmega8.
большое спасибо. с английским у меня туго. напрячь мозг, и понять небольшой кусок даташита еще могу, а вот в сотне листов непонятной тарабарщины найти нужные тебе строки трудно......
значит, если я правильно понял, при использовании Т2 в качестве часов реального времени, и при присоединении кварца к ТОSC1,2 внутренние конденсаторы на 36 пик подключаются автоматически???
я сейчас попробовал без внешних конденсаторов - все продолжает тикать. посмотрю что будет с точностью хода. Единственно смущает, почему у меня до отпайки внешних конденсаторов часы спешили на 2 минуты в сутки, ведь по идее должны были отставать, т.к. емкость была больше номинальной (36пф встроенных + 18пф внешних). короче понаблюдаю что будет.
еще вопрос по усыплению и пробуждению контроллера. я делаю так. Есть прерывание обслуживающее динамическую индикацию. частота 488гц. внутри этого прерывания слушаю один из пинов. Как только на этом пине сигнал о пропаже питания, сразу разрешаю усыплять контроллер по команде SLEEP. дальше, в основном цикле есть строчка
и пока на PINB.4 не появится сигнал о появлении напряжения питания, сижу в этом цикле безвылазно.
а как это делали вы в своих часах. ваши исходники смотрел, но разобраться в чужом коде дело не легкое.......... Или у меня все нормально получилось, и ничего менять не нужно??
значит, если я правильно понял, при использовании Т2 в качестве часов реального времени, и при присоединении кварца к ТОSC1,2 внутренние конденсаторы на 36 пик подключаются автоматически???
я сейчас попробовал без внешних конденсаторов - все продолжает тикать. посмотрю что будет с точностью хода. Единственно смущает, почему у меня до отпайки внешних конденсаторов часы спешили на 2 минуты в сутки, ведь по идее должны были отставать, т.к. емкость была больше номинальной (36пф встроенных + 18пф внешних). короче понаблюдаю что будет.
еще вопрос по усыплению и пробуждению контроллера. я делаю так. Есть прерывание обслуживающее динамическую индикацию. частота 488гц. внутри этого прерывания слушаю один из пинов. Как только на этом пине сигнал о пропаже питания, сразу разрешаю усыплять контроллер по команде SLEEP.
Код: Выделить всё
if (PINB.4==0) { // если пропало напряжние
MCUCR=0b01110000; // разрешаем усыплять контроллер по команде SLEEP
PORTA=0; PORTB=0; DDRB=0b01101111; PORTC=0; PORTD=0; // перевожу порты в состояние наменьшего потребления
TCCR0=0x00; // останавливает Т/С0
GICR&=0xdf; // запрещаем прерывание от нажатия кнопок
GIFR=0x20; // сбрасываеи флаг внешнего прерывания, предотвращая случайное срабатывание кнопок при засыпании/просыпании
} Код: Выделить всё
while (MCUCR == 0b01110000) // если работаем от батареи, то сидим здесь и не вылазим - усыпляем контроллер
{
#asm("sleep")
if (PINB.4==1) // если напряжение появилось
{
MCUCR=0b00110000; // запрещаем усыплять контроллер по команде SLEEP
TCCR0=0x03; // запускаем Т/С0
PORTB=0x04; DDRB=0x6B; // возвращаем конфигурацию порта В в рабочее состояние
}
} а как это делали вы в своих часах. ваши исходники смотрел, но разобраться в чужом коде дело не легкое.......... Или у меня все нормально получилось, и ничего менять не нужно??
KIT
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
На счет точности хода, не знаю. Сам ни одних часов на меге 16 не сделал.
По программе, я уже долго не программировал, Вам лучше спросить у более компетентных людей.
На будущее совет, если что то пишите в регистры ио, то пишите вместо MCUCR=0b01110000; примерно так MCUCR=BIT(SM1)|BIT(SM0); В дальнейшем когда откроете исходник через пару месяцев, Вам не придется открывать даташит и смотреть какие это биты "0b01110000".
А у меня сделано так. Максимально короткие прерывания. Вся работа только в фоне. Одно прерывание инкремент часов. Второе вывод подготовленного символа на порт.
Начало главного цикла проверка входа состояния питания, если питание от батарей, то выполняется одна ветка иначе другая. В ветке с питанием от батарей код большой, потому что надо проверять будильники, нельзя засыпать при активном сигнале от будильника и опрашивать кнопки при активном будильнике.
По программе, я уже долго не программировал, Вам лучше спросить у более компетентных людей.
На будущее совет, если что то пишите в регистры ио, то пишите вместо MCUCR=0b01110000; примерно так MCUCR=BIT(SM1)|BIT(SM0); В дальнейшем когда откроете исходник через пару месяцев, Вам не придется открывать даташит и смотреть какие это биты "0b01110000".
А у меня сделано так. Максимально короткие прерывания. Вся работа только в фоне. Одно прерывание инкремент часов. Второе вывод подготовленного символа на порт.
Начало главного цикла проверка входа состояния питания, если питание от батарей, то выполняется одна ветка иначе другая. В ветке с питанием от батарей код большой, потому что надо проверять будильники, нельзя засыпать при активном сигнале от будильника и опрашивать кнопки при активном будильнике.
Re: Часы-термометр на микроконтроллере ATmega8.
Спасибо за скорый ответ.
или вы имеете ввиду в железе не делали???
Сейчас мучаю и постоянно перешиваю свои часы, а после выходных оставлю их на сутки тикать, посмотрю как будет ход при "голом" кварце
Я правильно понял, так у вас сделано?
а разве вот это не ваши http://startcd.narod.ru/clock/m16new.html ??? именно на них я разгледел использование кварца без конденсаторовDimAlt писал(а):На счет точности хода, не знаю. Сам ни одних часов на меге 16 не сделал.
Сейчас мучаю и постоянно перешиваю свои часы, а после выходных оставлю их на сутки тикать, посмотрю как будет ход при "голом" кварце
Понятно. Меня как раз волновал момент где и как вы усыпляете контроллер. Я с начала, по неопытности попробовал усыплять контроллер внутри прерывания Т2. что при этом происходило можете глянуть тут http://radiokot.ru/forum/viewtopic.php?f=20&t=36518 .DimAlt писал(а):А у меня сделано так. Максимально короткие прерывания. Вся работа только в фоне. Одно прерывание инкремент часов. Второе вывод подготовленного символа на порт.
Начало главного цикла проверка входа состояния питания, если питание от батарей, то выполняется одна ветка иначе другая. В ветке с питанием от батарей код большой, потому что надо проверять будильники, нельзя засыпать при активном сигнале от будильника и опрашивать кнопки при активном будильнике.
Я правильно понял, так у вас сделано?
Код: Выделить всё
while (1);
if (есть питание)
{
основной код
}
tlse
{
код во время сна
#asm("sleep")
}KIT
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
Да, сам в железе не собирал. Собирали люди и писали что работают.
Я правильно понял, так у вас сделано?[/quote]
Совершенно верно.
Я правильно понял, так у вас сделано?
Код: Выделить всё
while (1);
if (есть питание)
{
основной код
}
tlse
{
код во время сна
#asm("sleep")
}Совершенно верно.
- edunya
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт дек 02, 2008 10:35:15
- Откуда: Украина
Re: Часы-термометр на микроконтроллере ATmega8.
Уважаемый DimAlt. Я уже два года пользуюсь прибором, изготовленным по проекту Часы-термостат а Atmega 8 V2. Очень доволен устройством, спасибо Вам за труд. Но, вот столкнулся с проблемой перехода на зимнее время - часы просто сбились. Конечно, я уже давно не слежу за развитием проекта и много чего пропустил. Скажите, пожалуйста, эта прошивка с четырьмя зонами лишена вышеупомянутой проблемы или она относится к проекту http://startcd.narod.ru/cl_termo2/index.html?DimAlt писал(а):Насколько я помню, то с временными зонами этот проект по функциональней http://startcd.narod.ru/cl_termo2/index.html
Добавил 4 зоны, версия прошивки эта
http://startcd.narod.ru/clock/cl_termo/v2.23.7z 8 основных будильников и 8 для управления нагрузкой макс. время 23-59-59. Добавлен автоматический переход на летние зимние время.
Спасибо.
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: Часы-термометр на микроконтроллере ATmega8.
В этой версии http://startcd.narod.ru/clock/cl_termo.html, данного глюка не должно быть. Обновите прошивку. (для 4 зон также исправлено).
Для этих версий http://startcd.narod.ru/cl_termo2/index.html авто перехода нет, так как мне написали, что для флорариума он вреден.
Для этих версий http://startcd.narod.ru/cl_termo2/index.html авто перехода нет, так как мне написали, что для флорариума он вреден.
- edunya
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт дек 02, 2008 10:35:15
- Откуда: Украина
Re: Часы-термометр на микроконтроллере ATmega8.
DimAlt писал(а):В этой версии http://startcd.narod.ru/clock/cl_termo.html, данного глюка не должно быть. Обновите прошивку. (для 4 зон также исправлено)
Спасибо. Попробую. Я так понял прошивка с четырьмя зонами относится к этой версии http://startcd.narod.ru/clock/cl_termo.html ?
- edunya
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Вт дек 02, 2008 10:35:15
- Откуда: Украина
Re: Часы-термометр на микроконтроллере ATmega8.
Спасибо Вам огромное, DimAlt. Проверил все прошивки (на 3, на 4 зоны) - все работают исключительно. Хорошо было бы в этом проекте использовать ЖК дисплей, можно было бы от розетки оторваться. Все равно - классный прибор!


