Mega 2560 Diferencia entre alimentar por USB y Vin [SOLUCIONADO]

Hola a todos, una vez mas vuelvo a requerir su experiencia y buenos consejos.

Estoy probando mi último proyecto, el mas ambicioso hasta el momento, el controlador es un Arduino Mega 2560, y tengo varios periféricos conectados:
.- Pantalla de 28'' resolución 240x320 de 3v con sus Conversores de nivel lógicos.
.- Tres botones con resistencias pull-down.
.- Sensor DS18B20
.- Sensor DHT22
.- Tres MOSFET IRLB8721 para controlar tres líneas de led´s
.- Motor de 5v.
.- Rele sólido de 4 vías.

Ya he finalizado las pruebas, conectado a través de USB al ordenador para ver las trazas por el puerto serie y todo funciona correctamente.

Al conectarlo con un transformador de 12V y 10A a través del Vin, en principio funciona sin problema pero el voltaje cae al girar el motor y hasta se apaga la pantalla tft.

He revisado las conexiones, todo parece correcto y si lo alimento por USB no hay problema.
El problema parece ser la TFT ya que si lo desconecto los voltajes permanecen estables.

¿Qué diferencia hay entre alimentarlo por USB o por Vin? Por USB entran sólo 5v y por Vin 12v, pero sin embargo tengo una caída de potencia al encender el motor.

¿Alguna sugerencia?

Gracias de antemano.

Solución:
Al alimentarlo por el USB lo alimentas a 5v y con todos los amperios que ese puerto pueda dar(*) , en mi portatil, por ejemplo, tengo uno especial que soporta 2,5A protegido con desconexión y me avisa el windows.
Al alimentarlo por el vin los 12V entran en juego las regulaciones internas del mega y este solo te aguanta unos 0,5A , seguramente al activar el motor superas esos 0,5A , (sobre todo en el arranque), y todo el sistema se te viene abajo.

¿Cómo estás alimentando los distintos componentes?
Sube un esquema (puede ser a mano alzada) de las conexiones.

Saludos

Alimentado por MEGA? Muy mala idea.
Nunca alimentes un motor desde la fuente propia del micro.
Ademas el motor debe llevar un diodo en antiparalelo. Lo tienes puesto?

Esperemos el esquema porque hablas de 3 MOSFET para las tiras pero no dices como comandas el motor.

Al alimentarlo por el USB lo alimentas a 5v y con todos los amperios que ese puerto pueda dar(*) , en mi portatil, por ejemplo, tengo uno especial que soporta 2,5A protegido con desconexión y me avisa el windows.
Al alimentarlo por el vin los 12V entran en juego las regulaciones internas del mega y este solo te aguanta unos 0,5A , seguramente al activar el motor superas esos 0,5A , (sobre todo en el arranque), y todo el sistema se te viene abajo.
Te recomiendo uses un modulo power-down del amperaje adecuado para bajar de los 12 a 5v y alimentar con ellos todo lo que valla a 5V incluido el mega por el pin de 5V

(*) En algunos clones, el oficial el usb tambien va limitado a 500mA.

Gracias por tu pronta respuesta @anon90500195 , me da un poco de vergüenza el dibujo de las conexiones, nunca se me dio bien.

Al ir a dibujarlo me he dado cuenta que tenía un fallo: El motor de 5v es un comedero automático de peces que he destripado. Tiene 4 cables: dos para que gire el motor y otros dos que hacen de interruptor para indicar que ha dado una vuelta completa. Por error el interruptor estaba conectado al GND y al pin correspondiente. Lo he conectado a 5v un cable y el otro al GND con una resistencia y al pin del Mega.

No se ha solucionado, pero ahora no pierde potencia de forma inmediata. Tengo que girar el comedero varias veces y es como si con cada vuelta la potencia fuera bajando, hasta que no tiene suficiente para alimentar al resto de los componentes.

De nuevo perdón por el dibujo, sólo están las conexiones de alimentación.

Según escribo veo las respuestas de @Surbyte y @gonpezzi intuía que mi error era algo así,.

Gracias.

Si, tal cual, es como te adelantaron los compañeros @Surbyte y @gonpezzi .

Te digo más, si fuese un Uno ya se habría quemado el regulador de 5V por exceso de potencia.
Afortunadamente el regulador del Mega no solo regula tensión, también regula la potencia que disipa, por eso, al exceder "se plancha".

Tu mayor problema son los 7V de caída en el regulador para obtener los 5V de salida partiendo de 12V.

Si miras la hoja de datos del regulador, para 7V de diferencia entre in/out, reduce la corriente a unos 400 mA, para mantener la potencia dentro de un valor de protección.
Si tus periféricos consumen más corriente, la consecuencia es que el regulador entrega menos tensión (no puede mantener los 5V) y empiezan los problemas.

Y presta atención a lo que consume la pantalla porque en el regulador de 3.3V caen casi 9V y, según la hoja de datos, no va a entregar más de 300 mA.

Siempre busca el dato de potencia que puede disipar un regulador, todos tendemos a mirar solo la corriente que puede manejar, y está bien, pero esa corriente hay que multiplicarla por la caída de tensión que va a producirse en el regulador para obtener la potencia y verificar que tampoco exceda lo que el mismo soporta.

Saludos

Deberia de quedarte una cosa como así, revisa bien que no me haya equivocado con los positivos y los negativos.

Hola @tresvdoble no te has equivocado en nada , pero cualquier lector inexperto que haya leido este nuestro foro, (se ha dicho muchas veces), te diria que has olvidado conectar las masas, no has conectado el negativo de la fuente de alimentacion con los otros negativos.
Pero bueno tu y yo sabemos que va unida interiormente en el mega y y en los step-down utilizados, (lineas en verde en proximo esquema).
Aunque valido tu circuito yo me decanto mas por el sugerido en el post #4 :


No obstante no se lo que consume lo conectado a la linea de 3,3V .Si es menos de 50mA se podria eliminar el convertidor de 5 a 3,3 y alimentar esa linea con el pin de 3,3V del mega
Saludos.

Vamos a polemizar un poco @gonpezzi , na es broma :wink:.

En mi esquema veo todos los GND unidos, lo estan a traves de los GND del Mega, en cuanto a lo de colgar el de 5v a 3'3 del de 12V a 5 lo que ocurre es que este ultimo tiene que soportar lo que consuman los dispositivos 5V mas lo que consuman los de 3'3 y como no se lo que consumiran en conjunto por eso he preferido que cada palo aguante su vela :laughing:

Como siempre muchas gracias por compartir vuestra experiencia, conocimientos, y vuestra paciencia, je je

Está claro la diferencia entre alimentar por USB o por Vin. intuía que el problema era ese, pero me despistó que funcionase bien con el ordenador, siempre aprendiendo cosas nuevas. Para los próximos también tendré en cuenta la tensión a parte de la potencia.

Gracias @Surbite por darte cuenta de la alimentación del motor, le pondré el diodo para proteger el circuito, tal como indicas.

No tengo las especificaciones técnicas del comedero de peces, pero está claro que superan entre todos los 0,5A. Alimentaré todo desde un módulo de potencia para bajar de 12 a 5v.

Lo único que va a 3v es la pantalla, tampoco encuentro las especificaciones, a ver si se sacar el amperaje real y puedo conectarlos directamente al ATMega y evitarme otro regulador de potencia.

Gracias a todos y cualquier nueva sugerencia sobre mi proyecto será bien recibida.

Aprovecho para desear una feliz entrada al 2022 a toda la comunidad, un abrazo.

Al final siguiendo el consejo @tresvdoble “que palo aguante su vela” voy a poner dos reguladores de potencia. Es posible que en un futuro añada más sensores, es un gasto mínimo y el AtMega así sólo se encarga de organizar.

Hasta ahora no había usado motores y como veis mis conocimientos de electrónica son amplios :cold_face: gracias a este foro, y se van ampliando según voy ampliando mis proyectos :ok_hand:. Una pregunta @Surbyte , bueno a todos, pero vos fuiste quien me recomendaste poner el diodo, fue un gran error no leer nada sobre motores, uní cables y tan tranquilo que estaba. Para controlar motores siempre (en todos los ejemplos que veo) se pone también un MOSFET pero ¿únicamente es para poder regular la potencia o aporta algo más al circuito? En principio lo voy a poner por si cambio el comedero algún día y necesito modificar la velocidad de giro, pero no tengo muy claro si el MOSFET tiene alguna función más. Si me lo pudierais aclarar os lo agradecería.

Un saludo.

Y una cosa de la que me acabo de acordar sobre los motores, sobre todo si son de escobillas, y es aparte de ponerle el diodo es ponerles tres condesandores de 100nF como en la foto, si la carcasa no es metalica pues solo uno entre los contactactos de alimentancion, esto es para evitar que las interferencias que pruducen se cuelen en el Arduino y este empieze a hacer cosas raras.
imagen

El pin del arduino solo provee 40mA asi que con eso no puede hacer mas que controlar.
Un MOSFET trabaja de forma tal que no requiere mas que unos pocos nA (nanoAmperes) de modo que es ideal para controlar potencias de todo tipo.
EL diodo en antiparalelo siempre se usa en DC porque el motor se opone a los cambios propuestos por el control del mismo, generando una FEM opuesta y eso destruye todo lo que este conectado sin protección.

