Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20

Поклонники продукции Microchip Technology Inc тусуются тут.
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):Теперь элементная база и схема. Если возражений нет, я нарисую схему.

Возражений конечно нет! Если можно, оставьте кварц на 4мГц. Ну и я подумал, может стоит создать другую тему и назвать как нибудь, типа "таймер -термостат для теплицы" или еще как. А то у нас в этой теме, уже столько вариантов, что откопать нужное не так уж просто.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Niks13 писал(а):Возражений конечно нет!

Тогда схема будет иметь примерно такой вид, как во вложении. Не показано: источник питания +5V, выходные каскады (вместо светодиодов реле или что там у Вас), кварц. Индикатор какой у Вас ОА или ОК? POWER_GOOD это контроль внешнего питания, если есть резервный источник питания. Если не предполагается - я уберу, но часы будут сбрасываться при отключении питания. Схема не окончательная, прошивки пока нет. Просто чтобы было представление, что Вас ждет.
Niks13 писал(а):Ну и я подумал, может стоит создать другую тему и назвать как нибудь, типа "таймер -термостат для теплицы" или еще как. А то у нас в этой теме, уже столько вариантов, что откопать нужное не так уж просто.

Как хотите, мне все равно.
Вложения
Schema.png
(26.31 КБ) 645 скачиваний
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):Тогда схема будет иметь примерно такой вид, как во вложении. Не показано: источник питания +5V, выходные каскады (вместо светодиодов реле или что там у Вас), кварц. Индикатор какой у Вас ОА или ОК? POWER_GOOD это контроль внешнего питания, если есть резервный источник питания. Если не предполагается - я уберу, но часы будут сбрасываться при отключении питания. Схема не окончательная, прошивки пока нет. Просто чтобы было представление, что Вас ждет.

Индикаторы у меня с ОА, но я поищу с более крупным знаком. Какие найду еще и не знаю. Желательно чтоб можно было менять ОА или ОК ну а если нет, то пишите под любой а я уже буду искать именно такой. Резервный источник конечно будет. Сейчас поприкидываю, как разводится схема с индикаторами будет.
Уважаемый Soir, а вот, приблизительно, по такому принципу там нельзя ноги расположить. Чтоб все детали получились на одной стороне, а индикатор со стороны фольги. Резисторы там конечно потом добавятся. Это просто принцип я хотел показать. Ну а нет, то делайте как Вам удобно.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Niks13 писал(а):Желательно чтоб можно было менять ОА или ОК

Найдете, скажете, поменяю.
Niks13 писал(а):Чтоб все детали получились на одной стороне, а индикатор со стороны фольги. Резисторы там конечно потом добавятся. Это просто принцип я хотел показать.

Что-то плохо я сегодня соображаю, опять не понял... Разводкой (в смысле платы) я заниматься не буду. А что надо для этого изменить в схеме или прошивке?
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):Что-то плохо я сегодня соображаю, опять не понял... Разводкой (в смысле платы) я заниматься не буду. А что надо для этого изменить в схеме или прошивке?

Блин! Это я плохо соображаю. Забыл файл прилепитьИзображение Разводить конечно я буду сам
Вложения
плата.lay
(32.16 КБ) 417 скачиваний
ПЛ.JPG
(106.26 КБ) 516 скачиваний
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Aaantonnn15 »

Это в какой прошивке? Запустил последнюю - выставляется и -55 и +125 и гистерезис 0,1... Да и в предыдущих не замечал. Не все конечно прогонял от и до, но алгоритм установки принципиально не менял.


Прошивку брал из архива Termometr_v16_CC_CA.zip. Soir, по поводу недороботки вы меня просто недопоняли. Попробую объяснить еще разок... Запускаю проект в протейсе, по умолчанию на датчике температура -5,1 град, установленная температура +20 градусов Цельсия, гистерезис 1 град. Вхожу в меню и начинаю уменьшать температуру до -55. Ровно до -55 скинуть не выходит, так как с -54 происходит перескакивание на +125. Если сейчас нажать на кнопку PLUS то произойдет перескакивание на -55, как и должно быть, а если с +124 нажать кнопку PLUS, то опять произойдет перескакивание не на +125, а на -55. Так как диапазон регулировки большой этого может и не заметно, а вот если бы было всего 4 значения или пять, то не сильно удобно бы было. Повторюсь, что и у меня похожие недороботки были, вот и на вашей прошивке решил проверить. Но если вас все устраивает меня тем более.

В плане "защиты от дурака" есть и другие недоработки. Поиск их оставлю Вам.

На мой взгляд, "вылавливание блох" в программе - это довольно крапотливый труд. Которым должен в первую очередь заниматься автор, а уж после все желающие. С уважением!
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Aaantonnn15 писал(а):Прошивку брал из архива Termometr_v16_CC_CA.zip. Soir, по поводу недороботки вы меня просто недопоняли. Попробую объяснить еще разок... Но если вас все устраивает меня тем более.

Теперь допонял. Вернее про глюк понял сразу, только не на той прошивке пытался его поймать. Конечно же недоработки не устраивают, их надо устранять. Только не всегда их замечаешь сам. Так что спасибо Вам за помощь.
Aaantonnn15 писал(а):На мой взгляд, "вылавливание блох" в программе - это довольно крапотливый труд. Которым должен в первую очередь заниматься автор, а уж после все желающие.

Есть "легальные" блохи, о которых автор знает, но по каким-то причинам их не устраняет. То ли не мешают жить, а поубивать руки не доходят, бывает из коммерческих соображений, даже ради прикола...
Труднее с "нелегалами". Конечно, ответственность за их наличие тоже полностью лежит на авторе. Но без проверки работы устройства в железе, в реальных условиях, во всех режимах выявить все недочеты трудно. Раз Вы тоже занимаетесь разработкой, то думаю, меня понимаете.
Скажу про мой подход. Когда выкладываю свое "творенье", то считаю, что сделал все что мог и уже всех блох переловил. Если никто ни на что не жалуется, то проект ложится на полку (в архив) или даже удаляется, если считаю его бесперспективным с точки зрения развития. И выявление глюков и багов с моей стороны переходит в разряд "случайно обнаружил". Я тут больше надеюсь на пользователей и помощников.
Поэтому Ваше замечание по поводу очереди на вылавливание блох, я бы слова "в первую очередь" заменил выражением "до публикации".
Ну а прошивку поправил. Еще раз спасибо за внимательность. Проверяйте дальше.
Буду признателен всем, кто поможет выявить недоработки.
Вложения
Termometr_v16.1_CC_CA.zip
(3.37 КБ) 306 скачиваний
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):часы с суточным таймером для управления освещением в аквариуме. Выкладывал здесь.

Уважаемый, Soir.
Там в архиве 2 проекта для Протеуса. Мне кажется, в проекте с полной схемой, не правильно включены общие выводы индикаторов. Или я чего-то не понял?Изображение
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Niks13 писал(а): Там в архиве 2 проекта для Протеуса. Мне кажется, в проекте с полной схемой, не правильно включены общие выводы индикаторов. Или я чего-то не понял?Изображение

Файл с пометкой test для симуляции в Proteus. Второй - полная схема, не надо ее симулировать, я ее для этого не готовил, ее надо паять. Если замените транзисторы на те, которые я недавно выкладывал специально для симуляции таких схем, то может и пойдет, я не проверял.
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Aaantonnn15 »

Ну а прошивку поправил. Еще раз спасибо за внимательность. Проверяйте дальше.
Буду признателен всем, кто поможет выявить недоработки.
Теперь работает на ура!Мне понравилось.Рад был помочь.Можно узнать на каком языке Вы пишете программы? :)
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):Файл с пометкой test для симуляции в Proteus. Второй - полная схема, не надо ее симулировать, я ее для этого не готовил, ее надо паять.

Да это я все понял, и симулировать не пытался. Просто в проекте Clock_test вывод 17 поцессора идет на 1й сегмент индикатора, вывод 18 на 2й сегмент, вывод 1 на 3й сегмент, вывод 2 на 4й. А в проекте Clock эти выводы идут на оборот. 17й на 4й сегмент и т.д.
Ну и при симуляции в Протеусе, вместо символа "L"-дневная яркость, стоит тоже - "n" И яркость индикатора не меняется при переходе день-ночь, но это наверное, просто Протеус не может такого делать
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Niks13 писал(а):Просто в проекте Clock_test вывод 17 поцессора идет на 1й сегмент индикатора, вывод 18 на 2й сегмент, вывод 1 на 3й сегмент, вывод 2 на 4й. А в проекте Clock эти выводы идут на оборот. 17й на 4й сегмент и т.д.

Да, теперь понял. Правильное расположение выводов в файле Clock_test.DSN.
Niks13 писал(а):Ну и при симуляции в Протеусе, вместо символа "L"-дневная яркость, стоит тоже - "n"

Яркость дневного режима обозначается кажется буквой d. А n яркость ночного, также используется в обозначении ночной режим включен/выключен. Я предупреждал там, что могут быть нестыковки, так как схему переделывал не проверив. У меня установлен люминесцентный индикатор с совсем другой обвязкой. Да и описание тоже может быть некорректным, оно отставало от разработки прошивки, может не все обновления отражены. Проверю, обновлю.
Niks13 писал(а):И яркость индикатора не меняется при переходе день-ночь, но это наверное, просто Протеус не может такого делать

Да, Proteus такого не может. Надо поцепить осциллограф на выводы к разрядам и по осциллограмме будет видно, как работает ШИМ.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Aaantonnn15 писал(а):Можно узнать на каком языке Вы пишете программы? :)

Си
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):Яркость дневного режима обозначается кажется буквой d. А n яркость ночного, также используется в обозначении ночной режим включен/выключен.

Прошу прощения! Это я ошибся. Хотел сказать, яркость ночного режима, а не дневного. Просто у Вас в описании, сказано
"Короткое нажатие на SET в режиме коррекции переведет часы в режим установки яркости индикатора в ночном режиме. На дисплее в первом разряде символ «L», последний разряд мигает."
Мне кажется, что действительно, яркость стоит обозначить другой буквой а не n Так как n уже обозначает время включения и отключения ночного режима.
Soir писал(а): Проверю, обновлю.

Прошу прощения за наглостьИзображение, просто хотел уточнить, стоит ждать проект, с объединенным таймером и термостатом, или собирать таймер отдельно? Я пока на работе бездельничаю, начал на всяк случай, разводить плату под часы-таймер, но если будет объединенный вариант, то я пожалуй это занятие оставлю.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Niks13 писал(а):стоит ждать проект, с объединенным таймером и термостатом, или собирать таймер отдельно?

Ждите, на днях будет. Про расположение выводов пока не думал, все так, как Вам хочется скорее всего не получится.
2572vit
Родился
Сообщения: 9
Зарегистрирован: Пн мар 19, 2012 21:49:15

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение 2572vit »

Прошёл по ссылке на PIC16f84(который у меня как раз нашёлся),прочёл более 60 страниц и запутался окончательно в таком потоке информации.Termometr_16F84_v5.2006.zip [39.52 KiB]
Тема постепенно перетекла с 84 на PIC16f628 который в магазине стоит аж 240р.(628а вообще нет).Termometr_16F84_CC.rar [66.62 KiB]
Вопрос:можно ли реализовать функционал 628-го на 84-м?Termometr_v1.rar [189.34 KiB]
Алгоритм работы термостата предполагается такой:
Нужны 2 отдельных выхода:на одном появляется высокий уровень при достижении максимальной установленной температуры,на другом-при минимально установленной.Активные сигналы на выходах должны регулироваться по длительности и по истечении заданного периода времени (1-20сек с шагом 1сек) возращаться в неактивное состояние (на обоих выходах 0),независимо от дальнейшего повышения(понижения)температуры.Гистерезис не нужен.Границы регулировки температуры от +10* до +40*,шаг 1*(индикатор 3-х сегментный с ОК,сегмент +- не нужен,в крайнем случае можно и 2 сегмента,регулировка яркости-не надо).
Пример.Нижний предел установлен +23*,верхний +28*,при достижении t=28* на одном из выходов появляется высокий уровень и присутствует там 5сек,после чего,независимо от температуры пропадает,температура контролируется и только в том случае,если t становится равным +23,то на те же 5сек срабатывает второй выход МК,после чего опять становится неактивным.И так по циклу.
Если же задействовать два выхода невозможно,то:алгоритм тот же,но выход может быть и один,только он должен активироваться импульсно (1сек-20сек) при достижении и мин. и макс. температуры.
Вложения
Termometr_16F84_v5.2006.zip
(39.52 КБ) 213 скачиваний
Termometr_16F84_CC.rar
(66.62 КБ) 210 скачиваний
Termometr_v1.rar
(189.34 КБ) 233 скачивания
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Удалено дублирующее сообщение
Последний раз редактировалось Niks13 Ср мар 21, 2012 18:43:06, всего редактировалось 1 раз.
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Удалено дублирующее сообщение
Последний раз редактировалось Niks13 Ср мар 21, 2012 20:04:04, всего редактировалось 2 раза.
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Soir писал(а):Ждите, на днях будет. Про расположение выводов пока не думал, все так, как Вам хочется скорее всего не получится.

Понял. Буду ждать. Думал хоть на макетке пока спаять таймер, но в Протеусе и светодиод по таймеру не включается почему-то. На ноге 3 (OUT) постоянно ноль Изображение
Блин! Да что этот сайт такой глючный?!Изображение То ошибка 502, то 504 превышен интервал ожиданияИзображение
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

2572vit писал(а):Вопрос:можно ли реализовать функционал 628-го на 84-м?Termometr_v1.rar [189.34 KiB]
Алгоритм работы термостата предполагается такой:...

Такой алгоритм трудно будет запихнуть в 84-ый. По крайней мере я не возьмусь. Да и выводов в 84-ом маловато будет, два надо отдать под кварц. Надо городить внешнюю микросхему для управления индикаторами... Нет, не по мне.
Ответить

Вернуться в «PIC»