rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

rele optoacoplador

Tue Dec 15, 2015 6:18 pm

Hola buenas, les cuento, compré un rele optoacoplador para controlar un ventilador para la raspberry pi en funcion de la temperatura. Es mi primer proyecto con los pines de la raspberry pi, y trasteando he comprobado que funcionan los gpio con un led. La cosa es que el rele solo cambia de posicion cuando le aplico voltaje negativo, y creo que los gpio suministran +3v. No se entonces si necesito otro rele, o es cosa del montaje que tengo hecho. Adjunto fotos de mi montaje. La fuente de alimentacion la he sacado de un cargador y suministra 5v, y alimenta todo, de la raspberry pi solo sale el cable del GPIO 17, que va al in1. Muchas gracias de antemano https://mega.nz/#!J4ITDZJQ!oUNpI6ndE89k ... 5jUgybGmUw

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Wed Dec 16, 2015 4:54 pm

He probado a sustituir la conexion del GND y VCC del relé, que estaban conectados a un cargador externo, para conectarlo al pin de la raspberry pi +5v, y a un pin GND tambien de la pi, y así si funciona. Salta el relé, aunque empieza saltado de inicio, nada mas indicar que será salida el rele salta. Y al dar valor 1, este se baja.
A pesar de haber encontrado una solución ..... válida, me gustaría que alguien me ayudase a entender esto.
Muchas gracias

User avatar
actkk2000
Posts: 1309
Joined: Wed Apr 02, 2014 3:22 am

Re: rele optoacoplador

Wed Dec 16, 2015 5:34 pm

No se ve muy bien en la foto las conexiones, pero creo que deberias por un lado enviar la alimentacion solo al breadboard, y desde alli sacar dos pares de cables de alimentacion, uno para Raspberry y otro para los reles.
Por otro lado tambien deberias utilizar codigos de colores acordes para no confundirte en las conexiones, es decir, usualmente se utilizan colores mas claros para positivo y oscuro negativo, como por ejemplo rojo y negro, blanco y azul... lo ideal seria que si haces puentes se unan con colores parecidos o al menos que sigan la misma logica.

Slds!
Robot +Camara +Sensores +Encoder +Servo +Matriz8x8 +Joystick:
https://www.raspberrypi.org/forums/viewtopic.php?f=76&t=130470

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Wed Dec 16, 2015 8:40 pm

actkk2000 wrote:No se ve muy bien en la foto las conexiones, pero creo que deberias por un lado enviar la alimentacion solo al breadboard, y desde alli sacar dos pares de cables de alimentacion, uno para Raspberry y otro para los reles.
Por otro lado tambien deberias utilizar codigos de colores acordes para no confundirte en las conexiones, es decir, usualmente se utilizan colores mas claros para positivo y oscuro negativo, como por ejemplo rojo y negro, blanco y azul... lo ideal seria que si haces puentes se unan con colores parecidos o al menos que sigan la misma logica.

Slds!
Antes que nada, gracias por responder.
Tienes toda la razon , hay mucho desorden de colores.
Tenia la instalacion tal como dices, por un lado la raspberry pi, alimentada con su cargador para ella sola. Por otro lado un cargador al cual le soldé los cables de positivo y negativo y los enchufé a la breadboard, y a ella enchufé el relé y el ventilador

blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Re: rele optoacoplador

Sat Dec 19, 2015 12:19 am

Estas matando moscas a cañonazos,jajaja un pequeño ventilador se puede manejar con un transistor:
https://youtu.be/Ra1CY-zaDj4
espero que te sirva.
Otro enlace en este foro:
viewtopic.php?f=37&t=61896

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: rele optoacoplador

Sat Dec 19, 2015 4:29 pm

Es porque tu relé funciona con voltaje negativo, para que esté desactivado el pin de la Pi tiene que estar en estado HIGH. No sé si tu módulo tendrá está opción pero si la tienes prodrías probar https://coderwall.com/p/izzsig/driving- ... spberry-pi
In a little documented stroke of luck the relay module has a separate loop to power the relay coils, that is the electromechanical part that makes the relay switch, and the Pi has a +5V pin to supply power directly from the USB power source. The 2 standalone pins on the relay module marked VCC and ground should go to the Pi's +5V and Ground pins. Now hook the 3.3v to the signal VCC, and the inputs to whatever GPIO pins you like.
El relé optoacoplado tiene la ventaja del aislamiento galvánico y los motores generan ruidos. Si usas un transistor hay que tomar en cuenta estas precauciones https://www.pololu.com/docs/0J15/9

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Sun Dec 20, 2015 6:18 pm

