Si un IC tiene una resistencia externa para la temporización, ¿se puede reemplazar con un voltaje analógico de otro IC?

Específicamente, quiero controlar la frecuencia de muestreo de un ISP1820 con una salida analógica de un Arduino. Sé que podría colocar un potenciómetro digital, pero no tengo uno y eso parece una complejidad innecesaria si pudiera quitar la resistencia y hacer que el Arduino mire uno de los pines en el otro chip y calcule cuál es el otro pin. debería ver.

¿O podría poner dos pines de un transistor en el chip secundario y hacer que Arduino controle la frecuencia de muestreo cambiando el transistor a una frecuencia determinada? También tengo una pequeña pila de amplificadores operacionales aleatorios, chips lógicos CMOS y 555. No tengo ningún problema con el 1820 fallando un poco, por lo que una solución torpe sería aceptable.

Respuestas (1)

Ese es un ISD1820 que tiene, no un ISP1820.

Aquí está el esquema de un dispositivo típico hecho con un ISD1820:

ingrese la descripción de la imagen aquí

La forma más sencilla de cambiar las frecuencias de funcionamiento sería conectar dos resistencias a R O S C . Un extremo de cada resistencia para R O S C , el otro a un pin IO digital en el Arduino.

Para seleccionar una frecuencia en particular, configura el pin para que la resistencia emita y conecte a tierra. Establece la otra salida en INPUT. Eso deja el pin de E/S digital flotando para que no moleste al ISD1820. No use INPUT_PULLUP ya que eso activará otra resistencia en el Arduino.

Eso le dará valores de resistencia específicos para frecuencias de muestreo específicas en el ISD1820. Puede usar más pines y resistencias para obtener más frecuencias de muestreo. Con múltiples resistencias, puede conectarlas en varias combinaciones para obtener más frecuencias.

Esto no le dará frecuencias infinitamente variables como lo haría un potenciómetro, pero tal vez haga lo que necesita.


Un boceto de lo que describí:

esquemático

simular este circuito : esquema creado con CircuitLab

  • Si configura Digital9 en SALIDA y BAJO, y Digital10 en ENTRADA, entonces el ISD1820 utilizará la frecuencia de muestreo de 6,4 kHz (grabación de 10 segundos).
  • Si configura Digital10 en SALIDA y BAJO, y Digital9 en ENTRADA, el ISD1820 utilizará la frecuencia de muestreo de 3,2 kHz (grabación de 20 segundos).

Si realmente desea una tasa de muestreo variable, puede probar esto:

esquemático

simular este circuito

Use PWM (analogWrite) en el pin D9 del Arduino. Creo que el ISD1820 usa la corriente de descarga a través de R O S C para configurar la frecuencia. Variar el ciclo de trabajo de PWM variará la corriente de R O S C .

Probablemente tendrá que jugar con los valores de los componentes y la tasa de PWM para que funcione. Los valores son una conjetura descabellada que puede no estar cerca de ser correcta, o tal vez dar en el clavo. Quién sabe. Las hojas de datos de ISD1820 son realmente malas y no dan detalles sobre R O S C .

Pruébalo. Si funciona, puede publicar su propia respuesta con los valores finales y el código que utilizó (valores PWM, etc.)

¡Hermoso, muchas gracias! Y gracias por la minuciosidad y claridad de la respuesta. Y pésima es la palabra correcta para comenzar con las hojas de datos, pero aún así, me gustaría haber pensado en mirar más de cerca ese diagrama. ¿Estaba loco al pensar que la resistencia estaba en dos pines? Imagino que hay varias formas de hacerlo...
Déjame saber cómo resulta y qué solución usaste.