¿Cómo conecto mis servomotores a la arduino usando fuente externa?

las especificaciones del servomotor de 5 volts, pero cuando utilizo los 5 volts de la arduino me conecta y desconecta la entrada USB porque exige demasiada corriente, entonces quiero intentar hacer el circuito usando una fuente que me da los 5 volts.

Supongo que sería así la conexión

FUENTE (5V) ----> conectada a un protoboar(placa de pruebas) para alimentar al servomotor
GND --> Saco la tierra de la arduino y la compenso con la fuente, entonces tendría

  • = de la fuente
    gnd = del arduino.

y nada más tendría eso.

Todos los gnds tienen que estar interconectados, el del arduino y el de la fuente.

tengo una duda respecto a gnd, tengo una placa dmx para controlar un servo y como entradas tiene
9v y negativo para el transformador, y la entrada para el conector dmx se llaman 2 y 3 a las cual conecto el pin 2 y pin 3 del conector, el pin 1 por el cual vendría gnd lo tengo libre, pero esta es la duda, el pin 1 lo debería de conectar al negativo junto a la señal del transformador? es el lio que tengo
gnd es igual a negativo?

Hola, cuando dices "transformador" imagino que en realidad quieres decir "fuente de alimentación" ya que no deberías conectar tensión alterna a un arduino, hay que rectificarla y filtrarla, esto lo hace una simple fuente de alimentación.

Sobre los GND, es muy sencillo, has de unir la masa de la placa arduino con la masa de la/las fuentes de alimentación para que funcione bien, no te recomiendo que uses los terminales de conexión de las placas arduino, lo mejor que se puede hacer es utilizar el conector de alimentación externo para unir las masas.

Sobre el tema de utilizar una fuente de alimentación para arduino y otra para los servos, lo que deberías hacer es fabricar o comprar una fuente de alimentación de 5 voltios, si quieres fabricarte una a un coste de pocos euros utiliza el integrado LM7805, te ofrece 1 amperio de carga máxima y tiene integradas las protecciones contra corto-circuito y sobre-temperatura, el precio de este integrado es comunmente de 1 euro o menos.

Para conectar las fuentes de alimentación yo haría lo siguiente, consigues una fuente de alimentación de 9/12 voltios, de esta fuente sacas 2 tomas, una irá directamente a la entrada de alimentación externa de arduino "siempre que tu placa disponga de ella, como por ej. Arduino UNO etc.." y la otra toma de tensión irá al pequeño circuito regulador de 5 voltios, desde el cual deberías alimentar los servos.

Has de tener en cuenta que para que el circuito funcione correctamente la señal de referencia "masa/gnd" ha de estár unida entre "arduino,regulador 5 voltios y servos" cosa que ya se soluciona alimentando el regulador de 5 voltios desde la misma fuente de alimentación que alimentas la placa de arduino.

Y si, GND es lo mismo que negativo, en realidad está mal dicho, pero solo son diferenciados en circuitos donde existen tensiones positivas y negativas respecto a gnd, así que para este caso es lo mismo decir negativo que gnd :wink:

Gracias por la explicación, finalmente he alimentado la placa
Con un transformador de 9 voltios y el servo lo alimento
Con la salida de 5v y gnd, funciona correctamente, lo único
Que le he puesto un potenciometro para regular la apertura
Del servo, y a veces cuando lo regulo y lo dejo a la mitad
Comienza a hacer un ruido eléctrico que al regular de nuevo al
Máximo deja de hacerlo o incluso tocando el potenciometro
Y moviéndolo un poco deja de hacerlo por lo que
No se cual será el motivo, probaré con otro para descartar
Que sea el potenciometro

Me respondo a mi mismo. efectivamente era el potenciometro lo que provocaba el ruido el servo al regular, ahora la duda que tengo
es que he visto varios ejercicios con servos pero de 9 gramos y comentan que servos de mayores no se pueden alimentar con la placa
arduino pero no sé especifican que tipo de sero, yo estoy alimentando uno de 43 gramos pero el voltaje es de 4.8 a 6 v y me funciona
correctamente de momento no sé si corre el peligro de quemarse ya que no recibe más de 5v

No creo que sea un tema de tensión, sino de límite de corriente ...

ADLC:
No creo que sea un tema de tensión, sino de límite de corriente ...

+1

lo podeis explicar? yo de electrónica entiendo poquito y me pierdo, si el servo fuciona entre 4.8 y 6 y estoy entregando 5 estaría bien no? ya que nunca me voy a pasar de 6voltios
gracias

Nunca alimentes un servo con la alimentación de la placa de arduino, podrías arruinar tu arduino muy fácilmente, mas de lo que crees.

Un servo motor consta de un pequeño motor que hace girar una serie de engranajes dispuestos en árbol para aumentar el torque final del ultimo engranaje, esto es simplemente una "caja reductora", en consecuencia, cuando mueves el potenciometro para modificar el angulo del servo motor lo que haces es realmente enviar tensión al motor en forma de pulsos "esto sucede internamente dentro del servo", los servos de gran tamaño y los de 9 gramos necesitan practicamente la misma tensión para funcionar, pero diferentes cantidades de corriente para accionar sus bobinados, esto y para que lo entiendas es muy similar a este ejemplo que te voy a explicar:

  • Imagina que estás en lo alto de una montaña, estás justo delante de un gran acantilado y tienes en tus manos un cubo lleno de agua "que será el simil a la fuente de alimentación o batería", bien, pues la altura a la que te encuentres representará la tensión, osea, la diferencia entre el cable de masa o en este simil "el suelo" y tu altura, o en este caso "5 voltios", ahora bien, tu cubo tiene una capacidad para llenarlo de agua, bien.. si lo que conectas entre el positivo y el negativo o masa requiere una corriente reducida "bajo consumo" se podría decir que tu verterías el agua del cubo por una manguera fina, la cual llevaría esa intensidad "agua" hacia el negativo o "suelo", la batería "cubo de agua" tendrá una duración larga ya que el circuito al cual está conectado requiere un consumo bajo.

Bien, pues ahora imagina que en vez de conectar el servo de 9 gramos conectas el servo de gran tamaño, se podría decir que ahora verterías el contenido del cubo "el agua o la corriente" por un conducto/manguera mucho mas gruesa, en consecuencia la batería/cubo de agua durará mucho menos tiempo debido al mayor consumo del circuito.

Bien, como puedes ver, la tensión no es importante en estos dos ejemplos, ya que estás a la misma altura "5 voltios" o "en lo alto de la montaña", pero como has podido ver la cantidad de consumo variará en función de lo que conectes a tu fuente de alimentación "cubo de agua".

Lo que sucede en tu circuito real es simplemente que en un momento determinado el servo de gran tamaño puede tener la necesidad de consumir una intensidad "la manguera se ensancha y pasa mas agua" superior a la que la placa de arduino puede suministrarle, y en este caso lo mas probable es que algúna tensión de la placa de arduino se amorre y se reinicie el arduino, esto es simplemente por demandar mas intensidad de la que puede otorgar la salida de 5 volt de la placa de arduino.

Por el bien de tu arduino, y sobre todo para evitar problemas innecesarios "y mas si tienes poca idea de electrónica" lo mejor que puedes hacer es conectar los servos a una fuente de alimentación externa.

Mi consejo es que, las alimentaciones que trae la placa de arduino las uses solo en casos de extremado bajo consumo, como acelerometros, sensores varios etc, y nunca las uses para alimentar dispositivos de potencia.

Entrando un poco mas en profundidad con el tema de los servos, te comento, un servo motor típico de RC consumirá poca intensidad cuando la posición finál a la que debe llegar la leva o "brazo" sea cercana a la posición actual, en ese caso, al tener que desplazarse a muy poca distancia alcanzará muy rápidamente su destino y consumirá poco, esto también sirve por si quieres practicarlo cuando tienes que hacer movimientos grandes con el servo, para ahorrar energía/consumo menor lo que se hace es desplazar lentamente el brazo del servo, así "aunque a simple vista no lo parece" el servo se mueve a pequeños trompicones o pulsos con un paro entre ellos y esto genera una menor demanda de intensidad.

El caso en que es necesario un consumo máximo en un servo motor RC es cuando de repente se le pide que valla a una posición distante de la cual está, en ese caso el motor interno se pone a funcionar al 100% de sus prestaciones y es cuando mas consume.

