Pessoal, mais um projeto interessante com Arduino : Estroboscópio com LED.

" Estroboscópio consiste num dispositivo óptico que permite estudar e registar o movimento contínuo ou periódico de elevada velocidade de um corpo, com o objetivo de o fazer parecer estacionário.

Com uma luz estroboscópica é possível determinar a frequência de rotação de corpos, pois fazendo coincidir a frequência da iluminação com a do movimento, cada feixe de luz ilumina a mesma fase do movimento, resultando numa aparente imobilidade do corpo em rotação. " 

referência : http://pt.wikipedia.org/wiki/Estrobosc%C3%B3pio

Usei um Arduino NANO por ser menor e possível de inseri-lo no Protoboard.

Como iluminação, usei o conjunto de LEDs de uma lanterna barata. 

Desmontei a lanterna  e montei um cabo maior para o conjunto de LEDs.

Para alimentar os LEDs sem comprometer o Arduino, usei um transistor 12N6LE (FET N-Channel) que eu tinha na minha sucata. Mas pode usar qualquer outro FET N-Channel, desde que tenha o Ic maior do que 1A. 

http://www.fairchildsemi.com/ds/RF/RFD12N06RLESM.pdf

No meu caso, alimentei o circuito com +12V e no Protoboard montei um regulador de +5V (7805), mas foi por que eu estava fazendo testes com LEDs de 12V também. 

O Sketch, eu adaptei do link de Steve Krane:

 http://mehax.blogspot.com.br/2011/02/arduino-stroboscope.html

No estroboscópio dele, ele usa a medição da RPM através da contagem de tempo do Arduino, mas como não estava dando precisão, usei um método empírico que ele mesmo inseriu no programa. 

Fiz medições com osciloscópio e a precisão ficou mais razoável do meu jeito.

O projeto pode ser melhorado com uma medição do RPM mais precisa. 

Veja o video do Estroboscoópio funcionando com um ventilador ligado:

http://youtu.be/U4JH9l1LJK0

Veja mais fotos no meu album do Flickr:

https://www.flickr.com/photos/jgustavoam/sets/72157644047557745/

Esse é o Sketch :

===================================================================================

/*
Arduino Nano Strobe Light - Arduino Estroboscópio

CRIADO POR: GUSTAVO MURTA
DATA: 18/04/2014
USANDO ARDUINO NANO - IDE Versão 1.05
E-MAIL: jgustavoam@gmail.com
Permitido o uso público, mas devem-se manter os nomes dos autores.

A tensão lida no Potenciometro é usada para ajustar a frequência do Estroboscópio.
O valor da frequência definida é enviada via serial para o Monitor da IDE.

Montagem do Circuito:
* Conecte um potenciometro de 10K ohms no Pino Analog 0 (A0).
O pino central deve estar ligado ao Pino A0.
Os outros pinos do Pot devem estar ligados ao +5V e ao terra.
Os LEDs da lanterna deven estar ligados assim:
- fio vermelho e laranja ao +5V (Anodos dos LEDs)
- fio marrom ao Dreno do FET
O gate do FET deve estar ligado ao Pino Digital D12

Baseado no projeto de Steve Krave:
http://mehax.blogspot.com.br/2011/02/arduino-stroboscope.html

*/

// Definição da Constante

const int pino_analog = A0; // Pino analogico conectado o pino central do Potenciometro

// Definição das variáveis

float valor_sensor = 1; // Valor lido do Potenciometro = 0 a 1023
float pulso_strobe = 1; // Pulso do Estroboscopio
unsigned long micros_previo = 0; // Variável para contagem de Tempo
unsigned long micros_corrente = 0; // Também usada para contagem de Tempo
unsigned long millis_serial =0; // Usada para atraso - Rotina de envio dos dados para a Serial
float frequencia = 1; // Frequencia
int rpm = 0; // rpm

void setup()
{
  Serial.begin(115200); // Inicializa o Monitor Serial com 115200 Baud
  pinMode(12, OUTPUT); // Configura Pino Digital 12 como saída
}

void loop()
{
  valor_sensor = analogRead(pino_analog); // Mede o valor do potenciometro = 0 a 1023
  pulso_strobe = valor_sensor*54 + 400; // Duração do Pulso estroboscopio > Método empírico

  micros_corrente = micros(); // Coleta o tempo corrente do Timer

  if (micros_corrente > micros_previo + pulso_strobe) // Definição do tempo do laço
  {
    micros_previo = micros_previo + pulso_strobe; // atraso do Pulso estroboscopio

    digitalWrite(12,HIGH); // Acende os LEDs
    delayMicroseconds(200); // Duração de tempo do pulso de Luz em microsegundos, varie se desejar
    digitalWrite(12,LOW); // Apaga os LEDs

    if(millis() > millis_serial + 500) // Atraso de tempo de 500 milisegundos
      {
      millis_serial=millis();

      frequencia = 1000000/pulso_strobe; // Calculo da Frequencia
      rpm = frequencia * 60; // Calculo do RPM

      Serial.print(" Freq = " ); // Envia para o Monitor Serial o valor da Frequencia e do RPM
      Serial.print(frequencia);
      Serial.print(" RPM = ");
      Serial.println(rpm); }
     }
  }

}

Arduino_Strobe_Gustavo_02.txt

===================================================================================

E esse é o diagrama eletrônico do Arduino Estroboscópio:

Gustavo Murta (BH)

Exibições: 8658

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de José Gustavo Abreu Murta em 22 abril 2014 às 22:52

Obrigado pelo elogio, Peck.

Ontem eu fiz testes com um conjunto de leds com maior intensidade de luz :

Veja o video do teste com um ventilador de PC:

Comentário de Pecklauros em 22 abril 2014 às 16:35

Ficou muito bom!

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço