Um PWM com resolução de 1% em um loop do aquecedor PID pode atingir uma precisão de temperatura superior a 1%?


8

Preciso definir uma temperatura entre 20 ° C e 300 ° C. Estou usando uma saída PWM com uma resolução de 1% do ciclo de trabalho. O período PWM geral e o tempo do loop PID podem obter uma precisão superior a 1% do intervalo de temperatura na carga?


10
Você deve refinar sua definição de precisão de temperatura de 1%. Suponha que eu reescreva seus 20 C a 300 C a 293 Kelvin a 573 K, então 1% é um número diferente. Se houver uma constante (longa) de tempo (massa térmica) presente no seu dispositivo, eu diria que sim, você pode obter uma precisão melhor, pois isso calcularia a média do valor que você aplica, portanto, dado tempo suficiente, qualquer precisão pode ser alcançada.
Bimpelrekkie

Você está trabalhando especificamente com um relé de estado sólido com alimentação de corrente zero e corrente de 50/60 Hz alimentando o aquecedor?
DeusXMachina

Dependendo massas térmicas, on / off controle é provavelmente bom o suficiente
Scott Seidman

Não sei sobre os controladores PID, mas escrevi um aplicativo para controlar um forno de envasamento para o meu trabalho, que regula o período PWM de 30s com resolução de 1s capaz de manter as temperaturas entre 1-2 ° C e a temperatura alvo (geralmente em torno de 80 ° C) é controlado usando um SSR, possui um elemento de aquecimento de 2KW e um ventilador para circular o ar. O código está disponível em bitbucket.org/snippets/gds-uk/qj9yE/oven-controller, se você estiver interessado.
RobbG

Observe também que a condutividade térmica da sua carga varia: a menos que seja um líquido agitado ou algo muito pequeno, provavelmente haverá mais de 1% de variação de temperatura na carga.
Pjc50

Respostas:


21

Depende da constante de tempo da carga. Uma carga aquecida geralmente responde em 10s de segundos.

Se você gerar 30% de PWM por um segundo, 31% de PWM para o próximo segundo, serão 30,5%, em média, durante vários segundos.

Os termostatos do forno tendem a operar um minuto, um minuto desligado, e ainda atingem temperaturas do forno estáveis ​​a um dígito de C. Um PWM de 1% ajustado uma vez por segundo poderia fazer várias ordens de magnitude melhores que isso.


8
Eu chamaria isso de 'pontilhamento', após a técnica equivalente para aumentar a profundidade de cores na computação gráfica, mas não sei como é comum chamá-lo assim.
Pete Kirkham

1
Eu me peguei usando a mesma terminologia exata, então acho que não pode ser tão longe assim.
DeusXMachina

1
@PeteKirkham Eu costumo chamar isso de hesitação.
23717 winny

9

Sim.

Dado o fato de que, em relação a outras regulamentações (tensão, corrente, etc.), a regulação da temperatura é bastante lenta, o que você pode fazer é usar um microcontrolador (acho que já o faz), mas adicionar uma variação cíclica dos sinais PWM largura.

imagine que, para que seu sistema seja estável, você precisa ter uma largura de pulso de 3,8%. você simplesmente precisa aplicar um ciclo de trabalho de 3% durante 20% do tempo e 4% nos 80% restantes. fazer isso por mais de um segundo ou mais deve permitir alcançar a precisão de que você precisa.


7

Pergunta estranhamente formulada, mas o que eu acho que você está perguntando é se a temperatura da carga aumentará em 1% etapas com um PWM de 1% resolução. ou seja, 2.828C por etapa.

Embora pareça que deveria, a resposta para isso é provavelmente não.

A razão é que, para que isso aconteça, é necessário que haja uma relação de 1 para 1 entre a potência e o aumento da temperatura na carga. No entanto, dependendo da geometria e do ambiente da carga, é improvável que isso seja verdade.

Para aquecer algo a uma temperatura específica, você precisa adicionar energia suficiente para equilibrar a energia que o objeto perde para o ambiente a essa temperatura. O problema é que, à medida que a temperatura aumenta, a eficiência da transferência de calor da superfície do que você está aquecendo também muda normalmente.

insira a descrição da imagem aqui

Para uma pequena faixa de temperatura, a potência pode ser considerada quase linear, mas 300C não é uma faixa de temperatura pequena.

