sábado, 16 de junho de 2018

Controle PID em uma carga de CA - Parte 2

Continuando o post anterior, para eu colocar o PID no esterilizador o professor disse que eu precisaria colocar 30% de potência na carga, esperar estabilizar e em seguida colocar 100%, com isso é possível obter o valor de ganho Kp, t0 que seria o instante que coloquei a carga em 100%, t1 o instante que a amplitude (temperatura) começa a aumentar, t2 que seria o instante em que a carga se encontra com 63% do valor total, o Tao que é a constante de tempo, e o angulo (tempo morto). 

Cálculos:
Kp = deltaY/deltaX
Tao = t2 - t1;
Angulo(tempo morto) = t1 - t0;
Y(63%) = Temp Min + (deltaY * 0,632);
















O valor mínimo é o valor de 30% de potencia aplicada estabilizado, o valor Temp Simu é o valor da temperatura da simulação, o Bias é o valor mínimo do processo (138ºC) subtraindo o valor da simulação (75ºC), logo vocês irão entender, usei o programa PLX-DAQ.

Link da planilha completa:
https://mega.nz/#!FdMziLDD!9aeRUvVH_s_stlWt8IYK5WUIq2TP4yaZJIplHa1lkA8

Obs: Deixei a planilha protegida somente para visualização.

Simulink:



Gráfico Simulink:



















Eu escolhi o método CHR sem sobre-sinal porque foi o que mais se saiu bem nos testes.

Pós: A margem de erro é muito curta (dependendo do método) sendo possível implementar em uma variedade de projetos de corrente alternada.

Contras: Se a rede for instável o projeto se torna instável pois a qualidade depende da sintonia que o projeto tem com a rede.

Controle PID em uma carga de CA - Parte 1

Galera blz? Anderson aqui novamente, e no dia dessa postagem trago aqui para vocês um controle PID que fiz para controlar meu esterilizador, o projeto inicialmente foi proposto pelo professor, que seria implementar um PID do semestre passado, e no semestre passado eu usei esse mesmo esterilizador, só que era on/off, eu tinha um LM35 e faltando 10 graus para chegar no set-point ele desligava e ficava por assim mesmo, só que dessa vez eu quis aprimorar e o resultado foi muito agradável.

Mudanças:
1 - O que foi mudado no projeto anterior foi o sensor que antes era um LM35 e agora é um termopar tipo K, usei ele porque o esterilizador chega a mais de 300ºC e o LM35 não aguenta.

2 - Usei um potenciômetro em vez de botão para controle de set-point, mas deixei lugar para colocar botão.

3 - Deixei uma parte para conexão do Bluetooth, e 2 Leds a mais, mas isso foi opcional.

Cálculos iniciais:
Eu abri o forno para ver o que controlava a temperatura, tinha uma espécie de potenciômetro e as resistências que medi com o multímetro, o valor foi de aproximado 20 Ohms e a rede elétrica da minha casa é 127 volts, usando a formula das leis de Ohms U = R*i, temos i =  6,35 Ampere, escolhi o BTA 12-600 porque suporta 12 Ampere e 600 volts e não é caro aqui em Campinas, o circuito eu usei os do post anterior basicamente, só troquei o LM35 pelo termopar tipo K e os botões pelo potenciômetro.

Placa:

Como podem ver usei uma placa universal, porque estava em cima da hora e eu estava sem tinta kkkkk, na parte do contador de zero e moc3021 foi exatamente igual, já o termopar foi a grande modificação, e a fonte de 5v que sucateei de um carregador velho, tem dois leds tbm que não defini o que pode ser mas serve pra indicar se esta ligado ou se esta na temperatura ideal.

terça-feira, 5 de dezembro de 2017

Controle de Temperatura

Olá pessoal, mais uma postagem, dessa vez o professor pediu para montarmos além do Excel, montar no Matlab, segue o projeto:

A parte esquemática esta em outra publicação neste mesmo blog, aqui vou passar programação e fotos do projeto.

Programação(Link do Mega): https://mega.nz/#!0ANCSAIB!-hkYvouMIDNJ4U0F16MZ6Vdi3Q7QpHQDQZsuLDB8zEY

Não vou postar sobre biblioteca Lcd pq já tem no site do filipeflop

Usei o PLX-DAQ para extrair do dados do sensor do Arduino e mandar para o Excel, lembre-se que se for usar esse programa, seu Windows e seu Office tem que ser versão de 64bits.



Para passar no Matlab deu uma sofrida mas deu certo no final, pra montar no Matlab eu criei duas variáveis, Time e Grau, na foto aonde tem o ( A = [ ) tem os valores que usei na variável Time e do lado direito, tem os valores da temperatura arredondados, esse valores coloquei na variável Grau.

até 300 segundos                             até a temperatura máxima

Terminando usei os seguintes comandos:
>> plot(Time,Grau);
>> datain = (Time,Grau);

O comando plot vc faz o mesmo gráfico do Excel no Matlab





Ja o comando - datain = (Time,Grau) - eu usei para falar com o Matlab que esse gráfico se chama datain.



Na foto acima esta To = Temperatura Inicial, K que é o ganho(TempMax-TempMin), tao é o tempo que ele começa a aumentar a temperatura até 63% do total, o valor 300 é o tempo que vale igual a 5 minutos, e as equações peguei de um outro site que vou deixar no final da postagem, feito isso eu passei para o Simulink.



Vejam o quadrado escrito From Workspace, esta escrito datain dentro dele, essa foi minha maior dificuldade nesse projeto, você tem que mostrar para o programa que existem 300 linhas e 2 colunas, que seria temperatura por tempo, esse arquivo do simulink peguei com meu professor, detalhadamente não saberei explicar mas estará para download também.

Fotos:





Link: https://mega.nz/#!IME0RByY!P1Dltjsr39ZRt3wHBOAKGGfk4lyLVwh5pA8fw6_W53Y