Handmades</center>
 
*
Bem-vindo, Visitante. Por favor faça o Login ou Registro. 26 de Abril de 2024, as 22:45:55


Login com nome de usuário, senha e duração da sessão


Páginas:  1 [2]   Ir para o Fundo
  Imprimir  
Autor Tópico: Controle de Temperatura  (Lida 16102 vezes)
xformer
Administrator
DIY Freak
******
Offline Offline

Sexo: Masculino
Mensagens: 6.262

Obrigado
-Dado: 71
-Recebido: 2013


e^(i x pi)+1=0


WWW
« Responder #15 : 19 de Fevereiro de 2015, as 21:44:52 »

Acho que não rola ar em movimento na estufa do Juliano, senão pode encher de poeira nas tintas das placas.
Registrado

O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.
juloliveira
Freqüente
**
Offline Offline

Sexo: Masculino
Mensagens: 285

Obrigado
-Dado: 80
-Recebido: 41


Não tá morto quem peleia, tchê!


« Responder #16 : 19 de Fevereiro de 2015, as 21:51:05 »

É... eu penso em usar uns 3 sensores de temperatura para ter uma média melhor de temperatura.
Registrado

Juliano Oliveira
Ledod
Handmaker
****
Offline Offline

Sexo: Masculino
Mensagens: 1.132

Obrigado
-Dado: 17
-Recebido: 139



« Responder #17 : 19 de Fevereiro de 2015, as 21:54:13 »

 Exato, esse e só o modelamento do forno, considerando que as paredes tenham uma resistência térmica constante na faixa de temperatura.

 Ou seja, PWM vira potencia que, quando considerada uma resistência térmica constante, vira uma temperatura estável.

 O controle agora e ajustar o set point para que a entrada ( eu quero 50 ° celsius) seja igual a saída (50 °celsius). Quando isto for verdade, então o controlador deixa de atuar (esforco de controle e igual a zero).

 Para um controlador proporcional com ganho unitário, ele nunca chegará a ter os 50 graus na saída devido ao erro de estado eatacionario, a menos que se aumente o ganho ou insira um controle integral.
 No caso de aumentarmos o ganho, aumentamos também a velocidade de resposta, porém, também o overshoot.
 No caso do forninho a inercia térmica e "muito alta" quando ligamos o PWM no maximo, ele não se aquece instantaneamente e o overshoot as vezes pode ser considerado desprezível. O sistema e "pesado demais" para apresentar qualquer resposta oscilatória amortecida.

 Um abraço!

 Eduardo

PS: estou digitando pelo celular, me desculpe por eventuais erros de português (se encontrar, pode corrigir)
« Última modificação: 19 de Fevereiro de 2015, as 21:57:12 por Ledod » Registrado
juloliveira
Freqüente
**
Offline Offline

Sexo: Masculino
Mensagens: 285

Obrigado
-Dado: 80
-Recebido: 41


Não tá morto quem peleia, tchê!


« Responder #18 : 20 de Fevereiro de 2015, as 09:48:01 »

Desligado, o MOSFET fornece 0% da potência, se estiver com duty cycle = 100%, a potência será máxima (100%). Se o duty cycle for 50%, a potência será 25%. Se o duty cycle for 70%, a potência será perto de 50% (49%)

Quase não consegui dormir tentando entender essa conta  Cry
Registrado

Juliano Oliveira
Matec
Hand MasterMind
*****
Offline Offline

Mensagens: 2.924

Obrigado
-Dado: 180
-Recebido: 830



« Responder #19 : 20 de Fevereiro de 2015, as 10:13:29 »

Pode-se dizer que a potência é o Produto da Tensão média pela Corrente média: V(m)*I(m) = P  

Quando você trabalha com Modulação de Pulsos, não só a corrente (média) diminui, mas também a tensão (média)  No caso, no duty cycle de 0,71  (SQR 2 / 2) tanto a corrente como a tensão cairam nessa proporção , e a potência, que é o produto de ambos vai ficar a 50% do máximo.

 Smiley

« Última modificação: 22 de Abril de 2017, as 15:01:32 por Matec » Registrado
xformer
Administrator
DIY Freak
******
Offline Offline

Sexo: Masculino
Mensagens: 6.262

Obrigado
-Dado: 71
-Recebido: 2013


e^(i x pi)+1=0


WWW
« Responder #20 : 20 de Fevereiro de 2015, as 11:47:37 »

Isso, tem que lembrar duas coisas:

P = E2/R
e que na modulação por largura de pulso (PWM) o que variamos é a porcentagem no TEMPO em que fornecemos TENSÃO e CORRENTE para a carga. 

Assim se deixamos ligado 1V por 70% do tempo (7ms em 10ms, 7s em 10s, 7us em 10us, 70ms em 100ms), é o mesmo (em termos de potência) que fornecer 0,7V continuamente a uma resistência. Ou como disse o Matec, haverá uma tensão média igual à porcentagem do PWM.









