Autor Tema: Un bocata de relés, por favor. Novato empezando...  (Leído 6794 veces)

0 Usuarios y 1 Visitante están viendo este tema.

antares

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #40 en: 18-10-2017, 17:37 (Miércoles) »
El puente vale para separar la alimentacion de los reles y la de activacion.
Si quitas el puente puedes poner +5V en el pin JD-VCC y +3V3 en VCC.
Asi se queda un circuito practicamente igual al que probe yo ayer y no necesite poner transistores intermedios. Recuerda que el rele se activa mandando un 0 al gpio.

Aqui tienes un esquema de la placa que has comprado
http://www.profetolocka.com.ar/2015/05/09/modulo-de-4-reles-para-arduino/



Ficht

  • Visitante
Re: Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #41 en: 18-10-2017, 17:38 (Miércoles) »
El tema es que donde vivo prácticamente no hay ni una tienda de electrónica, así que todas estas cosas las tengo que pedir por Internet.

Tengo encargados estos transistores:
http://www.ebay.es/itm/20x-2N2222-Transistor-NPN-40V-800mA-300MHz-Small-Signal-Switching-TO-92-T0006/201698890538?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649

También resistencias de 10K y 2K2, como pone en el dibujo.

Ok, no lo toco entonces. En cuanto me llegue eso, lo monto y lo pruebo. Habrá que tener paciencia, pero no tengo prisa.

Por cierto, ¿alguien me puede decir para qué es el jumper que lleva?
Puentea dos pines llamados:
VCC y JD-VCC

Y otra pregunta: Cuando conecte la plaquita expansora de bus I2C, supongo que también necesitaré un conjunto de (transistor+resistencias) aparte para cada uno de los relés... ¿es correcto?

Gracias por vuestra paciencia infinita.
No, no lo necesitas, la polaridad de cada pin es la misma, no así como los GPIO, que en la placa están cableados de manera diferente. Los pines del puente en la placa de relé son para conmutar el 5V de alimentación, yo en ocasiones lo uso para alimentar otra placa a continuación... Y así.

Enviado desde mi PRA-LX1 mediante Tapatalk

« Última modificación: 20-10-2017, 08:47 (Viernes) por Ficht »

peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #42 en: 20-10-2017, 19:19 (Viernes) »
Hola, me acaban de llegar los transistorianos de transistoria.

Tienen 3 pines. Según entiendo del dibujo, debería conectarlos tal que así...



¿Es correcto?

Ficht

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #43 en: 20-10-2017, 19:24 (Viernes) »
Hola, me acaban de llegar los transistorianos de transistoria.

Tienen 3 pines. Según entiendo del dibujo, debería conectarlos tal que así...



¿Es correcto?

En principio si, pero mejor busca el datasheet por el código del transistor ahí te explica bien las conexiones (recuerda las resistencias).

Desconectado Hwagm

  • Administrador
  • *
  • Mensajes: 17656
    • GNU/Linux Wifislax
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #44 en: 20-10-2017, 20:24 (Viernes) »
 ;D

me gusta ver que en el foro, no solo se habla de wifislax y crack wifi

Citar
Yo también trato con autómatas, aunque más a nivel informático, y desde luego que los actuadores son un coñazo...

jejeje, eso quiere decir que tienes algunos xispas que te montan todo, y tu luego solo haces el programa xd

estamos de vacas flacas, asi que me toca hacerlo todo, hasta cambiar los fluorescentes de los lavabos xd


Ficht

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #45 en: 20-10-2017, 20:31 (Viernes) »
;D

me gusta ver que en el foro, no solo se habla de wifislax y crack wifi

Citar
Yo también trato con autómatas, aunque más a nivel informático, y desde luego que los actuadores son un coñazo...

jejeje, eso quiere decir que tienes algunos xispas que te montan todo, y tu luego solo haces el programa xd

estamos de vacas flacas, asi que me toca hacerlo todo, hasta cambiar los fluorescentes de los lavabos xd


jajajaja y pensar que uno aquí se rompe los cuernos con estas cosas de hobby.  ;D

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 1870
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #46 en: 21-10-2017, 00:30 (Sábado) »
;D

me gusta ver que en el foro, no solo se habla de wifislax y crack wifi

