Olá pessoal, gostaria de uma ajuda sobre PID, venho aqui dizer que tenho algumas dúvidas sobre o assunto.

Meu objetivo é: tenho uma caldeira com uma resistencia elétrica onde aquecera e chegara na temperatura desejada (Setpoint), onde a PID.V1 eu abri testei e não intendi a parte do ganho, enfim.

Achei a função transferencia do meu sensor, logo não achei a da resistencia mesmo fazendo ensaios.
1°Gostaria de saber sobre os ganhos ,kp,ki,kd em relação ao meu Setpoint da biblioteca. mesmo pra teste eu poderia chutar valores para testar, sem achar a função transf. da resistência?

2° Vou usar relé estado sólido, vi que tem biblioteca PID.V1 E PID RALAY, qual usaria?

3° Na IDE, só da erro na parte PID qdo se da vlrs e compila, tem que acrecentar coisas na biblioteca PID, PID RALAY ?

TENSÃO 220VOLTS

Componetes do projeto:

Resistência elétrica de 10kW ~AC + Caldeira 120lts
Arduino UNO. + LCD 16x2
Relé estado sólido de 60A - entrada 3~32Vcc Saída 24~480V (aceita PWM)
Lm35 encapsulado (para medir internamente)

Exibições: 12059

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Pk = ganho proporcional

Ki = tempo intengral

Kd = tempo derivativo

Entra no site da novus que tem um manual bem mastigadinho sobre PID, ja usei o controle PID do arduino e funciona perfeitamente, usando controle PID voce consegue controles de temperatura excelente, ainda mais usando PWM para acionamento.

#include <PID_v1.h>

//Define Variables we'll be connecting to
double Setpoint, Input, Output;

//Specify the links and initial tuning parameters
PID myPID(&Input, &Output, &Setpoint,100,5,0, DIRECT);

void setup()
{
//initialize the variables we're linked to
Input = analogRead(0);
Setpoint = 100;

//turn the PID on
myPID.SetMode(AUTOMATIC);
}

void loop()
{
Input = analogRead(0);
myPID.Compute();
analogWrite(3,Output);
}

a noite te mando o meu programa pronto pra voce analisar, e tem como usar PWM sim em resistencias SIM, principalmente no seu caso aonde usa como acionador um rele de estado solido.

Dá pra controlar preciso com variação maxima de 0.1C

não entendi bem as perguntas... mas vou tentar ajudar pelo que eu entendi:

- para o controle da temperatura da forma que vc colocou, qualquer controle on-off resolve, mas claro que com PID o controle é muito mais refinado. 

-O controlador PID, é ultilizado para quando voce tem uma variavel analogica a ser controlada, onde realizando calculos de proporcional, integral e derivativo ao erro ( entre variavel e Set-point ), ele gera uma saida analogica afim de minimizar o erro. no seu caso, a saida analogica é em PWM (acionamento digital com variacao no tempo de acionamento, digamos assim). Da uma olhada na internet que vai achar muitos artigos sobre o controle PID, cada controlador tem sua formula.

-pelo que vi nos arquivos, qualquer um resolveria, mas acho que o PID_Basic.ino é o mais apropriado pra voce começar. o programa le a entrada analogica 0 (sensor), e aciona a saida 3 como PWM (observar se esta porta é PWM no seu Arduino).

-ja a 3ª pergunta não entendi nada.

Olá Marcos

Muito bacana seu projeto, vou fazer algumas observações sobre este assunto que acredito que lhe sejam uteis.

Por mais das vezes as adequações de códigos escritos para uma determinada aplicação exigem um trabalho herculeo para trabalhar corretamente em outra. Talvez este seja um caso onde o ideal seria vc se inteirar dos princípios teóricos e práticos e a partir  daí para escrever o seu próprio código.

Repare na figura abaixo trata-se do q vc deseja de maneira analógica, porém não esta dificil desenvolver um fluxograma para fazer a mesma função via firmware, ou está ?

Esta figura faz parte de um artigo da revista Eletronic Design de Bob Pease que trata do assunto, PID no controle de temperatura de maneira prática e teorica.

http://electronicdesign.com/analog/whats-all-p-i-d-stuff-anyhow

Abços

ola meu caro, eu estou caracterizando meu sistema, achei a funcao transferencia do sensor, tenho q achar da resistncia (carga), dpois aplicar criterio itae depois aplicar no sistema, mas eu tbm sei que posso fazer a programacao referenciando sobre os ganhos, ate pq eu irei fazer a caractecizacao e com a programacao eu so ajusto os ganhos.

fiz uma programacao inicial no arduino colocando aquilo que eu necessito,; ler meu sensor, mostrar a temp. atual.

Logo em seguida  apliquei um sistema ON-OFF usando na programacao IFs e funcionou normal, mt simples .AGORA EU TO APLICANDO PID.V1.h. DA MUITOS ERROS, SABENDO QUE NAO POSSO DEIXAR ON-OFF JUNTO COM PID NA PROGRAMACAO.. ISSO FOI TESTES.

marcos oliveira

voce nao precisa saber de qual material é composto o teu pneus fazer ela gira no eixo de um carro, correto.

