Cómo rediseñar un circuito para usar un IC de hundimiento de corriente en lugar de un IC de abastecimiento de corriente

9

Estoy construyendo un servocontrolador en serie para aprender sobre electrónica y lenguaje de ensamblaje como parte de mi proyecto de robot hexapod . Muy pronto decidí que necesitaba más canales de E / S que mi ATTiny2313 que estaba usando en el momento admitido, así que investigué algunos chips demultiplexores de 3-8 líneas ( CD74HCT238E ) que me permitieron crear un servo PWM de 64 canales controlador con solo 8 pines de E / S para los canales PWM y 3 líneas de dirección.

De todas formas. También compré algunos CD74HCT138E que son activos bajos en lugar de los activos altos CD74HCT238E. Entiendo, en principio, las diferencias entre el chip de abastecimiento actual que estoy usando y los chips de hundimiento actuales, pero realmente no sé cómo ajustar mi circuito para usar los chips de hundimiento actuales en lugar de los chips de abastecimiento actuales.

El esquema de los chips activos altos está aquí: texto alternativo ¿Qué necesito cambiar para cambiar los CD74HCT238E por los CD74HCT138E?

Tenga en cuenta que la razón para hacer esta pregunta es que compré un tubo de los IC bajos activos por error y tengo curiosidad por saber cuánto más complejo debería ser el diseño esquemático y del circuito para que pueda usarlos.

Len Holgate
fuente

Respuestas:

2

El '238 tiene solo una de las ocho salidas lógicas altas, el suministro de corriente, el resto de los pines será lógicamente bajo, la corriente de hundimiento. El '138 es precisamente lo contrario, uno de los ocho pines puede ser bajo, la corriente de hundimiento, el resto será alto, la corriente de abastecimiento.

Para "invertir" la función del '138, podría usar ocho transistores PNP con las bases unidas a una salida del' 138 con una resistencia, los emisores conectados a +5 y los colectores conectados a uno de sus servos conectores O utilice varios inversores (74HCT04 u octal 74HCT240) para cambiar el sentido de las salidas.

Su elección de 1 de 8 decodificadores limitará lo que puede hacer con sus servos, ya que su circuito solo puede activar una salida a la vez. La velocidad máxima de cualquier servo estará limitada por la cantidad de servos que desee activar. Si quisieras activar los 64 canales, por ejemplo, todos estarían funcionando a una velocidad promedio de 1/64.

El PCF8575C es muy útil para expandir E / S digitales utilizando el protocolo serial I2C de dispositivos como Arduino. Puede ejecutar 64 servos usando 2 pines en el Arduino y 4 PCF8575Cs. Esto le daría más flexibilidad para configurar sus ciclos de trabajo PWM.

SiliconFarmer
fuente
Tengo la sensación de que si estuviera usando estos chips para expandir las E / S por una razón que no sea el servocontrol, cambiar el valor activo alto por el activo bajo sería un problema menor, ya que simplemente invertiría el circuito que se conectaba al pin. Sin embargo, dado que necesito manejar la línea de servocontrol con + VE, necesito que los inversores me lo den, ya que no puedo manejar la línea de control desde otro lugar y simplemente hundirla en el CI.
Len Holgate el
Por otro lado, el servocontrol PWM que usa los IC altos activos está funcionando bien. Ejecuto 8 de los 1 de 8 chips decodificadores fuera de mi microprocesador y luego paso por las líneas de dirección (cambiándolas cada 2.5 ms) para que pueda generar la actualización requerida de 50Hz en los 64 canales. Esto me permite generar los pulsos necesarios de 600us-2.4ms en cada canal. Supongo que el PCF8575C es más fácil de usar porque solo le envía un comando para activar / desactivar el pin apropiado y se mantiene así en lugar de que los 238 necesiten el pin correspondiente en el microprocesador para mantenerse en alto durante todo el tiempo.
Len Holgate el
1
Realmente depende de la aplicación, me alegra saber que está funcionando. En muchos casos, el chip al que estás conectado es fácil de manejar con el cambio de activo alto a activo bajo, pero el tuyo no era uno de esos.
Kortuk
3

Son lo mismo excluyendo la salida. La baja activa es exactamente la misma que la alta activa con una entrada invertida en todos los pines.

Tengo algunas aplicaciones con servos, esto requeriría poner un inversor en cada ruta o cambiar mis servos. Con información para su servo, podría ayudarlo más, pero dudo que este cambio valga la pena.

Eché un vistazo a su sitio, lo disfruté las dos veces que lo visité, pero no encontré más información de hardware, si me perdí algo, me disculpo. -Max Murphy

Kortuk
fuente
2
Sí, me doy cuenta de que son iguales excepto por la salida. Supuse que había una manera razonablemente fácil de conectar el servo al IC bajo activo. Los servos son simples Hitec HS-422s. Si tuviera que pasar un cable desde VCC, a través de, supongo, una resistencia, al pin activo de salida baja, entonces supongo que nada fluiría a menos que el pin se baja.
Len Holgate el
1
No estoy completamente seguro de entender su pregunta, tiene razón, su dispositivo no extraerá corriente de una resistencia pull-up cuando su salida sea alta. La puerta del servo extraerá corriente a través de la resistencia y / o de su salida alta, probablemente ambas. Todavía va a ser alto para el ciclo de trabajo exactamente opuesto. Antes si estaba haciendo un ciclo de trabajo del 5% y ahora un ciclo de trabajo del 95%. La hoja de datos en robotshop.us/PDF/Servomanual.pdf , o debería decir la guía del producto, brinda gran información. Su tiempo de pulso con un tiempo de inactividad específico es importante.
Kortuk
1
¿Por qué necesita cambiar las fichas a Active Low?
Kortuk
2
No, simplemente compré un tubo de ellos por error y quiero saber si es posible. He visto un diseño para un diseño similar de servocontrolador que usa lo que (de la hoja de datos) parecía ser ICs bajos activos y tenía curiosidad :)
Len Holgate
1
Ahh, lo siento, estaba tratando de evitar que cambies diseños, ¿tienes el otro diseño? Realmente solo necesita colocar inversores, si no le importa el espacio, se puede hacer con un transistor y una resistencia.
Kortuk el