Citar
Yo también trato con autómatas, aunque más a nivel informático, y desde luego que los actuadores son un coñazo...

jejeje, eso quiere decir que tienes algunos xispas que te montan todo, y tu luego solo haces el programa xd

estamos de vacas flacas, asi que me toca hacerlo todo, hasta cambiar los fluorescentes de los lavabos xd

Pues sí. Y no sabes lo que se suda cuando estás implantando a 8000 km de distancia en remoto, el que te explica lo que está fallando no entiende ni papa, con más de un cuarto de millón de líneas de código y estando tú solito. Y todo esto a las 2:00am hora española, y por cuatro perras.

En fin, perdón por el offtopic.  >:D
No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Hacemos pantallas con píxeles casi invisibles, para luego ampliar la letra porque no la vemos... Bonita paradoja...
Creamos analfabetos tecnológicos con una velocidad pasmosa. Todo el mundo "maneja" tecnología, casi nadie sabe lo que tiene entre las manos, pero todo el mundo opina.
El analfabetismo, antes, pasaba desapercibido. Ahora, se transmite por Internet y las redes sociales.

Desconectado Hwagm

  • Administrador
  • *
  • Mensajes: 17656
    • GNU/Linux Wifislax
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #47 en: 21-10-2017, 15:52 (Sábado) »
por eso nunca monto telecontrol.

los jefes quieren. yo me niego.

hay que estar delante de la maquina y sufrirla

yo no dejo a nadie que me haga los planos eléctricos. ni decidan el material. ni que monten los cuadros ni la instalación eléctrica de la máquina

cuando hay sobredemanda y viene soporte externo. saben que hay tres formas de hacer las cosas. bien. mal y a mi manera

tienen hacerme caso. pero es que luego el que va a la puerta en marcha soy yo

no soy el mejor programador. los he conocido buenísimos. pero luego no distinguian un dectector inductivo de un final de carrera

y ya no te digo si deben hacer un poco de ajuste mecánico

y si hablamos de servos jajajajajajajajaja algunos se asustan



Desconectado sanson

  • Moderador Global
  • *
  • Mensajes: 8428
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #48 en: 21-10-2017, 16:16 (Sábado) »
A ver la chavalería ¿volvemos al tema ?


Jejjejejejej

Enviado desde mi SM-G920F mediante Tapatalk


peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #49 en: 22-10-2017, 00:13 (Domingo) »
Por fin funciona  !!!

Al final he utilizado las resistencias que tenía de 1,8K. He puesto 6 en serie para acercarme a la de 10K y la de 2,2 la he dejado en una de 1,8.

Lo he montado todo en plan chapucilla en una protoboard pequeña y ha funcionado.

Por cierto, lo activo con 1 y lo desactivo con 0.

Ahora sólo me falta entenderlo  ;D
Es decir, entender ese circuito intermedio; que no entiendo muy bien qué hace exactamente y por qué es necesario.