blamarpa wrote:Estas matando moscas a cañonazos,jajaja un pequeño ventilador se puede manejar con un transistor:
https://youtu.be/Ra1CY-zaDj4
espero que te sirva.
Otro enlace en este foro:
viewtopic.php?f=37&t=61896
Muchas gracias, echaré un vistazo. La verdad es que de cabeza me fuí al relé sin contemplar otras opciones porque casi todo el mundo que le da uso a los pines, usa un relé, y pensé que si no le daba un uso, le daría otro jejejeje

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Sun Dec 20, 2015 6:23 pm

raspdroid wrote:Es porque tu relé funciona con voltaje negativo, para que esté desactivado el pin de la Pi tiene que estar en estado HIGH. No sé si tu módulo tendrá está opción pero si la tienes prodrías probar https://coderwall.com/p/izzsig/driving- ... spberry-pi
In a little documented stroke of luck the relay module has a separate loop to power the relay coils, that is the electromechanical part that makes the relay switch, and the Pi has a +5V pin to supply power directly from the USB power source. The 2 standalone pins on the relay module marked VCC and ground should go to the Pi's +5V and Ground pins. Now hook the 3.3v to the signal VCC, and the inputs to whatever GPIO pins you like.
El relé optoacoplado tiene la ventaja del aislamiento galvánico y los motores generan ruidos. Si usas un transistor hay que tomar en cuenta estas precauciones https://www.pololu.com/docs/0J15/9
Muchas gracias, ya sabía yo que alguna historia tenía este rele jajaja
De todas formas, ¿como podría hacer en el futuro para comprar uno de voltaje positivo?, seguramente me compre otro por ebay, quizá lo mejor sea consultar previamente con el vendedor.

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Mon Feb 08, 2016 3:26 pm

A ver si alguien puede ayudarme. Mi idea es activar o desactivar el pin17 en funcion de que la temperatura sea mayor de 43º C, para ello el script debe consultar cada x segundos la temperatura. Adjunto el código:

#!/bin/bash
TEmperatura= cat /sys/class/thermal/thermal_zone0
#exportamos el pin17
sudo echo 17 > /sys/class/gpio/export
#ahora le decimos que va a ser de salida en lugar de entrada
sudo echo out > /sys/class/gpio/gpio17/direction
for ((;;))
if TEmperatura > 430
do sudo echo 1 > /sys/class/gpio/gpio17/value
sleep 20s
else
do sudo echo 0 > /sys/class/gpio/gpio17/value
sleep 25s
done
___________________________________________________________________________________________
Me da error en la linea del if
por cierto yo supongo que la ruta de la temperatura es igual que la siguiente:: /opt/vc/bin/vcgencmd measure_temp

User avatar
actkk2000
Posts: 1309
Joined: Wed Apr 02, 2014 3:22 am

Re: rele optoacoplador

Mon Feb 08, 2016 6:22 pm

Code: Select all

if TEmperatura > 430:
  do sudo echo 1 > /sys/class/gpio/gpio17/value
  sleep 20s
else:
  do sudo echo 0 > /sys/class/gpio/gpio17/value
  sleep 25s
Slds!
Robot +Camara +Sensores +Encoder +Servo +Matriz8x8 +Joystick:
https://www.raspberrypi.org/forums/viewtopic.php?f=76&t=130470

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Thu Feb 11, 2016 12:07 am

actkk2000 wrote:

Code: Select all

if TEmperatura > 430:
  do sudo echo 1 > /sys/class/gpio/gpio17/value
  sleep 20s
else:
  do sudo echo 0 > /sys/class/gpio/gpio17/value
  sleep 25s
Slds!
Muchas gracias, la verdad es que no me funciona tampoco, pero no importa, he conseguido hacer funcionar el ventilador con el método del otro post del ventilador que hay en castellano. Ahora lo que me queda es conseguir que se inicie de manera automatica con cron, cosa que me esta costando

User avatar
actkk2000
Posts: 1309
Joined: Wed Apr 02, 2014 3:22 am

Re: rele optoacoplador

Thu Feb 11, 2016 4:46 am

Perdon, lo lei rápido y pensé que era Python...
De todas maneras, si es un bash lo podrias cargar con cron:

Code: Select all

crontab -e
sudo /<ruta del programa>/./programa.sh
Slds!
Robot +Camara +Sensores +Encoder +Servo +Matriz8x8 +Joystick:
https://www.raspberrypi.org/forums/viewtopic.php?f=76&t=130470

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Thu Feb 11, 2016 4:51 pm

actkk2000 wrote:Perdon, lo lei rápido y pensé que era Python...
De todas maneras, si es un bash lo podrias cargar con cron:

Code: Select all

crontab -e
sudo /<ruta del programa>/./programa.sh
Slds!

