Interruptor de alimentación de fotoresistor para arduino, ¿se ve bien?

0

editar: esquema subido: soy un novato, este diagrama puede no ser correcto pero debería transmitir el intento.

Quiero encender el microcontrolador arduino cuando está oscuro.

Puse un ejemplo en una pizarra y subí el siguiente diagrama.

Power

Usando un fotoresistor y un transistor, planeo cambiar el lado alto que lleva la energía al arduino desde un adaptador de 5v dc (eventualmente una batería).

  • Arduino: enlace
  • ARD_PWR: 5v de potencia de entrada regulada de arduino
  • ARD_GND: puerto de tierra de arduino
  • ARD_OUT_1: un pin de salida del arduino, con 5v
  • ARD_OUT_2: otro pin de salida de arduino, con 5v

LEDS

Planeo controlar 5 vatios de potencia a los LED a través de los puertos de salida del arduino, y uso resistencias de 200Ω para regular la corriente en el lado de tierra.

Pregunta:

¿Cómo puedo determinar los valores de resistencia para R1 y R2? Soy nuevo en EE y en la ley de ohm, lo siento.

¿Mi lógica está sonada? ¿Es esto terriblemente ineficiente?

Referencia

    
pregunta user3228313

5 respuestas

0

Un problema como este puede implementarse con mayor precisión con el diseño de fotodiodo y TIA Op Amp o un "sensor de luz" activo. Las PD tienen tolerancias mucho más precisas que las LDR, por lo que no necesita un recipiente para ajustar.

Un solo transistor es un comparador que usa el voltaje de referencia Vbe pero la ganancia no es muy alta en comparación con un comparador y el voltaje de referencia está sujeto a variaciones con la corriente de polarización, pero puede ser adecuado.

Luego, todo lo que debe hacer es apuntarlo en la dirección correcta para evitar errores de luz nocturna y determinar los umbrales de Encendido y Apagado. En lugar de un detector de gran angular, puede ser un tubo estrecho de encogimiento de calor para bloquear la luz no deseada.

Si la luz reflejada detectada en una luz nocturna es más baja que la luz ambiente, el diseño óptico del sensor es más simple.

Sugiero analizar los diseños existentes y descubrir cómo se discuten las tolerancias de error para comprender más. Luego estudiar los comparadores de umbral con histéresis. Las respuestas a estas dependen de sus búsquedas de palabras clave.

Un diseño simple debe cumplir con todos los requisitos detallados, así que sigue preguntándote qué es input & Tolerancia de salida, para que entiendas la tolerancia de la función de transferencia, donde importa. enlace

    
respondido por el Tony EE rocketscientist
1

Daniel tiene un excelente enfoque: mantener el microcontrolador cargado y vivo siempre.
Dado que un fotoresistor tiene una alta resistencia en la oscuridad, utilícelo para cargar un capacitor en uno de los pines de entrada del microcontrolador. Se cargará lentamente en la oscuridad, mucho más rápido cuando se ilumine. Cualquier microcontrolador es muy experto en medir este tiempo de carga.

simular este circuito : esquema creado usando CircuitLab


Quizás la fotorresistencia se eleva a 500Kohms cuando se acerca la oscuridad. Si C1 comienza a cero voltios (descargado), su voltaje aumentará exponencialmente a aproximadamente 3 V en medio segundo. En la oscuridad total, el tiempo de carga será más largo.
Las corrientes de fuga del pin de entrada no se han tenido en cuenta, pero suelen ser bastante pequeñas.
Una vez que se detectó una lógica alta en el pin de entrada, puede cambiarlo para que sea un pin de salida , de modo que C1 pueda descargarse nuevamente a cero voltios. Esto llevará unos 500 microsegundos. Una vez descargado de nuevo a cero voltios, el pin vuelve a cambiar a un pin de entrada , y se inicia un temporizador. Cuando el pin de entrada cambia de 0 lógico a 1 lógico, el temporizador se detiene, el tiempo empleado es una medida de "oscuridad".