Ficht

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #50 en: 22-10-2017, 00:16 (Domingo) »
Ahora sólo me falta entenderlo  ;D
Es decir, entender ese circuito intermedio; que no entiendo muy bien qué hace exactamente y por qué es necesario.



 >:( >:( >:( >:(

Seguramente tu GPIO esta cableado en la placa, de forma parecida al tercero de esta foto (obviando siempre el botón) por lo que en cualquier caso se activaba con el circuito de la placa a GND, pero al poner las resistencias, lo conviertes a algo parecido al tipo 4, cosa que las resistencias le quitan continuidad a GND  y deja de activarse solo, y claro, al ponerlo a hi la señal ya llega al optoacoplador de la placa. Y creo que en el caso concreto de tu GPIO en lo que corresponde el botón del 4 caso, hay una resistencia de algún valor menor del que tienes ahora mismo a la salida en tu protoboard. (todo esto es supuesto y claro que puedo estar totalmente equivocado, pero es lo que me parece).



« Última modificación: 22-10-2017, 09:18 (Domingo) por Ficht »

peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #51 en: 25-10-2017, 19:19 (Miércoles) »
Hoy me acaba de llegar el Transfuncionador del contínuo (cuyo misterio tan sólo es superado por su poder)  ;D

La plaquita expansora de bus I2C, vamos.  ;D ;D

Ahora estoy bastante liado, pero el finde lo probaré y volveré con dudas, comentarios y bonitos palabros.

peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #52 en: 28-10-2017, 12:59 (Sábado) »
Con permiso del todopoderoso raphik, copio su post del hilo de la LCD que montó:

@Fitch

Para manejar relés vía I²C se suele utiliza un expansor de bus tipo PCF8574.


El módulo de la foto no incorpora relés, pero vale perfectamente para entender cómo se controla este tipo de dispositivos.

El cable I²C del router se enchufa al conector dupont macho de la izquierda. A la derecha hay otro conector dupont hembra al que se podría conectar a su vez un segundo módulo expansor, y a éste un tercero... y así sucesivamente hasta un total de ocho módulos.

Cuando se conecta más de un módulo a mismo bus, hay que asignar una dirección física distinta a cada uno de ellos. Esto se consigue modificando la posición de los tres jumpers de color naranja.

En la parte superior hay un conector amarillo. El pin de más a la izquierda es 0V. El resto son 8 salidas digitales que pueden tomar los valores 0 o +5V, en función los valores binarios 0 o 1 que les asignemos.

Las 8 salidas digitales se pueden controlar desde una consola de OpenWRT o desde un script. Para establecer el valor de las salidas se usa el comando "i2cset" y para conocer su estado previo "i2cget".

Para entender lo que sigue ahora, hay que estar un poco familiarizado con los sistemas de numeración binario, hexadecimal y su aritmética.

Supongamos que queremos poner la patilla P7 de la tarjeta expansora a +5V y el resto a 0V. Bastará con enviar a la placa el valor binario 0b10000000. El problema es que los scripts no trabajan con binarios. Sólo se puede utilizar decimal y hexadecimal. Sabiendo que el valor decimal 0b10000000 equivale al valor hexadecimal 0x80 y suponiendo que el módulo estuviera conectado en la dirección 0x27 del bus 0, el código a enviar será
Código: [Seleccionar]
i2cset -y 0 0x27 0x80
Si lo que queremos en realidad es activar una o más patillas dejando invariable el resto, no queda otra que tirar del operador binario OR. Primero habría que conocer el estado previo de todas las patillas, luego habría que calcular el valor a enviar y por último enviarlo.

Lo vemos con un ejemplo: activar P7 preservando el estado de las demás salidas. Sabiendo que 0x10000000 equivale a 0x80,
Código: [Seleccionar]
prevState=$((i2cget -y 0 0x27))  # lectura del estado actual
newState=$(($prevState | 0x80))  #cálculo del nuevo valor respetando el estado previo
i2cset -y 0 0x27 $newState  # escritura del nuevo estado

Como esto se está poniendo un poco tocho lo dejo ya. Si de verdad interesa, podemos ver cómo desactivar determinadas patillas, respetando los valores previos, en una próxima entrega.



De momento he conectado el PCF8574 (creo que es el mismo que el de la foto), pero al hacer el i2cdetect no me lo detecta...

EDITO:
APS !!, creo que ya sé porqué es...
Tengo que pasarle continuidad de una sección de columnas a otra en la protoboard.  :P
« Última modificación: 28-10-2017, 13:00 (Sábado) por peperfus »

Ficht

  • Visitante
Re: Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #53 en: 28-10-2017, 13:00 (Sábado) »
Con permiso del todopoderoso raphik, copio su post del hilo de la LCD que montó:

@Fitch

Para manejar relés vía I²C se suele utiliza un expansor de bus tipo PCF8574.


El módulo de la foto no incorpora relés, pero vale perfectamente para entender cómo se controla este tipo de dispositivos.

El cable I²C del router se enchufa al conector dupont macho de la izquierda. A la derecha hay otro conector dupont hembra al que se podría conectar a su vez un segundo módulo expansor, y a éste un tercero... y así sucesivamente hasta un total de ocho módulos.

Cuando se conecta más de un módulo a mismo bus, hay que asignar una dirección física distinta a cada uno de ellos. Esto se consigue modificando la posición de los tres jumpers de color naranja.

En la parte superior hay un conector amarillo. El pin de más a la izquierda es 0V. El resto son 8 salidas digitales que pueden tomar los valores 0 o +5V, en función los valores binarios 0 o 1 que les asignemos.

Las 8 salidas digitales se pueden controlar desde una consola de OpenWRT o desde un script. Para establecer el valor de las salidas se usa el comando "i2cset" y para conocer su estado previo "i2cget".

Para entender lo que sigue ahora, hay que estar un poco familiarizado con los sistemas de numeración binario, hexadecimal y su aritmética.

Supongamos que queremos poner la patilla P7 de la tarjeta expansora a +5V y el resto a 0V. Bastará con enviar a la placa el valor binario 0b10000000. El problema es que los scripts no trabajan con binarios. Sólo se puede utilizar decimal y hexadecimal. Sabiendo que el valor decimal 0b10000000 equivale al valor hexadecimal 0x80 y suponiendo que el módulo estuviera conectado en la dirección 0x27 del bus 0, el código a enviar será
Código: [Seleccionar]
i2cset -y 0 0x27 0x80
Si lo que queremos en realidad es activar una o más patillas dejando invariable el resto, no queda otra que tirar del operador binario OR. Primero habría que conocer el estado previo de todas las patillas, luego habría que calcular el valor a enviar y por último enviarlo.

Lo vemos con un ejemplo: activar P7 preservando el estado de las demás salidas. Sabiendo que 0x10000000 equivale a 0x80,
Código: [Seleccionar]
prevState=$((i2cget -y 0 0x27))  # lectura del estado actual
newState=$(($prevState | 0x80))  #cálculo del nuevo valor respetando el estado previo
i2cset -y 0 0x27 $newState  # escritura del nuevo estado

Como esto se está poniendo un poco tocho lo dejo ya. Si de verdad interesa, podemos ver cómo desactivar determinadas patillas, respetando los valores previos, en una próxima entrega.



De momento he conectado el PCF8574 (creo que es el mismo que el de la foto), pero al hacer el i2cdetect no me lo detecta...
Mira a ver si scl y sda están invertidos...

Enviado desde mi PRA-LX1 mediante Tapatalk


peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #54 en: 28-10-2017, 13:08 (Sábado) »
Yatá, era eso. He movido la PCF a la misma sección de columnas de la protoboard que los jumpers, ahora están más cerquita  :-* :-*  ;D y al estar en la misma sección ya hay continuidad.


(Nótese la diferencia de posición de la PCF, de una sección de columnas de la protoboard en la foto anterior a la misma sección que los jumpers en esta foto)

Código: [Seleccionar]
root@OpenWrt:~# i2cdetect  -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
« Última modificación: 28-10-2017, 13:13 (Sábado) por peperfus »

peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #55 en: 28-10-2017, 13:40 (Sábado) »
Funciona !!

Datos de la PCF:
Bus: 0
Dirección: 20

Patilla conectada al IN del relé en la posición 4. Esto equivale al binario= 10000 (contando de derecha a izquierda, empezando desde 0), lo que equivale al valor decimal 16, lo cual equivale al valor hexadecimal 10. (Ver calculadora para pasar de un formato a otro si no lo queréis hacer de cabeza)

Comandos a utilizar:
root@OpenWrt:~# i2cset  -y 0 0x20 0x10
root@OpenWrt:~# i2cset  -y 0 0x20 0x00

Con el primero, desactivo el Relé, ya que es "Low level trigger" y con el segundo lo activo; es decir: se activa enviando 0 voltios a su pin IN y se desactiva enviando 5V.

 ;D

Estoy disfrutando de estas "chorradillas" como un crío y ya tengo 38 añitos  ;D ;D ;D ;D

Luego igual pruebo a conectar la plaquita de varios relés y usar la operación binaria OR para activar y desactivar de forma individual.

PD: Con la expansora PCF no me ha hecho falta conectar resistencias, ni transistores ni carajos.
PD2: Me acabo de pedir un relé de estado sólido, que tiene pinta de molar, ya que se puede activar y desactivar muchísimo más rápido que estos con electroimán. Intentaré fundir una bombilla de led encendiéndola y apagándola súper rápido, a ver qué pasa.

Edito:
Aquí el vídeo con varios relés conectados al módulo expansor de bus I2C PCF8574:


Al final ha sido más fácil conectar varios relés por I2C con la expansora que uno sólo por simples GPIOS. xD  :P  ;D

Con esto doy el tema por concluído prácticamente. En cuanto me llegue el relé de estado sólido lo probaréy comentaré...

Gracias a todos por la ayuda.
« Última modificación: 28-10-2017, 17:02 (Sábado) por peperfus »

Ficht

  • Visitante
Re: Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #56 en: 28-10-2017, 13:44 (Sábado) »
Funciona !!

Datos de la PCF:
Bus: 0
Dirección: 20

Patilla conectada al IN del relé en la posición 4. Esto equivale al binario= 10000 (contando de derecha a izquierda, empezando desde 0), lo que equivale al valor decimal 16, lo cual equivale al valor hexadecimal 10. (Ver calculadora para pasar de un formato a otro si no lo queréis hacer de cabeza)

Comandos a utilizar:
root@OpenWrt:~# i2cset  -y 0 0x20 0x10
root@OpenWrt:~# i2cset  -y 0 0x20 0x00

Con el primero, desactivo el Relé, ya que es "Low level trigger" y con el segundo lo activo; es decir: se activa enviando 0 voltios a su pin IN y se desactiva enviando 5V.

 ;D

Estoy disfrutando de estas "chorradillas" como un crío y ya tengo 38 añitos  ;D ;D ;D ;D

Luego igual pruebo a conectar la plaquita de varios relés y usar la operación binaria OR para activar y desactivar de forma individual.

PD: Con la expansora PCF no me ha hecho falta conectar resistencias, ni transistores ni carajos.
PD2: Me acabo de pedir un relé de estado sólido, que tiene pinta de molar, ya que se puede activar y desactivar muchísimo más rápido que estos con electroimán. Intentaré fundir una bombilla de led encendiéndola y apagándola súper rápido, a ver qué pasa.
Yo alguna vez casi he fundido los relés...
Prueba
i2cdump -y 0 0x20

A ver qué ocurre con un solo relé, pero con 8 o más, parece que salen volando.
Jejeje

Enviado desde mi PRA-LX1 mediante Tapatalk


peperfus

  • Visitante
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #57 en: 28-10-2017, 16:55 (Sábado) »
Cita de: Ficht
Prueba
i2cdump -y 0 0x20

Jooooder, qué susto !  ;D ;D

Lo he probado con los 5 relés que tengo puestos ahora mismo.

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 1870
Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #58 en: 28-10-2017, 17:23 (Sábado) »
Cuidado, que los relés también se funden. Y los de estado sólido son más sensibles, y aguantan menos. Son más susceptibles a la corriente inversa, y aguantan mucha menos intensidad.
Lo más normal es que se suelde la patilla móvil interna, y ya no se suelta, con lo que se queda fijo en una posición. Los de estado sólido, directamente dejan de funcionar.
No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Hacemos pantallas con píxeles casi invisibles, para luego ampliar la letra porque no la vemos... Bonita paradoja...
Creamos analfabetos tecnológicos con una velocidad pasmosa. Todo el mundo "maneja" tecnología, casi nadie sabe lo que tiene entre las manos, pero todo el mundo opina.
El analfabetismo, antes, pasaba desapercibido. Ahora, se transmite por Internet y las redes sociales.

Ficht

  • Visitante
Re: Re: Un bocata de relés, por favor. Novato empezando...
« Respuesta #59 en: 28-10-2017, 17:36 (Sábado) »
Cuidado, que los relés también se funden. Y los de estado sólido son más sensibles, y aguantan menos. Son más susceptibles a la corriente inversa, y aguantan mucha menos intensidad.
Lo más normal es que se suelde la patilla móvil interna, y ya no se suelta, con lo que se queda fijo en una posición. Los de estado sólido, directamente dejan de funcionar.
Éstos relés azules yo encuentro que salen muy buenos. Los tengo bastante probados y mientras lo mantengas en su rango de operaciones no los he visto fallar. De hecho no me ha fallado ninguno. En la nave ya hace dos años que los uso a diario y estoy muy satisfecho. Desde luego las cargas fuertes de la parte más industrial las paso por otros relés de mayor amperaje.

Enviado desde mi PRA-LX1 mediante Tapatalk