mira el script lo tengo así (gracias al compañero del otro post):
#!/bin/bash
###########################################################################
### References:
### I/O Control:
### http://www.instructables.com/id/Control ... y-Pi-GPIO/?$
### http://www.raspberrypi.org/forums/viewt ... 2aaa50634a$
###
### bash if/then
### http://www.thegeekstuff.com/2010/06/bas ... -examples/
### http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-6.html
### http://www.dreamsyssoft.com/unix-shell- ... torial.php
###
### bash sleep ()
### http://www.cyberciti.biz/faq/linux-unix ... scripting/
###########################################################################
#
SoCTemp="`sudo /opt/vc/bin/vcgencmd measure_temp | tr -d "=temp.'C"`"
# SoCTemp=300 # Enable this line for debugging
LowLimit=430
HighLimit=500
echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
echo "Low Limit :"$LowLimit
echo "High Limit:"$HighLimit
echo "SoC Temp :"$SoCTemp
#echo 1 > /sys/class/gpio/gpio17/value
###########################################################################
if [ $SoCTemp -le $HighLimit ]; then
### Turn on GPIO 21 off:
echo "SoC is cool($SoCTemp), Turning off the fan in 20 seconds ..."
sleep 20 ; echo 0 > /sys/class/gpio/gpio17/value
echo "Done!"
exit 0
fi
if [ $SoCTemp -ge $LowLimit ]; then
### Turn on GPIO 21 on:
echo "SoC is getting hot ($SoCTemp), Turning on the fan now!"
sudo echo 1 > /sys/class/gpio/gpio17/value
echo "Done!"
exit 0
fi
___________________________________________________________________________________________________
Esta editado por mi para que no haga falta otro script que hay en el otro post al que hago referencia, y el caso es que al ejecutarlo con sudo, se ejecuta el programa y si se pasa de temperatura, se enciende un led, ya que para hacer las pruebas lo que tengo de testigo es un led. Pero parece ser que cron lo no ejecuta de manera automatica. Adjunto mi archivo de crontab:

*/1 * * * * root /home/pi/Thermostat.sh
_____________________________________________________-
esto es lo que tengo al final del archivo, lo tengo con root, porque si no es como root, el script no recibe la permisologia que necesita
PD: Muchas gracias por tu ayuda

User avatar
actkk2000
Posts: 1309
Joined: Wed Apr 02, 2014 3:22 am

Re: rele optoacoplador

Thu Feb 11, 2016 7:50 pm

Primero deberias darle permiso de ejecucion al archivo con

Code: Select all

chmod a+x /home/pi/Thermostat.sh
No entiendo bien la primer parte en crontab donde dice: */1
Si quieres que cargue al inicio deberias poner:
@reboot root /home/pi/Thermostat.sh
Slds!
Robot +Camara +Sensores +Encoder +Servo +Matriz8x8 +Joystick:
https://www.raspberrypi.org/forums/viewtopic.php?f=76&t=130470

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Sat Feb 13, 2016 5:55 pm

actkk2000 wrote:Primero deberias darle permiso de ejecucion al archivo con

Code: Select all

chmod a+x /home/pi/Thermostat.sh
No entiendo bien la primer parte en crontab donde dice: */1
Si quieres que cargue al inicio deberias poner:
@reboot root /home/pi/Thermostat.sh
Slds!
Gracias por el consejo, ya lo había hecho ejecutable.
Lo de */1 es para que se ejecute cada minuto. Poniendo @reboot al principio, cron me dice que hay error.
Creo que lo que pasa es que tengo que ser root para que se inicie, puesto que tengo ordenado que se inicie con el superusuario en las ordenes de cron.
La cuestión es si se puede hacer otro script que me loguee como root previamente

forumisto
Posts: 386
Joined: Fri Mar 16, 2012 8:41 am

Re: rele optoacoplador

Thu Feb 18, 2016 12:57 pm

Hola

El ventilador lo usas para sacar aire caliente de la caja? o para meter aire más fresco a la caja?

Gracias.

rojas105
Posts: 35
Joined: Tue Dec 15, 2015 12:17 am

Re: rele optoacoplador

Fri Feb 19, 2016 11:28 am

forumisto wrote:Hola

El ventilador lo usas para sacar aire caliente de la caja? o para meter aire más fresco a la caja?

Gracias.
Lo uso para meter aire fresco, tengo entendido que es lo mas aconsejable.
Un saludo

seco
Posts: 2
Joined: Tue Jul 31, 2018 9:14 am

Re: rele optoacoplador

Tue Jul 31, 2018 9:20 am

Puede enviar una señal de sueño como esta:

Code: Select all


#!/bin/bash
 
trap "echo 'Ctrl-C is trapped.'" SIGINT
 
total=1
 
while [ $total -le 3 ]
 
do
 
echo "Loop #$total"
 
sleep 2
 
total=$(( $total + 1 ))
 
done
 
# Trap the SIGINT
 
trap "echo ' The trap changed'" SIGINT
 
total=1
 
while [ $total -le 3 ]
 
do
 
echo "Second Loop #$total"
 
sleep 1
 
total=$(( $total + 1 ))
 
done
https://likegeeks.com/es/scripting-de-b ... -trabajos/

Este código envía y atrapa la señal

Return to “Español”