Перейти к содержанию

Линейное управление нагревательным элементом


Камил

Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

2 часа назад, _abk_ сказал:

Не стоит усложнять.

действительно чего там усложнять.... простая задача есть тело Х которое выделяет мощность Рх выделяется кол-во тепла Qx , есть тело Y которое нагреваетсцо по закону dt=Q/cm все просто и очевидно, за исключением одного НО , о котором забывают, есть еще тело Z (окр.среда) которое тоже греется , и простой линейный формула легко и непринужденно превращается в кривую второго-третьего порядка (очень похожею на ВАХ диода)

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Видимо, недостаточно понятно я выразился.:)

Нет никакой "линейный формула". Есть экспериментальная кривая, пусть  хоть "второго-третьего порядка",- не важно, которая для всей шкалы температуры даст таблицу поправок к длительности импульсов ШИМ для получения линейного роста температуры по времени. Эта кривая непрерывна, полученная таблица будет легко линейно интерполироваться для промежуточных значений с достаточной практической точностью. Тем более, что: 1)линейность роста температуры во времени ТС не заявлял, это я сам предположил из  его сообщений; 2) отклонение от прямой не играет особой роли, так как температура в эксперименте измеряется непосредственно.

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

38 минут назад, _abk_ сказал:

отклонение от прямой не играет особой роли, так как температура в эксперименте измеряется непосредственно.

нуда?

18 часов назад, Камил сказал:

Заказчик попросил чтобы температура изменялась линейно. При ШИМ регулировании видимо есть какой-то "дребезг", мелкие скачки которые портят характеристику.

и это еще не вспоминали формулы лучистой энергии , простая задача .... :lol2::i-m_so_happy:

хотя может это тот случай из анекдота:

Скрытый текст

У одного мужика умерла богатая родственница, а так, как кроме него у неё родственников не было, то он оказался наследником и получил в наследство огромный камень - алмаз. Чего с ним делать мужик не знал и решил отправиться к опытному ювелиру в мастерскую. Ювелир внимательно осмотрел камень и воскликнул:
- Это - уникальный алмаз! Он стоит огромных денег! Я не могу взяться его обрабатывать! А вдруг я что-то не так сделаю, вдруг ошибусь! Hет, не возьмусь я его делать, даже не уговаривайте!
Отправился он тогда к другому ювелирному мастеру. Тот тоже отказался, сославшись на то, что алмаз слишком редкий. Отправился он к третьему ювелиру - Абраму. Старый еврей изучил драгоценный камень и крикнул мальчику, сидевшему неподалёку и обрабатывающему какую-то цепочку:
- Изя, мальчик мой, сделай-ка вот этот камушек!
Мужик, с испугом:
- Послушайте, как вы можете доверять вашему юному подручному?! Разве вы не знаете, что это за алмаз?! Его отказались обрабатывать самые опытные ювелиры нашего города!
- Спокойно, спокойно, любезный! Вы знаете, шо у вас за алмаз и сколько он стоит. Я знаю, шо у вас за алмаз и сколько он стоит. А Изя не знает, и он таки сделает!

 

3 часа назад, _abk_ сказал:

Из этой кривой определится для каждой температуры значение  скорректированной мощности(длительности импульса), необходимой для компенсации теплоотдачи и линеаризации роста температуры. Понятно выразился? 

если че это и есть ПИД....

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

20 часов назад, Камил сказал:

Заказчик попросил чтобы температура изменялась линейно. При ШИМ регулировании видимо есть какой-то "дребезг", мелкие скачки которые портят характеристику. Нет задачи точно выставить температуру, есть задача обеспечить её плавное возрастание и снятие сопротивления во время этого

Не нужно точно выставлять температуру, нужен плавный рост. Про "мелкие скачки" и "дребезг"  - опасение  ТС,  необоснованное для случая печки, нагревающейся десятки минут. Какие  могут быть "скачки", если легко реализуется дискретность управления мощностью в 0.0015% от максимальной? И это на инерционном нагревателе...

Никого не агитирую. МетОду описал,  главное, чтобы ТС был доволен своим выбором и результатом.  И чем хороши советы, - им можно не следовать. "Z - не предлагать!" :lol2:

 

 

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, _abk_ сказал:

Какие  могут быть "скачки", если легко реализуется дискретность управления мощностью в 0.0015% от максимальной?

вот тут вы правы, это если рулить мощностью.

но ТС не делает регулятор мощности . С точки зрения школьника 7 класса все правильно, сопротивление нагревателя известно, регулируем напряжение соответственно регулируем мощность, P=U2/R , ура ! нам нужен регулятор напряжения!  он строит регулятор напряжения. О том что у материала нагревателя есть ТКС он просто не знает , и что формула превращается P=U2/(R20*[1+a*(T-20C)]) то же.

и мощность выделяемая предположим на нихроме 10ом при напряжении 100в и температуре 700С уже ни 1кВт, а всего 855Вт ....

Ссылка на комментарий
Поделиться на другие сайты

Лично я вообще поставил бы ЛАТР. Но если уж вы так хочете транз, то ставьте КТ827 - его танком не переедешь

Умный любит учиться, а дурак - учить

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за ответы! Дело в том что мое устройство уже собрано и мне проще доработать что есть. Про неприменимость ШИМ теперь сомневаюсь, IMHO переубедил. Но мне проще сделать по совету Soundoverlord и поставить КТ827, который танком не проедешь, а лучше запарралелить 3 таких, чтобы и бронепоезд не смог) Ну и в остальном сделать корректировку на расчетные кривые, как советовал _abk_.

Под линейным управлением я имел ввиду аналоговое, т.е. не дискретное ШИМом. Главное чтобы был плавный рост, линия или кривая не так важно.

Все таки отличный это форум и грамотные люди сидят!

Изменено пользователем Камил
Ссылка на комментарий
Поделиться на другие сайты

37 минут назад, Камил сказал:

 Но мне проще поставить КТ827

тогда делай уже по нормальному, как люди делают http://radioslon.chernykh.net/stabilizatory-napryazheniya/shema-moshhnogo-stabilizatora-toka-na-100-200a-kr140ud20-kt827-id6627

Ссылка на комментарий
Поделиться на другие сайты

КТ827 тоже не панацея. Гораздо больше эффекта будет от снижения напряжения источника питания или ступенчатого переключения отводов трансформатора, как и делается в лабораторных БП.

2T827.gif

Изменено пользователем Dr. West

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Камил сказал:

Про неприменимость ШИМ теперь сомневаюсь

Тогда присмотритесь к возможности регулировать пропуском периодов сетевого напряжения ( по алгоритму Брезентхема для равномерности ) с поправкой на изменение амплитуды  . Этот будет регулятор будет именно мощности,  а не напряжения,  если считать периоды.  И КПД будет высокий .

Если необходима точность поддержания температуры,  то тут несколько сложнее . В некоторых случаях можно обойтись двухпозиционным регулированием по обратной связи по температуре - . 

Если в системе регулирования имеются инерционные накопители тепла,  то сделать  "быстрое" регулирование будет сложнее . 

В расчетах здесь   http://www.electrosad.ru/Ohlajd/TC.htm теплоемкости нет и как ее учесть не поясняется  .

 

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Dr. West сказал:

КТ827 тоже не панацея. Гораздо больше эффекта будет от снижения напряжения источника питания или ступенчатого переключения отводов трансформатора

Док, я и не говорю, что панацея. Я говорю, что он будет устойчивее в таком режиме. а вариант с ЛАТРом или чем-то подобным я сватал с самого начала. Если автор захочет сделать схему с отводами, как ты предлагаешь, могу даже приблизительную схему накидать

Автор, а у вас нет, случайно, кондера в эмиттерной цепи выходного повторителя? Если есть, уберите. Самое страшное зло для подобных цепей - поверьте старому человеку

Умный любит учиться, а дурак - учить

Ссылка на комментарий
Поделиться на другие сайты

Всем спасибо. Запараллелил 4 транзистора bd245c с 0.47ом в эмиттерах. Специально в магазине с тестером выбрал похожие по коэффициенту усиления транзисторы. Работает отлично! Тему можно закрывать.

20181205_185829.jpg

20181205_185817.jpg

Изменено пользователем Камил
Ссылка на комментарий
Поделиться на другие сайты

С точки зрения надежности все таки разнести бы их на разные радиаторы, хотя бы попарно. У радиатора, как и у транзистора, есть ограничение по рассеиваемой мощности. Тоде можете в него упереться.

Настоящему коту и в декабре март!

Ссылка на комментарий
Поделиться на другие сайты

А я бы использовал эти транзисторы непосредственно для нагрева испытуемого образца. По схеме источника стабильного тока. И не нужно было бы нелинейное промежуточное звено в виде нихромовой спирали. Хотя... провтыкал, какая максимальная температура нужна.

Но для термостатирования жидкости я так делал - великолепно получилось.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Falconist сказал:

Хотя... провтыкал, какая максимальная температура нужна.

максимальная -100С , там житкий азот походу .

транзисторы не выдюжат

 

Ссылка на комментарий
Поделиться на другие сайты

Komsoft, греется не более 60 градусов в макс.режиме, в обычном - 45-50. Думаю, сойдёт.

Falconist, образец в ячейке действительно помещается в жидкий азот - транзисторы не выдержат.

