Não consegui achar nada de relevante para conseguir controlar a velocidade da ventoinha do raspberry pi 5, visto que agora ela utiliza PWM, mas eu não faço ideia de como colocar uma velocidade mínima, já que o cooler desligar abaixo de 50 graus. E essa temperatura faz a carcaça ficar tão quente a ponto de queimar a mão.
Já utilizei o fancontrol, mas não deu certo.
Alguém tem ideia do que eu posso fazer?
1 curtida
Rapaz, eu acho que ele foi projetado assim mesmo, imagino que não de problema para o raspberry pi, agora ao material da carcaça tem que suportar essa temperatura.
Mas plástico suporta temperatura de 165ºC, ou seja, é quando o plástico deixa o estado sólido e passa para o estado liquido.
Só que é lógico que essa informação serve para nada, então vamos para uma informação pratica para o seu caso, a temperatura de operação do plástico é de até 115ºC ou seja é uma temperatura de tolerância de 65ºC de folga para o ligamento do cooler.
Se o plástico ficar em temperatura constante de 120ºC ele sobrevive por até 5 anos.
Resultado, é seguro vc deixar na temperatura de ligamento do cooler mínima a 50ºC.
Fonte:
Você sabe se o polipropileno aguenta calor e qual sua temperatura máxima? | Primeplas.
@Leonam_Cruz foi um prazer em servir.
A carcaça é de metal, ela aguenta a temperatura. Quem não aguenta sou eu quando vou pegar no bicho fervendo kkkkkkk.
Vou fuçar nos arquivos do Raspberry Pi Os pra ver se acho algo relacionado.
1 curtida
A, vc quer pegar ele quando ele está em operação. Para mim ele foi projetado para ser assim.
As vezes preciso trocar o os cabos do gpio de lugar com ele ligado. Ou mesmo trocar o cartão de memória, mas não quero esperar ele esfriar e o bicho queimando os dedos.
Até colocar um usb nele fica complicado quando ele já tá em uso pq queima os dedos ficar segurando nessa carcaça. E de quebra estamos no verão, o que piora muito a situação no Paraná.
Se eu não conseguir mexer nessas configs, to pensando em comprar outra case que pareça com um mini gabinete.
Edit: O Pi 3 eu coloquei a mesma carcaça de metal. Foi o mesmo que matar uma mosca com uma bazuca, o bicho não esquenta nada e da para manusear ele normalmente em uso “pesado”.
1 curtida
Perguntei ao chatgpt da seguinte forma
“e como fazer na unha usando o /sys/class/hwmon/”
O contexto da pergunta anterior foi qual é a syscall para alterar a velocidade da ventoinha do cooler no núcleo Linux.
No final da pergunta ele me deu até um script de automação para ligar o cooler quando atinge 40ºC.
Vc já tento fazer a manipulação do cooler na unha através dos arquivos do núcleo Linux?
Se a manipulação manual funcionar, vc pode programar usando Python com a biblioteca “import os” para que ele manipule o cooler diretamente nos arquivos do núcleo Linux.
Eu já vi que vc sabe programar em Python mesmo.
Na verdade foi um pouco mais fácil do que parecia.
Gastando um pouco do meu inglês, estava lendo o fórum do Raspberry Pi.
Tópico onde achei as respostas: Clica em mim
Aqui está a solução em PT-BR
Para ligar a ventoinha no máximo use o comando:
sudo pinctrl FAN_PWM op dl
Para desligar:
sudo pinctrl FAN_PWM op dh
Se você reiniciar o raspberry as configs são perdidas.
Ainda estou vendo como faz para deixar sempre ligada no mínimo, aparentemente tem que mexer em uns parâmetros do config.txt.
3 curtidas
Com essas 2 informações, vc já consegue programar um python para controlar o cooler, basta definir no código ifs que verifica a temperatura do raspberry pi a cada 1s, e então dependendo do valor da temperatura o if se verdadeiro para temperatura maior que 37ºC(temperatura do corpo humano, uma temperatura ideal para colocar a mão) o cooler seja ligado, e então vc define a velocidade do cooler.
Agora é uma questão de vc programar.
Vc pode colocar o programa em python para iniciar como serviço no systemd, dai vc não precisa entrar com root.
Olá, crie esse script!
sudo nano /usr/local/bin/fan-control.sh
Cole o seguinte conteudo
#!/bin/bash
Limites de temperatura em graus Celsius
TEMP_ON=60
TEMP_OFF=50
Caminho para leitura da temperatura
CPU_TEMP_FILE=“/sys/class/thermal/thermal_zone0/temp”
Estado atual da ventoinha
FAN_ON=false
while true; do
# Lê a temperatura e converte para Celsius
TEMP_RAW=$(cat “$CPU_TEMP_FILE”)
TEMP_C=$((TEMP_RAW / 1000))
if [ "$TEMP_C" -ge "$TEMP_ON" ] && [ "$FAN_ON" = false ]; then
sudo pinctrl FAN_PWM op dl
FAN_ON=true
elif [ "$TEMP_C" -le "$TEMP_OFF" ] && [ "$FAN_ON" = true ]; then
sudo pinctrl FAN_PWM op dh
FAN_ON=false
fi
sleep 5
done
Depois de permissão
sudo chmod +x /usr/local/bin/fan-control.sh
Crie serviço systemd
sudo nano /etc/systemd/system/fan-control.service
[Unit]
Description=Controle automático da ventoinha
After=multi-user.target
[Service]
ExecStart=/usr/local/bin/fan-control.sh
Restart=always
User=root
[Install]
WantedBy=multi-user.target
Ative o serviço
sudo systemctl enable fan-control.service
sudo systemctl start fan-control.service
Pronto! Agora sua ventoinha vai ligar quando a CPU passar de 60 °C e desligar quando cair abaixo de 50 °C.
1 curtida
Obrigado, pela ajuda, deu certo, so automatizar os comandos e tudo vai dar certo.
2 curtidas
Rafael, o pi5 não precisa de scripts, na própria config dá para fazer isso.
Mas resumindo, vá nas configs do boot e escreva algo tipo:
dtparam=fan_temp0=00000
dtparam=fan_temp0_hyst=10000
dtparam=fan_temp0_speed=10
dtparam=fan_temp1=20000
dtparam=fan_temp1_hyst=5000
dtparam=fan_temp1_speed=100
dtparam=fan_temp2=30000
dtparam=fan_temp2_hyst=5000
dtparam=fan_temp2_speed=150
dtparam=fan_temp3=40000
dtparam=fan_temp3_hyst=5000
dtparam=fan_temp3_speed=200
dtparam=fan_temp4=45000
dtparam=fan_temp4_hyst=2000
dtparam=fan_temp4_speed=255
1 curtida
Olá, o uso desse script foi por causa que minha fan não é a original, a única maneira que consegui foi dessa maneira, e olha que vasculhei a internet toda para chegar a esse script, comigo só funcionou assim!
1 curtida
Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.