Explicación de cómo funciona uln2003a

Este es un esquema para los pines internos de entrada/salida de un uln2003a y otro transistor de matriz similar.

Por lo que entiendo, cuando no hay voltaje presente en el primer transistor, la corriente fluirá de la Salida C a E o Tierra. Aquí estoy, no estoy exactamente seguro de por qué tenemos un suelo en el esquema, ya que E debe estar conectado al suelo mismo.

Ahora, lo que realmente no entiendo es por qué hay un diodo de tierra a entrada. ¿No permitiría que la corriente fluya desde OutputC a Input? Supongo que si tal cosa sucediera, los transistores evitarían que la corriente fluyera hacia la entrada.

Todos los pines de salida deben estar conectados a algún tipo de voltaje positivo, de modo que cuando se active la entrada, el electrón se hundirá en la salida C.

En segundo lugar, parece que todas las entradas están conectadas a tierra, lo que hace posible activar todas las entradas a la vez. La resistencia entre cualquier par de entradas siempre ronda los 18,88K ohmios. Lo que me hace creer que si pongo demasiada corriente en una entrada, es suficiente para activar todas las entradas a la vez.

Al mirar el diagrama, podemos ver que no hay diodo para evitar que la corriente fluya de una entrada a otra.

La razón por la que pregunto es porque no puedo entender cómo conectar esto a un motor paso a paso. La mayor parte del tutorial simplemente conecta la entrada de un arduino, por ejemplo, y simplemente funciona. En mi caso, parece estar empujando demasiada corriente a través de la entrada o no lo suficiente porque la salida no parece activarse independientemente de la entrada.

Solo tengo un analizador digital, así que es un poco difícil entender lo que está pasando. Puedo ver en el analizador que el voltaje sube o baja en todos los canales.

Estaba tratando de agregar algo de resistencia en un cable para verificar cómo cambiaría la salida, después de obtener alrededor de 100k para una subida y bajada "limpia" para un solo canal, traté de conectar los otros canales pero una vez que los cuatro canales estaban conectados con cada uno de ellos con resistencia de 100k antes de la entrada. Todavía tengo señales desordenadas.

Es solo una suposición, pero dado que agregué una resistencia en cada canal, podría evitar que los electrones fluyan de regreso a cada entrada. Al igual que todas las entradas conectadas, pierden un poco de voltaje a tierra, por lo que técnicamente no es posible que fluya hacia atrás ... Con un canal utilizado, podría estar simplemente fluyendo a través del diodo a continuación ...

Cualquiera podría aclarar esto ... ¿Cómo es posible que 1 entrada maneje múltiples salidas?

El voltaje puesto en la entrada es 5v y en COM 12v. Cuando se conecta un motor paso a paso, espero que fluyan 12v a través de los puertos de salida que están abiertos.

ULN2003A esquemático interno

Aquí está el resumen de lo que tengo ahora mismo:

esquemático

simular este circuito : esquema creado con CircuitLab

Respuestas (3)

Espero que el símbolo de tierra represente la conexión al sustrato IC.

Es casi seguro que los diodos conectados a la entrada y la salida son diodos parásitos que no son realmente necesarios pero que se crean como parte del proceso de diseño de semiconductores. Dado que tienen polarización inversa en condiciones normales, no afectan el funcionamiento y el circuito se puede analizar como si no estuvieran allí. La corriente no fluirá a través de ellos en las condiciones que usará.

No entiendo tu explicación de lo que va mal. Debería poder controlar todos los canales de forma independiente.

Asegúrese de que el terminal E (pin 8) esté conectado al terminal negativo de la fuente de alimentación que alimenta al Arduino; es importante que compartan la misma tierra. Si tiene una fuente de alimentación independiente para el motor, su terminal negativo también debe conectarse al terminal E.

El terminal COM debe conectarse a una red amortiguadora o diodo zener para controlar la fuerza contraelectromotriz del motor a un valor razonable. Conectarlo al terminal positivo de la fuente de alimentación puede detener la acción adecuada del motor paso a paso, excepto a bajas velocidades.

