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

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


Ответить

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

Вт фев 24, 2009 21:16:33

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

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

Изображение
Вложения
Описание.rar
описание, схема, fuse-биты
(140.08 KiB) Скачиваний: 2114
source.rar
исходник WinAVR
(20.24 KiB) Скачиваний: 1374
HEX-files.rar
файлы прошивки:
индикаторы с общим анодом,
индикаторы с общим катодом
(17.7 KiB) Скачиваний: 1307
Последний раз редактировалось Alexander H Вт июл 21, 2009 12:59:37, всего редактировалось 3 раз(а).

Ср фев 25, 2009 00:47:46

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

Ср фев 25, 2009 07:04:15

А у вас тоже датчики врут? И на сколько интересно?


Термометр изначально показывал температуру правильно, но через некоторое время температура возрастала примерно на два градуса. Возможно бракованные датчики.
Изменил период опроса датчиков. Датчики теперь врать почти не стали.
Если только примерно на 0,5 градуса. Хотя с другой стороны с чем сравнивать. Эталонного градусника нет. Во всяком случае человек привыкает. Так и в этом случае коррекция введена намеренно.

if (MINUS | PLUS) вместо if (MINUS || PLUS), ведь | это поразрядное И, || - логическое, по моему правильней ||, если развернуть строку


Да вы правы, хотя в данном случае ошибки не будет.
Только возможно незначительное увеличение программного кода.

Ср фев 25, 2009 08:49:31

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

Ср фев 25, 2009 14:51:01

Ну не знаю.... Я Димину схему пару раз собрал, и обе правильно все показывали. Сравнивал со спиртовым термометром.

Ср фев 25, 2009 17:19:50

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

Я думаю саморазогрев датчиков идет во время их опросов (и то как показывают форумы не у всех датчиков).

Ср фев 25, 2009 17:41:02

FlyGreen писал(а):Ну не знаю.... Я Димину схему пару раз собрал, и обе правильно все показывали. Сравнивал со спиртовым термометром.


У меня тоже трое таких часов, на работе дома и у родителей. Везде используется по 2 датчика. Вроде вопросов нет. Вот сейчас взял комнатный датчик под мышку показывает 36.5. Датчик держу под мышкой около 7-ми минут. Датчики на паразитном питании.

Чт фев 26, 2009 22:08:07

Я тож так делал :P У дурных котофф мысли сходяцо :))

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

Вс мар 01, 2009 03:40:06

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

Если не трудно

Вт мар 03, 2009 10:01:06

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

Пн мар 16, 2009 08:59:58

А можно применить DS1621 в качестве датчика температуры ????

Пн мар 16, 2009 19:19:41

Можно ли заменить 74НС595 на К555ИД7 или КР1564ИР52 и как ????

Вт мар 17, 2009 11:32:43

А можно применить DS1621 в качестве датчика температуры ????

Можно ли заменить 74НС595 на К555ИД7 или КР1564ИР52 и как ????

Заменить можно, но придется переписывать программу и переделывать печатку.

Вт мар 17, 2009 11:49:30

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

Ср мар 18, 2009 18:52:54

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

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

Ср мар 18, 2009 19:28:31

Можно использовать К555ИД10-Часы-термометр на ATmega8. (от DimAlt)

Вс апр 12, 2009 20:04:37

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

Вт май 05, 2009 09:12:24

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

Вт май 05, 2009 19:10:39

Возможно применены очень хреновые кнопки, с очень хитрым дребезгом, то есть контакт установился стоит стабильный где 0,2сек, а потом опять пропадает.
Но скорей всего трабла с проводниками к кнопкам и индикатору, где то что то замыкает.

Чт ноя 05, 2009 22:21:35

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