Nota : Como otros han señalado, las clasificaciones máximas absolutas nunca deben abordarse intencionalmente. Son el punto de falla conocido del chip. Sin embargo, proporcionan un punto de diseño muy útil para comprender qué tan lejos está de ese máximo. Esta respuesta se centra en resolver lo que queda de ese problema de diseño, es decir, qué tan lejos debe estar uno de ese valor máximo (y por qué).
Hay dos grandes problemas a considerar al dimensionar la corriente de salida en situaciones estáticas : salida de voltaje y salida térmica.
Salida de voltaje
A medida que aumenta la corriente de salida, el voltaje de salida comenzará a "fallar" (será mayor de lo esperado para una salida "baja" y menor de lo esperado para una salida "alta") debido a la impedancia de salida finita del controlador de salida del pin GPIO . Esto, a su vez, perturbará el punto Q de su circuito conectado a la salida.
Esto es especialmente interesante en el caso de dispositivos altamente no lineales como los LED. Si cambia un poco el voltaje que aplica a un LED, la demanda actual cambia mucho más en relación.
Esto lleva al principio general de que desea que el voltaje de salida "error" en no más del 10% (para facilitar la vida de su diseño).
Para acercarse a los máximos absolutos, tendrá que sufrir un error> 60% en el voltaje de salida. De hecho, las especificaciones para su MCU ni siquiera le muestran cuánto error habría en ese nivel de salida.
Obtendría algo así como 1V de una salida "alta" de un VCC de 3V. Ese nivel no es lo suficientemente alto como para señalar de forma confiable "alto" a otros dispositivos (en sistemas digitales).
Extraje esta figura del enlace de su hoja de datos:
Para diseñar el límite actual (aquí, dado Vcc = 3): 3 - 0.1 (3) = 2.7
A 2,7 V, el límite de corriente nominal es de 8 mA , es decir, un poco menos de lo esperado de * 30 * mA más o menos ... ;-)
Una nota interesante de la física del dispositivo es que el lado n (lado bajo) en casi todos los controladores de salida CMOS que he visto es un poco más fuerte que el lado alto tipo p. Esto se debe a que los electrones (el portador mayoritario en los FET de tipo n) se mueven aproximadamente dos veces más fácilmente a través del canal que los agujeros (el portador mayoritario en los FET de tipo p). Para compensar, los fabricantes de chips duplican (aproximadamente) el tamaño del transistor de tipo p hasta que el rendimiento del controlador sea más o menos simétrico, pero el lado bajo generalmente conserva una ligera (<10% de ventaja) aún así.
Este caso no es una excepción...
Puede ver en esta figura que 0 + 0.1 (3) = 0.3V -> 9mA, aproximadamente un 10% mayor que los 8mA anteriores.
Por lo tanto, debe instalar sus LED apuntando a su chip si es posible. Es decir, diseñarlos de manera que la salida sea baja = LED iluminado. Algo como esto:
Salida térmica
Altas corrientes en el pin driver = calor (obviamente). Calor ++ -> desastre. Los circuitos de controlador GPIO generalmente se distribuyen uniformemente alrededor de la periferia del dado por necesidad geométrica (a menudo determinan el tamaño mínimo del dado).
En el caso de este chip Atmel (ATMEGA8, ver más abajo), ciertamente lo son. Los circuitos GPIO están agrupados alrededor de los sitios de unión de cables azul oscuro en el anillo cian alrededor de las áreas de lógica y memoria (oscuras) en el centro.
Todo esto es solo una estimación de límites y un poco ondulado, pero la ingeniería se trata de hacer las cosas, así que aquí va ... ;-)
El uso de clavijas vecinas a altos niveles de corriente debería dar como resultado al menos una reducción lineal.
Si supone que la pieza distribuye el calor de manera más o menos uniforme (suposición justa para su troquel pequeño), puede obtener una aproximación de primer orden trabajando hacia atrás desde la clasificación máxima absoluta (40 mA) y suponiendo que el pin vecino compartirá el 100% del carga de calor
Eso significa que si tiene una salida de 40 mA (en realidad no haga esto), sus vecinos inmediatos deben estar a 0 mA. Salida de 20 mA -> 10 mA vecinos, etc.
Si lo he explicado lo suficientemente bien, entonces debería quedar claro que elige el mínimo entre los dos métodos.