Аппаратный шим? или контроллер управляет? Можно взглянуть на реализацию?nvz писал(а):Я у себя соорудил ШИМ - нравится до не могу! Поставил 90-87 градусов, ещё на полную мощность не включался....
Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
- Реклама
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
1. Без полевика будет работать, у меня работает.
2. в сторону уменьшения.
3. это к Soirу, он намекал, что шим сделать можно, но вот какой алгоритм работы?, или фиксированный выход?
2. в сторону уменьшения.
3. это к Soirу, он намекал, что шим сделать можно, но вот какой алгоритм работы?, или фиксированный выход?
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Дак у меня для автомобильного вентилятора охлаждения двигателяserg-serg писал(а):Аппаратный шим? или контроллер управляет? Можно взглянуть на реализацию?
А ты что собираешь?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Если к вопросу подходить принципиально, то в управляющей программе должен учитываться способ подключения датчика. На практике, если нет каких-то особенностей, будет работать и так, и так. R1, R2 и Q3 (по Вашей картинке) не нужны. Если датчик будет работать неустойчиво - уменьшить сопротивление R3.serg-serg писал(а):... Контроллеру всеравно по 2-м или по 3-м подключен датчик?...
А 20%? Не стесняйтесь.serg-serg писал(а):На 80% данный вариант прошивки удовлетворяет.
Вывод 4 может работать только в режиме входа.serg-serg писал(а):Есть еще вопрос: У контороллера я так понял уже управляющие выводы аналогичные по функциям 15,16 уже все заняты?... Можно вывод 4pic под такое задействовать? ...
Не так, чтоб нерешаемая... Больше вопросов будет при настройке регулирования. Я пока не готов за это взяться. И что кстати регулировать? Постоянку?serg-serg писал(а):Есть конечно желание иметь ШИМ вместо On-OFF на OUT1 хотябы. Но это я так понимаю сложная задача...
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Регулировать 12v постоянное. 150ватт вентилятор охлаждающий.
есть в наличии irf90N20 Думаю его приспособить.
Даташит в аттаче.
есть в наличии irf90N20 Думаю его приспособить.
Даташит в аттаче.
- Вложения
-
- irfp90n20d.pdf
- (93.61 КБ) 313 скачиваний
- Реклама
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Подумаю на досуге. Выход ШИМ из данного МК pin9. Так что возможно придется вносить изменения в схему.serg-serg писал(а):Регулировать 12v постоянное. 150ватт вентилятор охлаждающий.
Регулировка мощности автоматическая или кнопками PLUS/MINUS?
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Что конструируешь, если не секрет?serg-serg писал(а):Регулировать 12v постоянное. 150ватт вентилятор охлаждающий.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Насчет вопроса "что охлаждаем" - это дизельный генератор.
к примеру стоит 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% мощности
Предположительно данный алгоритм поможет более точно держать температуру и уменьшит количество включений-отключений вентилятора(что положительно скажется на надежности охлаждения и ресурсе вентилятора)
Я не сторонник ручных режимов. Может так: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
Прошу прощения, терпел несколько страниц, больше не могу выдержать.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
И зачем такие сложности с гистерезисом? Какое отношение к нему имеет ШИМ? Гистерезис можно сделать хоть 3 градуса, т.е. включение вентилятора при 80 гр. на 50%, а отключение при 77 гр. Просто при превышении 80 градусов на каждый градус ШИМ добавляет по 5% мощности, и так до 100% при 90 гр.
На авто вентилятор 110вт, уверенно запускается и крутит даже при 30% ШИМ.
PS а что, рабочая температура дизель-генератора 70 градусов?
На авто вентилятор 110вт, уверенно запускается и крутит даже при 30% ШИМ.
PS а что, рабочая температура дизель-генератора 70 градусов?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Делал ШИМ-регулятор (правда до практической реализации дело не дошло) по следующему алгоритму:
Через заданное время (доступно для установки 1 ÷ 99 сек) производится корректировка мощности. Если температура вышла за пределы заданной (с учетом гистерезиса), производится вычисление шага изменения (Шаг изменения - это величина в %, на которую будет изменена мощность). Измеренная температура сравнивается с температурой, которая была при последней корректировке и, если рассогласование увеличилось, шаг изменения увеличивается на 1%. И наоборот, если рассогласование уменьшилось – шаг уменьшается на 1%. Шаг изменения может меняться от 1 до 20% (можно другие пределы). Затем в зависимости от того, температура выше или ниже заданной, выходная мощность уменьшается или увеличивается на рассчитанный шаг. Текущая температура запоминается для следующего сравнения.
Если температура достигла установленной (с учетом гистерезиса), шаг становится равным 1%. Выходная мощность остается на достигнутом уровне.
Таким образом, если рассогласование увеличивается - мощность меняется быстрее, и наоборот. Сложность будет в настройке. Нужно правильно подобрать шаг изменения и время между корректировками, чтобы с одной стороны обеспечить минимальные колебания температуры, а с другой не гонять вентилятор туда-сюда.
В варианте, который я делал, был другой режим индикации (достаточно информативный) и довольно удобно было регулировать как режим работы (ручной-автоматический), так и время между шагами изменения. Найду куда задвинул проект - выложу, может Вам понравится.
Через заданное время (доступно для установки 1 ÷ 99 сек) производится корректировка мощности. Если температура вышла за пределы заданной (с учетом гистерезиса), производится вычисление шага изменения (Шаг изменения - это величина в %, на которую будет изменена мощность). Измеренная температура сравнивается с температурой, которая была при последней корректировке и, если рассогласование увеличилось, шаг изменения увеличивается на 1%. И наоборот, если рассогласование уменьшилось – шаг уменьшается на 1%. Шаг изменения может меняться от 1 до 20% (можно другие пределы). Затем в зависимости от того, температура выше или ниже заданной, выходная мощность уменьшается или увеличивается на рассчитанный шаг. Текущая температура запоминается для следующего сравнения.
Если температура достигла установленной (с учетом гистерезиса), шаг становится равным 1%. Выходная мощность остается на достигнутом уровне.
Таким образом, если рассогласование увеличивается - мощность меняется быстрее, и наоборот. Сложность будет в настройке. Нужно правильно подобрать шаг изменения и время между корректировками, чтобы с одной стороны обеспечить минимальные колебания температуры, а с другой не гонять вентилятор туда-сюда.
В варианте, который я делал, был другой режим индикации (достаточно информативный) и довольно удобно было регулировать как режим работы (ручной-автоматический), так и время между шагами изменения. Найду куда задвинул проект - выложу, может Вам понравится.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
А каким образом прописывается программирование ШИМ в МК? Процентами: сплошной ноль - 0%, меандр - 50%, сплошная единичка - 100%? или как-то по-другому?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Нашел.Soir писал(а):...Найду куда задвинул проект - выложу...
Некоторые уточнения:
1. Проект делался для фазоимпульсного регулирования переменного тока. В связи с этим аппаратный ШИМ МК не использовался.
2. Это нагреватель.
3. Описание работы во вложении.
4. Проект не завершенный. Хотя в Proteus все работает, как предполагалось, в практике не проверен. Есть некоторые внутренние настройки программы, которые выставляются исходя из практических данных о работе устройства. Да и сама программа еще сырая, проект заглох, интерес я к нему потерял.
Выкладываю только для демонстрации алгоритма управления.
- Вложения
-
- Termometr_16F628_PWM_v2.zip
- (35.72 КБ) 392 скачивания
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Что-то в этом роде. Еще прописывается частота.nvz писал(а):А каким образом прописывается программирование ШИМ в МК? Процентами: сплошной ноль - 0%, меандр - 50%, сплошная единичка - 100%? или как-то по-другому?
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
То-то я смотрю, что ерунда получается. По описанию выходит, что вентилятор должен всё время работать,поддерживая определённую температуру непонятно чего, что дико греется. Уж не атомный реактор ли?

- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Как-то мы быстро отвечаем, ответы переплетаются. Да ничего, частота берётся делением от опорной 4МГц? у меня на авто где-то 500 Гц, транзистор без радиатора, нагрузка 110Вт, не греется.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Да, но там чуть-чуть сложнее, чем просто деление.nvz писал(а):...частота берётся делением от опорной 4МГц...
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Щас я буду буянить. У меня день рождения, поэтому.......
IM1, хватит противостоять нашему Soir (ты же заметил, что он не отстаивает свои разработки, он старается помочь людям и всегда прислушивается к их мнению), включайся в палетику (обсуждения), по-моему Soir против не будет. Если, конечно, есть идеи.......
IM1, хватит противостоять нашему Soir (ты же заметил, что он не отстаивает свои разработки, он старается помочь людям и всегда прислушивается к их мнению), включайся в палетику (обсуждения), по-моему Soir против не будет. Если, конечно, есть идеи.......
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
примерно такой алгоритм должен подойтиSoir писал(а):...Затем в зависимости от того, температура выше или ниже заданной, выходная мощность уменьшается или увеличивается на рассчитанный шаг. Текущая температура запоминается для следующего сравнения...
если можно отдельно задать диапазон градусов - то будет лучше. Сделать диапазон 1-40градусов и на месте уже запрограммировать нужный. И в этом диапазоне будет гулять мощность 50%-100% автоматическиIM1 писал(а):И зачем такие сложности с гистерезисом? Какое отношение к нему имеет ШИМ?
Задача не допустить значительного превышения рабочей температуры с помощью принудительного воздушного охлаждения. Держать рабочий диапазон как можно точнее в заданном диапазоне.Soir писал(а):поддерживая определённую температуру непонятно чего, что дико греется
Не все время, а когда температура выше заданной. Постой вариант ВКЛ =100% выкл =0%. Более сложный : привязка изменения температруры к мощности значительно уменьшив количество циклов ВКЛ/ВЫКЛ.Soir писал(а):описанию выходит, что вентилятор должен всё время работать,поддерживая определённую температуру
Цифра условная. Нужная температура задается програмно в PIC контроллере.IM1 писал(а):рабочая температура дизель-генератора 70 градусов?
Какой полевик стоит? Стоит на радиаторе какой площади? как с нагревом полевика?nvz писал(а): На авто вентилятор 110вт, уверенно запускается и крутит даже при 30% ШИМ.
PS а что, рабочая температура дизель-генератора 70 градусов?
поэтому ПОЗДРАВЛЯЮ! Желаю наилучшего!nvz писал(а):У меня день рождения, поэтому...
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Поздравляю, творческих успехов.nvz писал(а):...У меня день рождения...
А serg-serg'у больше не наливать, все цитаты перепутал.