Quão linear é o que você planeja em relação ao aquecimento e qual a precisão de 1% (ou seja, 1% mais ou menos o que?) Está, obviamente, além do escopo desta pergunta e resposta. Mas eu suspeitaria que você precisará colocar MUITO mais poder incremental para subir nos últimos 50C do que você precisou para chegar aos 70C.

ADIÇÃO

Não está muito claro para sua pergunta se você incluiu sensor de temperatura em seu circuito de controle. Eu suspeito, desde que você fez a pergunta, que a resposta é não, daí o foco nessa resposta.

Se você precisar definir a temperatura com precisão em todas as condições, realmente precisará vincular essa medição ao loop de controle do sistema. Nesse ponto, você pode variar o tempo da modulação PWM para manter a temperatura com a maior precisão possível, tudo com algum atraso térmico e histerese.

Mas é claro que medir a temperatura com precisão em um objeto grande pode ser um desafio para si.


1
Obrigado. Mas, para ser justo, adicionarei um pouco de informação que omiti, que é que 100% de PWM produz 300degC. Naturalmente, a sua resposta, então realmente se aplica à extremidade inferior da escala
Dirk Bruere

@DirkBruere é fácil o suficiente para testar. Configurá-lo para 50% e medir a temperatura :)
Trevor_G

Definitivamente não será linear
Dirk Bruere

NÃO, pois uma resposta direta provavelmente está incorreta. Veja a resposta de Neil_UK, que pode ser resumida como "sim, em circunstâncias precisas, mas bastante comuns". O forno doméstico é um exemplo perfeito.
Caterpillaraoz

@ Lagartaraoz Ya, eu acho .. embora eu já o qualifique na próxima frase. De qualquer forma, ele não precisa estar lá .. gonzo. Obrigado pelo feedback.
Trevor_G

6

Depende.

Se o seu controlador, ou código do algoritmo de controle, puder medir a temperatura da carga e acompanhar a saída desejada com melhor que '1% de resolução' (observando que a relação entre saída e temperatura não é linear), é possível obter muito melhor que 1% de resolução de saída efetiva por pontilhamento, como sugere a resposta de Neil_UK . A melhoria real que você pode gerenciar dependerá de quanto tempo a constante de tempo da carga é relativa ao tempo de ciclo da sua saída.

Se o seu controlador ou código não puder fazer isso, você terá alguma flutuação na temperatura da carga. Por exemplo, se o ponto de ajuste e as condições ambientais forem tais que a saída 'correta' para a temperatura de carga necessária seja de 30,5%, o mais próximo possível da saída será de 30%, caso em que a carga esfriará um pouco abaixo do ponto de ajuste , ou 31%, caso em que aquecerá ligeiramente acima do ponto de ajuste e somente 'observando' esse desvio na temperatura real da carga pode o controlador alterar sua saída para corrigir o desvio.

Eu acho que o tamanho da flutuação no último caso dependerá dos coeficientes proporcional e derivativo em seu algoritmo de controle, e sua tarefa será (como sempre) ajustar o controlador para obter a melhor precisão sem arriscar instabilidade ou excesso excessivo.

Além disso, pense no que exatamente você quer dizer com precisão . Você precisa de precisão absoluta (um ponto de ajuste de 100 ° C fornece um valor controlado que realmente é de 100 ± 0,1 ° C) ou apenas estabilidade (o valor controlado pode se estabilizar em 98 a 102 ° C, mas permanece estável a ± 0,1 ° C C)? A precisão absoluta da medição de temperatura é mais difícil do que as pessoas supõem, mas há muitas aplicações em que a precisão absoluta não é tão crítica desde que a estabilidade seja boa.


+1 Eu concordo com isso e com todas as respostas aqui, mas em nenhum lugar da pergunta do OP ele indica que este é um sistema de circuito fechado, ou seja, com feedback de temperatura. Isso é apenas algo que todos assumiram, porque é assim que eles teriam feito.
21417 Trevor_G #

@ Trevor, o título diz em um loop de aquecedor PID .
nekomatic

Sim, mas isso pode significar qualquer coisa ou nada. Suspeito que o OP não detecte temperatura, ou não consiga fazê-lo com precisão, ou essa pergunta não seria de partida. Mas sem verificação ... quem sabe.
Trevor_G

6

Muito provavelmente sim. Fiz exatamente o que você está perguntando em um produto comercial.

