Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Въпрос за проектиране на терморегулатор.
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3431
Страница 1 от 1

Автор:  slavi [ Съб Дек 16, 2006 10:34 pm ]
Заглавие:  Въпрос за проектиране на терморегулатор.

Здравейте приятели.Опитвам се да проектирам терморегулатор и горе-долу мисля ,че го направих но имам един
проблем.За сензор използвам термодвойка тип 'J',сигнала от нея подавам на АD594,която го усилва,линеазира и компенсира характеристиката.Напрежението от АD594 подавам на АЦП-то на PIC18F242,измервам го/512 замервания/,обработвам резултата и го визуализирам на три разреден светодиоден индикатор с динамично управление през порт Б.Температурата,която искам да поддържам задавам чрез ротационен енкодер и визуализирам на друг три разреден светодиоден индикатор с динамично управление през SPI интерфейса чрез
74НС595.Изхода е релеен .Проблема е ,че релето се включва,съответно изключва с няколко прещраквания при
достигане на зададената температура.Увеличих замерванията до 4096 но прещракванията пак ги има.Сложил съм
кондезатор 100нф на входа на АЦП-то.Кода от програмата за управление на релето е следния:
bsf PORTA,1 ;включвам релето през транзистор
movf RPG_counter,w ;това е младшия регистър на зададената температура
cpfsgt RES_0 ;сравнявам младшия регистър на текущата темп. със младшия на зададената
bra adres_0 ;връщане в началото на цикъл
movf RPG_counter+1,w ;старшия регистър на зададената температура в работния регт.
cpfseq RES_1 ;сравнение на старш. рег на текущата със старшия на зададената
bra adres_0
bcf PORTA,1 ;текущата е по-голяма от зададената-изключвам релето
bra adres_0

END

Автор:  sthx [ Съб Дек 16, 2006 11:11 pm ]
Заглавие:  Re: Въпрос за проектиране на терморегулатор.

1.Задай някакъв хистерезис (2-3 градуса) и вероятно ще си решиш проблема.

2.Възможно е масата по която върви сигналът от термодвойката да съвпада в някакъв учатък с масата през която тече токът от бобината на релето. Падът на напрежение върху този учатък се възприема като сигнал и започва едно заиграване на логиката, което наблюдаваш. Проводникът на масата за термодвойката не трябва да се използва от други вериги.

Автор:  slavi [ Нед Дек 17, 2006 11:34 am ]
Заглавие: 

АД594 я купувам от една пловдивска фирма -казва се "Кузмов електроникс" доколкото разбрах те я поръчват от Германия,между другого не е евтина -цената е около 20 лв.Сигурно има и
други начини за да се линеазира термодвойката но аз съм така да се каже "новобранец" в
програмирането на МК и електрониката въобще , занимавам се от месец и половина с тези неща.
По професия съм електроинженер-специалност-"Ел. машини и апарати" и се занимавам с производство на фурни и така да се каже на този етап до тук ми стига ума, но все трябва от
някъде да се започне.Използвам този процесор , защото уча по книгата на "Млад конструктор"
и за сега познавам само тази серия ,вероятно за в бъдеще ще видя , че има и по-оптимални
варианти ,но всичко с времето си.

Автор:  slavi [ Нед Дек 17, 2006 12:10 pm ]
Заглавие: 

Благодаря ти "sthx" за отговора ,сега според мен проблема идва от там ,че не става изведнъж
преминаване от едната стойност към друга ,аз наблюдавам индикатора,примерно съм задал
300 градуса ,текущата ги достига и не преминава веднага на 301 ами " чука" два -три пъти
300-301 и тогава се установява в 301,същото се получава и при обратния процес -при намаляване на температурата.Колкото процеса е по-бавен /по-бавно увеличаване/намаляване на
температурата/,"почукванията" са повече.Ще помисля за хистерезис, но си мисля дали в момента
на влизане в хистерезиса нещата ще си останат същите и пак ще "прещраква".

Автор:  sthx [ Нед Дек 17, 2006 12:47 pm ]
Заглавие: 

slavi написа:
АД594 я купувам от една пловдивска фирма -казва се "Кузмов електроникс" доколкото разбрах те я поръчват от Германия,между другого не е евтина -цената е около 20 лв.Сигурно има и
други начини за да се линеазира термодвойката но аз съм така да се каже "новобранец" в
програмирането на МК и електрониката въобще , занимавам се от месец и половина с тези неща.


Имаш пари - даваш. :) Линеаризацията можеш да я направиш , чрез таблица в паметта на професора, а компенсация на студения край - чрез друг датчик на температура - може и с едно диодче за 2 стотинки. :)

Автор:  Syrius-B [ Нед Дек 17, 2006 12:49 pm ]
Заглавие: 

Хистерезиса решава въпроса.
Задание нпр. 300 - изключваш при 301, включваш при 299.
Това е хистерезис +/-1
Хистерезиса задължително се избира не по-малък от разлюляването на показанието на датчика, независимо поради каква причина

Автор:  [ Нед Дек 17, 2006 2:33 pm ]
Заглавие: 

Може и времеви хистерезис да направиш, защото температурата е бавно променяща се величина. След като ти включи релето пускаш таймер за няколко секунди, чак след изтичане на това време пак можеш да го включваш/изключваш.

Автор:  Syrius-B [ Нед Дек 17, 2006 4:00 pm ]
Заглавие: 

Може, но това само намалява динамиката на регулиране.
Хистерезиса по стойност е задължителен, при нестабилност на обратната връзка - в случая показанието от датчика.
Всеки датчик е нестабилен в рамките на минимум +/- един дискрет

Автор:  slavi [ Вто Дек 19, 2006 7:21 pm ]
Заглавие: 

STHX ,благодаря за идеята ,предполагам че компенсацията трябва да стане с някакъв операционен усилвател, но откровенно казано не ми е ясно,може ли да ме насочите към материал,който да прочета.

Автор:  Nikola Kirov [ Вто Дек 19, 2006 7:42 pm ]
Заглавие: 

Просто коригираш с напрежението което генерира термодвоитака която се образува на студения край.
И аз доста си блъсках главата какво напрежение дава термодвойката в студения край.
От същата таблица като за топлия го вземаш ;)
Просто мериш с един диод температурата на конектора и по тази температура смяташ с колко трябва да коригираш.

Автор:  plameniv [ Вто Дек 19, 2006 7:54 pm ]
Заглавие:  Mda

Nikola Kirov написа:
Просто коригираш с напрежението което генерира термодвоитака която се образува на студения край.
И аз доста си блъсках главата какво напрежение дава термодвойката в студения край.
От същата таблица като за топлия го вземаш ;)
Просто мериш с един диод температурата на конектора и по тази температура смяташ с колко трябва да коригираш.

Едно време като бях студент го правехме като другата термодвойка се слагаше във вода с кубчета лед , иначе не знам какво ще коригираш ако я оставиш така другата термодвоика трябва да отчиташ и температурата на помещението където е :)
Абе ако ползваш таблица с готови стоиности , просто го тарираш с такъв дето е точен и няма нужда да се занимаваш да смяташ толкова, таблицата ще ти е такава че всичко да е съобразено в нея . :wink:
Със стоиностите на ADC-то просто адресираш таблицата и вадиш готово число дори числото може да е направо готово като за индикацията със добавен предварително ASCI код :D

Автор:  mitko_el [ Вто Дек 19, 2006 8:27 pm ]
Заглавие: 

Подобна тема : http://www.mcu-bg.com/mcu_site/viewtopi ... 93&start=0

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/