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

Поклонники продукции Microchip Technology Inc тусуются тут.
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

nvz писал(а):Я у себя соорудил ШИМ - нравится до не могу! Поставил 90-87 градусов, ещё на полную мощность не включался....

Аппаратный шим? или контроллер управляет? Можно взглянуть на реализацию?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

1. Без полевика будет работать, у меня работает.
2. в сторону уменьшения.
3. это к Soirу, он намекал, что шим сделать можно, но вот какой алгоритм работы?, или фиксированный выход?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

serg-serg писал(а):Аппаратный шим? или контроллер управляет? Можно взглянуть на реализацию?


Дак у меня для автомобильного вентилятора охлаждения двигателя
А ты что собираешь?
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

serg-serg писал(а):... Контроллеру всеравно по 2-м или по 3-м подключен датчик?...

Если к вопросу подходить принципиально, то в управляющей программе должен учитываться способ подключения датчика. На практике, если нет каких-то особенностей, будет работать и так, и так. R1, R2 и Q3 (по Вашей картинке) не нужны. Если датчик будет работать неустойчиво - уменьшить сопротивление R3.
serg-serg писал(а):На 80% данный вариант прошивки удовлетворяет.

А 20%? Не стесняйтесь.
serg-serg писал(а):Есть еще вопрос: У контороллера я так понял уже управляющие выводы аналогичные по функциям 15,16 уже все заняты?... Можно вывод 4pic под такое задействовать? ...

Вывод 4 может работать только в режиме входа.
serg-serg писал(а):Есть конечно желание иметь ШИМ вместо On-OFF на OUT1 хотябы. Но это я так понимаю сложная задача...

Не так, чтоб нерешаемая... Больше вопросов будет при настройке регулирования. Я пока не готов за это взяться. И что кстати регулировать? Постоянку?
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

Регулировать 12v постоянное. 150ватт вентилятор охлаждающий.

есть в наличии irf90N20 Думаю его приспособить.
Даташит в аттаче.
Вложения
irfp90n20d.pdf
(93.61 КБ) 313 скачиваний
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

serg-serg писал(а):Регулировать 12v постоянное. 150ватт вентилятор охлаждающий.

Подумаю на досуге. Выход ШИМ из данного МК pin9. Так что возможно придется вносить изменения в схему.
Регулировка мощности автоматическая или кнопками PLUS/MINUS?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

serg-serg писал(а):Регулировать 12v постоянное. 150ватт вентилятор охлаждающий.

Что конструируешь, если не секрет?
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

Насчет вопроса "что охлаждаем" - это дизельный генератор.

Soir писал(а):Выход ШИМ из данного МК pin9. Так что возможно придется вносить изменения в схему. Регулировка мощности автоматическая или кнопками PLUS/MINUS?


Я не сторонник ручных режимов. Может так:

к примеру стоит 80градусов включение и гипертезис 10градусов(величины взяты для конкретного примера):

по достижении установленной температуры >80c даем 90% мощности для гарантированного старта вентилятора и через 5 секунд понижаем до до 50% (меньше наверно не стоит, так как риск остановки вентилятора)

Через 60секунд сравниваем текущее значение и значение минутной давности. Если температура не увеличивается или понижается - оставляем 50% пока не понизится до >70градусов и выключится вентилятор.
Если повысилась до величины гистерезис*0,2 (10*0.2=2град) от установленных 80с (стала 82грауса в нашем конкретном примере) включаем 60% мощности.
Если повысилась до величины гистерезис*0,4 (10*0.4=4град) от 80 (стала 84грауса в нашем конкретном примере) включаем 70% мощности.
Если повысилась до величины гистерезис*0,6 (10*0.6=6град) от 80 (стала 86рауса в нашем конкретном примере) включаем 80% мощности.
Если повысилась до величины гистерезис*0,8 (10*0.8=8град) от 80 (стала 88рауса в нашем конкретном примере) включаем 90% мощности.
Если повысилась до величины гистерезис*1,0 или более (10*1.0=10град) от 80 (стала 90рауса в нашем конкретном примере) включаем 100% мощности.

Величин можно сделать и больше для более плавной реакции. Например сделать шаг 0,1 :
...гистерезис*0,1... 55%
...гистерезис*0,2... 60%
...гистерезис*0,3.. 65%
.....
...гистерезис*0,9... 95%
...гистерезис*1,0... 100% мощности

Предположительно данный алгоритм поможет более точно держать температуру и уменьшит количество включений-отключений вентилятора(что положительно скажется на надежности охлаждения и ресурсе вентилятора)
Последний раз редактировалось serg-serg Сб апр 16, 2011 02:22:25, всего редактировалось 1 раз.
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

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

Сообщение IM1 »

serg-serg писал(а):Величин можно сделать и больше для более плавной реакции. Например сделать шаг 0,1 :
...гипертезис*0,1... 55%
...гипертезис*0,2... 60%
...гипертезис*0,3.. 65%
.....
...гипертезис*0,9... 95%
...гипертезис*1,0... 100% мощности
Прошу прощения, терпел несколько страниц, больше не могу выдержать.
Все таки правильно будет не "гипертезис" (не знаю, что это такое), а "гистерезис".
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

И зачем такие сложности с гистерезисом? Какое отношение к нему имеет ШИМ? Гистерезис можно сделать хоть 3 градуса, т.е. включение вентилятора при 80 гр. на 50%, а отключение при 77 гр. Просто при превышении 80 градусов на каждый градус ШИМ добавляет по 5% мощности, и так до 100% при 90 гр.
На авто вентилятор 110вт, уверенно запускается и крутит даже при 30% ШИМ.
PS а что, рабочая температура дизель-генератора 70 градусов?
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Делал ШИМ-регулятор (правда до практической реализации дело не дошло) по следующему алгоритму:
Через заданное время (доступно для установки 1 ÷ 99 сек) производится корректировка мощности. Если температура вышла за пределы заданной (с учетом гистерезиса), производится вычисление шага изменения (Шаг изменения - это величина в %, на которую будет изменена мощность). Измеренная температура сравнивается с температурой, которая была при последней корректировке и, если рассогласование увеличилось, шаг изменения увеличивается на 1%. И наоборот, если рассогласование уменьшилось – шаг уменьшается на 1%. Шаг изменения может меняться от 1 до 20% (можно другие пределы). Затем в зависимости от того, температура выше или ниже заданной, выходная мощность уменьшается или увеличивается на рассчитанный шаг. Текущая температура запоминается для следующего сравнения.
Если температура достигла установленной (с учетом гистерезиса), шаг становится равным 1%. Выходная мощность остается на достигнутом уровне.
Таким образом, если рассогласование увеличивается - мощность меняется быстрее, и наоборот. Сложность будет в настройке. Нужно правильно подобрать шаг изменения и время между корректировками, чтобы с одной стороны обеспечить минимальные колебания температуры, а с другой не гонять вентилятор туда-сюда.
В варианте, который я делал, был другой режим индикации (достаточно информативный) и довольно удобно было регулировать как режим работы (ручной-автоматический), так и время между шагами изменения. Найду куда задвинул проект - выложу, может Вам понравится.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

А каким образом прописывается программирование ШИМ в МК? Процентами: сплошной ноль - 0%, меандр - 50%, сплошная единичка - 100%? или как-то по-другому?
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Soir писал(а):...Найду куда задвинул проект - выложу...

Нашел.
Некоторые уточнения:
1. Проект делался для фазоимпульсного регулирования переменного тока. В связи с этим аппаратный ШИМ МК не использовался.
2. Это нагреватель.
3. Описание работы во вложении.
4. Проект не завершенный. Хотя в Proteus все работает, как предполагалось, в практике не проверен. Есть некоторые внутренние настройки программы, которые выставляются исходя из практических данных о работе устройства. Да и сама программа еще сырая, проект заглох, интерес я к нему потерял.
Выкладываю только для демонстрации алгоритма управления.
Вложения
Termometr_16F628_PWM_v2.zip
(35.72 КБ) 392 скачивания
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):А каким образом прописывается программирование ШИМ в МК? Процентами: сплошной ноль - 0%, меандр - 50%, сплошная единичка - 100%? или как-то по-другому?

Что-то в этом роде. Еще прописывается частота.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

То-то я смотрю, что ерунда получается. По описанию выходит, что вентилятор должен всё время работать,поддерживая определённую температуру непонятно чего, что дико греется. Уж не атомный реактор ли? :shock: :))
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Как-то мы быстро отвечаем, ответы переплетаются. Да ничего, частота берётся делением от опорной 4МГц? у меня на авто где-то 500 Гц, транзистор без радиатора, нагрузка 110Вт, не греется.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):...частота берётся делением от опорной 4МГц...

Да, но там чуть-чуть сложнее, чем просто деление.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Щас я буду буянить. У меня день рождения, поэтому.......
IM1, хватит противостоять нашему Soir (ты же заметил, что он не отстаивает свои разработки, он старается помочь людям и всегда прислушивается к их мнению), включайся в палетику (обсуждения), по-моему Soir против не будет. Если, конечно, есть идеи.......
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

Soir писал(а):...Затем в зависимости от того, температура выше или ниже заданной, выходная мощность уменьшается или увеличивается на рассчитанный шаг. Текущая температура запоминается для следующего сравнения...

примерно такой алгоритм должен подойти
IM1 писал(а):И зачем такие сложности с гистерезисом? Какое отношение к нему имеет ШИМ?

если можно отдельно задать диапазон градусов - то будет лучше. Сделать диапазон 1-40градусов и на месте уже запрограммировать нужный. И в этом диапазоне будет гулять мощность 50%-100% автоматически
Soir писал(а):поддерживая определённую температуру непонятно чего, что дико греется

Задача не допустить значительного превышения рабочей температуры с помощью принудительного воздушного охлаждения. Держать рабочий диапазон как можно точнее в заданном диапазоне.
Soir писал(а):описанию выходит, что вентилятор должен всё время работать,поддерживая определённую температуру

Не все время, а когда температура выше заданной. Постой вариант ВКЛ =100% выкл =0%. Более сложный : привязка изменения температруры к мощности значительно уменьшив количество циклов ВКЛ/ВЫКЛ.
IM1 писал(а):рабочая температура дизель-генератора 70 градусов?

Цифра условная. Нужная температура задается програмно в PIC контроллере.
nvz писал(а):На авто вентилятор 110вт, уверенно запускается и крутит даже при 30% ШИМ.
PS а что, рабочая температура дизель-генератора 70 градусов?

Какой полевик стоит? Стоит на радиаторе какой площади? как с нагревом полевика?
nvz писал(а):У меня день рождения, поэтому...

поэтому ПОЗДРАВЛЯЮ! Желаю наилучшего!
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):...У меня день рождения...

Поздравляю, творческих успехов.
А serg-serg'у больше не наливать, все цитаты перепутал. :shock:
Ответить

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