También es posible utilizar el convertidor de analógico a digital del microcontrolador para medir la velocidad de aumento de voltaje en C1.

La mayoría de los microcontroladores tienen un estado de baja potencia que extrae muy poca corriente de su fuente (V1). Si se debe minimizar el consumo de corriente del suministro, el microcontrolador puede pasar la mayor parte de su tiempo dormido, despertando de vez en cuando para comprobar la oscuridad. En este caso, C1 podría ser mucho más pequeño para minimizar el tiempo necesario para que aumente su voltaje.
Mantenga el LDR1 aislado ópticamente de las fuentes de luz LED.

    
respondido por el glen_geek
0

El principal problema con su plan es que la resistencia del LDR cambia gradualmente a medida que cambia el nivel de luz, lo que significa que la potencia suministrada al Arduino también cambiaría gradualmente. Lo que necesitas es algo que se encaje completamente cuando está oscuro y que luego se salga cuando esté claro.

Podrías poner en cascada varias etapas de transistores para aumentar la ganancia. Use una potencia PNP para la etapa final y omita R2 ... debería ser cero ohmios. Entiendo que este consejo puede no llevarlo a un circuito real, pero me temo que esto está un poco por encima de su cabeza.

    
respondido por el Elliot Alderson
0

El enfoque de apagar el Arduino solo tiene sentido si está utilizando algo como un Arduino UNO o similar donde hay dispositivos (serie a USB) e indicadores LED que darían como resultado un consumo de corriente inevitable.

Si está utilizando solo el ATMega328P (sin chips auxiliares) tiene más sentido simplemente poner la MCU en reposo.

La lógica que propones al usar el LDR con un transistor no funcionará bien ya que el Arduino podría apagarse en cualquier momento (una consecuencia no deseada) si el nivel de luz cae (como una mano sobre el LDR). Tienes un control muy pobre a menos que tengas puntos de histéresis definidos definidos.

Le sugiero que necesite algún tipo de lógica en la entrada y sería mucho mejor usar un FET en lugar de un transistor como interruptor de encendido. Quizás algo en este sentido:

simular este circuito : esquema creado usando CircuitLab

Aquí sugiero un dispositivo TinyLogic, el NC7SV57 . Este dispositivo es configurable y se muestra aquí es una compuerta NOR de 2 entradas que se usa para controlar la compuerta de un FET de canal P

.

La configuración del NC7SZ57 es la siguiente:

LaMCUusalasegundaentradaparaasegurarsedequeunavezquesehayaencendido,puedausarunpinDIOdeArduinoparaasegurarsedequeelinterruptordealimentaciónpermanezcaencendido(establezcaelpinIOalto)hastaquedecidacambiarelestado.CuandoelArduinoestáapagado,estepinsemantienebajoenR2paraquesoloseuselaentradaLDR.

Tambiénvalelapenaleer acerca del uso de un LED como sensor óptico en una solución en la que puede poner a dormir la MCU . Esto tiene la ventaja de que no necesita amplificadores operacionales de alta ganancia, comparadores de nivel, LDR o fotodiodo. Todo lo que tiene que hacer es usar dos pines DIO para controlar uno de sus LED (un poco como un puente H). A continuación, puede utilizar un bucle de tiempo para determinar el nivel de luz.

    
respondido por el Jack Creasey
-1

configuraciónvacía(){

Serial.begin(115200,SERIAL_8N1);

pinMode(7,INPUT_PULLUP);  pinMode(2,SALIDA);

}

buclevacío(){

if(analogRead(7)<=450){    digitalWrite(2,ALTO);

}

else{    escrituradigital(2,BAJA);

}

Serial.print("a7=");   Serial.println (analogRead (7));

}
    
respondido por el 吳勻昌

Lea otras preguntas en las etiquetas