quinta-feira, 22 de setembro de 2011

Energia Solar Térmica (Termoacumulador) Programação em VB.Net



Num país, onde por vezes a água engarrafada é mais cara que o combustível, para muitos parece absurdo falar de poupança de energia... Assim, não é raro ver- se quintais com lâmpadas acesas em pleno dia... Porém algumas consciências estão a mudar e contra ventos e marés, Angola está na senda do progresso... Nesta instalação faz-se o aproveitamento do calor do sol tropical Angolano para aquecer água e reserva-la num termoacumulador... Mas vejamos como isso funciona: como se pode ver no desenho da empresa CALEFFI, o painel solar capta o calor do sol e o transmite à um fluido primário que circula em circuito fechado accionado por uma bomba. À saída do painel, o fluido a temperatura elevada chega a parte superior de uma serpentina onde sede calor a agua da rede acumulada no depósito, depois disso o fluído (água + anti congelante) a temperatura mais baixa regressa ao painel solar...para auxiliar o aquecimento da água durante os períodos de baixa intensidade solar, o sistema está equipado de uma resistência eléctrica. Para absorver as dilatações da água e estabilizar a pressão o circuito de água da rede tem um vaso de expansão na entrada. Além disso, em caso de sobrepressão, uma válvula de segurança assegura a descarga até estabilizar a pressão. Para segurança, este sistema deve ser ligado è terra...Agora falemos um pouco do sistema de controlo de temperatura...
Quando a instalação é de apenas um termoacumulador, o controlo de temperatura pode apenas actuar sobre a bomba no circuito primário...
Porém se a instalação for de vários termoacumuladores como no caso das fotos, o controlo é efectuado sobre as válvulas de 3 vias...
Vamos tentar simular o sistema de controlo com um pequeno programa em vb.net...


Unidade parada...

Funcionamento do programa: ao desenho do fabricante CALEFFI, adicionei dois botões para alterar o valor da sonda de temperatura do painel solar e outros dois botões para alterar a temperatura do depósito.Conforme as temperaturas vão sendo alteradas, a bomba B1 põe-se em funcionamento ou fica parada, simulando um sistema real.


Lista do código do programa:

Public Class Form1

Dim Sonda_Deposito As Integer 'criar variável para (SD)
Dim Sonda_Painel As Integer ' criar variável para (SP)
Dim Set_Point As Integer ' criar variável para (STP)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'inicializar variáveis
Sonda_Deposito = 25
Sonda_Painel = 25
Set_Point = 8
Label4.Text = Sonda_Painel & " " & "ºC" 'apresentar o valor na label4

Label5.Text = Sonda_Deposito & " " & "ºC" 'apresentar o valor na label5
Label6.Text = "B1 OFF"

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Sonda_Painel = Sonda_Painel + 1 'aumentar em uma unidade o valor de (SP)
Label4.Text = Sonda_Painel & " " & "ºC" 'apresentar o valor na label4
If Sonda_Painel - Sonda_Deposito > Set_Point Then
Label6.Text ="B1 ON"
Else
Label6.Text ="B1 OFF"
End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Sonda_Painel = Sonda_Painel - 1 'diminuir em uma unidade o valor de (SP)
Label4.Text = Sonda_Painel & " " & "ºC" 'apresentar o valor na label4
If Sonda_Painel - Sonda_Deposito > Set_Point Then
Label6.Text = "B1 ON"
Else
Label6.Text = "B1 OFF"
End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Sonda_Deposito = Sonda_Deposito + 1 'aumentar em uma unidade o valor de (SD)
Label5.Text = Sonda_Deposito & " " & "ºC" 'apresentar o valor na label5
If Sonda_Painel - Sonda_Deposito > Set_Point Then
Label6.Text = "B1 ON"
Else
Label6.Text = "B1 OFF"
End If

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Sonda_Deposito = Sonda_Deposito - 1 'diminuir em uma unidade o valor de (SD)
Label5.Text = Sonda_Deposito & " " & "ºC" 'apresentar o valor na label5
If Sonda_Painel - Sonda_Deposito > Set_Point Then
Label6.Text = "B1 ON"
Else
Label6.Text = "B1 OFF"
End If

End Sub

End Class


Unidade com a bomba (B1) ligada porque a diferença entre a temperatura da sonda do painel (SP) e a temperatura da sonda do depósito (SD) supera o SetPoint de +8ºc...



Bomba B1 parada, porque a diferença entre a temperatura da sonda do painel e a temperatura da sonda do depósito, é inferior ou igual ao setpoint de +8ºc...