ok Entendido @Surbyte mas de lo mismo, hasta ahora sólo prestaba atención al voltaje, por lo que veo es un error común en novatos y nos cuesta aprenderlo. Es el problema de los autodidactas que nos falta la formación de base, caemos en errores simples y a veces minamos la paciencia de los expertos. Gracias por vuestro trabajo.

Lo del diodo está claro, menos mal que no hice las pruebas con el UNO....

@tresvdoble a ti no se si darte las gracias por tu aporte :rofl: pensé que ya lo tenía todo controlado y ahora tengo que seguir estudiando. Y si el motor está lejos del Arduino? :grimacing: Estudiaremos el tema de los condensadores :+1: . Edito el post para comentar que efectivamente debía ser necesario ya que al desarmar el aparatito donde venía el motor ya tenía un condensador soldado, el comedero de peces tenía una pequeña placa y un display para controlar cuatro cosas y efectivamente este condensador eliminaría interferencia. Apuntado para revisarlo en la próxima.

Lo del condensador mucho no me gusta y te explico por qué no me gusta.
Hay dos formas de comandar el motor. Una es lo prengo y lo apago entonces el condensador intenta no eliminar interferencias sino que si hay picos de corriente provocados por las delgas o sea el contacto entre el rotor y el estator, esos picos se eliminen.
Ahora bien. Eso cuando lo acciono con un rele o interruptor no pasa nada y es correcto.
Cuando uso PWM con un MOSFET y lo pongo a trabajar con velocidad variable que pasa con ese capacitor? Pues se carga y descarga... y hace que mi transistor MOSFET trabaje en una zona lineal y por lo tanto aumenta su disipación de temperatura.
En motores chicos eso no es relevante pero si la potencia del motor crece se vuelve importante.
Prueba el comportamiento con y sin capacitor si es que lo vas a usar con velocidad variable. Si lo usas con un RELE o con el MOSFET solo prendiendo/apagando olvida el comentario.

1 Like

En principio o está en HIGH o en LOW. Pero está bien saberlo.

Los condensadores se sueldan al mismo motor por lo que a priori la distancia con Arduino no tiene importancia.

Yo los he usado con PWM pero directo desde arduino y funciona a la perfeccion, ahora bien con MOSFET no se como le sentaran los condensadores, en cuanto a la descarga y descarga no se cuanta será la diferencia entre la maxima y minima tension que se aplica al motor como para que la descarga y carga sean enormes y no estoy hablando de condensadores electroliticos, son ceramicos con lo que la histeresis entre carga y descarga debe de ser minima, eso creo yo.

En principio el capacitor se va a comportar como un filtro pasabajos frente a la señal PWM, habría que investigar y/o calcular en qué medida afectaría los pulsos y si es algo significativo.

Para 3 de enero, ya es mucho pedir... :joy:

Saludos

Completo mi explicación con la respuesta de Joe Kearney al tema

Fuente: ¿Por qué usamos condensadores en paralelo con los motores de corriente continua? Fuente: https://www.i-ciencias.com/pregunta/150262/por-que-usamos-condensadores-en-paralelo-con-los-motores-de-corriente-continua

Por lo general, un condensador de 0,01~0,1uF se conecta a los motores de CC con escobillas para reducir la EMI de radiofrecuencia causada por el arco entre las escobillas y el conmutador. A veces se conectan dos condensadores en serie, y la conexión central va a la caja para "conectarla a tierra" en las frecuencias de RF.

Para obtener el mejor efecto, el condensador o condensadores deben colocarse sobre o dentro del motor. En este caso se ha incluido un condensador en la placa del conductor. Esto hace que sea menos eficaz en las frecuencias más altas porque los cables de la placa al motor todavía será capaz de irradiar EMI.

Y otra tmb muy interante de

Esta es la respuesta correcta. La chispa del motor es de banda ancha. Los picos inductivos pueden entrar en los raíles de alimentación, o incluso saltar a través del espacio a través del acoplamiento inductivo/capacitivo, y acabar en los canales de tus sensores o tus salidas de audio, o empezar a reiniciar tu cpu. (En los viejos reproductores de cinta, siempre hay SIEMPRE un capuchón de 0,01uF soldado a los terminales del motor). A veces la chispa-plasma puede implicar transitorios de nanosegundos, e incluso puede irradiar basura de GHz, especialmente si los cables del motor tienen un tamaño de bucle resonante, o una longitud resonante.

Hay mucha informacion en internet pero algunas veces es contradictoria, Adafruit sin embargo aconseja que se pongan los tres condensadores.

adafruit-motor-shield-v2-for-arduino