Como a potência guarda uma relação quadrática com a tensão, então por tabela, a potência não é linear com o duty cycle do PWM (que só é linear com a tensão e corrente).

Registrado

O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.
juloliveira
Freqüente
**
Offline Offline

Sexo: Masculino
Mensagens: 285

Obrigado
-Dado: 80
-Recebido: 41


Não tá morto quem peleia, tchê!


« Responder #21 : 20 de Fevereiro de 2015, as 12:03:15 »

Entendi, Interessante.  Smiley
Registrado

Juliano Oliveira
Matec
Hand MasterMind
*****
Offline Offline

Mensagens: 2.924

Obrigado
-Dado: 180
-Recebido: 830



« Responder #22 : 20 de Fevereiro de 2015, as 12:06:17 »

xformer

Suas respostas são tão boas, e os exemplos tão ilustrativos que me deixam estarrecido. Huh?

Não perco nenhuma postagem sua, cada uma é uma aula.  Palmas Palmas Palmas Palmas Palmas

Saber é uma coisa, saber ensinar é muito melhor.

Legal!

Registrado
juloliveira
Freqüente
**
Offline Offline

Sexo: Masculino
Mensagens: 285

Obrigado
-Dado: 80
-Recebido: 41


Não tá morto quem peleia, tchê!


« Responder #23 : 20 de Fevereiro de 2015, as 12:35:08 »

Voltando com a ideia do estufa.

Se eu comprar esses forninhos, a resistência será 110V ou 220V. Aliás, comprar uma resistência para uma tensão menor acho que só vai atrapalhar, já que vou precisar de um transformador.

Se eu aplicar a ideia com um MOSFET, preciso retificar. Ai complica, já que vou precisar de diodos parrudos além do que não estarei isolado da rede (já que não pretendo utilizar transformadores de alta potência).

Li que usar Solid State Relay com um PWM não é uma boa ideia, então...

Nesse ponto, penso que a ideia de utilizar um TRIAC, apesar da complexidade do circuito para detectar o zero da AC, ele é mais simples do lado da carga da resistência e completamente isolado da rede (o acoplamento AC fica apenas no TRIAC e no optoacoplador para achar o zero).

Alguma ideia para o circuito com MOSFET ou não foge muito do que eu imaginei?

Abração
Registrado

Juliano Oliveira
xformer
Administrator
DIY Freak
******
Offline Offline

Sexo: Masculino
Mensagens: 6.262

Obrigado
-Dado: 71
-Recebido: 2013


e^(i x pi)+1=0


WWW
« Responder #24 : 20 de Fevereiro de 2015, as 13:00:21 »

Já que vai comprar um forno elétrico doméstico:

http://www.americanas.com.br/produto/112289021/forno-eletrico-oster-10-litros?opn=YSMESP&epar=googlepla&WT.srch=1

Esse já tem o ajuste de temperatura e de temporizador. E não precisa mais se preocupar com o controle, sensor, triac, etc.  
E sua mulher (ou você, pra nao ser machista) ainda pode fazer torta, pão, pizza, etc     Cheesy
« Última modificação: 20 de Fevereiro de 2015, as 13:15:53 por xformer » Registrado

O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.
juloliveira
Freqüente
**
Offline Offline

Sexo: Masculino
Mensagens: 285

Obrigado
-Dado: 80
-Recebido: 41


Não tá morto quem peleia, tchê!


« Responder #25 : 20 de Fevereiro de 2015, as 13:09:49 »

Ah, mas ai perco toda parte divertida do DIY  Cheesy

E praticar o desenvolvimento faz parte dos planos também.
Registrado

Juliano Oliveira
xformer
Administrator
DIY Freak
******
Offline Offline

Sexo: Masculino
Mensagens: 6.262

Obrigado
-Dado: 71
-Recebido: 2013


e^(i x pi)+1=0


WWW
« Responder #26 : 20 de Fevereiro de 2015, as 13:14:46 »

Então desmonta o forno e faz a engenharia reversa. Ele deve ter o triac, o sensor, o controlador, tudo o que você planejava fazer e usar.    Cheesy
Registrado

O que se escreve com "facilidade" costuma ser lido com dificuldade pelos outros. Se quiser ajuda em alguma coisa, escreva com cuidado e clareza. Releia sua mensagem postada e corrija os erros.
Ledod
Handmaker
****
Offline Offline

Sexo: Masculino
Mensagens: 1.132

Obrigado
-Dado: 17
-Recebido: 139



