Página 6 de 11

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 14 Feb 2017, 21:19
por Dawn
fatfredycat escribió:Yo pongo a reproducir una peli y le añado a transmission algo para descargar...en el ultimo script ya cambia dinamicamente segun la temperatura de la raspi... pero estuve mirando y...por debajo de 50 % es tonteria tener el ventilador, pues no refrigera, o muy poco...yo ya te digo, le he hecho un if temp>50 fan=maxfan else fan=minfan que es el 50%
Compañero, para hacer un seguimiento en real de lo que pasa con el proceso fancontrol.sh, sustituye la linea del echo del código por ésto
NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
echo "$NOW | temp: $temp'C | fan: $((fan * 100 / MAX_FAN))% | pause: $secs""s " >> fancontrol.log
Y tendrás un fantastico log en el que comprobar que tal va la refrigeración de tu maquinita :mrgreen:

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 15 Feb 2017, 10:33
por fatfredycat
Dawn escribió:
fatfredycat escribió:Yo pongo a reproducir una peli y le añado a transmission algo para descargar...en el ultimo script ya cambia dinamicamente segun la temperatura de la raspi... pero estuve mirando y...por debajo de 50 % es tonteria tener el ventilador, pues no refrigera, o muy poco...yo ya te digo, le he hecho un if temp>50 fan=maxfan else fan=minfan que es el 50%
Compañero, para hacer un seguimiento en real de lo que pasa con el proceso fancontrol.sh, sustituye la linea del echo del código por ésto
NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
echo "$NOW | temp: $temp'C | fan: $((fan * 100 / MAX_FAN))% | pause: $secs""s " >> fancontrol.log
Y tendrás un fantastico log en el que comprobar que tal va la refrigeración de tu maquinita :mrgreen:
:D

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 11:12
por Dawn
He actualizado un poco el script. En esta versión la velocidad mínima del ventilador es del 25% por debajo de los 45º, punto a partir del cual se va incrementando la velocidad de forma progresiva hasta el 100% de rpm (recordemos que está a 5v) a los 65º. Si la temperatura sube más, el ventilador seguirá fijo en el 100% de rpm, y no bajará si la temperatura no baja de 65º.

Con esto tenemos que entre los 45º y los 65º el ventilador se acelera o se frena en función de la temperatura, estando al 50% de las revoluciones a 50º.

Además he añadido un literal en el script que nos indica que éste se ha iniciado.
#!/bin/bash
### BEGIN INIT INFO
# Provides: 		blabla
# Required-Start:	$syslog
# Required-Stop:	$syslog
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description: 	fancontrol via Hardware
# Description:
#
# Fancontrol via Hardware PWM for RaspberryPi
### END INIT INFO


# Limits
MIN_TEMP=35
MIN_TEMP_FAN=45
MAX_TEMP=65
MIN_FAN=256
MAX_FAN=1024

# Start log
NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
echo "$NOW | START fancontrol LOG " >> fancontrol.log

# Run forever
while [ 1 ]; do

	# What's the CPU temp?
	temp=$(cat /sys/class/thermal/thermal_zone0/temp)
	temp=$((temp/1000))
	
	# Variable temperature control
	if [ $temp -gt $MIN_TEMP_FAN  ] && [ $temp -lt $MAX_TEMP ]; then
		fan=$(((temp - MIN_TEMP) * (MAX_FAN - MIN_FAN) / (MAX_TEMP - MIN_TEMP)))
		secs=1

	# Maximum fan RPM
	elif [ $temp -ge $MAX_TEMP ]; then
		fan=$MAX_FAN
		secs=5

	# Minimun fan RPM
	else
		fan=$MIN_FAN
		secs=15
	fi
	
	gpio -g mode 18 pwm
	gpio -g pwm 18 $fan

	# Show current state and pause for a while
	NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
	echo "$NOW | temp: $temp'C | fan: $((fan * 100 / MAX_FAN))% | pause: $secs""s " >> fancontrol.log
	sleep $secs

done
exit 0

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 12:48
por Principe_elda
Hola Dawn

tengo instalada la V4 de kamber, ¿puedo usar este script?¿en que ruta tendria que ponerlo?

Tengo hecha la modificación para que arranque en Kodi en lugar de directamente en AM.

Saludos

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 13:06
por Dawn
Principe_elda escribió:Hola Dawn

tengo instalada la V4 de kamber, ¿puedo usar este script?¿en que ruta tendria que ponerlo?

Tengo hecha la modificación para que arranque en Kodi en lugar de directamente en AM.

Saludos
Pues yo uso la misma imagen y también con el inicio antes de Kodi. Este script me funciona perfectamente, así que podrás usarlo tu también.

Yo lo tengo en /home/pi/Scripts, aunque da un poco igual donde lo pongas siempre que en el cron le indiques la ruta correcta del script.

Ya contarás que tal!

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 13:11
por Casillero
Excelente el tutorial! te felicito, voy a tratar de ponerlo a prueba en mi proyecto