También hay que saber que, si el brazo o leva del servo motor está sometido a una gran fuerza también consumirá mas energía/corriente, ya que para mantener la posición demandada el motor interno estará todo el timpo contra-restando la fuerza que se ejerce sobre su brazo a base de ligeros impulsos de corriente hacia el motor interno, esto lo puedes ver facilmente conectando el servo a la placa de arduino y una vez inicializado el sistema y posicionado el servo simplemente intenta empujar la leva "brazo" con un dedo, aparecerá un ruidito, como un temblor que se puede oír, contra mas fuerza ejerzas contra el brazo del servo el temblor se hará mayar hasta que directamente si presionas lo suficiente desaparezca el temblor, esto es por que el "potenciometro interno del servo motor" lee una diminuta diferencia entre la posición actual y la posición demandada, y el controlador del servo comienza a enviar pequeños impulsos de corriente al motor para corregir la posición, si apretas sobre el brazo del servo lo suficiente como para mover 1 milimetro el brazo ya no serán pulsos, será corriente constante para poder contrarrestar la posición erratica.

Bueno.. es culturílla general sobre servos, espero que te haya ayudado a comprender lo que sucede dentro de un bicho de estos y sobre todo la diferencia entre tensión e intensidad :wink:
Un saludo, y sorry por el tocho..

Muchas gracias muy bien explicado, entonces una solución sería sacar de la fuenta de alimentación dos líneas con una clema por ejemplo serviría?
en un extremo positivo y negativo y en el otro 4 cables, un positivo y negativo a arduino y otro positivo y negativo para el servo pasando por un 7805 o 7806? ya que el voltaje del servo va de 4.8 a 6?
en que pata del 7805 va el positivo y negativo? positivo entra en pin 1 y sale de pin 3 al servo y pata 2 negativo? de esta manera estária bien el circuito? he puesto una pila de 9v pero en realidad sería una fuente de alimentación de 9v, el negativo de tiene que ir al gnd de arduino como pongo en el circuito para que toda la tierra esté conectada? ese condensador de 10 uf colocado después del 7805 es correcto? o el propio servo lo trae incluido( el condensador)

respecto a los pequeños temblores cuando estoy regulando y por ejemplo dejo el potenciometro a la mitad comienza a hacerlo pero al manipularlo
y darle unos pequeños toques el temblor desaparece, eso se solucionaría al alimentarlo con fuente de alimantación o no se puede solucionar?
gracias de nuevo

Alguien me puede decir si es la manera correcta la que pongo en el esquema del post anterior de conectar arduino y servo con una fuente de alimentación?

El regulador 7805 deberías mirar en el datasheet de tu modelo para conocer sus características. Pero normalmente las conexiones suelen ser estas por lo que parece que no lo tienes bien.

Respecto a los condensadores suelen ponerse estos como ves uno en la entrada y otro en la salida. Lo ideal es que mires en el datasheet de tu modelo para conocer exactamente el valor pero tampoco creo que pase gran cosa si pones otro valores. He solido ver incluso sin ningún condensador regulan.

El interruptor no se muy bien para que lo quieres, si es para que arduino mire su estado se suele poner en modo Pull-up (google)

Lo de los temblores ni idea. Salu2

M0DE:
Alguien me puede decir si es la manera correcta la que pongo en el esquema del post anterior de conectar arduino y servo con una fuente de alimentación?

Creo que es incorrecto. Estás metiendo el + al tierra del regulador. Aparte falta un condensador.
Usa el ejemplo de @ionhs.
Para alimentar un servo no creo necesario usar un regulador aparte.
Un saludo.

Es que es un lio, porque me dicen que no hace falta que lo puedo alimentar desde arduino y todo lo contrario que me puedo cargar la placa,ahora mismo alimento la placa con un una fuente de alimentación a 9v y 1a, el servo lo alimento con las salidas c+5 y gnd de arduino y me funciona bien pero me han advertido que puede que en un momento el servo necesite más amperaje y me cargue la placa (el servo solamente mueve una pieza de metal que no pesa mas de 500gramos y es un on off o sea 90 grados, nunca lo voy a someter a mas peso siempre va a ser el mismo movimiento) por lo que me han aconsejado que lo alimente también sacando otra toma de la fuente de alimentación por lo que necesitaría un 7805 y conectar un condensador a la entrada y a la salida y entonces sería como dice iohns: sacar una toma de la fuente, positivo al positivo del condensador 0,33 a la pata 1 del 7805 y negativo del condensador a la pata 2, luego sale el positivo de la pata 3 del 7805 que va al positivo del condensador 1uf y que iría al positivo del servo y lo mismo con el negativo que vendría de la pata 2 al negativo de del condensador y este al servo supongo que es así, pero como he dicho antes ya no sé que hacer porque me han dicho las dos cosas que no hace falta otros que sí, que si el servo ya trae condensador incorporado bueno si alguien me lo puede aclarar se lo agradezco
gracias

