collapse

* Posts Recentes

Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


+ LASERs por dropes
[30 de Maio de 2025, 23:11]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: Controlador para caldeira a pellets  (Lida 14915 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.