Cómo rediseñar un circuito para usar un IC de sumidero de corriente en lugar de un IC de suministro de corriente

Estoy construyendo un servocontrolador en serie para aprender sobre electrónica y lenguaje ensamblador como parte de mi proyecto de robot hexápodo . Muy pronto decidí que necesitaba más canales de E/S que mi ATTiny2313 que estaba usando en ese momento, 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 todos modos. También compré algunos CD74HCT138E que son activos bajos en lugar de los CD74HCT238E activos altos. Entiendo, en principio, las diferencias entre el chip de abastecimiento actual que estoy usando y los chips de abastecimiento actuales, pero realmente no sé cómo ajustar mi circuito para usar los chips de abastecimiento actuales en lugar de los chips de abastecimiento actuales.

El esquema de los chips altos activos está aquí: texto alternativo¿Qué debo 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 circuitos integrados bajos activos por error y tengo curiosidad por saber cuánto más complejo tendría que ser el esquema y el diseño del circuito para poder usarlos.

Respuestas (2)

El '238 tiene solo una de ocho salidas lógica alta, fuente de corriente, el resto de los pines serán lógica baja, hundiendo la corriente. El '138 es precisamente lo contrario, uno de los ocho pines puede ser bajo, hundiendo la corriente, el resto será alto, generando corriente.

Para "invertir" la función del '138, puede usar ocho transistores PNP con las bases cada uno conectado a una salida del '138 con una resistencia, los emisores todos conectados a +5 y los colectores cada uno conectado a uno de su servo conectores O use un grupo de inversores (74HCT04 o 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 desea activar. Si desea que los 64 canales estén encendidos, por ejemplo, todos se ejecutarán a una velocidad promedio de 1/64.

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

Tengo la sensación de que si estuviera usando estos chips para expandir las E/S por una razón que no sea el control del servo, entonces cambiar el activo alto por el activo bajo sería un problema menor, ya que simplemente invertiría el circuito que yo estaba conectado al pin. Sin embargo, dado que necesito controlar la línea de servocontrol con +VE, necesito que los inversores me lo proporcionen, ya que no puedo controlar la línea de control desde otro lugar y simplemente hundirla en el IC.
Aparte, el servocontrol PWM que utiliza los circuitos integrados altos activos está funcionando muy bien. Ejecuto 8 de los 1 de 8 chips decodificadores de mi microprocesador y luego paso por las líneas de dirección (cambiándolas cada 2,5 ms) para poder generar la actualización requerida de 50 Hz en los 64 canales. Esto me permite generar los pulsos requeridos de 600us-2.4ms en cada canal. Supongo que el PCF8575C es más fácil de usar porque simplemente le envía un comando para encender/apagar el pin apropiado y permanece así en lugar de que el 238 necesite que el pin correspondiente en el microprocesador se mantenga alto durante todo el tiempo.
Realmente depende de la aplicación, me alegra saber que funciona. En muchos casos, el chip al que está enganchado es fácil de manejar con el cambio de activo alto a activo bajo, pero el suyo no fue uno de esos.

Son lo mismo excluyendo la salida. El bajo activo es exactamente el mismo que el alto activo con una entrada invertida en todos los pines.

Tengo algunas aplicaciones con servos, esto requeriría que coloque un inversor en cada ruta o cambie mis servos. Con información para su servo, podría ayudar 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 sobre el hardware, si me perdí algo, pido disculpas. -Max Murphy

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-422. Si tuviera que pasar un cable desde VCC, a través de, supongo, una resistencia, al pin activo de salida baja, ¿supongo que nada fluiría a menos que el pin se baje?
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 alto rendimiento, probablemente ambos. Todavía va a ser alto para el ciclo de trabajo exactamente opuesto. Antes si estabas haciendo un ciclo de trabajo del 5% y ahora un ciclo de trabajo del 95%. La hoja de datos en robothop.us/PDF/Servomanual.pdf , o debería decir la guía del producto, brinda excelente información. Su tiempo de pulso con un tiempo de inactividad específico es importante.
¿Por qué necesita cambiar chips a Active Low?
No, acabo de comprar un tubo 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ían ser IC bajos activos y tenía curiosidad :)
Ahh, lo siento, estaba tratando de evitar que cambiaras de diseño, ¿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.