Simulando un sensor de interruptor foto transmisor con Arduino

1

En primer lugar hola. Me encuentro en problemas al intentar simular el comportamiento de un sensor fotointerruptor utilizando Arduino Uno R3. La idea es deshacerse del sensor y usar Arduino para enviar las señales, para poder controlar el dispositivo por mi propia demanda.

De acuerdo con la hoja de datos, el sensor funciona con 3.3V y tiene las siguientes salidas. ALTO - si el voltaje es > 2.4V BAJA: si el voltaje es < 0.4V

He conectado mi PWM pin10 de Arduino al pin de salida del sensor y GND a GND y escribí un código de prueba simple que cambia el estado dentro de un bucle como este:

analogWrite(PinNr, 170);// send High signal 170 = 3.3v PWM output
delay(120); // wait 120ms
analogWrite(PinNr,0); // send Low signal
delay(120); // wait 120ms

El problema es que no funciona de esta manera.

Si conecto una simple batería de 3V al Pin de salida del sensor y GND a GND a través de un simple botón y presiono y suelte rápidamente el botón, este método funciona perfectamente. Necesito poder hacer esto usando Arduino y no a mano, así que creo que el problema se relaciona con el tipo de señal (Arduino PWM vs analógico).

Busqué una forma de convertir la señal PWM de Arduino a analógica usando un filtro de paso bajo, pero tengo problemas para entender cuál es la frecuencia de cufoff y el tiempo de respuesta del filtro RC que debo tener en cuenta. Por ejemplo, sé que el pin 10 de Arduino PWM funciona a una frecuencia de 500 hz y me gustaría que el filtro respondiera al cambio de estado HIGH-delay (120) -LOW-delay (120) lo más rápido posible. La hoja de datos del sensor especifica que cualquier voltaje > 2.4v se interpretará como una señal ALTA y cualquier tensión < 0.4v se interpretará como un voltaje BAJO, por lo que creo que la ondulación puede tener un marje mayor.

Por favor, ayúdeme a entender qué valores elegir para el RC

    
pregunta n00b007

1 respuesta

0

Básicamente, debes elegir un filtro con una frecuencia de corte inferior a la frecuencia de origen para que el PWM se vea como DC. Para ser claros, ningún filtro de primer orden (o cualquier filtro) convertirá una señal en CC pura (siempre habrá un componente de ruido), pero puede acercarse lo suficiente como para que a su circuito receptor no le importe.

Para calcular la frecuencia de corte, utilizamos esta fórmula, que es para filtros RC de primer orden:

\ $ f_c = \ dfrac {1} {2 \ pi R C} \ $

Ahora debemos usar un poco de la intuición de los ingenieros para averiguar cuál sería una frecuencia de corte adecuada. Yo diría que comenzar a una frecuencia de corte de 10 hz e ir de allí. Mediante una simple reorganización de la fórmula, podemos calcular \ $ R \ $ seleccionando \ $ f_c \ $ y \ $ C \ $.

\ $ R = \ dfrac {1} {2 \ pi f_c C} \ $

La razón por la que elegí "seleccionar" el valor del capacitor es porque generalmente es mucho más fácil encontrar una resistencia adecuada (o red de resistencias) que encontrar un capacitor de tamaño impar. Así que si tienes un montón de condensadores alrededor, elige uno y ve desde allí. Si su resistencia es realmente extravagante (como muy alta o muy baja), elija una nueva C e intente nuevamente. Para esta situación, podría salirse con la suya utilizando una tapa de 10uF y una resistencia de 1.5K.

Si encuentra que hay demasiada ondulación, aumente el valor de su condensador. Si encuentra que necesita una respuesta más rápida para cambiar las frecuencias de PWM, reduzca el valor de su condensador. Puede lograr efectos similares cambiando el valor de R, pero eso limitará la capacidad de su unidad en ese pin a medida que R se hace más y más alto. Además, si el valor de R se acerca a la impedancia de entrada de la carga que está conduciendo, comenzará a actuar como un divisor de voltaje que no es deseable.

También hay muchas calculadoras de filtros en Internet que pueden ayudarte a diseñar esto. Por lo general, para este tipo de situaciones no es necesario aplicar mucho rigor de ingeniería; Si puede estimar lo que necesita, y eso funciona para usted, entonces realmente no hay necesidad de hacer un análisis más profundo.

    
respondido por el Brendan Simpson

Lea otras preguntas en las etiquetas