sábado, 16 de octubre de 2010

Arduino Tutorial. Hardware. Alimentación externa. Limitaciones 5V.

Cuando se alimenta Arduino a través del conector de alimentación externa (no USB), y queremos conectarle una placa encima (comúnmente llamada Shield) para controlarla a través del Arduino, hay que tener en cuenta las limitaciones en corriente del regulador lineal de 5V.
Las tensiones internas de alimentación se llevan a la placa superior a través del conector POWER:
Como expliqué en el anterior post, la tensión de 5V viene del regulador lineal MC33269D-5.0 de ON Semiconductor.
Recordad que los reguladores lineales, disipan la potencia consumida en la regulación en forma de calor. Para comprobar hasta qué corriente podemos suministrar al shield a través de los 5V, tenemos que consultar el datasheet del regulador, y comprobar la potencia máxima que puede disipar.
La potencia que disipa el regulador es la diferencia de tensión que hay entre su entrada y su salida (llamada tensión de dropout), por la corriente a la salida. En el caso de Arduino Duemilanove, hay un diodo de protección de polaridad en el conector cuya caída de tensión también hay que considerar (estimo que es de 0,7V), así que la diferencia de tensión de dropout es:
Vregulador_in = VPOWERIN-Vdiodo

Vdropout = Vregulador_in - Vregulador_out

El consumo en corriente de la placa en modo estable depende, evidentemente del programa que tengamos corriendo en el microcontrolador, del número de pines activos como salidas, ... Considero, como aproximación, que es de 50mA.

La potencia que disipa por defecto, en su modo estático, el regulador sería:

Pdisipada_regulador = dVregulador * Iout

Considerando que alimentamos a 12V (VPOWERIN), la potencia disipada será:

Pdisipada = (12 - 0,7 - 5) * 0,05 = 315 mW
El regulador MC33269D-5.0 que viene montado por defecto en el Arduino Duemilanove tiene el encapsulado DPAK. Esto tiene su importancia, porque según el encapsulado, así será su capacidad de disipación de calor y por tanto su capacidad de proporcionar más o menos corriente a la salida.
En el datasheet del regulador encontramos la gráfica que relaciona la resistencia térmica, con la máxima potencia que se puede disipar y el cobre del PCB que sirve de disipador de calor:
En el Arduino, el cobre que hay bajo el regulador es la mínima área posible, señalada en la figura como Minimum Size Pad. Esto significa que la máxima potencia que puede disipar el regulador a 50ºC es de 1.5W, con una resistencia térmica de unos 68ºC/W.
Es decir, que la máxima corriente que podríamos tener con 6.3V de dropout, para no dañar el regulador, sería de 1.5W / 6.3V = 238mA.
No deberíamos pasar de 200 mA de consumo estable para no sobrecalentarlo.
Si estimamos que la placa, por sí sola, consume alrededor de 50mA, tenemos aproximadamente 150mA disponibles para:
  • alimentar el shield,
  • alimentar las salidas del microcontrolador que van al shield.
Si necesitamos suministrar más de 150mA al shield:
  • añadimos un disipador sobre el regulador (nunca sobreestimar el efecto del heatsink),
  • disminuimos la tensión de alimentación por debajo de 12V,
  • reducimos el consumo de las salidas,...

En el datasheet se dice que el regulador tiene un circuito de limitación térmica interna que deshabilita la salida a 170ºC, pero que nunca esta protección puede ser considerada como un disipador (o heatsink). No se tiene que considerar como variable en nuestro diseño.

En resumen, antes de decidirnos a alimentar el shield a través del Arduino, tenemos que saber qué consumo le estaremos exigiendo. Si es superior a 150mA en los 5V, tenemos que plantearnos la opción de utilizar otra fuente auxiliar para alimentar el shield (baterias, otra conexión de alimentación externa (ojo con las masas),...) o reducir el consumo.

También hay que considerar que en todo momento he hablado de consumo estable. El regulador es capaz de disipar más potencia de la especificada si sólo tiene picos de corriente puntuales.

En el caso de alimentación por el puerto de USB la situación es diferente, hay que tener otras consideraciones que trataremos en otros futuros post.

Hasta pronto.

No hay comentarios:

Publicar un comentario