A razão pela qual digo "provavelmente" em vez de apenas "sim" é que obter uma resolução de temperatura mais alta que a resolução PWM exige que o período PWM seja significativamente menor que a constante de tempo térmico dominante. A menos que você tenha um aquecedor muito incomum (o filamento de uma lâmpada incandescente pode ser um exemplo), esse requisito será atendido.

Exemplo real

Eu estava escrevendo o firmware que controlava a corrente e a tensão através de um tubo de raio X. A lógica de nível superior especificaria qual seria a tensão e a corrente, e o trabalho do meu firmware era fazê-lo.

Nesse caso, o tubo era apenas um cátodo e um ânodo, sem grade. A corrente do feixe foi controlada alterando o nível de acionamento do aquecedor de cátodo. É o aquecedor mais pequeno e ágil possível, mas seu tempo constante ainda é de muitos milissegundos.

O PWM do aquecedor estava funcionando a vários kHz, muitas vezes mais rápido que qualquer frequência de resposta significativa do aquecedor. Infelizmente, a resolução PWM era muito baixa para atingir algumas das correntes desejadas dentro da tolerância de erro desejada. Isso não foi ajudado pela função da temperatura do cátodo em transmitir a corrente, sendo altamente não linear.

Se essa fosse a única restrição no PWM, eu poderia ter aumentado o período do PWM para obter uma resolução mais alta. No entanto, esse processador fez várias coisas e, devido a restrições de hardware, o mesmo relógio foi usado para outras coisas e não pôde ser alterado.

A solução foi implementar o pontilhamento do ciclo de trabalho PWM. Se bem me lembro, usei 8 valores diferentes do ciclo de serviço. Nesse caso, eu poderia usar um mecanismo DMA no microcontrolador para sequenciar os 8 valores automaticamente. A rotina de configuração do ciclo de trabalho fez as contas e ajustou de 0 a 7 dos valores que uma conta é superior ao primeiro.

Isso efetivamente forneceu uma resolução PWM 8x maior. O período PWM x8 ainda era curto em relação à constante de tempo do aquecedor; portanto, o aquecedor ainda fazia a média fácil dos vários valores do ciclo de serviço.

Não-linearidade

Vejo que Trevor já tocou nisso. A temperatura dos aquecedores pode ser bastante não linear com a potência de entrada. Isso geralmente ocorre devido à convecção não reagir linearmente com a temperatura e, portanto, resfriar um objeto quente desproporcionalmente mais do que um objeto mais frio. Em temperaturas muito mais altas, a radiação do corpo negro se torna significativa. A energia irradiada também é bastante não linear com a temperatura.

No meu caso, não apenas o cátodo foi resfriado predominantemente pela radiação do corpo negro (estava no vácuo), mas a função da temperatura na corrente do feixe também era altamente não linear.

Sistemas não lineares são difíceis de controlar. Meios simples como o PID ou qualquer coisa derivada da análise do domínio S não funcionam bem com sistemas não lineares. Se você tentar, você acaba amortecendo partes da faixa apenas para manter a estabilidade em outras partes da faixa. Isso pode levar a tempos de acomodação inaceitavelmente longos nas partes da faixa que são superedotadas.

A solução que usei neste caso, e que também usei em alguns outros projetos, foi linearizar o sistema do ponto de vista do loop de controle.

Fiz isso inserindo uma pesquisa linear por partes entre a saída do controlador e a entrada do sistema. Durante a fabricação, o sistema foi executado em circuito aberto em vários pontos de ajuste. Os resultados foram usados ​​para preencher a tabela de pesquisa armazenada na memória não volátil exclusiva de cada unidade.

O sistema ainda não é linear em qualquer segmento da tabela de pesquisa. No entanto, esses segmentos são uma pequena fração da faixa do sistema, portanto, as características do sistema não mudam muito em um segmento. Se o fizerem, use mais segmentos.

O resultado funcionou muito bem. Sim, tudo isso está sendo executado em um produto comercial que você pode comprar na prateleira hoje.


2

Várias pessoas já mencionaram isso, mas eu prefiro esclarecer.

Nota: se o seu aquecedor tiver um controle eletrônico de temperatura interno, pule para a última seção da minha resposta.

O PWM não controla a temperatura de um aquecedor convencional

Em vez disso, controla quanta energia é expelida pelo aquecedor. Se o aquecedor de ambiente estiver idealmente isolado, o sinal PWM constante controlará a velocidade com que a temperatura aumenta - até que o aquecedor derreta a si mesmo ou a seu gabinete.

