Alimentación, encoders y etapa de potencia

Después de añadir la segunda fase a los encoders hay que ajustarlos: con las salidas desfasadas 90 grados. Además hay que proveer de 5V para la electrónica a partir de la tensión de la batería y proporcionar control de potencia para los motores.

Lo primero que necesitaremos para comenzar a hacer pruebas es una salida de 5 Voltios para alimentar la parte electrónica. Casi todo el mundo conoce el LM7805 que es la solución más común para conseguir 5 V desde otra tensión inferior a 35 V. Leyendo la hoja de datos aparece un valor “Dropout Voltage = 2 V, es decir que tiene una caída de tensión mínima de 2 V, que sumados a los 5 V que queremos, hace que haya que alimentarlo con más de 7 V. En este caso como he decidido usar baterías de 7,2 V aparece un problema: cuando la tensión de la batería baje de 7 V el regulador no trabajara correctamente y los 5 V descenderán. Puede solucionarse usando una batería de mayor voltaje (con una célula más 8,4 V) pero en cualquier caso esos 2 V de caída del LM7805 se desperdician en forma de calor.

Buscando una solución, que no fuera un regulador en conmutación (demasiados componentes) encontré entre los chismes de desguace este integrado: LM2940CT -5.0. Se trata de un regulador lineal de tensión de 5 V de salida y compatible en patillaje con el LM7805. Sus características son muy similares: entrada hasta 26 V y salida 5V 1A PERO la caída de tensión típica es de 0,5 V a 1A y ¡110 mV para 100mA!. Esto permite que la tensión de la batería disminuya hasta 5,5 V (o incluso menos con < 1A de carga) y el regulador siga dando su salida de 5 V correctamente. No se si puede conseguirse con facilidad en el mercado, yo usaré uno reciclado, pero es una solución estupenda. Además desperdicia menos energía que el LM7805. En esta foto se aprecia el LM2940CT -5.0 con un radiador que además, hace de soporte para una placa de circuito impreso para dar rigidez a los motorreductores.

Regulador

Esta es la lista de materiales:

1 Circuito LM2940CT -5.0.
1 conmutador 1 circuito 2 posiciones.
2 conectores complementarios a los que hayamos usado en las baterías.
4 resistencias de 4k7 para los pullup de los encoder..
Dos resistencias de 150 Ohmios. Son las limitadoras de corriente de los emisores de infrarrojos de los detectores de herradura.
1 condensador 10 microfaradio 16V. Es para desacoplar la alimentación y evitar que el ruido generado por el circuito produzca interferencias en otros componentes.
1 circuito integrado L293D.
1 circuito integrado SN74HC14. Es un séxtuple smith trigger.
2 conectores 2×4 pines macho verticales para circuito impreso.
2 conectores 2×4 pines hembra para cable plano

Este es el borrador del esquema que he utilizado:

Esquema

Los diodos LED emisores de infrarrojos de los detectores de herradura los he conectado en serie dos a dos con una resistencia limitadora cada pareja de 150 Ohmios. La caída de tensión en cada uno es de 1,1 V (puede medirse con un tester alimentando el led a 5 V con 330 Ohmios en serie). La caída de tensión en cada pareja es de 2,2 V y de esta forma la corriente que circula por cada pareja es de: (5 V – 2,2 V) / 150 Ohmios = 0,0186 A. Evidentemente los cálculos los hice al revés: yo buscaba alrededor de 15 mA y me salía 186 Ohmios que aproximé a 180 Ohmios.

Si los pongo los 4 diodos con 4 resistencias limitadoras independientes sale (5 V – 1,1 V) / 0,0186A = 209 Ohmios, que puede ser 220 Ohmios. La corriente real sería (5 V – 1,1 V) / 220 Ohmios = 0,017A.

Si los pongo los cuatro en serie obtengo (5 V – 4,4 V) / 0,0186 = 32,25 Ohmios que pueden ser 33 Ohmios: (5 V – 4,4 V) / 33 Ohmios = 0,0181 A

