Estou tentando calibrar dos LDR´s mas as leituras estão muito díspares entre uma leitura e outras, variando por todo o espectro de leitura

Exibições: 921

Anexos

Responder esta

Respostas a este tópico

Leituras.jpg

Estas foram as leituras depois de incuir a letra "A".

No seu código antes do numero 4 ou 5 no analogRead, coloque a letra A, e teste e conte o resultado.

RV

  • – Resistência no escuro: 1 MΩ (Lux 0

  • – Resistência na luz: 10-20 KΩ (Lux 10)

    info do datasheet

Olá

   Os LDRs são mais sensores de existencia de luz, não tem precisao. Usam uma tecnologia dos anos 70 ou antes (sei que já existiam quando nasci). 

   Se vc precisa realmente medir a intensidade luminosa precisa de algo mais moderno.

    Procure peloBh1750 Gy-302

Eduardo HM, preciso orientar um seguidor solar. ja havia feito testes satisfatórios.

Não faz sentido, as leituras não estão constantes, mesmo sem variação de luminosidade,  faz cerca de 8 a 10 leituras com escala cheia(1023) ou quase isso depois vai caindo a zero, faz umas 8 - 10 leituras com valor zero depois volta a subir, num ciclo constante e permanente assim.

Usando resistores 330 ohms que recebem alimentação +5v na protoboard, e na sequencia vai o jumper pra porta A5 do arduino e por fim o jumper que vem do LDR, o outro jumper do LDR vai pra protoboard no GND.

Ahh, imprecisão é não ser preciso, erro de 3%, por ex.. O LDR não é, mas o caso é de loucura total...

Meça com o multímetro a tensão no pino do microcontrolador, com a ponta GND no GND do microcontrolador mesmo.

Mande uma imagem, melhor se filme, do que está acontecendo para entender melhor.

olá Maurivan.

      Você não mostrou um esquema elétrico das suas ligações,  e a descrição das mesmas que vc passou não é assim tão clara. Mas com algum esforço, pode-se imaginar como ela está.

      Coloque um Capacitor com valor entre 220 kpF e 1uF  ligado entre o GND  e a Entrada Analógica do Arduino.  Se o seu circuito for como eu imagino,  isto será o mesmo que colocar o Capacitor  em paralelo com o LDR,  conforme vc pode ver na figura a seguir:

(clique na figura para "zoom")

      Muito Importante:  O Capacitor deve ser obrigatoriamente do tipo CerâmicoNão use   Eletrolítico de Alumínio,  pois eles não são adequados para esta aplicação.  Além disso, se o Capacitor estiver no protoboard  como na figura,  evite que os fios que interligam o GND e a Entrada Analógica do Arduino ao protoboard, tenham mais de 10 cm de comprimento (na figura, são o fio preto e o fio azul).

      Ah sim:  no seu código, está convertendo os canais A4 e A5. Como o RV disse, nas linhas onde tem o "analogRead(4)"  e "analogRead (5)",   escreva  "analogRead (A4)"  e "analogRead (A5)".

      Se tiver mais de um circuito com LDR,  faça o mesmo para o outro LDR como mostrei na figura anterior, ou seja:  acrescente outro Capacitor da mesma forma.

      Se vc não souber o porque é preciso ligar este Capacitor,  me pergunte.

      Abrçs,

      Elcids

ainda a tempo:

      Na figura que preparei,  coloquei um Resistor de 330Ω,  pois vc disse estar usando este valor.

      No entanto,  se a impedância do LDR na luminosidade "total"  estiver entre 10kΩ  e 20kΩ  conforme vc disse que o datasheet informa,  então este valor de 330Ω  não é o valor mais adequado para o Resistor, e levará a um aproveitamento ruim  da faixa de conversão do Arduino (estou considerando também o valor de 1MΩ na escuridão total que vc informou).

      Então, se o valor na luminosidade máxima for mesmo o que vc informou,  o valor mais adequado para o Resistor será algo entre 47 kΩ  e 100 kΩ.  Você pode achar estes valores estranhos, mas  justamente o que permite usá-los é acrescentar o Capacitor  conforme mostrei,   além é claro da faixa de impedância do LDR quando submetido aos extremos de luminosidade que vc informou.

     Abrçs,

     Elcids

Obrigado, estou tentando entender as sugestões. Mais uma coisa, onde vocês desenham os esquemas? Qual programa?

olá novamente Maurivan.

      Siga as orientações que passei. O motivo de se precisar usar o Capacitor, é absolutamente técnico. Está relacionado à duas coisas:  fornecer carga mais que suficiente a um Capacitor de baixo valor que existe dentro do Conversor AD do Arduino,  e  diminuir o efeito da "Injeção de Carga".

      O primeiro motivo, está relacionado à alta impedância dos circuitos externos, neste caso as impedâncias do LDR. Se na luminosidade máxima estiver entre 10kΩ e 20kΩ, isto é considerada alta impedância para o ADC do Arduino,  o que é péssimo.  O Capacitor neste caso  atua justamente baixando a impedância no momento  da Conversão AD (ou seja: o Capacitor atua como uma baixa Impedância AC).

      O segundo motivo,  não entrarei em detalhes aqui, pois é mais complexo e exige mais explicações, mas explicarei isso futuramente em um tópico aqui no LDG.  Mas está relacionado a uma Carga Elétrica  que é "injetada"  na entrada do ADC do Arduino,  sempre que vc  troca o canal a ser convertido (no seu caso Maurivan ocorre justamente quando vc troca entre A4 e A5).  A "Injeção de Carga" é um efeito colateral indesejado,  pois distorce o valor convertido, e no resultado parece ter um "ruído".  O Capacitor neste caso,  não elimina "Injeção de Carga", mas diminui drasticamente o efeito dessa "Injeção",   e o ruído final resultante geralmente pode ser negligenciado. Inclusive é perfeitamente possível calcular o nível de ruído sem e com o Capacitor.

      Nos dois casos,   quanto maior a impedância ligada à entrada do Conversor AD do Arduino,  pioram os resultados.  E no seu caso, as impedâncias são altas. Então é preciso usar o Capacitor.

      Uma informação adicional:  a "Injeção de Carga" é tão danosa,  que ela irá ocorrer mesmo que vc tenha impedâncias muito baixas,  e a única forma de combatê-la é com o Capacitor.  Os fabricantes de CIs, tentam a todo custo evitá-la, mas é algo tecnicamente difícil, e pode ter um custo alto. Então é melhor se precaver contra ela.

      Atente também para o valor do Resistor, que conforme mencionei antes o valor deve estar de acordo com a variação máxima da impedância do LDR (ou seja, nos extremos de claro e escuro).  Sempre é possível escolher ou mesmo calcular um valor adequado para este Resistor.  E o valor de 330Ω que vc está usando, não me parece nada adequado para as variações de impedância do LDR que vc informou.

      Sobre o programa para desenhar o circuito, usei o "Fritzing" para fazer  aquela figura.  O "Fritzing" é muito popular,   mas não gosto de usá-lo (acho esquisito e "travado").  Procure na Internet pois será fácil encontrá-lo (como eu disse, ele é extremamente popular).

      Abrçs,

      Elcids

Mais um problema, quando alimento os LDR's com fonte externa na protoboard, não há leitura satisfatória, somente quando alimento com o Arduino. Como resolvo isso?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço