Hola amigos, tengo un proyecto en el cual tengo conectados un arduino Uno y varios ESP8266 como esclavos, cada uno de estos esclavos cuando está encendido tiene puesto un pin en HIGH , el cual está conectado al arduino, mediante una resistencia de pull down. ademas tengo conectado al arduino 2 74HC595 que encienden leds segun el estado de los pines antes mencionados. Me sucede que si quito la alimentación del Arduino y mantengo conectados los esp8266 esclavos, en el pcb los leds del 74HC595 se encienden y el arduino trata de levantar pero no tiene suficiente voltaje. Alguna idea de como evitar que el arduino trate de encenderse cuando no esta conectado?? gracias de antemano
No somos adivinos, por favor adjunta un esquema de como está todo conectado.
Puedes hacerlo a mano, mientras sea detallado y se entienda, nos alcanza.
@MaximoEsfuerzo aqui esta, como comente en el post anterior, los leds se mantienen encendidos y el display tambien, no se apagan, el valor de las resistencias de pull down inicialmente lo habia puesto en 10K, y note que al poner valores menores de resistencias la iluminacion de los leds disminuia, me inclino a pensar que el voltaje en la resistencia de pull down, está provocando que la corriente se vaya por la resistencia de pull up interna que tiene el arduino y que va directo a VCC, lo cual provocaria que haya voltaje en VCC y de ahi el 74HC595 estaria alimentado y por tanto encenderia los leds y se mantendria encendido el display, pero no estoy seguro
Te olvidaste de la alimentación.
No le veo sentido a las resistencias pull-down porque los ESP envían 0V o 3.3V, nunca van a estar en alta impedancia (a menos que tu código para los ESP ponga los pines en modo entrada, claro).
Y porque haces eso, para comenzar? Por que apagas la alimentación del Arduino si tal como lo has planteado lo tuyo es un todo, todo es un circuito.
Arduino UNO conectado a 2 595 y ademas 3 ESP8266 enviado estados x sus GPIO al Arduino.
Para que con alimentación apagada los led se enciendan es porque no has apagado realmente todo.
De ningún modo un GPIO conectado a una entrada de un UNO va a encender tus 595 a menos que haya cosas que no comentas por lo que tu esquema es muy parcial, y sería bueno que muestres como alimentas a los ESP8266.
lo que sucede es q los esp8266 estan montados en modulos distintos conectados al arduino mediante cables y en un momento cualquiera un usuario pudiera desconectar cualquiera de estos modulos y quedar el pin en el aire, la resistencia de pull down está garantizando que siempre haya un 0 o 1 en la entrada del arduino,
Que haya un 0 (1 es imposible con una pull-down )
No dibujaste las alimentaciones (tal y como las tienes conectadas).
Exacto, al no dibujar las alimentaciones seguimos imaginando escenarios.
@MaximoEsfuerzo , @Surbyte las alimentaciones son las siguientes: los ESP 8266 (NodeMCU) están alimentados con fuentes de 5V 2A a traves de su pin Vin, el arduino está alimentado a traves del puerto USB, por supuesto la tierra es comun entre todos los modulos. un detalle el arduino que estoy usando no es un arduino Uno proveniente de Italia, es de los que venden en Amazon, q por supuesto vienen de China, aca adjunto el esquema . gracias por su ayuda
Disculpa pero el esquema sigue siendo pobre porque empecemos por tu propio comentario:
Entonces, en ese esquema no nos muestras como alimentas ni el OLED ni los 74HC595 y nosotros no tenemos porque adivinar si lo haces con el Arduino, con fuente externa, con la misma que los 8266.
Puedes mejorar esa parte que falta?
Te respondo, a través de 2, 5 y 7 (entradas digitales) jamás de los jamases el Arduino se va a encender o intentar hacerlo, ni los 595 y OLED alimentados de los 5V del arduino pere este es un escenario que YO imagino.
Si estoy equivocado que alguien me lo diga!!
Entiendo que alimentas el Arduino via USB, esto esta claro y cuando dices le quito la alimentación es porque retiras el USB de la PC.
No dices nada de los 2x595 ni el OLED.
tienes razon @Surbyte , les comento, los 595 y el display estan montados en un shield que hice para el Arduino, y se alimentan directamente del pin 5 V del arduino, Hice una prueba interesante: realice la misma prueba que he estado haciendo de dejar conectados los distintos esp8266 y desconecte el arduino de la alimentacion, en el pin del shield que corresponde a 5V en el arduino hay un voltaje de 2.4 V (el VCC minimo del 595 es 0.5 V) entonces separe el arduino del shield y entoces el voltaje en el pin que corresponde a 5V en el shield es de 0V o sea q no hay un voltaje de retorno en el shield , por lo cual sigo pensando que el voltaje debe estar pasando a traves del arduino pero no tengo ni idea como solucionarlo
No queda claro para qué quitar la alimentación del Nano y dejar la del resto.
¿La OLED queda con energía en esa situacion?
Tuve una situación similar haciendo pruebas con dos Nano comunicados por I2C.
Si mal no recuerdo, desconectando los pines I2C se "apagaba" el que no estaba energizado.
lo que sucede con esta prueba es q los modulos van a estar instaldos en un lugar donde pasa mucha gente y pudiera darse el caso de que alguien sin querer desconectara la alimentacion del arduino y de los otros modulos no, en el arduino UNO los pines I2C entran a traves de las entradas analogicas, pudiera estar metiendose el voltaje por ahi? las entradas analogicas cuando se apaga el arduino en que estado se ponen?
si el display queda encendido tambien
Prueba desconectar o quitar la energía del display a ver si es lo mismo que me pasó.
El bus I2C lleva resistencias a Vcc, por ahí tranquilamente puede llegar corriente al Nano, muy poca, pero llega.
Tené en cuenta que el ATmega328 consume muy poco así que unos pocos mA podrían ponerlo en marcha.
¿Y por qué alimentaciones separadas para cada cosa? No entiendo...
Hola, me he registrado para responder este tema.
Os recuerdo que la mayoría de MCUs "modernas" (y en especial los PIC y AVR) llevan diodos de protección (diodos de clamping) normalmente polarizados en inversa para proteger las GPIO de manera que en modo de entrada cualquier voltaje superior a Vcc o inferior a 0V quede limitado a Vcc+0,7 o a -0,7V, limitando el daño que pudiera causar. Si el micro está apagado, en principio Vcc está a 0V pero si en una GPIO hay voltaje, entonces el diodo de clamping se polariza en directa y acaba alimentando Vcc a través de las GPIO.
Recuerdo que alguien hace tiempo tenía problemas de conversión del ADC de su PIC, todas las muestras estaban desplazadas 0,7V hacia arriba. Resulta que había dado por sentado que el pad térmico del encapsulado QFN no iba conectado a nada y así diseñó la PCB. Había dejado en el aire Vee (el pad térmico), y el PIC se estaba alimentando hacia masa a través de los diodos de clamping de unas cuantas GPIOs que estaban conectadas a masa ya que no se usaban. La solución fue ingeniosa: (el pic "casi funcionaba") así que en el código de inicio solo se hizo configurar esas GPIOs como salidas a nivel 0 y así crear un camino directo entre las líneas conectadas a masa y Vee.
Aqui yo creo que el arduino se esta alimentando atravez de los pines de entrada. Posiblemente al deconertar el supply del arduino los pines quedan en un estado flotando o de alta impedancia.y esto puede causar que el arduino se alimente por estos pines. Aqui yo sugiero que se desconecten los esp8266 uno a uno para ver si estos alimentan al arduino.
Como ya dije se alimenta a través del bus I2C y el por qué es más o menos lo que ha explicado @sacodepatatas
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.