ПИД регулятор для печи отопительной Бренеран...

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Если кому интересна одноименная статья, то тут можно что-нибудь про нее по обсуждать.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
kotovasiya
Опытный кот
Сообщения: 757
Зарегистрирован: Пт мар 30, 2007 12:11:23

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение kotovasiya »

Тема интересная, раз упомянули про Stropuva. У меня самодельный аналог этого котла и термопарой я снимаю температуру выхлопа, ПИД практически не возможно настроить на нем. Так как котел работает на границе горения пламени, если вас не затруднит , можете показать вашу функцию ПИД?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

А там же формула есть в статье. Обычная вроде формула.
Что касается стропувы. Я про нее только читал и видел аналоги в магазинах.
Там же точно так же есть регулятор тяги на всасе, ручной . Или я ошибаюсь?
Вот его наверно и можно по регулировать.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
kotovasiya
Опытный кот
Сообщения: 757
Зарегистрирован: Пт мар 30, 2007 12:11:23

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение kotovasiya »

У заводской там хитрый П регулятор, когда нагревается водяная рубашка, по мере расширения ее прикрывается подсос, вторичного подсоса нет. В моем случае не возможно было сделать такой, поэтому стоит шаговый двигатель на заслонке. Проблема моего котла в том что если специально не закрывать заслонку, в трубу затягивается пламя из-за этого может загореться сажа или подпортится внутри тонкая нержавейка.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Вы имеете ввиду регулятор типа Honewel, который с цепочкой? Вы таким пользовались? Ну вот, кто мешает его заменить на ПИД,
Кстати, если пользовались. Вопрос. Например Вы его настроили когда на улице было -5 и тут резко похолодало за тридцатник. Надо наверное цепочку перекидывать ?
Я когда то думал о ТТ котле и водяной системе отопления. Отказался от этой затеи. Бог даст, может когда-нибудь дом построю для ПМЖ. Так может в будущем еще понадобится, а знания лишними не бывают.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
maksipus
Нашел транзистор. Понюхал.
Сообщения: 154
Зарегистрирован: Вс янв 03, 2010 14:46:48

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение maksipus »

Очень хорошая статья и очень полезное устройство, с очень простым и оригинальным решением.
Приделать к буржуйке ПИД регулятор, который еще и выполняет свое назначение, это замечательно. :)))
Автор молодец.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Кроме 4 режимов, добавил 5ый. "Авария". При подаче на вход PD4 (подтянутый к пит.) лог. 0 регулятор переводит оба выхода ШИМ в 0%, даже если значение "Минимум" выше 0%.
Например на топку можно поставить биметаллическое термореле и если печь погасла, то поддувало захлопнется.

Скорректированная прошивка во вложении.
Вложения
PID_Control alarm.rar
(3.86 КБ) 740 скачиваний
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
kotovasiya
Опытный кот
Сообщения: 757
Зарегистрирован: Пт мар 30, 2007 12:11:23

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение kotovasiya »

А у вас печь может пойти в разнос, то есть возможно перегрев чего-то ? Если да то стоит добавить термопару, перегреваемых мест с последующей сигнализацией бузером. Наверняка у вас ночные топки. А раз пережив приключения с котлами спокойно спать уже не получится. Еще вы доверяете сервомашинке? Я честно говоря тоже хотел поставить , но "хрустящий" шумный режим работы не понравился , вернулся к шаговому двигателю и возвратной пружине на нем закрывающей подачу воздуха в случае отключения электроэнергии. Так-же стоит добавить инфракрасный фотодиод на случай не дай бог пожара и может датчик СО.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Да наверное не может, но разогреется с перебором. Но тут все просто. У меня теперь два регулятора тяги, ручной (заводской) и самодельный. Заводской не надо полностью открывать. У самодельного сечение в режиме полностью открыт все равно меньше чем у заводского. Так что катострофы никакой быть не должно.

На случай пожара я думаю лучше использовать дымник. С моей буржуйкой-бренераном СО у меня не получилось сделать. А хотя вру, один раз смог :)) , но это не печь виновата. Когда закладывал дрова насыпал в зольник-козырек самую малость опилок и они стали бездымно тлеть.
Но датчик СО очень полезная вещь. Совершенно случайно попал в кадр, лежит на столе возле бука, шайба такая белая. Так то его место в другой комнате, там стоит кирпичная печь. Без него никогда бы так точно не смогли бы ловить момент, когда нужно начинать прикрывать, а затем и совсем закрывать дымоход. Не допускаю больше 10-15 ppm под потолком, а чаще всего не более 5.

С фотодиодом Вы пробовали? Реально получается измерить температуру?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
kotovasiya
Опытный кот
Сообщения: 757
Зарегистрирован: Пт мар 30, 2007 12:11:23

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение kotovasiya »

Нет, фотодиодом я регистрирую возможный огонь. Выпавшие угольки и тп
Viktor34253
Родился
Сообщения: 11
Зарегистрирован: Вс май 31, 2015 21:17:04

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Viktor34253 »

А фьюзы не предусмотрены для меги 8? чет я не смог найти их :dont_know: , хотя, конструкцию хочется повторить!..... подскажите, какие фьюзы выставляются?! плиз! :)
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Фьюзы – внутренний RC генератор 8МГц, остальное по умолчанию.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Возникла необходимость в регулировке мощности ТЭН 2,5кВт. Как раз завалялось твердотельное реле SSR-25DA с детектором нуля, управляется постоянным напряжением. Есть типа такие же, но сразу подключается потенциометр, у него в обозначении VA вместо DA, но у меня в наличии только тот что указал. Новое устройство мне было лень делать и потому это реле я примонстрячил к данном ПИД регулятору.

Реле подключается вместо сервы, на вход ADC5 напряжение 0-5В задает мощность (потенциометр добавил). Индикатор отображает мощность в процентах. Частота ШИМ на реле около 2Гц. Aref и AVcc как были в воздухе, так и остались, немного дергаются показания, но работает.

На этот раз не стал заморачиваться из-за простенького проекта и сделал его на С. Выкладываю исходник, хотя его любой напишет, мало-мальски разбирающийся.
Спойлер

Код: Выделить всё

#include <avr/io.h>
#include <avr/interrupt.h>


#define TopCount (uint16_t)(0x03ff*4)


#define Razr0 (uint8_t)(1<<PORTC0) //
#define Razr1 (uint8_t)(1<<PORTC1) //
#define Razr2 (uint8_t)(1<<PORTC2) //
#define Razr3 (uint8_t)(1<<PORTC3) //

#define SegA (uint8_t)(1<<PORTB0)
#define SegB (uint8_t)(1<<PORTB2)
#define SegC (uint8_t)(1<<PORTB3)
#define SegD (uint8_t)(1<<PORTB4)
#define SegE (uint8_t)(1<<PORTB5)
#define SegF (uint8_t)(1<<PORTB6)
#define SegG (uint8_t)(1<<PORTB7)

 uint8_t Cifr[10]={
   SegG,               //0
   ~(SegB|SegC),         //1
   (SegF|SegC),         //2
   (SegF|SegE),         //3
   ~(SegF|SegG|SegB|SegC),   //4
   (SegB|SegE),         //5
   SegB,               //6
   ~(SegA|SegB|SegC),      //7
   0,                  //8
   SegE               //9
   };
   
volatile uint8_t RazrydNum=0;   

volatile uint8_t Power,TimeADC;   
volatile uint8_t Desyatki[3];
   

//----------
//АЦП
ISR (ADC_vect){
   uint16_t BufADC;
   Power=ADCH/2;
   if (Power>100) Power=100;
   
   //переведем в десятичную
   BufADC=Power;
   if (BufADC>=100) {Desyatki[2]=BufADC / 100; BufADC-=Desyatki[2]*100;}else{Desyatki[2]=0;};
   if (BufADC>=10) {Desyatki[1]=BufADC / 10; BufADC-=Desyatki[1]*10;}else{Desyatki[1]=0;};
   Desyatki[0]=BufADC;
   
   //настроим ШИМ
   if (Power==0) {
      TCCR1A=0;
      TCCR1B=0;
      PORTB&=~(1<<PORTB1);
      
   }
   else {
   if (Power>=100) {
      TCCR1A=0;
      TCCR1B=0;
      PORTB|=(1<<PORTB1);
               }
      else {
         OCR1A=TopCount-TopCount/((uint8_t)100) * Power ;
         TCCR1A=(1<<COM1A1)|(1<<COM1A0)|(1<<WGM11)|(0<<WGM10);
         TCCR1B=(1<<WGM13)|(1<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10);
         }         
      }
}
//----------
//переполнение таймер 0
//тут высвечиваем индикатор
ISR(TIMER0_OVF_vect){
   
   if (!TimeADC--) ADCSRA=(1<<ADEN)|(1<<ADSC)|(0<<ADFR)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(0<<ADPS0);
   
   if (++RazrydNum==3) RazrydNum=0;
   //uint8_t Chislo, Buf;
   PORTC&=0xF0;
   PORTB&=1<<PORTB1;
   
   PORTB|=Cifr[Desyatki[RazrydNum]];      

   PORTC|=1<<RazrydNum;
}



int main(void)
{
   
   //ICR1=0x03ff*2;
   
   DDRC=0x0F;
   DDRB=0xFF;
   
   PORTD=(1<<PORTD3)+(1<<PORTD2);// подтянуть к питанию переключатели
   
   PORTC=Razr0;
   
   
   
   TCCR0=(0<<CS02)|(1<<CS01)|(1<<CS00);
   TIMSK|=1<<TOIE0;
   
   ADMUX=(0<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX3)|(1<<MUX2)|(0<<MUX1)|(1<<MUX0); //опорное напряж AVCC и вход ADC5
   ADCSRA=(1<<ADEN)|(1<<ADSC)|(0<<ADFR)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(0<<ADPS0); //постоянный работа АЦП, разрешены прерывания, делитель на 64
   
   asm("sei");
   
    while(1)
    {      
      ICR1=TopCount;          
    }
   
   }
//----------



Вложения
PowerPWM.hex
(1.67 КБ) 805 скачиваний
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Sadjan
Родился
Сообщения: 1
Зарегистрирован: Вт мар 01, 2016 21:38:01
Откуда: Логойск

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Sadjan »

Привет!!! Подскажи пожалуйста, можно ли использовать данное устройство ,для регулировки промышленного электро котла? Дело в том что температура там нужна 1500 градусов, не можем найти цифровой регулятор... Спасибо!
Cемён два провода сжимая у трансформатора лежит и не встаёт наверно просто не зарядился до конца
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Добрый день. DS18B20 измеряет температуру до 125 гр. Так что именно такое устройство Вам не подойдет. Насколько мне известно, такие температуры измеряют как правило термопарами и ПИД регуляторов в "природе" должно быть полно. Но если Вы хотите собирать сами, например чтобы сэкономить, наверное мы можем договориться, но это в личку.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Проект достаточно вылежался. Во вложении полная прошивка. В статье тоже поменял прошивку на полную, но видимо она после редактирования должна пройти модерацию, наверное появится чуть позже.
Вложения
PID_Control_Full.rar
(4.2 КБ) 576 скачиваний
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Vell65 »

Что делаю не так, чтобы открыть в Протеусе? Вроде показал где hex находится но всё равно ищет еще какой-то файл.
2.jpg
(209.42 КБ) 892 скачивания
Вложения
1.jpg
(167.88 КБ) 755 скачиваний
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Файл инициализации EEPROM. Уберите его, не помню зачем он у меня там был.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Vell65 »

:shock: Я не смогу так сделать. Надо открыть hex, потом изменить и его опять компилировать. Не знаю как это делать, только в теории, никогда не писал программы. Понимаю, что скажете ох уж эти теоретики, если не очень трудно сделайте так, чтоб работало. И еще если без переделки прошивки в железе будет работать?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ПИД регулятор для печи отопительной Бренеран...

Сообщение Z_h_e »

Vell65 писал(а):Надо открыть hex, потом изменить и его опять компилировать.
:))) :))) :)))


Ну я же Вам ответил. Протеус ищет файл инициализации еепром, уберите его из свойств МК.
Изображение
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Ответить

Вернуться в «Статьи»