mil gracias!

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 17:24
por Principe_elda
Dawn escribió:
Principe_elda escribió:Hola Dawn

tengo instalada la V4 de kamber, ¿puedo usar este script?¿en que ruta tendria que ponerlo?

Tengo hecha la modificación para que arranque en Kodi en lugar de directamente en AM.

Saludos
Pues yo uso la misma imagen y también con el inicio antes de Kodi. Este script me funciona perfectamente, así que podrás usarlo tu también.

Yo lo tengo en /home/pi/Scripts, aunque da un poco igual donde lo pongas siempre que en el cron le indiques la ruta correcta del script.

Ya contarás que tal!
Para que se ejecute cada 10 minutos seria algo asi, no?
crontab -e
*/10 * * * */home/pi/Scripts/Fancontrol.sh

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 20:58
por SyDManga
gran aporte

Re: RE: Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 16 Feb 2017, 21:14
por Dawn
Principe_elda escribió:
Dawn escribió:
Principe_elda escribió:Hola Dawn

tengo instalada la V4 de kamber, ¿puedo usar este script?¿en que ruta tendria que ponerlo?

Tengo hecha la modificación para que arranque en Kodi en lugar de directamente en AM.

Saludos
Pues yo uso la misma imagen y también con el inicio antes de Kodi. Este script me funciona perfectamente, así que podrás usarlo tu también.

Yo lo tengo en /home/pi/Scripts, aunque da un poco igual donde lo pongas siempre que en el cron le indiques la ruta correcta del script.

Ya contarás que tal!
Para que se ejecute cada 10 minutos seria algo asi, no?
crontab -e
*/10 * * * */home/pi/Scripts/Fancontrol.sh
Lo que deberias es modificar las pausas del codigo (sleep) a 600

Enviado desde mi SM-G935F mediante Tapatalk

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 17 Feb 2017, 10:23
por fatfredycat
El script no deja de ejecutarse...lo unico que puedes es como dice @Dawn darle pausa de 600 pero...si esta al 25% no creo que refrigere suficiente...

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 20 Feb 2017, 15:03
por Principe_elda
fatfredycat escribió:El script no deja de ejecutarse...lo unico que puedes es como dice @Dawn darle pausa de 600 pero...si esta al 25% no creo que refrigere suficiente...
Buenas

He tenido que comprarme otro soldador porque el viejo no lo encuentro por ningun lado, me he pillado uno muy normalito de amazon que viene con un maletin para tenerlo todo bien guardado y organizado.

Ya tengo todos los componentes, en cuanto llegue el soldador me pondre con ello.

Estoy bastante verde con esto de los scripts, si esta siempre en ejecución entonces ¿hay que añadir algo en cron? de ser así ¿que habria que añadir?

Muchas gracias por toda vuestra ayuda

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 20 Feb 2017, 15:22
por Dawn
Principe_elda escribió:
fatfredycat escribió:El script no deja de ejecutarse...lo unico que puedes es como dice @Dawn darle pausa de 600 pero...si esta al 25% no creo que refrigere suficiente...
Buenas

He tenido que comprarme otro soldador porque el viejo no lo encuentro por ningun lado, me he pillado uno muy normalito de amazon que viene con un maletin para tenerlo todo bien guardado y organizado.

Ya tengo todos los componentes, en cuanto llegue el soldador me pondre con ello.

Estoy bastante verde con esto de los scripts, si esta siempre en ejecución entonces ¿hay que añadir algo en cron? de ser así ¿que habria que añadir?

Muchas gracias por toda vuestra ayuda

Correcto, hay que añadir al cron lo siguiente de la siguiente manera:
crontab -e
Y AÑADIMOS AL FINAL DEL ARCHIVO
@reboot /ruta/delscript/fancontrol.sh > /dev/null 2>&1

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 21 Feb 2017, 11:47
por raenio
Muchas gracias, buen aporte, en cuanto pueda me pongo con esto!

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 21 Feb 2017, 16:16
por fatfredycat
raenio escribió:Muchas gracias, buen aporte, en cuanto pueda me pongo con esto!
Ok :D si necesitas ya sabes!

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 21 Feb 2017, 19:16
por yoshy
Pues muy bueno el tutorial, apuntado para cuando tenga tiempo libre. Gracias

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 21 Feb 2017, 19:29
por joalma
gracias por el aporte, lo voy a probar ;)

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 26 Feb 2017, 21:49
por pipefoz
Ya tengo un tuto que seguir para mi rpi, graicas!

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 26 Feb 2017, 22:09
por Marlboro
Pillo sitio para hacerlo en unos días

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 02 Mar 2017, 11:43
por tenshide
Dawn escribió:He actualizado un poco el script. En esta versión la velocidad mínima del ventilador es del 25% por debajo de los 45º, punto a partir del cual se va incrementando la velocidad de forma progresiva hasta el 100% de rpm (recordemos que está a 5v) a los 65º. Si la temperatura sube más, el ventilador seguirá fijo en el 100% de rpm, y no bajará si la temperatura no baja de 65º.

Con esto tenemos que entre los 45º y los 65º el ventilador se acelera o se frena en función de la temperatura, estando al 50% de las revoluciones a 50º.

Además he añadido un literal en el script que nos indica que éste se ha iniciado.
#!/bin/bash
### BEGIN INIT INFO
# Provides: 		blabla
# Required-Start:	$syslog
# Required-Stop:	$syslog
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description: 	fancontrol via Hardware
# Description:
#
# Fancontrol via Hardware PWM for RaspberryPi
### END INIT INFO


# Limits
MIN_TEMP=35
MIN_TEMP_FAN=45
MAX_TEMP=65
MIN_FAN=256
MAX_FAN=1024

# Start log
NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
echo "$NOW | START fancontrol LOG " >> fancontrol.log

# Run forever
while [ 1 ]; do

	# What's the CPU temp?
	temp=$(cat /sys/class/thermal/thermal_zone0/temp)
	temp=$((temp/1000))
	
	# Variable temperature control
	if [ $temp -gt $MIN_TEMP_FAN  ] && [ $temp -lt $MAX_TEMP ]; then
		fan=$(((temp - MIN_TEMP) * (MAX_FAN - MIN_FAN) / (MAX_TEMP - MIN_TEMP)))
		secs=1

	# Maximum fan RPM
	elif [ $temp -ge $MAX_TEMP ]; then
		fan=$MAX_FAN
		secs=5

	# Minimun fan RPM
	else
		fan=$MIN_FAN
		secs=15
	fi
	
	gpio -g mode 18 pwm
	gpio -g pwm 18 $fan

	# Show current state and pause for a while
	NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
	echo "$NOW | temp: $temp'C | fan: $((fan * 100 / MAX_FAN))% | pause: $secs""s " >> fancontrol.log
	sleep $secs

done
exit 0


Con este script, yo que tengo puesto el ventilador directo al espadin 4 (5v) y 6 (GND) directo, solo tendría que cambiar los parametros donde indica que GPIO uso no? soy un poco pez en esto disculpa..

Re: Control del ventilador RPi3 (RPM según temperatura)

Publicado: 02 Mar 2017, 12:51
por Dawn
tenshide escribió:
Dawn escribió:He actualizado un poco el script. En esta versión la velocidad mínima del ventilador es del 25% por debajo de los 45º, punto a partir del cual se va incrementando la velocidad de forma progresiva hasta el 100% de rpm (recordemos que está a 5v) a los 65º. Si la temperatura sube más, el ventilador seguirá fijo en el 100% de rpm, y no bajará si la temperatura no baja de 65º.

Con esto tenemos que entre los 45º y los 65º el ventilador se acelera o se frena en función de la temperatura, estando al 50% de las revoluciones a 50º.

Además he añadido un literal en el script que nos indica que éste se ha iniciado.
#!/bin/bash
### BEGIN INIT INFO
# Provides: 		blabla
# Required-Start:	$syslog
# Required-Stop:	$syslog
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description: 	fancontrol via Hardware
# Description:
#
# Fancontrol via Hardware PWM for RaspberryPi
### END INIT INFO


# Limits
MIN_TEMP=35
MIN_TEMP_FAN=45
MAX_TEMP=65
MIN_FAN=256
MAX_FAN=1024

# Start log
NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
echo "$NOW | START fancontrol LOG " >> fancontrol.log

# Run forever
while [ 1 ]; do

	# What's the CPU temp?
	temp=$(cat /sys/class/thermal/thermal_zone0/temp)
	temp=$((temp/1000))
	
	# Variable temperature control
	if [ $temp -gt $MIN_TEMP_FAN  ] && [ $temp -lt $MAX_TEMP ]; then
		fan=$(((temp - MIN_TEMP) * (MAX_FAN - MIN_FAN) / (MAX_TEMP - MIN_TEMP)))
		secs=1

	# Maximum fan RPM
	elif [ $temp -ge $MAX_TEMP ]; then
		fan=$MAX_FAN
		secs=5

	# Minimun fan RPM
	else
		fan=$MIN_FAN
		secs=15
	fi
	
	gpio -g mode 18 pwm
	gpio -g pwm 18 $fan

	# Show current state and pause for a while
	NOW=$(date +"%m-%d-%y")" | "$(date +"%T")
	echo "$NOW | temp: $temp'C | fan: $((fan * 100 / MAX_FAN))% | pause: $secs""s " >> fancontrol.log
	sleep $secs

done
exit 0


Con este script, yo que tengo puesto el ventilador directo al espadin 4 (5v) y 6 (GND) directo, solo tendría que cambiar los parametros donde indica que GPIO uso no? soy un poco pez en esto disculpa..
Eso no te funcionará. Si quieres que se ajuste automáticamente la velocidad del ventilador tienes que seguir exactamente las instrucciones del primer post.