salidas digitales arduino mega adk

despues de estar asta las 4 de la mañana indagando:

pg martin :
defino los pines en setup:
pinMode(luz11, OUTPUT);

Y los maniobro en loop, HIGH si quiero 5 voltios cierra rele, LOW abre rele.
el rele es este: http://www.sparkfun.com/datasheets/Components/General/JZC-11F-05VDC-1Z%20EN.pdf

--creo que por el bajo consumo que tiene el rele ¿ es posible manibrar 30 reles con mega?
--la funte es de 9voltios 1200 mA ¿una mas potente 2500 mA seria lo suyo?

heke:
si defino los pines en como input y les doy el valor HIGH ¿tengo 5 voltios en salida?
se que son muchos, en lugar de conectarlos directamente, de que otra forma puedo hacerlo?

Estas controlando los reles con transistores y alimentandolos por una fuente independiente y no directamente desde la placa?

Si, pretendo controlarlos con la placa, según cararateristcas de Rele yo en entiendo que se puede...
Es un Rele que consume poco, si aporto a la placa una fuente con suficientes mA para todos los componentes entiendo que debe de funcionar.

En fin sigo indagando y buscando nuevos caminos para mi fin, lo de los transistores ... Me estoy documentando una ayuda lo agradecería pues creo que es la forma mas conveniente para no forzar tanto la placa " los transistores junto con los reles "

Muchas gracias por todo!!!

Tienes que hacerlo con trasistores o con alguna variante hay post sobre eso mismo y alguno reciente, si lo encuentro te lo pongo. Salu2

http://arduino.cc/forum/index.php/topic,69660.0.html

pacooh:
Hacele caso a ionhs, y poné algún transistor o algo en el medio para no reventar a la arduino. A cada relé le tendrías que poner también un diodo de protección en serie.
Si yo lo estuviera haciendo, probablemente me inclinaría por usar unos ULN2803 que es una serie de darlingtons más diodos de protección y con eso ni te ponés a medir el voltaje. Es un integrado económico y tiene 8 puertos, con lo cual podrías controlar hasta 8 relés (usando 8 pines).
Si no querés usar tantos pines de la Arduino, empezá a recorrer el camino del ShiftOut.

Y ojo: si vas a activar todos los relés al mismo tiempo, estás muy jugado con la fuente.

Suerte

Pacooh !!

Quieto parao!!

Que no, que no, estas equivocado. Por mucha "chicha" que le pongas al arduino de fuente de alimentacion, aunque esta sea de 40Amperios!! no va a dar mas.

Es que no entiendes que la maxima potencia que va a dar el arduino es a traves de el. Y que yo recuerde eran miliwatios.

Olvidate de esos reles que tienes que me juego una cerveza a que consumen mas que lo que el arduino puede dar por mucho que creas que no.

Tienes que usar o transistores o algun circuito integrado especialidado de driver, tipo uln28...

Los 5 voltios (en realidad 4,7 o 4,8 en las salidas del arduino) solo los tendras poniendolo como salida, pero eso no es lo que preguntabas cuando hablabas de resistencias de pullup, para que sepas, las resistencias de pullup o pulldown se emplean para fijar a positivo o a masa una entrada digital, para evitar que una interferencia de un falso positivo en esa entrada, repito ENTRADA !

Para activar reles o lo que quieras, el arduino no necesita ninguna resistencia de pullup ni las va a poner, ten en cuenta que el arduino deja las salidas en alta impedancia o si no me equivoco, cuando estan definidas, tendra el valor medio de la tension merced a un puente de dos transistores internos, esperando dar high o low.

Respecto a los reles, pon el polimetro en ohmios con un fondo de escala de 200 o 2000 y mide la bobina de este, a ver cuanto da en resistencia pura y nos lo dices...

pacoooh:
si te apuraste tu placa ya debe echar humo :fearful:

Si tuviste paciencia olvidate de conectar el relé directo a la arduino.

Mirá esta imágen:

Si el diodo te parece que está en una posición "que no sirve para nada porque nunca va a conducir", es precisamente porque al apagar el relé, de su bobina salen las más exoticas corrientes que sin este diodo van directo a freir cuanto componente tengan cerca.

Esta es la forma correcta de conectar un relé al Arduino. y R1 NO es la resistencia interna (olvidate de ellas, que solo sirven para las entradas). tendrás que dimensioarla dependiendo del transistor que uses.

bieeeennn!!!

he desecho lo echo, y comprovado que el arduino no tenga ningun pin muerto, no ha pasado nada. Menos mal....
ahora, creo que el mejor camino a seguir en "darlintong" lo integrare mejor con lo que tengo echo ya,

heke: la medicion que me da la bobina del rele es de 55.5 ohmios. Que te dice esto?

he estado ojeando los 18 pines del uln2803 y me asalta dos dudas...
1-- el circuito donde integre los uln2803¿ es conveniente alimentarlo con otra fuente de alimentacion en los pines 9 y 10 del uln2803?
2-- y ¿ no es necesaria ninguna resistencia para los pines que van del arduino al uln2803?

el lunes los pido!!!

Con puentes darlinton no he trabajado nunca pero si he montado en el arduino el esquema que comenta pgmartin. Los valores que use son:

Transistor BC337
Diodo 4007 pero valdrá casi cualquiera
R1 10K ohm

al circuito que comentaba pgmartin le añadi una resistencia (220 ohm) y un led en serie conectándolo paralelo al diodo, así cuando se activa el rele se enciende el led. Salu2

Yo he usado esos transistores bc337 y con la resistencia de 10K el consumo de los pines del arduino no sobrepasa los 2 miliAmperios. Comparado con el darlington creo que son mejor opcion aunque vas a tener que hacer mas soldaduras.
Es que tengo una duda acerca de los Daarlington ¿No tienen la logica cambiada? Lo digo porque si los usas vas a tener que mantener los pines en valor alto para que esten cerrados. Eso lo veo un gasto innecesario de energia.

Si usás el ULN2803, los darlingtons tienen un hFe tan grande que en la práctica no es necesario ponerle una resistencia de base.
Y tené en cuenta estas conecciones (ojo que este es el 2003 que tiene solo 7 darlintons):
http://www.digital-diy.com/digital-diy.net/Handy%20Tips/Resources/Relay.gif
Lo importante es conectar el pin de descarga (en la imagen el 9, en el 2803 es el 10, fijate en el datasheet) a Vcc

Los darlington son NPN, con lo cual controlarás la parte negativa del relé. Para activarlos mandarás un valor alto al pin y para cortar uno bajo (no se invierte nada).

Dado que los relays consumen mucho más que el arduino, podés usar una fuente independiente, inclusive de otro voltaje si los relés son de 12V por ejemplo. Pero recuerda unir las tierras/masas. Si por algún motivo quieres aislarlos y no unir masas, entonces empezarás a recorrer el camino de los optoacopladores (una experiencia lumínica 8) )

Si la bobina del relé tiene una resistencia de 55.5 Ohm, a 5V consumiría (por ley de ohm) aprox. 90mA. Con los darlington te sobra.Igual esto es bastante más alto que lo que interpreto del datasheet. Por las dudas medilo con el amperímetro.

Para dimensionar la fuente tenés que tener en cuenta la simultaneidad, es decir cuantas cosas van a estar consumiendo al mismo tiempo. Desconozco el objetivo de tu proyecto, pero no es lo mismo que los 4 relés se prendan al mismo momento, que estés haciendo una secuencia prendiendo de a uno, por ejemplo.

Ahora que leíste todo, te pido que igual revalides lo dicho, no soy un experto pero al menos con estos componentes trabajé y no los hice echar humo :sweat_smile:

El 2803 es una opcion buenisima, eso que lleve los diodos dentro te ahorra ponerlos para las bobinas de los reles.

El 2803 lo puedes alimentar a 12 mientras las entradas vayan a 5v, da igual.

El empleo de resistencias, depende, no tengo los datos de esos integrados, pero hay que medir, si resulta que sin poner resistencia, le consume al arduino en cada salida 1ma, por ejemplo y poniendole le reduces a 0.25 pues mejor que mejor, mientras funcionen los reles.
Cuanto menos consumo, menos calor, mas dura una bateria y menos averias.

Como bien te dije, ya has visto lo que ha comentado PGMartin, sabia que los reles que tenias consumian mas que lo que el arduino podia dar.

Recuerda la ley de ohm para calculos de consumos I=V/R.

PD: Sabia lo de los reles porque me he estado volviendo loco para localizar reles que a 5v y maximo de 40ma (si es posible menos) pudieran conmutar una carga decente y no he encontrado nada, el unico rele que puede gobernar el arduino sin mas problemas y multiplicado por 8 o 10, es el reed que ya comente en un post. Pero, obviamente, un reed no tiene potencia para conmutar grandes cosas en sus contactos, asi que descartado.

He pedido unos reles de estado solido a www.te.com me han llegado pero ahora mismo no tengo tiempo de probar exhaustivamente, mas adelante comentare si funcionan bien para el arduino, pero desconozco el precio, son samples y solo me mandan uno, no mas.

pgmartin:
Si la bobina del relé tiene una resistencia de 55.5 Ohm, a 5V consumiría (por ley de ohm) aprox. 90mA. Con los darlington te sobra.Igual esto es bastante más alto que lo que interpreto del datasheet. Por las dudas medilo con el amperímetro.

Cuidadin con los cálculos que las bobinas no son resistivas puras, tienen mucha reactancia inductiva por lo que la corriente será mayor que la calculada. Lo mejor alimentar directamente (sin arduino) una bobina y poner el polÍmetro en serie y ver cuanta corriente consume.

