Страница 1 из 2

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

Добавлено: Вт фев 03, 2015 18:17:38
Z_h_e
Если кому интересна одноименная статья, то тут можно что-нибудь про нее по обсуждать.

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

Добавлено: Вт фев 03, 2015 20:03:38
kotovasiya
Тема интересная, раз упомянули про Stropuva. У меня самодельный аналог этого котла и термопарой я снимаю температуру выхлопа, ПИД практически не возможно настроить на нем. Так как котел работает на границе горения пламени, если вас не затруднит , можете показать вашу функцию ПИД?

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

Добавлено: Вт фев 03, 2015 20:06:28
Z_h_e
А там же формула есть в статье. Обычная вроде формула.
Что касается стропувы. Я про нее только читал и видел аналоги в магазинах.
Там же точно так же есть регулятор тяги на всасе, ручной . Или я ошибаюсь?
Вот его наверно и можно по регулировать.

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

Добавлено: Вт фев 03, 2015 20:30:25
kotovasiya
У заводской там хитрый П регулятор, когда нагревается водяная рубашка, по мере расширения ее прикрывается подсос, вторичного подсоса нет. В моем случае не возможно было сделать такой, поэтому стоит шаговый двигатель на заслонке. Проблема моего котла в том что если специально не закрывать заслонку, в трубу затягивается пламя из-за этого может загореться сажа или подпортится внутри тонкая нержавейка.

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

Добавлено: Ср фев 04, 2015 05:55:02
Z_h_e
Вы имеете ввиду регулятор типа Honewel, который с цепочкой? Вы таким пользовались? Ну вот, кто мешает его заменить на ПИД,
Кстати, если пользовались. Вопрос. Например Вы его настроили когда на улице было -5 и тут резко похолодало за тридцатник. Надо наверное цепочку перекидывать ?
Я когда то думал о ТТ котле и водяной системе отопления. Отказался от этой затеи. Бог даст, может когда-нибудь дом построю для ПМЖ. Так может в будущем еще понадобится, а знания лишними не бывают.

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

Добавлено: Ср фев 04, 2015 15:13:05
maksipus
Очень хорошая статья и очень полезное устройство, с очень простым и оригинальным решением.
Приделать к буржуйке ПИД регулятор, который еще и выполняет свое назначение, это замечательно. :)))
Автор молодец.

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

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

Скорректированная прошивка во вложении.

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

Добавлено: Чт фев 05, 2015 23:40:00
kotovasiya
А у вас печь может пойти в разнос, то есть возможно перегрев чего-то ? Если да то стоит добавить термопару, перегреваемых мест с последующей сигнализацией бузером. Наверняка у вас ночные топки. А раз пережив приключения с котлами спокойно спать уже не получится. Еще вы доверяете сервомашинке? Я честно говоря тоже хотел поставить , но "хрустящий" шумный режим работы не понравился , вернулся к шаговому двигателю и возвратной пружине на нем закрывающей подачу воздуха в случае отключения электроэнергии. Так-же стоит добавить инфракрасный фотодиод на случай не дай бог пожара и может датчик СО.

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

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

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

С фотодиодом Вы пробовали? Реально получается измерить температуру?

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

Добавлено: Сб фев 07, 2015 11:29:52
kotovasiya
Нет, фотодиодом я регистрирую возможный огонь. Выпавшие угольки и тп

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

Добавлено: Вс май 31, 2015 21:27:39
Viktor34253
А фьюзы не предусмотрены для меги 8? чет я не смог найти их :dont_know: , хотя, конструкцию хочется повторить!..... подскажите, какие фьюзы выставляются?! плиз! :)

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

Добавлено: Пн июн 01, 2015 09:50:45
Z_h_e
Фьюзы – внутренний RC генератор 8МГц, остальное по умолчанию.

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

Добавлено: Сб фев 06, 2016 19:16:02
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;          
    }
   
   }
//----------




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

Добавлено: Вт мар 01, 2016 22:13:43
Sadjan
Привет!!! Подскажи пожалуйста, можно ли использовать данное устройство ,для регулировки промышленного электро котла? Дело в том что температура там нужна 1500 градусов, не можем найти цифровой регулятор... Спасибо!

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

Добавлено: Ср мар 02, 2016 05:23:33
Z_h_e
Добрый день. DS18B20 измеряет температуру до 125 гр. Так что именно такое устройство Вам не подойдет. Насколько мне известно, такие температуры измеряют как правило термопарами и ПИД регуляторов в "природе" должно быть полно. Но если Вы хотите собирать сами, например чтобы сэкономить, наверное мы можем договориться, но это в личку.

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

Добавлено: Пн июн 27, 2016 21:02:12
Z_h_e
Проект достаточно вылежался. Во вложении полная прошивка. В статье тоже поменял прошивку на полную, но видимо она после редактирования должна пройти модерацию, наверное появится чуть позже.

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

Добавлено: Чт янв 12, 2017 05:57:03
Vell65
Что делаю не так, чтобы открыть в Протеусе? Вроде показал где hex находится но всё равно ищет еще какой-то файл.
2.jpg
(209.42 КБ) 894 скачивания

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

Добавлено: Чт янв 12, 2017 08:02:28
Z_h_e
Файл инициализации EEPROM. Уберите его, не помню зачем он у меня там был.

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

Добавлено: Чт янв 12, 2017 09:10:51
Vell65
:shock: Я не смогу так сделать. Надо открыть hex, потом изменить и его опять компилировать. Не знаю как это делать, только в теории, никогда не писал программы. Понимаю, что скажете ох уж эти теоретики, если не очень трудно сделайте так, чтоб работало. И еще если без переделки прошивки в железе будет работать?

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

Добавлено: Чт янв 12, 2017 09:19:51
Z_h_e
Vell65 писал(а):Надо открыть hex, потом изменить и его опять компилировать.
:))) :))) :)))


Ну я же Вам ответил. Протеус ищет файл инициализации еепром, уберите его из свойств МК.
Изображение