collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[27 de Março de 2024, 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


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]

Autor Tópico: Projecto FanController  (Lida 30483 vezes)

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

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Projecto FanController
« em: 07 de Junho de 2010, 15:41 »
Post actualizado! - 29-10-2010 - Projecto concluído  ;D

O mesmo está disponível na página que criei: https://sites.google.com/site/grcbyte/electronica/fancontroller e neste caso trata-se da versão 2.0  :)

Objectivo:
  • Controlar automaticamente todas as ventoinhas da caixa do PC consoante a temperatura recebida de um sensor
  • Visualizar em tempo real a temperatura do sensor nos displays de 7 segmentos
  • Ajustar a velocidade das ventoinhas consoante a temperatura (através de Software no PC)
  • Informações diversas no LCD 16x2
  • Isto tudo com um Arduino a comandar as operações :)

Vídeo 'Preview':



Inicialmente fiz uma placa e que, após imenso trabalho, não funcionou como esperado e como podem confirmar nos posts abaixo, o sensor de temperatura usado (LM35/60) não indicava um valor certo e o circuito para controlar as Fans não era muito bom:


Alterei assim o sensor de temperatura para o DS18b20 (muito mais estável) e no circuito das Fans usei dois TIP122.

Ideias iniciais para a caixa:


A primeira versão do software que desenvolvi em Visual Basic:



Após várias tentativas e ideias para a caixa, comecei a fazê-la em acrílico e ficou algo assim:
(parte traseira para se ligarem as ventoinhas):




Passo seguinte,colocar isto tudo na caixa de acrílico:


Após ter alterado a aplicação que desenvolvi, adicionando novas funções, o resultado geral de todo o sistema é este:

Hardware:
  • Ao iniciar faz um diagnóstico aos componentes (fans, displays de segmentos, etc.).
  • No 1º arranque aguarda 5 segundos ("Boot Waiting") se quisermos estabelecer ligação ao Software no PC, caso contrário prossegue com o aranque.
  • 2 botões, para iniciar o modo de configuração onde podemos Desligar/Ligar os vários compoenentes [Fans, Displays, Lcd, Bezouro]. 1 Botão escolhe o Modo o outro altera o Estado

Software:
  • Estabelece e testa a ligação com o Arduino.
  • Podemos obter os valores PWM guardados na memória do Arduino (11 valores que estão associados a 11 diferenças de temperaturas de <10 até >60), isto para os 2 grupos de Fans (cada um com 4 ou 8 fans).
  • Podemos obter a temperatura actual do sensor.
  • Podemos Ligar /Desligar o aviso sonoro (bezouro) e configurar uma temperatura máx. para a qual ele apita caso seja atingida.
  • Podemos também definir o intervalo em segundos (que depois converte para milisegundos) para que seja lida a temperatura do sensor (pelo Arduino).

Aspecto da aplicação:


Teste final ainda na placa de ensaio:


Imagens da placa "agregadora" dos componentes para interligar tudo com o Arduino, etc.:


Caixa de acrílico preparada:


Aspecto final:


Demonstração Final:



(disponível em 720 HD)



« Última modificação: 25 de Janeiro de 2011, 10:32 por almamater »

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Projecto FanController
« Responder #1 em: 09 de Junho de 2010, 23:37 »
Eu comecei a fazer um projecto idêntico a uns tempos (deve andar por aí o tópico :P ) mas por falta de tempo tive de o meter em standby :(

Tenho uma dúvida no teu projecto. Porque utilizas displays de 7 segmentos e não metes a informação a aparecer toda no display alfanumérico?

Offline AcidDagger

  • Mini Robot
  • *
  • Mensagens: 364
  • Make Bits, Making robotics in Portugal
    • Make Bits
Re: Projecto FanController
« Responder #2 em: 10 de Junho de 2010, 00:09 »
Acho que ja vi este rapaz noutro forum :P

Pessoal do modding é que é  ;D

Grande projecto :P

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Projecto FanController
« Responder #3 em: 10 de Junho de 2010, 01:01 »
 :) Bom.. estou na parte da programação  :o

Juntei o código do LM35, que mostra o valor nos Segmentos, com o do LCD que mostra a info recebida do Lcd Smartie.. o resultado é +/-...

Qdo não tenho o LCD Smartie ligado parece tudo normal, mas se estou a receber info do LcdSmartie os displays de segmentos parece que actualizam ao mesmo tempo que o LCD e os números ficam a tremer..

Vídeo:

