8. Часы с двумя DS18x20 с маленькими индикаторами

По просьбе трудящихся была сделана модификация часов из первой статьи.

 
Схема (два индикатора - просто для проверки ОА/ОК в протеусе, в схеме один индикатор ОА или ОК)
 
 
Схема с ОА
Часы-термометр с двумя датчиками DS18B20
 
Схема с ОК
 
Часы-термометр с двумя датчиками DS18B20
 
Меню.
 
1 - будильник
2 - часы/минуты 
3 - минуты/секунды

4 - день недели
5 -
число/месяц (29 февраля не отображает)
6 - время отображения часов (сек)
7 - время отображения дня (сек)
8 - время отображения температуры (сек)
9 - коррекция +/-12 секунд/сутки с шагом 0,1 сек
10 - яркость ночью
11 - время ночи (пониженной яркости)
12 - тон сигнала будильника (условно)
13 - настройка автоповтора будильника
14 - термометр 1 (HET/DS18S20/DS18B20)
15 - термометр 2 (HET/DS18S20/DS18B20)
 
С датчиком DS18S20 дискретность 0,5 ⁰С (-55..+99 ⁰С).
С датчиком DS18B20 дискретность 0,1 ⁰С (-55..+99 ⁰С).

Для прошивки v1.9 - вместо переключателя ЯркостьMin
можно поставить фототранзистор L-3DP3C, резистор R8 10кОм увеличить до 100*кОм. Тем самым получим автоматическое изменение яркости при изменении внешнего освещения (2 уровня яркости).
 
Работа датчиков температуры.   
     
- измерение температуры 1 и 2 осуществляется при переходе отображения от "Температуры 1" к "Температуре 2" и от "Температуры 2" к "Часам" (это уменьшает эффект подмигивания при опросе датчиков температуры).
 
Программирование битов EEPROM.

В связи с нехваткой памяти контроллера придется программировать EEPROM.
При программировании в EEPROM необходимо прописать 
(прошивка v1.7):
 
( 02 02 F0 00 14 14 XX ZZ WW KK MM LL ) дальше по умолчанию FF
Пояснения:
02: 00 - термометра 1 нет, 01 - DS18S20, 02 - DS18B20 (начальная установка, меняется в меню).
02: 00 - термометра 2 нет, 01 - DS18S20, 02 - DS18B20 (начальная установка, меняется в меню).
F0: значение коррекции = 240 (начальная установка, меняется в меню).
00: значение коррекции = 0   (начальная установка, меняется в меню).
14: яркость ночи 20 (начальная установка, меняется в меню).
14: тон звука 20 (начальная установка, меняется в меню).
XX: 00 - 4.000МГц, 01 - 4.096МГц (в меню нельзя поменять).
ZZ:   отображать знак градуса? 00 - нет, 01 - да (в меню нельзя поменять)
WW:  режим звука 00 - постоянно, 01 - один импульс, 02 - через секунду,03 - пищит с частотой TON (в меню нельзя поменять)
KK:    индикаторы с общим катодом? 00 - нет, 01 - да (в меню нельзя поменять)
MM:  что высвечиваем перед температурой в доме? (см ниже)
LL:    что высвечиваем перед температурой на улице? (см ниже)
 
Символы перед температурой
0A - "пробел"  0B - "-"   0C - "градус"    0D - "А"     OE - "C"
OF - "d"          10 - "E"   11 - "F"           12 - "H"     13 - "L"
14 - "t"           15 - "Г"   16 - "b"           17 - "П"     18 - "Р"
19 - "Ц"          1A - "Y"   1B - "o"           1C - "r"     1D - "U"
 

Фото от Ham
 
 
 
 
 
 
Часы-термометр с двумя датчиками DS18B20

 

Кварц с частотой 4.000 МГц лучше не использовать, ход часов будет не точный, это связано с особенностью TMR0, используемого для формирования временных интервалов часов (относится к версиям ниже v1.9).
 
 
Обновление 29.07.2012
Изменения:
- переработан алгоритм контроля напряжения сети
- переработан алгоритм опроса датчика температуры (маскирует мигание индикаторов)
- "минус" при отображении температуры теперь стоит перед цифрами, а не только в левом знакоместе
- Обращение к датчику будет происходить только во время переключения индикации из режима
  "Температура1" в режим "Температура2" и из режима "Температура2" в режим "Время"
