collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Controlador para caldeira a pellets  (Lida 11533 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Controlador para caldeira a pellets
« Responder #15 em: 27 de Dezembro de 2012, 15:34 »
Senso,
O que liga a caldeira é um conjunto de sensores de temperatura e relés da caldeira original. Resumidamente, a caldeira está sempre ligada e configurada para manter a água a uma certa temperatura. Quando está abaixo da temperatura seleccionada, a caldeira dá corrente 220V a uma outra parte da mesma que vai aquecer a água. Quando esta chega à temperatura escolhida, a primeira parte da caldeira corta a corrente da segunda parte. O problema é que o motor que neste momento tenho a controlar a queda de pellets é demasiado forte (é um berbequim). O que pensei ao início foi colocar tudo ligado à "segunda parte" da caldeira. Quando a mesma liga essa segunda parte, ligava tudo (incluíndo o arduino). No entanto, apercebi-me que durante o tempo de "boot" do arduino íam cair imensos pellets. Julgo que o rglove sugeriu à uns posts atrás uma outra solução para isto, mas acabei por me ficar com esta. Quanto ao transformador a dar "1" mesmo desligado, era erro meu: esqueci-me de desligar o GND.

Quanto à primeira parte do teu post, vou-te ser sincero: não compreendi muito. Fui agora mesmo ler à wikipédia sobre o que é uma máquina de estados e julgo que fiquei a perceber o que pretendes. Não sei bem trabalhar com o código a esse ponto, no entanto é algo que vou aprofundar.

No entanto e para já gostava de ver se consigo colocar as coisas a dar com este código (tenho alguma pressa em ter isto pronto, para fazer alguns testes). Há alguma solução para ter mais ram que possa usar? O código que vou usar só vai uma vez ao "loop". O que está no loop é a função standby, e passa directamente para esta.

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Controlador para caldeira a pellets
« Responder #16 em: 27 de Dezembro de 2012, 17:20 »
Boas.

Estás a declarar mal os pinos...

Não percebo porque é que poes isto:

Código: [Seleccione]
int dcorrente = digitalRead(3);
int vldr = analogRead(0);

Estás a declarar o pino dcorrente como uma leitura digital do pino 3?
Depois declaras a leitura digital do pino 3 como input?

Apaga o digitalRead(3) e mete 3.

Para parares de usar a recursividade, simplesmente não poes lá o "loop()", visto que quando chegar ao fim da função em que está continua no loop, não sei onde é que está o problema...

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 527
Re: Controlador para caldeira a pellets
« Responder #17 em: 27 de Dezembro de 2012, 17:28 »
O código que estás a usar não vai só uma vez ao loop...

Código: [Seleccione]
void standby() {
  digitalWrite(ledstandby, HIGH);
  delay(3000);
  ecorrente = digitalRead(3);
  if(ecorrente == 1) { // Caso seja detectada corrente 220V
    start();
  }
    else {
    loop();
  }
}

Isso chama-se recursividade, pode ser útil nalguns casos, mas neste caso não é útil nem é preciso.
Se não for detectada corrente, um novo loop é iniciado. Ou seja, de 3 em 3 segundos, enquanto o pino 3 (supostamente, porque declaras o pino digitalRead(3) como input e não o pino 3) não detectar tensão vai-se iniciar um novo loop.
Quando o ultimo loop acabar o programa passa para o penultimo loop e assim sucessivamente, mas não há necessidade disso. Basta apagar o else { loop(); }.

Cumps.

Offline tgferreira

  • Mini Robot
  • *
  • Mensagens: 148
Re: Controlador para caldeira a pellets
« Responder #18 em: 29 de Dezembro de 2012, 11:20 »
Ahh, já entendi! Obrigado rglove!

Ontem já fiz o primeiro teste com sucesso. Aquece água bastante rápidamente e só tem dois problemas:

O primeiro é que por vezes fagulhas sobem pelo tubo que dá feed de pellets. Tenho de ver se arranjo uma "comporta" ou algo semelhante.

O outro é que o cabo que está ligado à vela de ignição se derrete. Estou a usar um resto de um cabo que cá tinha em casa, em teoria heat resistant, mas não é grande coisa. Há algum cabo que seja realmente resistente ou não? Ou será que há alguma outra solução para alimentar a vela? O "negativo" da mesma já está a passar pela estrutura da caldeira. O positivo é que não.

Aguardo respostas,
Tiago.