Isto acontece pq tenho de meter tudo no Loop, inicialmente tinha um delay(50) no código do LM35 mas substituí por:

Código: [Seleccione]
if(currentMillis - previousMillis > interval) {
         previousMillis = currentMillis; 
       }

Que permite executar ambos os códigos (do LCD e do LM35/Displays Segmentos) ao mesmo tempo sem parar, mas acontece este pequeno promenor



Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Projecto FanController
« Responder #4 em: 10 de Junho de 2010, 01:54 »
Acho que ja vi este rapaz noutro forum :P

Pessoal do modding é que é  ;D

Grande projecto :P

Pessoal do modding partilha dos mesmos gostos...electronica/robotica/informatica :P

@almamater, que microcontrolador estás a usar?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Projecto FanController
« Responder #5 em: 10 de Junho de 2010, 01:58 »
Pelo pedacinho de código que ele mostrou, um atmega168 ou 328 aka arduino.
Avr fanboy

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Projecto FanController
« Responder #6 em: 10 de Junho de 2010, 02:00 »
Pelo pedacinho de código que ele mostrou, um atmega168 ou 328 aka arduino.

referia-me mesmo ao IC...pois se for um mega168 não sei se vai conseguir processar tudo ao mesmo tempo :P

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Projecto FanController
« Responder #7 em: 10 de Junho de 2010, 02:40 »
Só se for por falta de espaço de código, e mesmo assim não sei, se o lcd está a receber dados do pc e o resto é pwm e adc e pouco mais..
Avr fanboy

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Projecto FanController
« Responder #8 em: 10 de Junho de 2010, 11:26 »
Só se for por falta de espaço de código, e mesmo assim não sei, se o lcd está a receber dados do pc e o resto é pwm e adc e pouco mais..

Yep.. é um ATMEGA168.. portanto é probelma certo?  :-[

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Projecto FanController
« Responder #9 em: 10 de Junho de 2010, 11:56 »
Pode não ser problema...Mas também pode começar a ficar um pouco lento com tantas tarefas ao mesmo tempo. Mas não posso dizer nada, pois nunca levei um mega aos limites...o único IC que me aconteceu isso foi um Picaxe :P por isso vai fazendo, se notares problemas, aí sim será grave :D

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Projecto FanController
« Responder #10 em: 10 de Junho de 2010, 12:03 »
Pode não ser problema...Mas também pode começar a ficar um pouco lento com tantas tarefas ao mesmo tempo. Mas não posso dizer nada, pois nunca levei um mega aos limites...o único IC que me aconteceu isso foi um Picaxe :P por isso vai fazendo, se notares problemas, aí sim será grave :D

Pois mas devem ser de facto muitos processos, tenho que meter a opção de ter a monitorização da temperatura ou a apresentação da info do LcdSmartie..  :( >:(

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Projecto FanController
« Responder #11 em: 10 de Junho de 2010, 16:09 »
Mas o picaxe se não me engano corre a 0,5Mhz, e o atmeaa corre a 16Mhz, se o código for bem feito corre isso tudo na boa e ainda sobra tempo, o pwm é gerado com timers e não consome cpu, escrever no lcd ou assim é esporádico, assim como ler a adc.
Avr fanboy

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Projecto FanController
« Responder #12 em: 10 de Junho de 2010, 22:26 »
Mas o picaxe se não me engano corre a 0,5Mhz, e o atmeaa corre a 16Mhz, se o código for bem feito corre isso tudo na boa e ainda sobra tempo, o pwm é gerado com timers e não consome cpu, escrever no lcd ou assim é esporádico, assim como ler a adc.

sim...por isso eu disse que tem de ser um código bem feito :P

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Projecto FanController
« Responder #13 em: 11 de Junho de 2010, 09:36 »
O código bem feito? Eu acho que não consigo dar a volta a isto, pois estou a usar o código deste projecto:

LCD smartie on Arduino, mais propriamente este: http://www.nuelectronics.com/download/projects/lcd_smartie_v1.pde

com este: http://ricardo-dias.com/node/77

e tudo junto não dá, se meto um delay qualquer na parte do código da temperatura a informação vinda do LcdSmartie já chega com muito atraso ao LCD, ou se meter tudo a correr ao mesmo tempo acontece aquilo que mostrei no vídeo.. os digitos nos displays de segmentos ficam "nervosos".

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Projecto FanController
« Responder #14 em: 11 de Junho de 2010, 10:00 »
Mas esse código que estás a usar, gera saídas para o display de 7 segmentos.
Tu estás a usá-los?