- возможность выбора отображения знака градуса
- можно выбрать буквы из знакогенератора перед температурой
- коррекция +/-24,0 секунды в сутки, шаг 0,1 секунда (каждые 6 минут по 0,1 секунде, до 240 раз в сутки)
- запись в EEPROM через 20 секунд после изменения параметра, который надо записывать
- будильник пищит 1 минуту, потом через минуту еще 2 минуты. (по другому я его утром просыпаю :D )
Прошивка, исходник v1.6 - (описание в архиве, читать перед прошивкой в контроллер)
 
Обновление 29.07.2012
Обновление 24.08.2012 - перезалил прошивку (улучшена точность хода с кварцем 4.000МГц)
Изменения:
- будильник пищит 1 минуту, потом автоповторы через каждые 5 минут (период настраивается в меню до 60 минут)
- звук отключается коротким нажатием на минус, будильник полностью отключается длинным нажатием
Прошивка, исходник v1.7 - (описание в архиве, читать перед прошивкой в контроллер)
 
Обновление 14.06.2014
Обновление 16.06.2014 (исправлено отображение и звук в меню "Тон")
Изменения:
- добавлена настройка числа и месяца ("Пont" "Число.Месяц")
- при нажатии кнопки "Меню" отображается "Число.День" на 1 секунду
- при нажатии кнопки "Плюс" отображается "Время будильника" на 1 секунду
- добавлено отображение температуры без десятых долей и со знаком градуса (настраивается в EEPROM)
Прошивка, исходник v1.8 - (описание в архиве, читать перед прошивкой в контроллер)

Обновление 18.05.2015
Изменения:
- полностью устранен неконтролируемый уход времени при использовании кварца 4,000 МГц. TMR0 не предустанавливается.
- начало и конец ночи настраиваются от 0 до 23 часов. При равенстве значений, яркость остается максимальной.
- переделан ШИМ яркости (прерывание).
- диапазон коррекции хода +/-12 секунд в сутки с шагом 0,1.
- добавлена яркость от внешнего освещения с фототранзистором L-3DP3C на 4 ноге (дискретная яркость).
- оптимизирована программа, обрезан знакогенератор, меню перенесено в EEPROM
Прошивка, исходник v1.9 - (описание в архиве, читать перед прошивкой в контроллер)
 
Модификация 1 от 12.06.2014 (+термостат)
Изменения:
- будильника нет
- добавлен термостат с 2мя уставками (вкл/откл нагрузки "L on"/"L oF")
- режим нагреватель/охладитель выбирается автоматом
- джампер на 4й ноге выбирает термометр для термостата
Прошивка, исходник, схема  v1.7 termostat - (описание в архиве, читать перед прошивкой в контроллер)
 
Модификация 2 от 14.06.2014 (автомобильная версия)
Изменения:
- на 4й ноге ключ зажигания (выключаем - индикатор тухнет через 3 секунды, включаем - загорается)
- коротко по кнопке меню: режим "часы"/режим "таймер включеного зажигания"
- сброс таймера включеного зажигания - длинное нажатие на + или - в режиме "таймер включеного зажигания"
- нет звонка, дня недели, будильника, тона звука (ну и соответствующих п/меню)
- яркость общая (нет ночного режима)
- в режиме выключеного зажигания часы могут показывать при нажатии кнопок: часы, температуру1, температуру2
- в режиме выключеного зажигания "таймер включеного зажигания" остановлен.
Прошивка, исходник, схема  v1.7 auto - (с плавным нарастанием и уменьшением яркости)
Прошивка, исходник, схема  v1.7 auto_1 - (описание в архиве, читать перед прошивкой в контроллер)
 

 

 
Категория: Часы | Добавил: Boroda (01.05.2012) W
Просмотров: 16976 | Комментарии: 52 | Теги: PIC16F628, Часы-термометр
Всего комментариев: 521 2 »
46 defaultNick   (28.12.2019 05:36) [Материал]
Доброго времени суток, нужна консультация. При программировании, прошивка V 1.9 в EEPROM ставлю 
02 02 78 05 14 01 01 03 01 00 01A1 FF     прошиваю, после проверки получается  00 02 78 05 14 01 01 03 00 00 01 A1 FF 
в чем подвох, заранее вам благодарен.

47 slavyan   (28.12.2019 11:50) [Материал]
Очень странно. Сделал несколько таких часов и никогда такого не было. Прошивка та же. Попробуйте сменить прогу прошивки МК.

48 defaultNick   (28.12.2019 16:25) [Материал]
Как ее сменить?

49 slavyan   (28.12.2019 21:36) [Материал]
Извиняюсь, если неправильно выразился. Попробуйте, программировать МК с помощью другой программы. Например, WinPic 800. Однако, повторюсь. Сколько программировал МК, и данного проекта тоже, подобного как у Вас не наблюдал. Возможно ещё попробовать : 1. Приобрести другой МК. 2. Перед прошивкой проводить процедуру стирания содержимого МК.

50 defaultNick   (29.12.2019 05:48) [Материал]
WinPic 800 программа для PICkit2?

51 slavyan   (29.12.2019 18:18) [Материал]
Нет.
С Pickit никогда не работал. Ничего сказать не могу.
У меня собственноручно собранный JDM программатор.

52 defaultNick   (04.01.2020 18:23) [Материал]
А может борода знает?

45 Alex47let   (06.04.2019 11:10) [Материал]
Да забыл написать, что собрал 5 часов.

44 Alex47let   (06.04.2019 11:09) [Материал]
Доброго времени суток. У Вас хорошие разработки. По вашей схемотехнике собрал для дома и себе и матушке часы, но они практически все отстают. Коррекции в 12 секунд не хватает, вроде косяков нет, кварцы ставил 4 и 4,096 - всегда отстают. кроме одних часов. Прошивки 1,7 и 1,9. Питание - сеть через "зарядку" от телефона (схемы со стабилизацией) и в резерве питания АКБ от сотового с микросхемой зарядки LTC4054. Вопрос: как избавиться от отставания часов или просто менять в прошивке коррекцию в 12 секунд. В последнем случае как это сделать?
С уважение Александр.

42 Doc   (01.02.2018 07:26) [Материал]
Господа , в прошивке 1.9 идет речь о регулировки яркости и ШИМ , в упор на схеме не вижу ШИМа?
Может есть более полная версия схемы?

43 Boroda   (01.02.2018 09:34) [Материал]
А Вы его и не увидите, он программно реализован. ШИМ - широтно-импульсная модуляция (яркость регулируется длиной импульса и паузы)

40 Boroda   (20.04.2014 23:32) [Материал]
Привет! Кнопка с фиксацией. Ее можно убрать, резистор нужно оставить. Просто был свободный вход - не оставлять же его просто так smile

41 Min   (23.12.2016 11:00) [Материал]
Здравствуйте уважаемый Борода Собрал сие девайс - отлично   ( Прошивка, исходник v1.9) Но тут же вышла непонятка отключил один датчик температуры, время показа другого поставил 5 сек и теже 5 сек индикатор не светит(получается время второго) Подскажите пожалуйста как убрать время показа второго датчика температуры smile Спасибо за внимание biggrin

38 guslik   (08.02.2014 21:43) [Материал]
Как обычно  )), косяк с моей стороны ,не той структуры транзистор на точку поставил , заменил  ,все нормально .
Куда можно фото и файл печатки кинуть ?
Может кому и пригодится .
ULN2803 под рукой такой не было .

39 Boroda   (08.02.2014 21:46) [Материал]
Бывает! Сам так иногда косячу...
На почту кидай d m i t r s t a s с о б а к а я н д е х р у

