Estaba depurando el circuito a continuación con mi nuevo multímetro cuando descubrí que el pin de tierra de mi Arduino en realidad estaba emitiendo energía. Conecté la pata más larga de un LED al pin de tierra y confirmé que, de hecho, el pin estaba alimentando el LED.
Siento que este es probablemente el problema que tengo con este circuito y me pregunto qué causaría que el pin de tierra emita un voltaje no negativo. Mejor aún, ¿cómo podría resolver este problema?
simular este circuito : esquema creado con CircuitLab
No es necesario que resuelvas el problema porque no lo hay. Lo que ves es perfectamente normal, si pones un LED en un cable de retorno a tierra, pero poner un LED en el cable de retorno a tierra de Arduino no es normal.
Arduino toma energía al consumir corriente del suministro de 5V a través del pin de 5V. Luego, la corriente debe regresar desde el pin GND a la fuente de alimentación. Esa corriente encenderá un LED si lo coloca en el camino de la corriente tomada por Arduino.
Simplemente retire el LED porque, para empezar, no pertenece allí y el circuito está bien. Si el Arduino consume más corriente de la que el LED puede manejar, el LED se dañará y puede quemarse.
Creo que lo que te estás perdiendo es que cuando conectas un dispositivo, no se supone que su pin de tierra suministre tierra , se supone que debes suministrarle tierra . El Arduino usa corriente para operar; después de que se inserta en el pin VCC, tiene que ir a algún lugar, y ese lugar es el pin de tierra.
Necesitas conectar ese pin de tierra correctamente. Mientras tanto, sí, espere que salga corriente.
Impulsar un motor (o cualquier otra carga inductiva) requiere un sistema de retorno a tierra de muy baja impedancia. Mirando la foto, esos cables largos y delgados y esa placa blanca sin soldadura simplemente no son el enfoque de construcción correcto para impulsar un motor. Hay efectos transitorios (que no se pueden ver sin un osciloscopio) cuando el ULN2003 se enciende y se apaga, lo que puede enviar corrientes sorprendentemente grandes a través del sistema de retorno a tierra y eso, a su vez, provoca errores de "rebote a tierra".
La prueba de diagnóstico de poner un LED en serie con GND solo demuestra que fluía algo de corriente desde el Arduino hacia el sistema de retorno a tierra; no es una indicación de problemas. Pero no es una buena prueba de diagnóstico, porque un efecto secundario de esta prueba es que eleva el voltaje en la GND del chip. Entonces, en lugar de obtener el voltaje de suministro completo de 5 V, Arduino solo obtiene quizás 3,5 V (suponiendo un voltaje directo de LED de 1,5 V), y los niveles lógicos se refieren al pin GND de Arduino, no al sistema de retorno a tierra. Con una caída de voltaje tan grande como la que da un LED, eso puede ser suficiente para hacer que los niveles lógicos sean mal interpretados por cosas fuera del Arduino.
Es un problema bastante común, porque en los esquemas simplemente colocamos un símbolo de tierra en cualquier lugar y simplemente asumimos que las corrientes de retorno a tierra hacen lo que necesitan hacer. En una PCB con un plano de tierra, esa es una suposición válida; pero para la conducción motorizada, el sistema de retorno a tierra es una parte importante del sistema en su conjunto. La mayor parte de la gran corriente de tierra fluirá en un bucle alrededor del motor, el ULN2003 y la fuente de alimentación. La clave es hacer que ese bucle de alta corriente sea físicamente lo más pequeño y compacto posible, con el cableado de mayor diámetro/longitud más corta que pueda administrar . Una vez que tenga eso, la tierra Arduino de baja corriente se puede conectar usando el tipo de cable que tiene en la foto.
Todas las corrientes que fluyen hacia el Arduino, en sus pines de alimentación y pines de E/S, deben tener un lugar de donde fluir. Ese es el propósito del pin GND.
Ahora hemos establecido que, de hecho, debería haber una corriente saliendo del pin GND.
Ahora observe que el LED es un dispositivo que actúa como un detector de corriente: cuanto más corriente directa, más luz produce (hasta que se destruye con demasiada corriente).
Entonces, al colocar el LED en el camino del pin GND, solo está midiendo, indirectamente, la corriente del pin de tierra, utilizando un medidor de corriente con un voltaje de carga bastante alto (1-2V).
Eso es todo. Si realmente desea medir la corriente, use un medidor de corriente (modo A o mA en un multímetro), no un LED.
¿Qué haría que el pin de tierra emitiera un voltaje no negativo?
Realmente no está emitiendo un voltaje no negativo, está emitiendo una corriente de todas las cargas (transistores) que son internas del Arduino. Si coloca un medidor en el pin de tierra, verá una diferencia de voltaje (ejemplo 2).
Cuando se coloca un LED en este pin, aumenta el voltaje de todo el Arduino (Ejemplo 3). Esto tiene algunos efectos negativos.
El aumento del voltaje de tierra también cambia el nivel de bajo voltaje de todos los GPIO, por lo que no funcionan correctamente.
El LED no es una carga constante y tampoco lo es el Arduino, pero el Arduino cambia los niveles actuales de los transistores que se encienden y apagan (probablemente verá que el LED cambia de brillo si el Arduino realmente funciona en esta condición), esto cambiará todo los niveles de voltaje del Arduino y podría resultar en un bloqueo del procesador.
simular este circuito : esquema creado con CircuitLab
Transistor
niñoconcomputadora
Transistor
niñoconcomputadora
niñoconcomputadora
niñoconcomputadora
Transistor
niñoconcomputadora
Transistor
niñoconcomputadora
MarkU
Transistor
bruce abbott
david schwartz