O controle PID é dedicado a controlar aplicacoes aonde voce tens constantes variaveis, ou seja, voce aplica um setpoint(algo desejado pelo teu controle), e o PID acha a saida certa de modo que o teu feedback se mantenha igual ao setpoint.

Não precisa achar impendancia de carga, aplicar criterios, nada disso, aprenda a usar a engenharia disponivel e que ja esta pronta para teu proprio beneficio, se voce for ficar calculando proporcional, integral e derivativo voce nada mais estara fazendo o calculo que alguem ja colocou imbutido dentro do PID, somente isso.

A tarde vou entrar no labdegaragem, dai posso te ajudar com  isso, ja fiz inumeras aplicações com PID e vejo que o pessoal faz tempestade em copo dagua, e o pior, a maioria nem sabe como um controle PID funciona e fica dando opinião, reproduzindo informação errada para iniciantes o que vira uma bola de neve.

E é isso  caro amigo, Marcos Oliveira, vc esta no caminho certo é com  o trabalho e entendendo o que esta fazendo que vc vai chegar ao que deseja , não acredite em soluções do tipo bombril, em eletronica elas não existem cada caso é um caso e deve ser analizado detalhadamente.

Por exemplo, qual a velocidade de resposta do sistema ?

Qual a resolução e presisão ?

Como vc vai achar a melhor sintonia do PID ?

O q vc precisa não é de um sistema para principiantes sera necessário estudo e trabalho.

Vá em frente !

Abços

Estudo para controle PID? ja ouviu falar em auto tunning? acho que nunca colocasse um em pratica neh.

se nao me falha a memoria ja usei PID para controle de PH em tratamento de agua, controle de temperatura, controle de vazao, controle climatizado na faculdade UNESC em criciuma,controle do nivel de bunker de cinzas da usina thermoeletrica jorge lacerda em capivari de baixo, e fora tantos outros que nao lembro agora.

o ultimo coloquei em uma industria quimica, liga na empresa www.farbem.com.br é uma industria de tintas e resinas, a 2 meses atras dei statup em um sistema de controle de aquecimento de resinas, um sistema critico aonde a empresa gastou aproximadamente 20 milhoes de reais em 3 reatores, um erro de controle e a resina poderia muito bem empedrar dentro do tanque ou pior, pegar fogo, ja pensou isso em uma fabrica de resinas, tintas, solvente, sei o que estou falando.

O cara que vim me dizer que precisa de todo aquele fluxograma citado acima , desculpe-me não sabe nem o que esta falando, vou deduzir que é algum amador de arduino se achando o cara perante uns leigo aqui do labdegaragem.

Marcos Oliveira voce tem meu email, entra amanha demanha na net que em 5 min eu te explico e voce vai ver que o negocio e bem mais simples do que os intelectuais aqui do lab falam.

Amigo,

Vamos com calma. Ok? É preciso respeitar a opinião de todos, mesmo que às vezes não concordemos.

No Lab de Garagem temos a filosofia de apoiar uns aos outros, respeitando todos sempre.

Discordar sim, mas com respeito.

Abraço!

#include <PID_v1.h>
double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint,20,5,0, DIRECT);

void setup()
{
Setpoint = 100; //aqui seta o setpoint
myPID.SetMode(AUTOMATIC); //PID em automatico
}

void loop()
{
Input = analogRead(0); // leitura do feedback
myPID.Compute(); // aplica controle PID
analogWrite(3,Output); // escreve saida PID na saida analogica
}

Olá Marcos

Se a sua questão é apenas colocar sua caldeira de 10KW para funcionar, adicionar um controle P.I.D talvez seja acrescentar complicações desnecessárias e pontos de falha que mais cedo ou tarde vão se manifestar, como a velocidade de resposta não é relevante  a melhor solução pode ser um controle on/off como sugeriu o colega Adriano.

Já do ponto de vista didatico, que é para isto que o arduino foi criado, ai sim vale a pena futuramente vc pode desejar construir um helicoptero ou foguete...quem sabe ?

Quanto o lance do fluxograma, peço desculpas a vc  pela forma em que coloquei vou tentar ser mais claro

Um fluxograma é um desenho composto por blocos que especifica em sequencia  cada tarefa e decisão que o microcontrolador ira realizar. Normalmente se faz antes de começar a elaborar um programa de computador.

Quanto ao esquema eletrônico do Eng.  BOB PEASE, é um P.I.D analógico, trata-se de apenas amplificadores operacionais funcionando como filtros passa baixa, alta e amplificador propriamente dito.

Aqui Link  existe uma explicação de como converter estes filtros analógicos para a forma digital

A pouco tempo atrás um colega aqui do LDG comentou que as escolas técnicas brasileiras não estavam ensinando mais computação analógica o que é lamentavel, talvez essa seja a causa do espanto causado ao colega em " todo aquele fluxograma "

Se em algum momento aqui fui considerado um intelectual do LDG me sinto gratificado pelo titulo me dado, e já vou pensar em pedir cache ao Marcelo Rodrigues...afinal sou o cara !  rsrsrsrs... (não levem a sério, por favor !)

Pelo comentário vejo que chegou um genio aqui, que seja bem vindo !  E é daqueles avatares que gosta de aplausos vamos aplaudi-lo...clap..clap...

Abços

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço