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

Поклонники продукции Microchip Technology Inc тусуются тут.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

pert писал(а):Вы можете изменить прошивкy 4.3 на 3-разрядный дисплей, для инкубатора, свободный выход использовать для снижения ночной температуры таймером? Добавить меню температурой T2, изменить пункты меню t-1, t-2, StE, Pro,Int, Der, Ti .

Я думал в инкубаторе температура постоянна и днем и ночью. По крайней мере Вы первый, кто ко мне обратился с таким вариантом.
Хочу уточнить:
1. Вам нужен именно 3-разрядный индикатор? Можно освободить вывод RA5 (pin 4), если Вы мне скажете, какой у Вас индикатор CA или CC и оставить 4-разрядный.
2. Таймер, как я понял, внешний. Будет в заданное время замыкать/размыкать контакты t-2.
3. Из меню нужно убрать выбор режима автоматический/ручной и добавить установку температуры t-2, которая будет активна при замыкании контактов t-2? При разомкнутых контактах активна t-1.
pert
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт дек 17, 2010 23:19:40
Откуда: Чешская Республика

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

Сообщение pert »

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

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

Сообщение Soir »

pert писал(а):У меня есть несколько 3-разрядных дисплей, температура используются только на 3 пункта, так я подумал, что это было бы достаточно
1-использую дисплей с общим анодом ,ручная настройка мощности может быть опущена
2,3 - да, это так.

Понятно. Некотрые нюансы.
1. Для удобства настройки изменил названия коэффициентов, перешел на односимвольное обозначение.
2. Переключение режимов оставил, мне так проще, а Вам мешать не будет, по умолчанию режим автоматический.
3. Выбор типа индикатора ОА или ОК теперь производится при прошивке, записью в EEPROM.
4. Измеряемая температура ограничена -9,9 - +99,9. Если быть точнее, то измеряемая осталась -55,0 - +125,0, а отображаемая стала -9,9 - +99,9.
5. Технически вывод информации на индикатор, строго говоря, остался такой же как и для 4-х разрядов. Один разряд работает "в холостую". Это немного не экономно, так как можно было б увеличить яркость за счет одного разряда. Формирование динамической индикации в этом устройстве связано с синхроимпульсами, формированием импульса для открытия симистора и работой датчика. Согласовать все это между собой, собственно, было самым трудным моментом при написании программы. У меня нет желания ломать себе голову, как теперь перейти на 3-х разрядный индикатор, чтобы все работало, не было мерцаний, миганий и т.п. Так что принимайте как есть.

Подробное описание вместе с прошивкой и проектом во вложении.
Вложения
Termometr_16F628_PID_v4.3.1.zip
(32.58 КБ) 274 скачивания
Последний раз редактировалось Soir Чт мар 08, 2012 20:14:20, всего редактировалось 1 раз.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Для тех, кого заинтересовали терморегуляторы версий 4.2 и 4.3, набросал небольшие инструкции по работе с прибором.
Описаний по настройке регулятора там нет.
Вложения
Termometr_16F628_PID_v4.3.zip
(7.98 КБ) 266 скачиваний
Termometr_16F628_PID_v4.2.zip
(8.04 КБ) 259 скачиваний
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

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

Сообщение Niks13 »

Я когда собирал этот термостат, пытался найти 4х разрядный индикатор, со знаком 20мм высоты. 3х разрядные у меня есть, а 4х так и не нашел. Поставил со знаком 14мм. Теперь вот думаю, может еще один термостат на большом индикаторе сделать. Кстати как я уже писал, вместо резисторов 1кОм я поставил 390Ом. Ключи не ставил. Яркость довольно хорошая. Видно хорошо и днем и ночью. Если сделать ярче, ночью,без светофильтра, будет очень ярко и размыто.
Уважаемый, Soir. А переназначить выводы на процессоре сложно?
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Niks13 писал(а):...вместо резисторов 1кОм я поставил 390Ом. Ключи не ставил.

Это насилие.
Niks13 писал(а):А переназначить выводы на процессоре сложно?

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

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

Сообщение Niks13 »

Soir писал(а):Это насилие.

Понял. Будем исправлять. А Вы не могли бы нарисовать, как ставить ключи для ОА и как для ОК. Или напишите куда коллектор, а куда эмиттер цеплять. Я что-то запутался. Мне казалось, что нужно по такой схеме вешать.
ИНД.GIF
(12.49 КБ) 413 скачиваний
А Вы говорите, что можно просто сменой проводимости транзистора менять ОА и ОК.
Soir писал(а):Можно, но не все. Вы укажите конкретно какие, а я посмотрю.

Да я еще, толком и не знаю какие. Просто, когда печатку разрабатывал, мучился долго. Перемычек кучу налепил. Хотел сделать, чтоб индикатор и кнопки, стояли со стороны фольги, а все остальные элементы, на другой стороне, но так и не смог. Сделал индикатор с кнопками на шлейфе. Теперь вот подумал, может переделать на большой индикатор всю плату. Но нужно определится как ставить ключи, а потом можно прикинуть. Впрочем, если переназначать долго или сложно, то вопрос сразу снимается. Останется все как есть. В крайнем случае, добавлю еще 1 провод +5в, на плату индикации и переразведу ее под большой индикатор и ключи.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Niks13 писал(а):А Вы не могли бы нарисовать, как ставить ключи для ОА и как для ОК. Или напишите куда коллектор, а куда эмиттер цеплять. Я что-то запутался. Мне казалось, что нужно по такой схеме вешать... А Вы говорите, что можно просто сменой проводимости транзистора менять ОА и ОК.

По порядку.
1. Ток одного вывода МК не должен превышать 25мА. Для маломощных индикаторов сегменты можно подключать без транзисторных ключей. Если этого тока недостаточно для нормального свечения индикатора, тогда ключи надо ставить. Как расчитывается ток и определяется необходимость установки ключей я кажется в этой теме уже писал. Для простоты скажу. Если Вы определили, что для получения нормальной яркости свечения резисторы в цепях сегментов должны быть менее 1 кОм, то надо ставить ключи в цепи общих электродов, а если пришли к резисторам менее 120 Ом, то надо ставить и в цепи сегментов.
2. Транзисторы в данных схемах обычно включаются по схеме с общим коллектором или общим эмиттером. Что этакое и с чем его едят тут распространяться не буду, для этого есть отдельная тема. И без труда можно найти в литературе или Internet. Например вот, первая попавшаяся ссылка. Отмечу только что схемы в общим коллектором на нагрузке повторяют сигнал, подаваемый на базу и по-другому еще называются эмиттерными повторителями. Схемы с общим эмиттером инвертируют сигнал. Отсюда и варианты их применения.
3. Исходя из изложенного в п.2 следует, что если применить эмиттерные повторители независимо где, в цепях сегментов или общих электродов, то все остается как есть.
Если же использовать включение транзисторов инвертирующее сигнал, установив ключи и в цепи сегментов, и в цепи общих электродов, то при подключении индикатора с общим анодом надо применить прошивку для общего катода и наоборот (в нашем случае решается перемычкой на выв.4). Если инверторы установить, например, только в цепи общих электродов, то нужно или менять прошивку или сигнал инвертировать дважды.
4. Теперь, когда Вы окончательно запутались, варианты включения. Взял фрагменты из другого проекта, рисовать заново лень, думаю принцип будет понятен. Представлены наиболее распространенные варианты включения, когда сегменты подключаются к выводам МК через ограничительные резисторы, а общие электроды через транзисторные ключи. По названиям файлов думаю все ясно.
5. Чтобы Вам было проще сориентироваться, скажу, что если коллектор подключается к индикатору, то сигнал нужно инвертировать (менять прошивку). Если к индикатору транзистор подключается эмиттером, то в прошивке ничего менять не надо.
6. В некоторых вариантах (здесь CA_npn) коллекторы транзисторов можно подключать не к стабилизированному источнику питания +5V, а к не стабилизированному (например, +9 - +15V подаваемому на вход 7805). Это позволяет разгрузить стабилизатор и уменьшить влияние пульсаций напряжения на МК.
Niks13 писал(а):Просто, когда печатку разрабатывал, мучился долго. Перемычек кучу налепил...

Поменять можно, мне не трудно. Пока. Трудности возникнут, если мне придется проверять в железе очередную версию прошивки. Моя макетка и Ваша плата будут иметь отличия и мне придется или каждый раз перепаивать у себя, или вести параллельно две прошивки. Не хочется ни то, ни другое. Было бы хорошо, если бы все (те кто уже собрал плату или только рисует) дружно перешли на новое назначение выводов. Тогда все работали б синхронно, а так запутаемся.
Если Вы считаете, что для Вас эта версия прошивки финальная, никаких доработок не потребуется, глюков и других недоразумений не будет, я для Вас персонально один раз переназначу выводы.
Вложения
CC_pnp.png
(7.93 КБ) 458 скачиваний
CC_npn.png
(8.16 КБ) 432 скачивания
CA_pnp.png
(8.68 КБ) 321 скачивание
CA_npn.png
(9.88 КБ) 495 скачиваний
Последний раз редактировалось Soir Пт мар 09, 2012 22:33:17, всего редактировалось 3 раза.
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

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

Сообщение Niks13 »

Soir писал(а): Теперь, когда Вы окончательно запутались, варианты включения.

Все! Теперь точно запутался!!!! Для ОА нам, получается, нужна схема CA_npn. А где схема, для ОК, которую нужно использовать нам? Чем отличаются схемы CC_pnp и CA_pnp? Как я понимаю нам нужно использовать такие ключи
ИНДИКАТОР.GIF
(4.31 КБ) 442 скачивания

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

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

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

Сообщение Soir »

Niks13 писал(а): Все! Теперь точно запутался!!!!

Чтобы я Вас не запутывал дальше всеми возможными вариантами, Вы мне скажите какой у Вас индикатор ОА или ОК?
Niks13 писал(а): Как я понимаю нам нужно использовать такие ключи

Вы приводите картинки, на которых ключи установлены в цепи сегментов. dp это точка. А ключи надо ставить цепи общих анодов (катодов).
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Niks13 писал(а):Чем отличаются схемы CC_pnp и CA_pnp?.

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

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

Сообщение Niks13 »

Soir писал(а):Чтобы я Вас не запутывал дальше всеми возможными вариантами, Вы мне скажите какой у Вас индикатор ОА или ОК?

Да у меня и такие и такие есть. А какой в готовом термостате стоит я не помню. Домой завтра приду, посмотрю.

Soir писал(а):Вы приводите картинки, на которых ключи установлены в цепи сегментов. dp это точка.

Блин! Продолжаю тупитьИзображение Я просто на надписи не обратил внимания. Думал что все 8 сегментов, в верху нарисованы, а внизу общий А(К). Виноват.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Niks13 писал(а):Думал что все 8 сегментов, в верху нарисованы, а внизу общий А(К).

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

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

Сообщение Niks13 »

УВАЖАЕМЫЙ, 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 писал(а): Какой индикатор?

Не знаю. Когда канифоль смывал, надпись стерлась.Изображение Джампер на землю, не установлен. 4я нога, через резистор, на +5 вольт подключена. Я не помню какой этоИзображение Это какой? Изображение
Там бы их для обеих вариантов нарисовать, чтоб таким как я понятно было. Есть ОА ставим так. Есть ОК ставим так.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Niks13 писал(а):...4я нога, через резистор, на +5 вольт подключена...

Значит общий катод. Файл Termometr_16F628_PID_v4_CC.
На всякий случай для общего анода файл Termometr_16F628_PID_v4_CA.
N.B.
1. Транзисторы включены по схеме эмиттерного повторителя. В прошивку изменения не нужны.
2. Схемы в Proteus симулироваться не будут без некоторых ухищрений.
3. Схемы подходят для версий прошивок 4.2 и 4.3. Для 4.1 наверно тоже, я не сверял. Кому надо, уточняйте. Для 4.3.1 тоже самое, только 3 разряда - 3 транзистора.
Вложения
Termometr_16F628_PID_v4_CA.zip
(19.79 КБ) 260 скачиваний
Termometr_16F628_PID_v4_CC.zip
(19.89 КБ) 221 скачивание
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

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

Сообщение Niks13 »

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

Так вот это и самое интересное! Я с этими ключами, всю ночь промучился, а оно не работает в проекте. Почему? Все ведь правильно было нарисовано. Только я обозначал связи Т1,Т2,Т3,Т4 а у Вас еще и DIG. Я думал, что пофиг какой буквой и цифрой связи обозначать, главное чтоб они соответствовали ответной части. Хотя, я рисовал и отдельными сплошными линиями, но так и не запустил. Впрочем это наверное, нужно спрашивать в теме о протеусе
Изображение
pert
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт дек 17, 2010 23:19:40
Откуда: Чешская Республика

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

Сообщение pert »

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

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

Сообщение Soir »

Niks13 писал(а):
Soir писал(а):. Схемы в Proteus симулироваться не будут без некоторых ухищрений.

Так вот это и самое интересное! Я с этими ключами, всю ночь промучился, а оно не работает в проекте. Почему?

Хороший вопрос. И вопрос действительно для темы Proteus. И не только Вы его задаете, и не только на этом форуме.
Я не знаю на него ответ. Предполагаю, что проблема в не стыковке аналоговых моделей (транзисторы) и цифровых (индикаторы).
Его решают, как я писал, ухищрениями. Не буду здесь их описывать, тема все-таки другая.
Если уж очень хочется просимулировать проект с транзисторами, специально для Вас эксклюзивная модель p-n-p транзистора. Собрал наспех, лишь бы работал в этом проекте, да и то не гарантирую. В других ситуациях может вести себя не адекватно.
Во вложении проект в Proteus и файл pnp.MDF. Последний нужно поместить или в папку с проектом или в папку MODELS установленной программы.
Вложения
Termometr_16F628_PID_v4_CC.zip
(20.47 КБ) 221 скачивание
Ответить

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