Estoy trabajando en un programador eeprom como escudo Arduino. Hay dos pines en mi EEPROM que requieren una señal de 12V como parte del proceso de programación. Uno de ellos es un pin de dirección que también conduzco mediante una señal a través de un registro de desplazamiento 595, y el otro es el pin de habilitación de salida que está conectado a un pin normal de Arduino para operación de 5V y 0V.
Me gustaría tener un pin en el arduino para cada uno de los pines de 12 V que lo establecerán en el voltaje más alto sin dañar ningún otro componente.
Estaba pensando que podría usar una configuración de transistor simple como la Figura 1 en esta página, pero realmente no estoy seguro de qué tan bien funcionaría cuando se conectara a ambas fuentes a la vez. Necesitaría diodos para proteger mis componentes de 5V de daños por la señal de 12V, pero sospecho que el circuito puede funcionar. Simplificaré las cosas asegurándome de que Vin sea un suministro sólido de 12V.
Aquí está mi diseño inicial:
Mi principal problema es que no entiendo muy bien los elementos del circuito en juego aquí. ¿Esto explotará? Todavía estoy un poco confundido por los circuitos de transistores simples y no estoy seguro de qué partes específicas usar. Siento que lo que estoy tratando de hacer no es tan difícil, pero mis habilidades de circuito no son lo suficientemente buenas como para saber cuál es la mejor manera de lograrlo. Gracias.
Aquí hay un circuito que debería funcionar:
Su idea básica de usar un interruptor PNP de lado alto estaba bien. El problema con esto es que esto expone el alto voltaje al pin micro.
En este circuito, Q2 es el interruptor del lado alto que enciende o apaga la salida de 12V. Q1 cambia el interruptor del lado alto, aislando así el micro de los 12 V en la base de Q2.
Cuando la base de Q1 se mantiene en 5 V, el emisor será de 4,3 V, por lo que habrá 1 mA a través de R1. La mayor parte de esto también fluye a través del colector de Q1, que actúa como un sumidero de corriente conmutable de 1 mA. La mayor parte de esto solo puede provenir de la base de Q2. Suponiendo que los dos transistores tienen cada uno una ganancia de al menos 50, entonces la salida es buena para al menos 45 mA para que Q2 permanezca saturado. El propósito de R3 es solo asegurarse de que Q2 esté realmente apagado cuando Q1 esté apagado.
Si bien esta es una publicación anterior, recientemente tuve este mismo problema cuando estaba haciendo una grabadora de EEPROM para retrocomputación (donde necesitaba escribir algunas EPROM de estilo 27C512). La respuesta actualmente aceptada tiene la idea correcta (que usé), pero le falta el control y la protección del nivel lógico (5V), y el menú desplegable en el lado de salida. El siguiente circuito agrega estos, y funcionó para mí:
El pin del microcontrolador que se conecta a HVCtl
controla el voltaje "alto" ( VPP
p. ej., 12 V), LVCtl
controla el voltaje de nivel lógico (p. ej., 5 V), y cuando ambos están bajos, R4
baja el pin. El diodo Schottky protege el LVCtl
pin del microcontrolador de VPP
, mientras que tiene una caída de voltaje tan baja que no afecta el reconocimiento del nivel lógico.
Es decir, la salida ( OUT
) está en VPP
siempre HVCtl
que sea alta, de lo contrario, está en el estado de LVCtl
.
El diodo y los transistores se pueden sustituir por otras partes, estas son solo las que usé (porque las tenía). (editar: en retrospectiva, sugeriría una resistencia de valor más bajo para R2
admitir corrientes de programación más altas, por ejemplo, 10K o 4.7K. Sin embargo, el 22K que se muestra funciona en la práctica incluso para EPROM antiguos con hasta 30 mA o más de corriente de programación. )
De las preguntas anteriores deduzco que no quieres un programador universal, sino uno que pueda programar el dispositivo que necesitas para tu CPU homebrew, CMIIW.
Elegiría otro dispositivo EEPROM. ¡El voltaje de programación de 12 V es realmente Fred Flintstone! Los dispositivos modernos son programables a 5V. Ya sugerí echar un vistazo a la memoria Flash en lugar de EEPROM. El SST39SF010A puede escribir a 5 V , y por el dinero obtienes el doble de 64 KB , por lo que si lo deseas, puedes cargar dos programas y alternar entre ellos alternando A16. Para futuras mejoras, hay dispositivos Flash compatibles con pines con 256 KB y 512 KB (misma hoja de datos). Y está disponible en paquete DIL. ¿Quién necesita 12V?
captncraig
olin lathrop
captncraig
olin lathrop
captncraig
Tomas O.
stevenvh
stevenvh
Tomas O.