Convertidor de nivel lógico para H-bridge y UART para Raspberry Pi

Aquí está mi situación:

Estoy usando una raspberry Pi para controlar un H-Bridge. El H-Bridge no tolera que ambas entradas tengan un valor lógico alto, lo que provoca un cortocircuito a través de los transistores, sin pasar por el motor. Debido a que el puente H requiere una entrada de 5 V, armé este desastre:

Deshacerse de la entrada flotante en un convertidor de nivel lógico

Ahora, según tengo entendido, ese circuito absorbe corriente al RPi, lo que no solo es peligroso, sino que también bloquea el Pi. No solo eso, sino que el RPi arranca con los pines de salida flotando, lo que hace que el convertidor de nivel lógico emita 5 V, provocando un cortocircuito en el puente H como se mencionó.

Al principio, resolví el problema de tener un interruptor manual que desconectara el puente H hasta que pudiera configurar los pines RPi como salidas, se toleró el hundimiento actual. Ahora, conecté UART también a través de este convertidor (TX) y un divisor de voltaje (RX) y simplemente bloquea el Pi-s UART, creo que es porque el RPi no puede manejar el hundimiento de tanta corriente. (UART funciona bien si las entradas de motores del RPi están desconectadas)

Necesito un esquema para un convertidor de nivel lógico de 3.3V a 5V que actúe así:

1. on floating input, outputs 0V 
2. does not sink to input
3. uses PNP and NPN transistors
4. is relatively easy to build

Supongo que un divisor de voltaje está bien para bajar la línea RX de 5 a 3.3

Respuestas (3)

Uh, no estoy del todo claro sobre el tema aquí. ¿Sabe que simplemente puede aplicar un menú desplegable estático directamente en los pines IO de la frambuesa pi? El rPi puede manejar fácilmente una carga de unos pocos kilo-ohmios.

Simplemente conecte el pin de salida a tierra con una resistencia de ~5-50K. De esa manera, cuando el pi no está configurado como salida, el pin se conectará a tierra, y cuando configura los pines como salida, el controlador de salida puede dominar el menú desplegable y funcionará como normal.


De hecho, ¿qué H-Bridge estás usando? El L298 común funcionará bien con entradas de nivel lógico de 3,3 V, es probable que el controlador de puente que esté utilizando también funcione bien.

Lo intenté con varias resistencias, creo que el transistor NPN que usé para convertir el nivel lógico a 5 V eleva el pin RPi a alrededor de 3 V cuando está flotando, independientemente de la resistencia desplegable en la entrada. además, ¿no es malo que el RPi hunda toda esa corriente? Construí mi propio puente H siguiendo este diseño pocketmagic.net/2009/03/a-simple-h-bridge-design/#.UqjoLFXxteW
1. ¿Por qué está construyendo su propio puente H a partir de elementos discretos? A menos que sea con fines educativos, no vale la pena. 2. Necesitas amortiguadores para manejar esa cosa de todos modos. El rPi solo puede generar/disminuir 4 mA. 3. Definitivamente necesitas cambiar de nivel para que funcione correctamente.
Necesita un búfer de salida de tótem. Podrías construir uno tú mismo, pero eso es una tontería, considerando lo baratos que son. Simplemente compre un búfer no inversor y utilícelo.

Probablemente desee un circuito de búfer 74HCT125. Tiene una "habilitación" separada del valor "datos". Por lo tanto, puede hacer que no se "habilite" hasta que decida que debería hacerlo, por ejemplo, con un pull-up débil. La versión HCT acepta cualquier valor superior a 2 V como "alto", incluso cuando lo alimenta con un VCC de 5 V.

Esto no responde directamente a la pregunta, pero podría evitar la peligrosa configuración de entrada que cortocircuita los contactos de la batería a través de los transistores usando la lógica de control de este H-Bridge .

El truco de este puente en h es que utiliza inteligentemente 3 señales de control para encender los transistores diagonales (para mover el motor hacia adelante y hacia atrás) sin permitirle girar los dos transistores verticales (tanto a la izquierda, tanto a la derecha o los cuatro transistores) a la vez, evitando que cortocircuite los contactos de la batería.

El puente h que mencioné también usa optoacopladores entre los circuitos lógico y puente, lo que también podría ayudar con la conversión lógica de nivel.