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: 6614

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 29 setembro 2015 às 12:27

Moisés , o uso do RTC 1302 não vai dar mais exatidão.

Os tempos são baseados no clock do Arduino. 

Comentário de Moisés Canabarro em 29 setembro 2015 às 12:09

Olá, tenho uma dúvida. Vou montar o projeto porém se eu usar um módulo RTC 1302 isso melhoraria no quesito exatidão?

Comentário de José Gustavo Abreu Murta em 2 maio 2015 às 19:58

Você esta alimentando somente o Arduino com o regulador 7805?

Acho que não deveria esquentar muito. Pode usar um dissipador de calor com o regulador.

A fita de LED (já esta usando uma?) deve ser alimentada com 12V.

Comentário de Leonardo Gallep em 2 maio 2015 às 16:26

José, mais uma pergunta. Montamos uma ultima versão utilizando um arduino nano e tudo o mais e colocamos um redutor 7805 para alimentar o arduino, porém estamos percebendo que esse redutor esquenta bem, isso é normal mesmo, certo? Será que esse circuito da forma que esta consegue trabalhar por vários dias seguidos? Estamos até pensando em alimentar o arduino com uma fonte de 5v ou 9v separadamente para evitar que aquecer demais. O que acha?

Comentário de José Gustavo Abreu Murta em 27 abril 2015 às 18:50

E apague a luz da sala de testes. 

Comentário de José Gustavo Abreu Murta em 27 abril 2015 às 18:49

Leonardo, esta usando qual fita de led ? quantos lumens ?

Esta alimentando com 12V ? Tem que usar um FET, senão pode ser que o Arduino não consiga alimentar corretamente a fita (sobrecarregando ou até podendo queimar o Arduino).

Use microsegundos (numeros inteiros) . Se usar milisegundo, terá que usar numeros fracionários (floating) 

Comentário de Leonardo Gallep em 26 abril 2015 às 8:52

Bom dia, eu mais uma vez.

Ontem estávamos testando um sistema similar ao seu usando o arduino UNO. Conseguimos um strobo legal mas como estávamos sem um FET maior acredito que a fita de LED não estivesse acesa com sua maior intensidade, ainda não conseguimos fazer a pá do ventilador parar, rs.

Ficamos na duvida quanto ao seguinte: no seu código você esta usando "microseconds", porém quando tentamos trabalhar com ele ao invés do milisegundo o ajuste da frequência ficava meio maluco, aumentava a intensidade da luz as vezes, outras parecia falhar um pouco, enfim. Você teve um motivo específico para trabalhar com o microsegundo? 

Tentando deixar o pulso do LED o mais curto possível ele fica com a luz muito fraca, um meio termo foi em torno de 5 milesegundos se não me engano.

Comentário de José Gustavo Abreu Murta em 25 abril 2015 às 11:29

Leonardo, o limite de corrente do circuito chaveador dependerá do FET que usar. 

Existem milhares de FET similares. Use um FET N-Channel. 

O IRF520 que usei aguenta até 6,5 ampéres ! Mais do que suficiente para duas fitas de Leds. 

http://www.vishay.com/docs/91017/91017.pdf

Comentário de Leonardo Gallep em 25 abril 2015 às 9:32

José, esse sistema da conta de alimentar qualquer sistema de LED? Ele trabalha apenas chaveando um dos polos? Posso colocar nele uma quantidade bem maior como você tinha me sugerido no caso de usar duas fitas ou 1 ou mais placas de LEDs?

Comentário de José Gustavo Abreu Murta em 24 abril 2015 às 9:02

Sobre  geração de tom, eu enviei alguns links no seu tópico.

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço