Страница 1 из 8

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

Добавлено: Вт фев 24, 2009 21:16:33
Alexander H
За основу взята схема и программа:
Часы с функцией термостата с тремя временными зонами.
http://startcd.narod.ru/clock/cl_termo.html
http://radiokot.ru/circuit/digital/home/30/
Изменения:
удален порт call a-h; шаг настройки термостата 0,5гр.;
введена коррекция показаний датчиков температуры; период опроса датчиков 5с.

Если заинтересовало могу выложить разводку печатной платы
в Layout 5.0.

Изображение

Добавлено: Ср фев 25, 2009 00:47:46
DimAlt
Круто!
Вы многое поменяли в исходнике:) Главное разобрались и поняли идею!
А у вас тоже датчики врут? И на сколько интересно? У меня в норме, врали один раз, когда допустил ошибку в коде, при паразитном питании не включался порт на вывод. Врали в плюс из-за пониженного напряжения.
Еще вопрос по коду, а почему так
if (MINUS | PLUS) вместо if (MINUS || PLUS), ведь | это поразрядное И, || - логическое, по моему правильней ||, если развернуть строку
if ( (key==4)||(key==0) ).

Добавлено: Ср фев 25, 2009 07:04:15
Alexander H
А у вас тоже датчики врут? И на сколько интересно?
Термометр изначально показывал температуру правильно, но через некоторое время температура возрастала примерно на два градуса. Возможно бракованные датчики.
Изменил период опроса датчиков. Датчики теперь врать почти не стали.
Если только примерно на 0,5 градуса. Хотя с другой стороны с чем сравнивать. Эталонного градусника нет. Во всяком случае человек привыкает. Так и в этом случае коррекция введена намеренно.
if (MINUS | PLUS) вместо if (MINUS || PLUS), ведь | это поразрядное И, || - логическое, по моему правильней ||, если развернуть строку
Да вы правы, хотя в данном случае ошибки не будет.
Только возможно незначительное увеличение программного кода.

Добавлено: Ср фев 25, 2009 08:49:31
ARV
Alexander H писал(а):
А у вас тоже датчики врут? И на сколько интересно?
Термометр изначально показывал температуру правильно, но через некоторое время температура возрастала примерно на два градуса. Возможно бракованные датчики.
Изменил период опроса датчиков. Датчики теперь врать почти не стали.
я этих термометров-термостатов попеределал - ужас! и по отзывам все завышают на пару градусов. я обычно не заморачивался и опрашивал их раз в секунду (точнее, запускал цикл измерения сразу после считывания температуры). поиск причин привел меня к документу, в котором рассказывается о мощности, рассеиваемой датчиком при работе. так вот, при обычном (не паразитном) питании и непрерывном опросе (т.е. непрерывной работе) это не такая уж и маленькая мощность - скорее всего вранье датчика обусловлено именно саморазогревом. думаю, если снимать питание с датчика между опросами - погрешность будет отсутствовать совсем, а программный код усложнится несильно. правда, это возможно лишь для достаточно редких замеров, как у вас - секунд через 5, не менее...

Добавлено: Ср фев 25, 2009 14:51:01
FlyGreen
Ну не знаю.... Я Димину схему пару раз собрал, и обе правильно все показывали. Сравнивал со спиртовым термометром.

Добавлено: Ср фев 25, 2009 17:19:50
Alexander H
1. На датчиках у меня действительно заниженное напряжение питания (3,8В). Это связано с тем, что в буфере стоит аккумулятор.
2. В первом варианте печатной платы исполнительное реле стояло на плате. В связи с этим, как выяснилось позже, при включении термостата плавно поднималась температура (примерно на 0,5 градуса). Пришлось сделать отдельную плату (вынести реле).
3. Увеличение времени периода опроса датчиков тоже увеличило точность показаний.
скорее всего вранье датчика обусловлено именно саморазогревом. думаю, если снимать питание с датчика между опросами - погрешность будет отсутствовать совсем
Я думаю саморазогрев датчиков идет во время их опросов (и то как показывают форумы не у всех датчиков).

Добавлено: Ср фев 25, 2009 17:41:02
Саша
FlyGreen писал(а):Ну не знаю.... Я Димину схему пару раз собрал, и обе правильно все показывали. Сравнивал со спиртовым термометром.
У меня тоже трое таких часов, на работе дома и у родителей. Везде используется по 2 датчика. Вроде вопросов нет. Вот сейчас взял комнатный датчик под мышку показывает 36.5. Датчик держу под мышкой около 7-ми минут. Датчики на паразитном питании.

Добавлено: Чт фев 26, 2009 22:08:07
FlyGreen
Я тож так делал :P У дурных котофф мысли сходяцо :))