36 guslik   (08.02.2014 19:32) [Материал]
Как правильно подключить  точки ? подробней можно ?
С цифрами порядок , с точками запутался (((( wacko

37 Boroda   (08.02.2014 20:58) [Материал]

А в Вашем случае проще было использовать ULN2803

34 guslik   (08.02.2014 18:43) [Материал]
Может я не правильно выразился ? 
При показание времени точки моргают ,при дне недели , температурах они горят постоянно , так и должно быть ? 
На какой разряд садить  запятую десятых ? 
Может я че с точками накасячил?

35 Boroda   (08.02.2014 19:06) [Материал]
При показе времени мигает средняя точка 00.00
При дне недели точек нет
При температуре горит точка 0.0о (-0.0о), либо 00.0 (-00.0), где "о" - знак градуса

33 guslik   (07.02.2014 18:55) [Материал]
Большое спасибо что отвечаете автор  этих великолепных часов !
Я НАШЕЛ СВОЮ ОШИБКУ ! ВСЕ РАБОТАЕТ !
Единственное с  точкой не разобрался , как мне правильно сделать панель- матрицу  из светодиодов  -я про точку ?

31 guslik   (07.02.2014 04:19) [Материал]
Здравствуйте уважаемый Boroda !
Прошу прощение за то что не понятно описал свою проблему .
Прошил прошивкой Прошивка, исходник v1.7
Допустил 2 ошибки  в трассировке платы , исправил , все работает .
Есть вопрос по поводу  индикации точки , она у меня светится постоянно при показание температуры , то есть неправильно работает с температурой десятые  градуса  .

32 Boroda   (07.02.2014 09:16) [Материал]
Привет! Попробуй резистор 4.7кОм на датчике уменьшить до 1..2кОм. Может логическая единица не появляться, т.к. в ULN2003 на входе стоит последовательно 2.7кОм и 2 перехода база-эмиттер на землю.

29 guslik   (06.02.2014 20:57) [Материал]
Вроде разобрался с  кнопкой меню ,не правильно резистор впаял , заменил,сейчас могу менять параметры .
Но у меня по прежнему не работает 1 датчик температуры , выпаивал рабочий  толку нет .Что может быть ?

30 Boroda   (07.02.2014 01:00) [Материал]
Повторяю: Какая прошивка? На какой ноге контроллера не работает датчик?

З.Ы.  фраза "1 датчик температуры" значит "один датчик температуры" или "первый датчик температуры" ???

27 guslik   (05.02.2014 20:43) [Материал]
Здравствуйте !
У меня проблема  , не работает корректно меню ,тоесть я не могу настроить часы .
Также не работает 1 датчик температуры , а так часы работают .
Контроллер у меня  PIC16F628A  ,может все из-за буквы A ?

28 Boroda   (06.02.2014 10:05) [Материал]
Привет! По какой схеме ОА/ОК? Какая прошивка? На какой ноге не работает датчик? В чем заключается некорректная работа меню?

24 Le_Fleurs   (31.03.2013 18:17) [Материал]
Добрый день а печатную плату в *.lay есть? подскажите что это за подложка такая синяя, для индикатора?

25 Boroda   (31.03.2013 19:45) [Материал]
-  Печатку я лично не делал.
-  Насчет корпуса - вот

26 Le_Fleurs   (31.03.2013 20:04) [Материал]
понятно, очень жаль, буду пробовать развести, Но за схему часов респект очень понравилась.

22 Сергей   (27.12.2012 00:43) [Материал]
Подскажите как переделать схему включения индикаторов если они с ОК , перепробывал кучу вариантов , чего-то туплю наверное, ничего не выходит.

23 Boroda   (27.12.2012 08:21) [Материал]
Добавил схему.

15 CRASHER   (29.06.2012 23:23) [Материал]
Уважаемый Boroda, а можно сделать чтобы температура отображалась со значком градуса от -9.9 до 99.9. Когда бросаю взгляд на часы, не сразу понимаю что отображается время или температура. И выбор режима звука нельзя вернуть в меню? Спасибо.

16 Boroda   (30.06.2012 19:53) [Материал]
Если памяти хватит, то постараюсь переделать. А как вы используете настройку режимов звука? Кстати, индикатор не подмигивает?

17 CRASHER   (30.06.2012 22:33) [Материал]
Все отлично работает

18 Boroda   (01.07.2012 00:40) [Материал]
Ошибку со звуком исправил (туда еще и ошибка с коррекцией затесалась). Отображение температуры тоже подправил.

19 CRASHER   (01.07.2012 22:19) [Материал]
Уважаемый Boroda! Огромное спасибо за отображение температуры (доволен как мамонт).Багов никаких не заметил,буду еще тестировать. Еще вопросик, можно ли сигнал который звучит каждый час растянуть длительностью в одну секунду? Спасибо.

20 Boroda   (01.07.2012 23:23) [Материал]
Можно, но чуть попозже.

21 CRASHER   (01.07.2012 23:31) [Материал]
Отлично, еще раз огромное спасибо!!!

1-15 16-22
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]