« Responder #27 : 21 de Fevereiro de 2015, as 11:24:24 »

 Bem, eu desenhei um malha teórica e uma malha "prática" para desenvolver o sistema do forno:



 A malha teórica não tem nada de mais, é a clássica realimentação e controle proporcional.

 O forno, poderia ser modelado como um sistema de primeira ordem 1/(s+a), para a temperatura, em relação a uma fonte de calor constante. Para um degrau unitário de tensão, a resposta seguiria uma exponencial, igual a carga de um capacitor em um circuito RC série:


 Ao aplicar a tensão máxima, alguma hora a temperatura estabilizaria em algum valor e seria possível, utilizando um cronômetro, encontrar a constante de tempo do seu forninho além do "ganho" presente (100v -> 250ºC = 2,5ºC/V)

 Isso apenas de forma "didática" para simular a resposta por algum software (matlab, simulink, ou o free scilab).

 A malha prática seria o circuito que seria necessário para implementar esse sistema.

 Temos um potenciômetro que varia o set point (0 a 3v3) sendo convertido esse valor no ADC1 de 12 bits. Pode-se perceber que os cálculos internos serão todos em relação a escala de 0 a 4096 por uma questão de comodidade, mas nada impede de você utilizar outras escalas.

 O Kadc = 4095/3,3 = 1240,9 passos/v

 O ganho do controlador é somente o "Kp" que será multiplicado pelo sinal de erro:

 Error_Signal = (ADC1_value - ADC2_value) * Kp;

 Esse sinal de erro deverá ser inserido na escala correta do PWM, que seria de 0 a 100%:

 PWM_Signal = 100*Error_Signal / 4095;

 Então o PWM seria acionado, gerando uma tensão (e não potência, atente para o fator quadrático já explicado pelo Renato!) que seria proporcional ao sinal de erro.

 Logicamente, você poderia aplicar o fator quadrático para transformar todo a malha em uma malha de potência, elevando o sinal de erro ao quadrado:

 Error_Signal_power = Error_Signal * Error_Signal;

 E então:

 PWM_Signal_power = 100*Error_Signal_power / 4095;

 Esse sinal seria aplicado ao forninho e teríamos a elevação da temperatura.

 Na parte de realimentação, eu exemplifiquei um sensor linear de 0 a 12v para uma temperatura de 0 a 240ºC. Ou seja, Ks = 0,05 V/ºC. Essa escala não poderia ser aplicada diretamente no microcontrolador (12v queimaria o ADC), então é necessário um divisor de tensão de 3,3/12 = 0,275.
 Então Kdiv = 0,275 V/V.
 O coeficiente teórico geral do sensor então seria:

 Kgeral = Ks*Kv
 Kgeral =0,1375 V/ºC

 Que é convertido novamente na escala de 0 a 4095 pelo ADC2, fechando a malha.

 Bem, esse foi um exemplo mais prático. Atente para o fato da mudança dos seus componentes e valores. Esses K calculados são apenas de efeito didático para uma simulação e você observar o resultado na tela nas escalas corretas.

 Desculpe pelo rascunho feito a mão, mas acho que dá para entender.

 Outros problemas que você pode ter é a saturação da sua malha com ganhos elevados, tanto em relação ao PWM (que é apenas de 0 a 100%) com nos valores internos que irá depender unicamente do tipo de dado que você está usando (um int 32 terá uma resolução muito melhor que um int 16).

 Em relação ao PID com o termo integral e derivativo, você pode tanto adicionar os termos em série como em paralelo ao Kp. Como no caso real, onde indutores e capacitores são armazenadores de energia, você também precisará "armazenar" os dados para o cálculo dos termos com um buffer de memória.

 sistem_control_loop (Error_Data,...)
{
 static previous_Error_Data;

 k d (moderador, peço que me suspenda do fórum) = (Error_Data - previous_Error_Data);
 Ki = (Error_Data + previous_Error_Data);
 ...
 (código)
 ...
 previous_Error_Data= Error_Data ;
}
 
 Mas ai aparecem outros problemas como a escala que deverá ser positiva e negativa (sem offset) e o tempo entre uma amostra e a amostra anterior ser imprescindível para o cálculo correto... Além de ruídos no termo derivativo e saturação do termo integrativo (que devem ser tratados por outras linhas de código, como filtragens e zerar o acumulador depois de n ciclos de loop).

 Enfim! Ai já é outra conversa.......

 Abaixo um link muito interessante (e em português sobre o assunto) vale muito a pena ler.

 http://www.embarcados.com.br/controlador-pid-digital-uma-modelagem-pratica-para-microcontroladores-parte-1/

 Um abração!

 Eduardo
« Última modificação: 21 de Fevereiro de 2015, as 11:28:22 por Ledod » Registrado
Páginas:  1 [2]   Ir para o Topo
  Imprimir  
 
Ir para:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines

XHTML 1.0 Válido! CSS Válido! Dilber MC Theme by HarzeM
Página criada em 0.046 segundos com 21 procedimentos.
SimplePortal 2.3.3 © 2008-2010, SimplePortal