En el caso de las resistencias limitadoras de los LED hay que tener en cuenta que su misión es DESPERDICIAR la tensión sobrante hasta llegar a la que necesita el LED. Se puede calcular la magnitud de este desperdicio.

Dos resistencias de 150 Ohmios. (5 V – 2,2 V) * 0,0186 A = 0,052 W * 2 resistencias = 0,104 W
Cuatro resistencias de 220 Ohmios (5 V – 1,1 V) * 0,017 A = 0,066 W * 4 resistencias = 0,265 W
Una resistencia de 33 Ohmios (5 V – 4,4 V) * 0,0181 A = 0,010 W * 1 resistencia = 0,010 W.

Esto en muy importante en aparatos alimentados a baterías. Si vamos a poner 4 detectores infrarrojos, por ejemplo en un siguelineas, es mejor poner los emisores en serie y una única resistencia limitadora. El ahorro es muy grande y se alarga la duración de la batería. En mi caso, que la batería es de 640 mAh a 7,2 V puede proporcionar 0,64 A * 7,2 V = 4,68 W, durante 1 hora, los 0,265 W desperdiciados en el caso de los 4 diodos independientes significan el 5,6 % de la potencia de la batería (0,265 / 4,68) * 100 = 5,66 %.

Las resistencias de 4K7 proporcionan, mientras los fototransistores no ven luz, 5 V al al smith trigger que interpreta como “1” lógico. Cuando estos fototransistores ven luz derivan esta corriente a masa y solo queda una pequeña Vce que el smith trigger interpreta como “0”.

El mando de potencia de los motores lo realiza un L293D. Es capaz de funcionar desde 4,5 V hasta 36, perfecto para alimentarlo a baterías y puede entregar hasta 600 mA por canal. Como los motores que yo utilizo consumen alrededor de los 200 mA en condiciones normales va sobrado. Hay que tener cuidado porque la corriente a rotor parado es de mas de 800 mA y podría estropear el integrado en caso de choque del robot. Esto puede solucionarse usando un L293B y cuatro diodos, que soporta hasta 1A por canal, o mediante el software que detecte el choque y desconecte los motores. Otro problema, pero este de más difícil solución, es la caída de tensión tan grande que tiene el L293D. En la hoja de datos pone “Source Output Saturation Voltage = 1,4 V” y “Sink Output Saturation Voltage = 1,2 V”. Esto significa que cuando un driver da corriente tiene una caída de tensión de 1,4 V y cuando le entra la corriente de 1,2 V. Como para hacer girar el motor hay que poner un driver en modo “source” y otro en “sink” la caída total en el integrado es de 2,6 V. Esto hace que al motor solo le lleguen 7,2 V – 2,6 V = 4,6 V. Estos voltios que “desaparecen” se transforman en calor en el L293D. Podría usarse otro driver de mejores características, como el L6203 pero necesita una tensión de funcionamiento mínima de 12 V. Habrá que tenerlo en cuenta para el próximo diseño.

He conectado unos inversores a las entradas de control del L293D de forma que basta con una señal para cada motor para indicar el sentido de giro. Con las señales de “enable” paro o arranco los motores o regulo la velocidad por PWM.

Así es como va quedando, he puesto velcro autoadhesivo en las baterías y en la placa del robot para que queden bien sujetas, pero que se puedan cambiar son facilidad. En la foto ya he puesto el zócalo para el PIC16F877 con el cristal en el interior, para ahorrar circuito impreso, y el conector para la comunicación.

Terminado

Ya solo queda conectar las salidas de los encoder Ai, Bi, Ad y Bd y el control de motores DIRi y DIRd que es la dirección de giro y Ei y Ed que es la señal de PWM de velocidad al PIC y comenzar a probar.

Esto es todo por ahora. Espero haber dado ideas de a todos.