Oh gracias. ¿Podría dar más detalles sobre el terreno común? ¿Es que si alguna corriente pasa a través de 5v+, tiene que volver a 5v- y de 12v+ tiene que volver a 12v-? Tendré que comprobar con algunos leds lo que realmente está pasando.
@ LoïcFaure-Lacroix: eso es exactamente correcto. También tiene que pasar de la entrada del Arduino a la tierra del arduino. Es posible que no funcione el uso de LED para indicar la corriente, ya que bajan demasiado el voltaje y perturban el funcionamiento.
En su esquema tiene el terminal COM conectado a +12v. Esto evitará daños al ULN2003, pero puede reducir el rendimiento del motor paso a paso a velocidades superiores a las bajas.
Sí, finalmente funciona con el motor. Parece funcionar a baja velocidad, por eso no me di cuenta al principio. El terreno común era el verdadero problema. Ahora la velocidad parece ser el problema. Supongo que desconectar los 12v al COM evitará que la bobina descargue energía en un bucle. Si no hay una forma real de manejar esto sin correr el riesgo de romper el uln2003, intentaré convertir esos motores unipolares y manejarlos con mis chips l293d. ¿Tiene alguna sugerencia para obtener una mayor velocidad?

Tu publicación proporciona muchas explicaciones de lo que piensas, pero no mucho sobre por qué lo piensas, y mucho de lo que escribes es simplemente incorrecto. Pero aquí va:

Por lo que entiendo, cuando no hay voltaje presente en el primer transistor, la corriente fluirá de la Salida C a E o Tierra.

Por lo general, pero no necesariamente, E está conectado a tierra, al menos a la tierra de la fuente de entrada. Sin entrada, los transistores no se encienden, por lo que solo fluirá la corriente de fuga y la carga se apagará. "la corriente" consistirá en un nivel muy bajo de fuga; puede encontrar las especificaciones en la hoja de datos.

Aquí estoy, no estoy exactamente seguro de por qué tenemos un suelo en el esquema, ya que E debe estar conectado al suelo mismo.

No necesariamente, aunque por lo general. Por ejemplo, E podría estar conectado a la tierra de alimentación de carga a través de una pequeña resistencia para permitir el monitoreo de la corriente de carga total.

Ahora, lo que realmente no entiendo es por qué hay un diodo de tierra a entrada.

Tenga en cuenta que el diodo tiene polarización inversa en condiciones normales de funcionamiento. Lo que hace es proteger las uniones base-emisor internas en caso de que se aplique un voltaje negativo a la entrada.

¿No permitiría que la corriente fluya desde OutputC a Input?

Si el voltaje de entrada es positivo, no. ¿Cómo podría? Si la entrada es negativa, nuevamente no, y nuevamente, ¿cómo podría ser?

Supongo que si tal cosa sucediera, los transistores evitarían que la corriente fluyera hacia la entrada.

Sí.

Todos los pines de salida deben estar conectados a algún tipo de voltaje positivo, de modo que cuando se active la entrada, el electrón se hundirá en la salida C.

Sí. Parece que te has perdido la forma en que este circuito normalmente está conectado, como en

esquemático

simular este circuito : esquema creado con CircuitLab

En segundo lugar, parece que todas las entradas están conectadas a tierra, lo que hace posible activar todas las entradas a la vez. La resistencia entre cualquier par de entradas siempre ronda los 18,88K ohmios. Lo que me hace creer que si pongo demasiada corriente en una entrada, es suficiente para activar todas las entradas a la vez.

No, y no tengo ni idea de por qué piensas eso. Sin voltaje en una entrada en particular, no habrá corriente a través de los transistores de ese canal y esa salida permanecerá apagada. Lo que está viendo entre las entradas no va a producir el efecto que piensa.

Al mirar el diagrama, podemos ver que no hay diodo para evitar que la corriente fluya de una entrada a otra.

Pero los diodos en los transistores sí.

La razón por la que pregunto es porque no puedo entender cómo conectar esto a un motor paso a paso. La mayor parte del tutorial simplemente conecta la entrada de un arduino, por ejemplo, y simplemente funciona. En mi caso, parece estar empujando demasiada corriente a través de la entrada o no lo suficiente porque la salida no parece activarse independientemente de la entrada.

