Primero un poco sobre los cortocircuitos: el cortocircuito es un circuito que no tiene elementos limitadores de corriente intencionales en el camino de la corriente. El resultado de eso es que los elementos del circuito que normalmente consideramos que tienen resistencia cero comienzan a actuar como resistencias y el modelo matemático habitual para las interrupciones de las fuentes de alimentación a menudo resulta en un voltaje más bajo de lo esperado y sobrecalentamiento destructivo.
Debido a las especificaciones de corriente máxima del microcontrolador, necesita un elemento resistivo en la ruta de la corriente que va desde un pin. Puede esperar que el pin muera al generar 40 mA y, si recuerdo correctamente, 200 mA de todos los pines en el mismo momento. El voltaje nominal para este sistema es de 5 V, así que veamos qué sucede si calculamos la corriente con 470 : . Esto resulta ser un valor agradable y sensato para la corriente que no dañará el microcontrolador. Si en su lugar usa 1Ω5V470Ω≈10mAkΩresistencia, obtendrá 5 mA, que es aún más seguro y el consumidor aún menos energía. Además, esos dos valores de resistencias son relativamente populares y al mismo tiempo proporcionan corrientes pequeñas pero no tan pequeñas que es necesario tener en cuenta la capacidad de las trazas cuando se trabaja con ellas.
¡En el caso de que realmente se corten las líneas, debe esperar que las líneas tengan una resistencia insignificante! Esto daría como resultado un cortocircuito directo de los pines, que, como está escrito en la cita, daría lugar a pines muertos. También las líneas en corto a menudo resultan en botones rotos, ya que una corriente grande tiene efectos negativos en la vida útil del contacto del botón debido al sobrecalentamiento y chispas. En lugar de utilizar cortocircuitos para conectar líneas, la mejor manera es colocar una resistencia cerca del suelo de la línea. Esto limitará la corriente cuando la línea esté encendida. Al colocar la resistencia cerca de la conexión a tierra de la línea, nos aseguramos de que la mayor caída de voltaje en la línea esté al final, por lo que si la cortocircuitamos con otra línea de detección con un botón, la línea de detección ve el voltaje completo.
También los pines configurados como entrada están en el modo denominado "alta impedancia", lo que significa que se comportan como si fueran una resistencia con una resistencia muy grande conectada a tierra. Si está 100% seguro de que el pin solo será un pin de detección, entonces no necesita colocar otra resistencia frente a él. Incluso en ese caso, es una buena idea poner una resistencia porque accidentalmente puede establecer un pin como algo diferente a la entrada y potencialmente causar un cortocircuito. Si coloca la resistencia, tenga en cuenta que habrá muy poca corriente a través de la línea de detección, lo que significa que la caída de voltaje en la resistencia será muy baja, lo que hará que el pin vea voltaje completo.
Si desea más "lectura avanzada", puede consultar la hoja de datos de ATmega328, que es uno de los microcontroladores utilizados en algunos Arduinos. En la sección 29. Características eléctricas, verá que bajo las calificaciones máximas absolutas, la corriente por pin de E / S es de 40 mA y para el dispositivo total es de 200 mA.
ACTUALIZACIÓN: ¡No confunda las clasificaciones máximas absolutas con las clasificaciones operativas! Aviso de la hoja de datos para ATmega32U4:
NOTICE:
Stresses beyond those listed under “Absolute
Maximum Ratings” may cause permanent dam-
age to the device. This is a stress rating only and
functional operation of the device at these or
other conditions beyond those indicated in the
operational sections of this specification is not
implied. Exposure to absolute maximum rating
conditions for extended periods may affect
device reliability.
Aquí hay notas al pie de la página 379 de la misma hoja de datos:
Although each I/O port can sink more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state
conditions (non-transient), the following must be observed:
ATmega16U4/ATmega32U4:
1.)The sum of all IOL, for ports A0-A7, G2, C4-C7 should not exceed 100 mA.
2.)The sum of all IOL, for ports C0-C3, G0-G1, D0-D7 should not exceed 100 mA.
3.)The sum of all IOL, for ports G3-G5, B0-B7, E0-E7 should not exceed 100 mA.
4.)The sum of all IOL, for ports F0-F7 should not exceed 100 mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater
than the listed test condition.
4. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady
state conditions (non-transient), the following must be observed:
ATmega16U4/ATmega32U4:
1)The sum of all IOH, for ports A0-A7, G2, C4-C7 should not exceed 100 mA.
2)The sum of all IOH, for ports C0-C3, G0-G1, D0-D7 should not exceed 100 mA.
3)The sum of all IOH, for ports G3-G5, B0-B7, E0-E7 should not exceed 100 mA.
4)The sum of all IOH, for ports F0-F7 should not exceed 100 mA.
5. All DC Characteristics contained in this datasheet are based on simulation and characterization of other AVR microcon-
trollers manufactured in the same process technology. These values are preliminary values representing design targets, and
will be updated after characterization of actual silicon