¿Por qué exactamente conectar un motor directamente a un Arduino lo daña?

Entiendo que generalmente necesita un puente H o algún tipo de controlador de motor para conectar un motor a un Arduino, ya que de lo contrario lo dañará.

Pero, ¿por qué es esto? Quiero decir que me doy cuenta de que cada pin solo puede manejar 40 amperios, pero ¿es peligroso porque el Arduino no puede suministrar tanto ... o hay algún tipo de voltaje de "retroceso" que puede dañarlo?

Cada pin solo puede manejar 40 miliamperios ; ¡Sería totalmente increíble si un Arduino pudiera manejar 40A! (¡Aunque espero que la parte sea muy fuerte!)

Respuestas (2)

  1. Cada pin de un Arduino puede manejar 40 miliamperios , no 40 amperios. Eso también en condiciones ideales ( temperatura, V cc ), la corriente permitida real puede ser un poco más baja.
  2. Además de la limitación de corriente de los pines Arduino, una condición de falla clave es el regulador de voltaje LDO en la placa Arduino, que se sobrecalentará y puede destruirse si se hace que genere alta corriente.
  3. Los motores tienen un voltaje de "retroceso", un EMF inverso que generalmente se soluciona agregando un diodo rápido con polarización inversa, a veces además de un capacitor, a través de los cables de alimentación del motor. Sin dicha protección, existe una alta probabilidad de que este voltaje destruya la línea GPIO individual o, más probablemente, todo el microcontrolador del Arduino.
  4. Existe un límite acumulativo de lo que un Arduino puede suministrar o hundir: los 40 mA mencionados se suman a través de los GPIO activos, hasta el límite nominal, que varía según el microcontrolador y el voltaje de V cc que opera su sabor particular de Arduino. Este límite acumulativo suele ser bueno para unos pocos GPIO que funcionan a pleno rendimiento.
  5. Hay versiones especializadas del Arduino, como el Ruggeduino , que tiene " protección contra sobrecorriente y sobretensión en todos los pines de E/S y salidas de 5 V/3,3 V, protección ESD en todos los pines de E/S y puerto USB, protección total contra sobrecorriente del microcontrolador, y operación hasta 24V ", que uno podría arriesgarse con un experimento de accionamiento de motor directo.Ruggeduino
  6. Si bien la pregunta no especifica qué motor, los motores de muy baja corriente, como varios motores de vibración de teléfonos celulares, motores piezoeléctricos en miniatura y motores de CC de baja potencia con o sin engranajes, en realidad pueden funcionar directamente desde un Arduino convencional sin protección, pero aún así es no recomendado. Motor de CC en miniatura Desde este sitio

  7. Tenga en cuenta, también, que si el Arduino se alimenta desde una conexión USB, eso mismo tiene límites de corriente, lo que podría limitar el funcionamiento del motor.

Razones por las que se utiliza un circuito de controlador de motor:

  1. El controlador puede entregar alto voltaje y corriente al motor. Un microcontrolador habitual no puede entregar tanta corriente a menos que esté diseñado específicamente para impulsar ese tipo de cargas.

  2. Un circuito controlador correctamente diseñado incluye un circuito de protección para que suprima el EMF posterior y no lo envíe de regreso al lado lógico.

Por lo tanto, cuando usa un circuito controlador adecuado, su Arduino está protegido.

Como señaló JYelton, el pin Arduino no puede entregar 40A, podría ser 40ma.