Primero, asumo que su paso a paso es unipolar, es decir, con todas las bobinas conectadas a un cable común (o 2). Esto generalmente significará un motor de 5 o 6 hilos. Si es así, conecte todos los cables comunes a su fuente de alimentación paso a paso, los otros extremos a las salidas 2003, las señales de su unidad a las entradas apropiadas y conecte tanto la tierra del controlador como la tierra del suministro del motor al pin E.

Si su paso a paso es una unidad bipolar, con cada bobina independiente y un total de 4 cables, entonces necesita un controlador más sofisticado, y el 2003 no funcionará para usted.

Solo tengo un analizador digital, así que es un poco difícil entender lo que está pasando. Puedo ver en el analizador que el voltaje sube o baja en todos los canales.

Sin un esquema de cómo está conectado su circuito, eso no tiene ningún sentido.

Estaba tratando de agregar algo de resistencia en un cable para verificar cómo cambiaría la salida, después de obtener alrededor de 100k para una subida y bajada "limpia" para un solo canal, traté de conectar los otros canales pero una vez que los cuatro canales estaban conectados con cada uno de ellos con resistencia de 100k antes de la entrada. Todavía tengo señales desordenadas.

No. Suponiendo que se refiere a una resistencia en serie agregada a las entradas, no lo haga. Conecte las señales de su unidad directamente a las entradas del 2003.

Es solo una suposición, pero dado que agregué una resistencia en cada canal, podría evitar que los electrones fluyan de regreso a cada entrada. Al igual que todas las entradas conectadas, pierden un poco de voltaje a tierra, por lo que técnicamente no es posible que fluya hacia atrás ... Con un canal utilizado, podría estar simplemente fluyendo a través del diodo a continuación ...

Aaand - no.

Cualquiera podría aclarar esto ... ¿Cómo es posible que 1 entrada maneje múltiples salidas?

Ni idea. Muestre un esquema exacto de su circuito. Edite su publicación y use el editor de circuitos: el ícono con el diodo, el capacitor y la resistencia. Y, por favor, sin bocetos, sin imágenes de su circuito y sin Fritzings.

El voltaje puesto en la entrada es 5v y en COM 12v. Cuando se conecta un motor paso a paso, espero que fluyan 12v a través de los puertos de salida que están abiertos.

Y de nuevo, esto no tiene sentido. Sin nada conectado a una salida "que esté abierta", no hay posibilidad de que fluya corriente a través de ella. ¿De dónde vendría la corriente y cómo llegaría allí? Los electrones no son bestias mágicas que vuelan por el aire donde quieren (bueno, excepto los rayos) y si nada está conectado a un pin, la corriente no puede fluir a través de él.

Aquí está el esquema, la resistencia que mido está entre todos los pares de entrada B1-7.
@ LoïcFaure-Lacroix: si está midiendo la resistencia con el encendido, las lecturas no tienen sentido. Y tu circuito se ve bien. Entonces, una vez más, ¿cuál es exactamente tu problema?
Medición con apagado. El problema era que 1 entrada activaría todas las salidas. Al principio no tenía puntos en común, pero solo estaba conectado el suelo de 12v.
@ LoïcFaure-Lacroix: si eso sigue sucediendo con los terrenos correctamente conectados, el 2003 es malo.
¿O es posible que no hayas configurado correctamente las resistencias pull *up*/down de arduino y las hayas dejado flotando?

Señalaría que el diodo está diseñado como un diodo de retorno (creo que así se llama) que se usa para evitar que el flujo de corriente inversa dañe el dispositivo cuando se conduce una carga inductiva. Como un motor. Cuando el motor se detiene, al desacelerarse, puede inducir una corriente en sentido contrario a la que lo impulsaba. Esta corriente puede dañar la matriz Darlington, según la hoja de datos. El diodo empuja esa corriente hacia la entrada del IC, no hacia la salida. Aparte de eso, la respuesta de Kevin White es más de lo que podría haber ayudado.