Control del ventilador RPi3 (RPM según temperatura)

¿Has creado algún proyecto genial con una Raspberry Pi? Este es tu lugar.
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

fatfredycat escribió:Hola, os explico mi experiencia con el tema del ventilador...por un lado yo consegui que arrancara al iniciar incluyendo el sh con update.rc , pero al poco se detenia, la razon no la sé. Para arreglarlo después de darle mil vueltas le agregue el sh a cron para que ejecutara el sh cada 30 min. Eso si, añadi unas lineas de codigo al sh el qual comprueba si se esta ejecutando o no. Asi solucionado! me funciona a las mil maravillas...luego en respuesta a "lumipi" hasta que no alcanza un grado de voltaje , que creo que es el del 20% no arrancara el ventilador...solución: (ALMENOS LO QUE YO HE HECHO) es ajustar el voltaje...mi configuración es :
temperatura <50º voltaje 0%....y 60 segundos para volver a comprobar
temperatura entre 50º y 70 º voltaje al 50 %...y comprovación cada segundo...asi el ventilador arranca sin problemas
temperatura >70º voltaje al 100%...y comprovación cada segundo

Asi mi ventilador o funciona a la mitad, al tope o no funciona , y asi arranca seguro ya que el voltaje mínimo que recibe es del 50 %.
me podrias pasar o poner por aqui el script y como lo as echo al final. Muchas gracias por adelantado
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Claro!cuando llegue a casa te lo cuelgo! Y no se si por aqui esta el sh que limpia transmission de las descargas ya cumplidas o canceladas...pero ya que vamos a tocar cron es ideal (almenos yo lo tengo asi) ponerlo para mantener transmission limpito de descargas realizadas. Si lo quieres tambien te lo cuelgo
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Bueno...ahi va:
https://dl.dropboxusercontent.com/u/280 ... control.sh
Aqui teneis el archivo que tengo actualmente. Este lo estoy provando y no me falla , lo e añadido a cron para lo ejecute al iniciar
#crontab -e
añadir al final del archivo
@reboot /etc/init.d/fancontrol.sh > /dev/null 2>&1

Aclaro que /etc/init.d es la ruta donde tengo el script con permisos de ejecución!Importante!

Luego para mantener limpito el transmission ejecuto en cron cada hora este script y asi...todo lo que vaya finalizando me lo remueve sin el coñazo de hacerlo manualmente

https://dl.dropboxusercontent.com/u/280 ... torrent.sh

#crontab -e
añadir al final del archivo
@hourly /etc/init.d/removetorrent.sh > /dev/null 2>&1

Y bueno...nada mas, un saludo!
leserc
Pi Omega
Pi Omega
Mensajes: 43
Registrado: 26 Jun 2016, 09:10
Agradecido: 0
Agradecimiento recibido: 0

Gracias..... Mil

Enviado desde mi m2 note mediante Tapatalk
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

MUchisimas gracias fatfredycat por su gran informacion muy agradecido y ahora me toca probar haber si lo consigo :roll: :roll:
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

:D ya contareis si teneis algun problema...otra cosa, si quereis poner en cron que revise el proceso "fancontrol" añadir un " if then" como este y ya!

PROGRAMA='fancontrol.sh'

if ! ps waux | grep -v grep | grep $PROGRAMA > /dev/null
then
"aki pegar el codigo del script"
fi

Saludos!
Última edición por fatfredycat el 06 Feb 2017, 12:16, editado 1 vez en total.
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

Lo estoy probando en recalbox y de momento no consigo nada ya que tengo problemas para entrar en el terminal para poner el script ya que no me reconoce los comandos
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Accedes desde ssh?putty?o frontend?
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

fatfredycat escribió:Accedes desde ssh?putty?o frontend?
putty
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

ok no lo consigues?
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

No. Entro con usuario root luego password recalboxroot me sale # y intento entrar en la ruta /etc/init.d y me dice comando incorecto si le añado sudo tambien es incorecto y no se que mas poner gracias
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Prueba de ponerlo en otra ruta, crontab -e te funciona?
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

me dice comando incorecto tambien
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Ostras pues recalbox no lo he tocado...no se que decirte...despues intento quemar una imagen y pruebo
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

Ok te lo agrdeceria un montón si lo haces y me comentas. Quedó a la espera de tus resultados .Y ante todo darte las más sinceras gracias :) :)
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

No me funciona. Estoy utilizando un transistor NPN (PN2222). En principio es compatible con el que utilizas @fatfredycat .

La cuestión es que si ejecuto por bash el programa , consigo que el pin 12 del gpio me de unos 2v a 50º. Y su valor va cambiando en función de la temperatura, por lo que creo que el programa funciona bien ya que antes de lanzarlo está a 0. Pero a la hora de excitar el transistor, ése voltaje parece como que viniera de un polo negativo diferente. No hace nada y el transistor ni se entera. Sin embargo si excito el transistor con una pila de 1.5v funciona si el negativo de la pila lo conecto a la raspberry. Sino, hace lo mismo que con el pin 12, nada.

Es muy extraño, entiendes que puede estar pasando?

Cuando esto funcione, ya me preocuparé por hacer el cron, que tampoco me ha funcionado. :(
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Hola...pos no se me ocurre nada...yo utilizo este npn
Imagen
Comprueba que este bien conectado el colector, la base y el emisor...que por lo que veo en esta imagen, van al revés que en el mio
Imagen
Al reves si miras la parte plana del npn, claro...
david.mira
Pi Newbie
Pi Newbie
Mensajes: 1
Registrado: 20 Sep 2016, 18:47
Agradecido: 0
Agradecimiento recibido: 0

Con el tema de transistores nunca funciona bien (lo he probado mil veces y los resultados son pesimos)

Si aún andáis interesados en el tema, es bastante sencillo en realidad si se hace uso de un relé optoacoplado, los venden en módulos pares(para nada caros), puedes usar uno para el ventilador y los que sobren para domótica. Simplemente tienes que decir que a X temperatura la raspberry envie señal de encendido al relé, y que cada cierto tiempo haga una comprobación de dicha temperatura, y si alcanza unos valores optimos apague el ventilador. En mi caso tengo esta configuración en un mediacenter con OSMC y una de las ventajas que me permite es poder instalar Domoticz en mi raspberry y controlar a mayores el ventilador cuando desee (En caso de estar reproduciendo una película no quiero que esté funcionando el ventilador por temas de ruido, soy bastante quisquilloso para eso, entonces desde la aplicación movil apago el ventilador, además que con el otro relé que me sobra lo utilizo para apagar o encender el ambilight). El único problema que tiene este sistema es el control de velocidades del ventilador, que siempre tiene que ser fijo, y a mayores que la temperatura se rige por la del procesador ( Tengo todo dentro de una caja con disco duro y demás y he comprobado que se calienta todo bastante uniformemente, así que tampoco habría mayor problema).

Su montaje es muy sencillo, basta con llevar del relé a la raspberry tres cables, uno a ping de 5v , otro a tierra y otro a Out (el pin que elijamos para que mande la señal de encendido), y a mayores alimentar el relé que será lo que dará el voltaje y potencia al ventilador, no es bueno alimentar desde la propia raspberry ya que no proporciona un amperaje suficiente para alimentar a dispositivos externos de manera eficiente.

Y en cuanto al script es muy sencillo, bastaría con algo de este estilo:

#!/bin/bash

echo "23" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio23/direction

pin="23"
minTemp="35"
maxTemp="42"
waitTime="10"

while true; do

#Leer Temperatura
temp=$(cat /sys/class/thermal/thermal_zone0/temp | awk 'NR == 1 { print $1 / 1000}' | cut -c -4)

#Si temperatura superior a maxTemp el ventilador se enciende
if [[ $(bc <<< "$temp >= $maxTemp") == 1 ]] ;
then
printf "Temperatura: $temp \nVentilador activado"
$(echo "0" > /sys/class/gpio/gpio$pin/value)
fi

#Si temperatura inferior a temperatura minima el ventilador se apaga
if [[ $(bc <<< "$temp <= $minTemp") == 1 ]] ;
then
$(echo "1" > /sys/class/gpio/gpio$pin/value)
printf "Temperatura: $temp \nVentilador apagado"
fi
sleep $waitTime
done


En este caso el relé estaría conectado al GPIO 23, que corresponde con el pin 16 de la raspberyy 2, y se encendería al llegar a los 42º y se apagaría al bajar a 35º, a la vez que comprueba la temperatura cada 10 segundos.
Adjuntos
IMG-20161121-WA0006.jpeg
IMG-20161121-WA0004.jpeg
IMG-20161121-WA0002.jpeg
IMG-20161121-WA0006.jpeg
IMG-20161121-WA0004.jpeg
IMG-20161121-WA0002.jpeg
Avatar de Usuario
glicerina
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 Ene 2017, 12:19
Agradecido: 0
Agradecimiento recibido: 0

Me podrias mandar foto del rele si es posible o donde comprarlo para poder verlo. y segunda cuestion este script dondr hay que ponerlo Gracias
Avatar de Usuario
fatfredycat
Pi Omega
Pi Omega
Mensajes: 91
Registrado: 04 Feb 2017, 09:50
Agradecido: 2 veces
Agradecimiento recibido: 2 veces

Que decir, a mi me va genial!ademas no hace nada de ruido el ventilador...tengo la raspi colgada detras de la tele y me va de lujo ... pero bueno es otra opcion :D
Responder