Na realidade, o calor é inevitavelmente perdido por convecção, radiação ou outros processos, de modo que um equilíbrio estável pode se formar: se um aquecedor for aquecido até 100% do ciclo, ele poderá ser classificado para aquecer até 300 ° C em algumas circunstâncias predefinidas.

No entanto, essas circunstâncias nunca podem ser confiáveis: vento, pressão do ar, umidade e temperatura ambiente podem distorcer as classificações do ciclo de trabalho à temperatura do seu aquecedor.

Se suas temperaturas forem muito altas (acima de cerca de 200 ° C), você poderá evitar variações devido a fatores externos serem um tanto insignificantes, mas nesse caso a temperatura exata não é muito precisa, de qualquer maneira, portanto, ajustes abaixo de 1% não faz nenhum sentido.

Consulte um sensor de temperatura

Uma maneira confiável de controlar uma temperatura seria usando um sensor de temperatura: se a temperatura desejada for maior que a detectada, ligue o aquecedor a 100% de energia; se for mais baixo, corte completamente a energia.

A razão para usar 100% ou nenhuma energia é que os aquecedores são sempre reativos, e você provavelmente deseja que a temperatura atinja o nível desejado o mais rápido possível.

Vamos supor que você tenha um aquecedor que possa normalmente funcionar de 20 ° a 300 ° C e que você precise aquecer da temperatura ambiente para 100 °.

Se você alimentá-lo com um ciclo de trabalho de 30% PWM, ele começará a ganhar temperatura rapidamente, mas depois diminuirá gradualmente. Dependendo do tipo de aquecedor, pode levar horas até atingir a temperatura desejada. Isso ocorre porque a perda de calor aumenta com a diferença de calor; portanto, os últimos graus demoram mais.

Em vez disso, você deve alimentar o aquecedor com 100% de energia disponível para que ele atinja a temperatura desejada muito mais rapidamente.

Quando a temperatura atinge o valor desejado, você ainda precisa reagir rapidamente a uma súbita rajada de vento soprada no aquecedor ou a conseqüências semelhantes.

Possível aplicação PWM

Em alguns casos, um aquecedor, sua carga e o sensor podem ser bastante reativos; portanto, o circuito pode precisar prever alterações de temperatura causadas pelo aquecedor em certa medida.

Se isso não for possível, alimentar o aquecedor com energia fracionada pode ser realmente útil para manter a temperatura no nível desejado.

Nesse caso, os detalhes exatos (incluindo a resposta à sua pergunta) podem depender dos parâmetros físicos do aquecedor, de sua carga e do ambiente. Ou a temperatura precisa ser realmente muito estável.

Nesses casos, um sinal PWM não precisa ser preciso, mas deve ser ajustado para cima e para baixo, dependendo da leitura da sonda.

Problemas de comutação elétrica

Um aquecedor elétrico pode não ser projetado para funcionar com energia PWM. Dependendo de como exatamente ele foi construído, ele pode começar a vibrar e eventualmente se destruir ou causar outros problemas imprevistos.

Quase todos os aquecedores consomem muita energia. Os tiristores ou transistores de controle PWM para tais aplicações podem ser bastante ineficientes e exigir um resfriamento substancial, além de serem caros.

No tópico dos tiristores com correção de fase (para CA), uma precisão abaixo de 1% pode não ser alcançável com segurança, pois a energia CA pode não ser um seno perfeito.

Aquecedores controlados eletronicamente

Alguns "aquecedores" podem realmente ser dispositivos eletrônicos que detectam a temperatura e controlam a energia. A temperatura desejada pode ser ajustada através de um sinal PWM. Essas são raras, mas é a única teoria que poderia explicar a relação direta entre ciclo de trabalho e temperatura.

Nesse caso, a resposta à sua pergunta depende da eletrônica de controle integrada do aquecedor. Ajustes precisos descritos na pergunta provavelmente funcionariam assumindo que os eletrônicos sejam precisos o suficiente - esse fato deve ser declarado em sua documentação.

Como quase todos esses aquecedores funcionam internamente como eu descrevi anteriormente, eles costumam realizar ciclos longos de ligar e desligar, de modo que a temperatura real pode flutuar para cima e para baixo com o tempo, independentemente da precisão do sinal PWM.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.