Изменено пользователем Камил
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Данная тема к "импульсникам" не относится, поэтому всё "внетемное" удаляю. Не флудим. Для обсуждения других схем создавайте отдельные темы!
    • @READART Из практики. Даже 2в1 ухитряются путаться и мешать друг другу. Что за ад будет происходить с 4в1 я с трудом представлю. Вероятнее всего он будет низведен до банального 2в1 из-за неудобства.
    • нечего там смотреть, достаточно взглянуть на картинку- это похоже болячка этой деки- присоединяюсь к теме- у меня такая же проблема!
    • @donec Спасибо, но нет. Слишком всё как то всё сложно и запутано написано там в этом коде.  Я сейчас тем временем продолжаю разбираться с дисплеем. Выяснил причину артефактов на дисплее, а она кроется в коде, но это ещё нужно понять как исправить. Собственно в чём суть дела вывод по одному символу работает корректно и всё отображается правильно, но как только я пытаюсь вывести строку то на дисплее сразу появляются всяческие артефакты. Так что тут получается нужно каким то образом править код вывода строки. Вот весь код написанный под ATMEGA16. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #define MAIN_H_ #define LCD_H_ #define LCD_DDR DDRA #define LCD_PORT PORTA #define LCD_PIN PINA #define DATA 0b11110000 #define RS PA2 #define E PA3 #define E1 LCD_PORT|=(1<<E) #define E0 LCD_PORT&=~(1<<E) #define RS1 LCD_PORT|=(1<<RS) #define RS0 LCD_PORT&=~(1<<RS) void lcd_ini(void); void lcd_str(char* str); void lcd_pos(uint8_t line, uint8_t pos); void lcd_num(uint8_t num, uint8_t line, uint8_t pos); uint8_t n=0; void write(uint8_t n) { n<<=4; E1; //линию Е в 1 LCD_PORT&=~DATA; //удалить предыдущую отправку LCD_PORT|=n; //выставить значение на пины управления дата битами asm("nop"); //пропуск такта E0; //линию Е в 0 } void send_byte(uint8_t byte, uint8_t tip) { if (tip) //если тип данные на линии RS 1 { RS1; } else //иначе тип команда и на линии RS 0 { RS0; } write(byte>>4); //передача старшего полубайта write(byte); //передача младшего полубайта } void lcd_ini(void) { LCD_DDR|=DATA | (1<<RS) | (1<<E); _delay_ms(20); RS0; write(3); _delay_ms(5); write(3); _delay_us(150); write(3); _delay_us(50); write(2); _delay_us(50); send_byte(40,0); _delay_us(50); send_byte(12,0); _delay_us(50); send_byte(1,0); _delay_ms(2); send_byte(6,0); _delay_us(50); } void lcd_str(char* str) { uint8_t n=0; while(str[n]) { send_byte(str[n],1); n++; } } void lcd_pos(uint8_t line, uint8_t pos) { uint8_t adress=(line*0x40+pos)|0x80; send_byte(adress,0); _delay_us(50); } void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) #define FLAG_END_RX (1<<3) #define FLAG_ERR_RX (1<<4) #define BUF_SIZE 20 char rx_buf[BUF_SIZE]; char buf_index = 0; char rxb; volatile start=1, flags; ISR(USART_RXC_vect) { char rxb = UDR; if(!(flags & FLAG_END_RX)) { rx_buf[buf_index]=rxb; if(rx_buf[buf_index] == 0x0D) { flags |= FLAG_END_RX; return; } buf_index++; if(buf_index >= BUF_SIZE) { buf_index = 0; flags |= FLAG_ERR_RX; } } } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); flags = 0; } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; DDRB = 0b10000000; PORTB = 0b11111111; lcd_ini(); while(1) { if (~PINB & (1<<1)) { send_UART('P'); send_UART('B'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('A',1); lcd_pos(1,0); lcd_str("PORT B1"); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str("GAMES AND SOFT"); //send_byte(0b01000001,1); //A //send_byte(0x41,1); //A //send_byte('A',1); //A } if (~PINB & (1<<2)) { send_UART('P'); send_UART('B'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('B',1); lcd_pos(1,0); lcd_str("PORT B2"); //lcd_pos(0,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_str("TIFASO"); } if (~PINB & (1<<3)) { send_UART('P'); send_UART('B'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('C',1); lcd_pos(1,0); lcd_str("PORT B3"); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str("HELLO"); //lcd_pos(1,0); //lcd_str("PLAYER BT201"); } if (~PINB & (1<<4)) { send_UART('P'); send_UART('B'); send_UART('4'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('D',1); lcd_pos(1,0); lcd_str("PORT B4"); //lcd_pos(0,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_str("FILE MUSIC MP3"); //lcd_pos(1,0); //lcd_str("USB PLAYER VOLL"); } char i = 0; if (rx_buf[i] == 'M'){ i++; if (rx_buf[i] == '1') { LED_1_ON(); LED_2_OFF(); } else if (rx_buf[i] == '2') { LED_1_OFF(); LED_2_ON(); } else if (rx_buf[i] == 'T') { LED_1_ON(); LED_2_ON(); } else if (rx_buf[i] == 'K') { LED_1_OFF(); LED_2_OFF(); } } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('E',1); lcd_pos(1,0); lcd_str("PORT C0"); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('F',1); lcd_pos(1,0); lcd_str("PORT C1"); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Собственно за вывод символа отвечает send_byte она работает правильно, а за вывод строки отвечает lcd_str вот в ней как раз таки и вся проблема с артефактами. А что конкретно не так я пока ещё никак не пойму. Может кто более опытным глазом увидит и подскажет что нужно исправить.
    • Может, и дроссель. Синие конденсаторы мне тоже встречались.
×
×
  • Создать...