Los condensadores eso son para el regulador, para que funcione en optimas condiciones. Si luego quieres poner otro condensador para el servo supongo que te lo habrán recomendado para filtrar el ruido.

Respecto si necesitas el regulador o no, yo te recomiendo que lo pongas. Si no lo pones dependes del regulador de la placa arduino. Si sobrecargas lad el regulador de la placa arduino, exigiendo más corriente que lo que puede dar, se resetea como protección y da la sensación que el código tiene problemas. Para saber si obligatoriamente necesitas el regulador externo o no, depende de la corriente que consuma el servo y el resto de los componentes que le pongas a la placa.

Creo que la configuración la has entendido, aunque es complicado entenderlo leyendo texto. Salu2

[/img]gracias por la aclaración, en la placa solo tengo conectado el servo nada más y me funciona bien, como ya he dicho siempre va a hacer el mismo movimiento y nunca va a tener que mover más peso del que tiene que mover pero está claro que si es recomendable ponerle un condensador y alimentarlo sacando otra toma de la fuente de alimentación prefiero hacerlo, el valor del condensador creo que es de 10uf el que le tengo que poner
antes del 7805, ahora mismo ruido el servo no me hace ninguno me han dicho que el propio servo trae condensador incorporado pero no lo tengo claro pero por si acaso se lo pondré, de que valor tendría que ser el que va antes del servo? y otra cosa debería de unir el gnd de la placa arduino con el negativo de la fuente de alimentación? sería tal y como he dibujado el esquema? esta es la especificación del servo que utilizo

Current Drain (4.8V): 7.4mA/idle, 160mA no load operating
Current Drain (6.0V): 7.7mA/idle, 180mA no load operating

si yo lo alimento con una fuente de 1000ma es igual? quiero decir no puede dañar al servo?

lo que tambien me confunde es que estoy siguiendo estos tutoriales y conecta alimenta el servo desde arduino desde el usb, yo le pongo una fuente de alimentación pero para el caso supongo que es lo mismo, el servo es similar al mio

y luego tiene otro tutorial que si que utiliza una batería externa pero me extraña mucho ya que según lo que pone la batería es de 12v y no utiliza ningún 7805 cuando el servo como mucho soporta 6v

mas abajo es el circuito de como creo que debe ser la conexión, si alguien me puede confirmar que está bien o mal se lo agradezco
gracias

de que valor tendría que ser el que va antes del servo? No lo se, nunca le he puesto uno.
otra cosa debería de unir el gnd de la placa arduino con el negativo de la fuente de alimentación? Si para que tengan el mismo punto de referencia.
si yo lo alimento con una fuente de 1000ma es igual? quiero decir no puede dañar al servo? Está bien, la fuente de alimentación tiene que dar siempre más corriente que lo que necesita el circuito.

Arduino se puede alimentar desde USB, El conector, o vin. Por usb no usa el regulador de la placa pero por las otras 2 maneras hay que meterle entre 7 y 12v para que el regulador que tiene la placa regule bien.

La batería de 12v la usará para alimentar la placa y la propia placa regulará a 5v. Supongo (no he mirado el video) que el servo lo alimenta desde la placa con 5v que regula la placa.

Las conexiones que has puesto están bien, pero ten en cuenta que el condensador de arriba has puesto uno electrolítico y creo que está alreves. Un condensador electrolítico alimentado inversamente explota.

Gracia, supongo que te refieres a que la pata del negativo del condensador tiene que estar con negativo de la fuente, lo tengo en cuenta
le pondré dos condensadores de 10uf 25v, uno antes del 7805 y otro antes de alimentar el servo, espero que esto sea correcto y ya contaré
que tal va