Re: Часы-термостат ATmega8 (новая версия)

Добавлено: Вс мар 01, 2009 03:40:06
Signalman
Alexander H писал(а):Если заинтересовало могу выложить разводку печатной платы
в Layout 5.0.
Если не трудно

Добавлено: Вт мар 03, 2009 10:01:06
Alexander H
Описание платы:
1. Вместо батарейки стоит аккумулятор 3,6в в буфере: GP T279 (60AAH3BMU)
Изображение
Возможно применение такого аккумулятора: GP 80 BVH3A3H
Изображение
2. Вместо КРЕН5 стоит КРЕН12
Изображение
подстроечным резистором подбирается напряжение на аккумуляторе 3,7..3,8в. Если такая схема питания не нравится то можете переделать плату под батарейку. Заменять КРЕН12 не рекомендую т.к. стабилизация у нее выше да и питать ее можно от 8..40в.

Добавлено: Пн мар 16, 2009 08:59:58
MagistrKIA
А можно применить DS1621 в качестве датчика температуры ????

Добавлено: Пн мар 16, 2009 19:19:41
MagistrKIA
Можно ли заменить 74НС595 на К555ИД7 или КР1564ИР52 и как ????

Добавлено: Вт мар 17, 2009 11:32:43
Alexander H
А можно применить DS1621 в качестве датчика температуры ????
Можно ли заменить 74НС595 на К555ИД7 или КР1564ИР52 и как ????
Заменить можно, но придется переписывать программу и переделывать печатку.

Добавлено: Вт мар 17, 2009 11:49:30
MagistrKIA
А Вы не могли бы переделать Вашу схему и прошивку для К555ИД7 и на датчик DS1621, так как возникают трудности с преобретением тех деталей которые использовались в Вашей схеме ? Заранее большое кошачье спасибо !!!!!!

Добавлено: Ср мар 18, 2009 18:52:54
Alexander H
А Вы не могли бы переделать Вашу схему и прошивку для К555ИД7 и на датчик DS1621, так как возникают трудности с преобретением тех деталей которые использовались в Вашей схеме ? Заранее большое кошачье спасибо !!!!!!

Извините нет.
У DS1621 данные передаются через I2C/SMBus последовательный интерфейс, а программа разработана под 1-проводную последовательную шину.
К555ИД7-дешифратор на 8 направлений, а в программе используется 9 семисегментных индикаторов.
КР1564ИР52-отечественный аналог 74НС595.

Добавлено: Ср мар 18, 2009 19:28:31
Alexander H
Можно использовать К555ИД10-Часы-термометр на ATmega8. (от DimAlt)

Добавлено: Вс апр 12, 2009 20:04:37
Andrew Bond
Нашел ошибки в программе.
1. При установке дней страбатывания будильника моргают сразу два разряда, не соответствующие устанавливаемому в текущий момент разряду, и понять, какой день недели выбран для установки, можно только методом "научного тыка".
2. Если производить корекцию секунд в ХХ часов 59 минут, и при этом секунд больше 30 (например 15:59:42), то при нажатии кнопки корекции, секунды обнуляются и прибавляется минута (это правильно), но в данном случае, когда 59 минут, не происходит сброс минут в 00 и прибавления часа. Просто минут становится 60 (например 15:60:00).
Вообще, что-то авторы этой модификации часов от Димы, забросили своё творение, в отличие от автора, который чуть не каждый день штампует новые прошивки. Жаль, что в этом случае они бесполезны, а в исходниках слишком сложно разобраться.

Добавлено: Вт май 05, 2009 09:12:24
mallsa
Здравствуйте! Кто подскажет, собрал я эти часики и вот проблема. Идут вроде точно, температуру показывает точно можно сказать но войти режим настройки-сложно. Команды перескакивают. тоесть настройки включаются в случайном порядке и нет завершение по времени выход в 0 режим. Что у меня нетак?

Добавлено: Вт май 05, 2009 19:10:39
DimAlt
Возможно применены очень хреновые кнопки, с очень хитрым дребезгом, то есть контакт установился стоит стабильный где 0,2сек, а потом опять пропадает.
Но скорей всего трабла с проводниками к кнопкам и индикатору, где то что то замыкает.

Добавлено: Чт ноя 05, 2009 22:21:35
SKIF05
Доброго всем времени суток!
Собрал часы "Часы-термометр на микроконтроллере ATmega8. V 2.0" работаю :)) но я взял индикаторы у которых в каждом сигменте соеденины последовательно по 2 светодиода! и из-за этого недостаточная яркость!! вопрос такой как можно поднять яркость и можно ли как нить дороботать схему что бы использовать допустим 12В индикаторы и больше!!