Si alguien monta el circuito con puentes darlinton que suba el esquema electrónico (con fritzing es fácil hacer) y podemos poner este post en el Playground que esto se pregunta hasta la saciedad.

Este compañero no tendria problemas con la reactancia inductiva, pues el solo va a conectar o desconectar en continua, es el otro, el que va a hacer la mesa de electroimanes el que tendra que tener presente estos calculos si le va a aplicar la salida PWM, (que eso es una continua troceada, a fin de cuentas es una tension con frecuencia)

En el caso que nos ocupa, para el calculo, va bien, pues si conectara un rele al arduino (que consuma como mucho los 40ma) el calculo no seria sobre 5v, serian mas bien 4,8 a 4,7 mas o menos...

El problema que tiene que tener presente no es con la reactancia inductiva, pues en realidad, una bobina de rele tiene resistencia, reactancia inductiva y capacitiva, pero para los calculos en continua, por ejemplo de la raactancia inductiva tenemos que (si no me equivoco) :

XL = 2PIF*L siendo xl la reactancia inductiva, pi el numero pi, f la frecuencia (que en este caso es cero por ser continua) y L la inductancia en Henrios.

Con lo cual nos arroja 0 de reactancia inductiva para tensiones continuas.

Pues como digo, el problema no esta ahi, el problema esta en las corrientes y tensiones transitorias en el momento de conectar o desconectar una bobina en continua, eso si.

En este caso tendremos presente que una bonina es (mas o menos ) como un condensador solo que no recuerdo cual adelantaba o retrasaba respecto al otro la Xl y XC... pero bueno para eso se pone el diodo en conexion inversa, para que cuando dejemos sin tension la bobina del rele, esta, devuelva la tension almacenada, amplificada y cambiada de signo al circuito y no a la salida del arduino o del transistor.

En el momento de la conexion de la bobina igual puede pedir un pico de corriente mayor que la de funcionamiento hasta que se estabiliza, no recuerdo la formula, pero bueno, como al final debe poner un transistor y los transistores tienen un aguante de pico mayor que la de alimentacion mientras dure poco, no creo que tenga problemas. De todas formas, como siempre, lo mejor medir fuera de circuito y salir de dudas, calcular las cosas con al menos un 75% de margen, es decir, si un componente aguanta hasta 100voltios, hacerlo trabajar en un rango maximo de 75 voltios. (75%) dejando el 25% restante como margen de seguridad.

Siguiendo esta "Norma" no escrita ni fija, los circuitos estaran "curados en salud" esta norma es la que siempre que se puede, suelo emplear y puedo asegurar que tengo algunos diseños que llevan años largos trabajando 24/7 aguantando.

Un ejemplo muy ilustrativo del fallo de calculo de seguridad, lo veis en las placas base de ordenadores, tengo aun alguna placa de 286, 386 y 486 (las de XT las tire por falta de espacio, pero tenia un 8088 de IBM) que sigue funcionando como primer dia y en cambio, no se cuantas veces habre cambiado condensadores de alimentacion de micro en placas de hoy en dia, que van justisimos en la tension maxima a soportar (son esos condensadores de 2000uF, 3600uF 6v o 16v que encontrais al lado del micro.
Antes se calculaban con mas seguridad los circuitos y los diseños (sobre todo cuando tenias que pagar 800.000 ptas (4800 euros) por un IBM XT con 256Kb de ram.

hey!!! que tal?!?!?

En el camino quise ver fritzing como funcionava... esta guapo, y me lie...

ulm,esquema_esquema.png

las resistencias son de 10k, los diodos zener de 30v, no estava el rele que utilizo y lo cree. esta muy bien!!!

otra cosa, si creo un circuito (pcb), donde se puede mandar para que te lo hagan?? esiste este servicio...

En este post han comentado de algunas empresas, lo que no se si harán tiradas cortas, la cosa es preguntar. Yo te animaría a que intentases
hacerla tu. Salu2

http://arduino.cc/forum/index.php/topic,70654.0.html

gracias ions.
lo de pedir las placas es para que queden mas apañadas.

he utilizado dos protoscrewshield algo modificadas para los uln y otra mas para los pulsadores de la casa de mi hermano, los reles aparte en otras dos placas, echas por mi y el mega listas para integrarlas en las cajas de empalme(60 cm*15cm) y controle 16 luces, 6 persianas, un toldo, y la caldera. me sobran los pines de comunicacion, 4 digitales, 6 analogicos, para integrar mas partes de la casa(piscina, solar termica, solar fotovoltaica, garage, y el audio)

siguente camino es canbus, para comunicar piscina, placas solares y caldera.
o arduino ethernet

Qué función cumple el Zener en el circuito?

ey pgmartin!!

esos diodos zener estan para proteger el uln de alguna posible sobretencion inversas devido a las bobinas de los reles, algo he leido sobre el zener para proteger pic.

he echo pruevas apagando los 16 de golpe encendiendolos durante un rato, todo bien. se calienta un poco, pero bien