Esta pequena placa fue pensada como sustituto económico del Arduino para utilizarse en robótica, especialmente en pequeños robots móviles, ya que incluye la electrónica de potencia para el control de motores de corriente contínua de hasta 600 mA.
Sus características principales son:
Microcontrolador muy económico: ATmega8 o Atmega168
Conector de programación serial en circuito (ISP) de 6 pines
Control de dos motores de CC con PWM e inversión de marcha (o cuatro, sin inversión) mediante el CI L293D
Regulador de 5 V integrado para tomar la alimentación para el micro directamente de la fuente de los motores
Múltiples (11) pines libres para conectar sensores u otros dispositivos
Alta velocidad, controlada con exactitud mediante cristal de 12 MHz
Led en el Pin 13 de Arduino (LED Pin)
La programación se hará con el entorno de Arduino, quemando el micro luego mediante el programador USBASP construido en clase (ver: Arduino de Bajo Costo.pdf) o con un programdor paralelo, si se dispone de ese puerto.Obviamente todos los programas y conexiones indicados son válidas para las versiones de Arduino compatibles, salvo en donde se especifique alguna diferencia puntual.
La mayoría de los conceptos referidos al puente H de este trabajo son idénticos a los de puenteH.htm, la versión en protoboard del circuito de control de motores, en su forma más simple. Repetimos aquí, a continuación, los conceptos más importantes sobre el mismo.
Utilizaremos el circuito integrado L293D que dispone de 4 medios puente H en un encapsulado DIL de 16 pines (l293(4Half_H_Bridges).pdf). La principal comodidad que brinda el integrado designado con la D final es la de tener incluidos ya en su interior los diodos de protección, de modo que podemos utilizar cargas inductivas (motores, relays, etc.) sin temor a picos inversos de tensión y sin necesidad de diodos externos.
Obviamente, puede utilizarse la versión sin la letra D final, más económica, pero habría que agregar en forma externa los 4 diodos por motor, necesarios para proteger el integrado.
Las características principales de este integrado son:
Tensión de alimentación del motor (Vcc2 = 4.5 a 36 V) separada de la alimentación de la parte logica (Vcc1=5V).
Corriente nominal permanente de hasta de 600 mA y picos de hasta 1.2 Amperes (la versión con D final)
Protección interna contra cortocircuitos y sobrecalentamiento
La configuración que se utilizará para el control de dos motores es la siguiente:
Parte Valor Device Package Library Sheet
C1 27p C-EU025-024X044 C025-024X044 rcl 1
C2 27p C-EU025-024X044 C025-024X044 rcl 1
C3 10u CPOL-EUE2.5-5 E2,5-5 rcl 1
IC1 ATMega8 AT90S4433P DIL28-3 atmel 1
IC2 L293D L293D DIL16 st-microelectronics 1
IC3 78L05Z 78L05Z TO92 linear 1
JP1 PINHD-1X5 1X05 pinhead 1
JP2 PINHD-1X6 1X06 pinhead 1
JP3 PINHD-1X7 1X07 pinhead 1
JP4 JP3Q JP3Q jumper 1
JP5 PINHD-1X7 1X07 pinhead 1
LED1 LED3MM LED3MM led 1
M1 W237-102 W237-102 con-wago-500 1
M2 W237-102 W237-102 con-wago-500 1
PWR W237-102 W237-102 con-wago-500 1
Q1 12MHz CRYTALHC49S HC49/S crystal 1
R1 R-US_0204/7 0204/7 resistor 1
En el diseño se ha incluido, frente a las líneas de entrada/salida 0 a 4 del micro, dos líneas de pines (JP5 y JP6) conectadas a +V y Masa respectivamente, para facilitar la conexión de sensores y otros dispositivos externos a la placa
Debe tenerse en cuenta que la denominción adoptada para los pines es la correspondiente al Arduino, de modo que es necesario utilizar la siguiente equivalencia entre pines del Arduino y Atmega8:
Es así que el motor 1 tendrá como pines de dirección las salidas digitales 7 y 8 del Arduino, mientras que las del motor 2 serán las salidas 5 y 6.
Los respectivos controles de Enable de cada rama del puente H han sido conectados a las salidas 10 (Motor 1) y 9 (Motor 2) del Arduino, ya que éstas ofrecen la facilidad de PWM, lo que nos permitirá controlar con precisión y eficiencia la velocidad de los motores en ambos sentidos de giro.
Aquí hay una archivo excel PINOUT Arduino Atmega8 Puente H SIMPLE FAZ.xls que puede ayudar a relacionar con mayor facilidad cada uno de los pines de la placa con el correspondinte pin de Arduino.