Tabla de contenido:

Controle un ventilador de refrigeración en una Raspberry Pi 3: 9 pasos
Controle un ventilador de refrigeración en una Raspberry Pi 3: 9 pasos

Video: Controle un ventilador de refrigeración en una Raspberry Pi 3: 9 pasos

Video: Controle un ventilador de refrigeración en una Raspberry Pi 3: 9 pasos
Video: Conectar Ventilador Raspberry Pi 3 Modelo B Pines Español 2024, Noviembre
Anonim
Controlar un ventilador de refrigeración en una Raspberry Pi 3
Controlar un ventilador de refrigeración en una Raspberry Pi 3

Agregue un ventilador a un raspberry pi 3, con control para encenderlo y apagarlo según sea necesario.

Una manera fácil de agregar un ventilador es simplemente conectar los cables del ventilador a un pin de 3.3V o 5V y a tierra. Con este enfoque, el ventilador funcionará todo el tiempo.

Creo que es mucho más interesante encender el ventilador cuando alcanzó o sobrepasó un umbral de temperatura alta, y luego apagarlo cuando la CPU se enfrió por debajo de un umbral de temperatura baja.

El instructable asume que tiene una configuración y funcionamiento de Raspberry Pi 3 y que desea agregar un ventilador. En mi caso, estoy usando Kodi en OSMC.

Paso 1: rendimiento y temperatura de la CPU

Aquí no hay acciones. Esta es solo información básica y puede pasar al siguiente paso:

Un disipador de calor es suficiente para la mayoría de las aplicaciones de Raspberry Pi 3 y no se requiere un ventilador.

Una frambuesa pi overclockeada debería usar un ventilador.

En kodi, si no tiene una clave de licencia MPEG-2, es posible que obtenga un icono de termómetro, que indica la necesidad de una licencia o un ventilador.

La CPU de la Raspberry Pi 3 está especificada para funcionar entre -40 ° C y 85 ° C. Si la temperatura de la CPU supera los 82 ° C, la velocidad del reloj de la CPU se ralentizará hasta que la temperatura descienda por debajo de los 82 ° C.

Un aumento en la temperatura de la CPU hará que los semiconductores funcionen más lentamente porque aumentar la temperatura aumenta la resistencia. Sin embargo, un aumento de temperatura de 50 ° C a 82 ° C tiene un impacto insignificante en el rendimiento de la CPU de una Raspberry Pi 3.

Si la temperatura de la CPU Raspberry Pi 3 'está por encima de 82 ° C, entonces la CPU se ralentiza (la velocidad del reloj se reduce). Si se aplica la misma carga, entonces la CPU puede tener dificultades para reducirla lo suficientemente rápido, especialmente si está overclockeada. Debido a que los semiconductores tienen un coeficiente de temperatura negativo, cuando la temperatura excede las especificaciones, la temperatura puede desbocarse y la CPU puede fallar y deberá tirar la Raspberry Pi.

Ejecutar la CPU a alta temperatura, acorta la vida útil de la CPU.

Paso 2: Pines y resistencias GPIO

Aquí no hay acciones. Esta es solo información básica y puede pasar al siguiente paso:

Debido a que no soy un ingeniero eléctrico y seguí las instrucciones de los proyectos en la red, al hacerlo, dañé una buena cantidad de pines GPIO y finalmente tuve que tirar más de una Raspberry Pi. También probé el overclocking y terminé tirando algunas Raspberry Pis que ya no funcionarían.

Una aplicación común es agregar un botón a una Raspberry Pi. Insertar un botón pulsador entre un pin de 5V o 3.3V y un pin de tierra crea efectivamente un corto cuando se presiona el botón. Porque no hay carga entre la fuente de voltaje y tierra. Lo mismo sucede cuando se usa un pin GPIO para una salida (o entrada) de 3.3V.

Otro problema, es que cuando un pin de entrada no está conectado, 'flotará', lo que significa que el valor leído no está definido y si su código está tomando acción en base al valor leído, será errático.

Se requiere una resistencia entre un pin GPIO y cualquier cosa a la que se conecte.

Los pines GPIO tienen resistencias internas para subir y bajar. Estos se pueden habilitar con la función de configuración de la biblioteca GPIO:

GPIO.setup (canal, GPIO. IN, pull_up_down = GPIO. PUD_UP)

GPIO.setup (canal, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)

O se puede insertar una resistencia física. En este instructable, utilicé una resistencia física, pero puedes probar la resistencia interna y habilitarla con la biblioteca GPIO.

Desde el sitio web de Arduino Playground en la Referencia del Apéndice:

"Una resistencia pull-up" tira "débilmente del voltaje del cable al que está conectado hacia su nivel de fuente de voltaje cuando los otros componentes de la línea están inactivos. Cuando el interruptor de la línea está abierto, es de alta impedancia y actúa como si estuviera desconectado. Dado que los otros componentes actúan como si estuvieran desconectados, el circuito actúa como si estuviera desconectado, y la resistencia pull-up eleva el cable al nivel lógico alto. Cuando otro componente de la línea se activa, anulará el nivel lógico alto establecido por la resistencia pull-up. La resistencia pull-up asegura que el cable está en un nivel lógico definido incluso si no hay dispositivos activos conectados a él ".

Paso 3: Partes

Puedes usar casi cualquier cosa, pero estas son las partes que usé.

Partes:

  • Transistor NPN S8050

    250 piezas surtidas $ 8,99, o alrededor de $ 0,04

  • Resistencia de 110 ohmios

    400 resistencias por $ 5.70, o alrededor de $ 0.01

  • Micro Fan, requisitos en la descripción o especificaciones:

    • alrededor de $ 6.00
    • sin escobillas
    • silencio
    • amperios o vatios más bajos en comparación con un ventilador similar
    • En la descripción, busque algo como "voltaje de funcionamiento de 2V-5V"
  • cables de puente hembra-hembra y macho-hembra
  • tablero de circuitos
  • Frambuesa pi 3
  • Fuente de alimentación de 5.1V 2.4A

Notas:

El texto encerrado en espadas está destinado a ser reemplazado por sus datos, ♣ sus-datos ♣

Paso 4: esquema

Esquemático
Esquemático

run-fan requiere un transistor NPN S8050 y una resistencia para conectarse de la siguiente manera:

El lado plano del S8050 mira de esta manera>

  • S8050 pin c: se conecta al cable negro (-) del ventilador
  • S8050 pin b: se conecta a una resistencia de 110 ohmios y al pin 25 de GPIO
  • S8050 pin e: se conecta al pin GPIO de tierra
  • ventilador rojo (+): se conecta al pin GPIO de 3.3v en raspberry pi 3

Se utiliza el pin 25 de GPIO, pero se puede cambiar a cualquier pin de entrada GPIO

Paso 5: Obtenga el guión

Inicie sesión en su raspberry pi con uno de los siguientes:

$ ssh osmc @ ♣ dirección IP ♣

$ shh osmc@♣osmc-hostname♣.local

Y luego puedes descargar el script usando:

$ sudo wget "https://raw.githubusercontent.com/dumbo25/rpi-fan/master/run-fan.py"

Estoy usando kodi en osmc y el usuario es osmc. Si tiene el usuario pi, simplemente cambie todas las apariciones de osmc con pi en el script y en el servicio.

Haga que el script sea ejecutable.

$ sudo chmod + x run-fan.py

Enciendo el ventilador a 60 C. Si la temperatura de inicio es demasiado baja, el ventilador se encenderá para enfriar la CPU y, cuando se apague, la temperatura casi ha vuelto a subir a la temperatura de inicio. Pruebe a 45 C para ver este efecto. No estoy seguro de cuál es la temperatura óptima.

Paso 6: Iniciar automáticamente el script

Iniciar automáticamente el script
Iniciar automáticamente el script

Para que run-fan se inicie automáticamente, use systemd

Inicie sesión en su raspberry pi con uno de los siguientes:

$ ssh osmc @ ♣ dirección IP ♣

$ shh osmc@♣osmc-hostname♣.local

Y luego puede descargar el archivo de servicio systemd usando:

$ sudo wget https://raw.githubusercontent.com/dumbo25/rpi-fan/…

O puede crear un archivo de servicio systemd copiando el contenido del servicio run-fan de github y luego ejecutando:

$ sudo nano /lib/systemd/system/run-fan.service

Pega el contenido de github en el archivo.

ctrl-o, ENTER, ctrl-x para guardar y salir del editor nano

El archivo debe ser propiedad de root y debe estar en / lib / systemd / system. Los comandos son:

$ sudo chown root: root run-fan.service

$ sudo mv run-fan.service / lib / systemd / system /.

Después de cualquier cambio en /lib/systemd/system/run-fan.service:

$ sudo systemctl daemon-reload

$ sudo systemctl enable run-fan.service $ sudo reboot

Después de reiniciar tu Raspberry Pi, ¡el ventilador debería funcionar!

Si tiene problemas con la secuencia de comandos que se inicia al reiniciar, consulte el tema systemd en el Apéndice de solución de problemas.

Paso 7: Apéndice: Referencias

Preguntas frecuentes sobre la temperatura de la organización Raspberry Pi

Hackernoon: Cómo controlar un ventilador

Explicación de las computadoras: videos de enfriamiento

Tom's Hardware: efecto de la temperatura en el rendimiento

Puget Systems: impacto de la temperatura en el rendimiento de la CPU

Resistencias Pull Up y Pull Down

Paso 8: Apéndice: Actualizaciones

Para hacer: fusionar la placa de circuito del receptor de RF con el controlador del ventilador

Paso 9: Apéndice: Solución de problemas

Comprobando el servicio systemd

Para asegurarse de que run-fan.service en systemd esté habilitado y en ejecución, ejecute uno o más de los comandos:

$ systemctl list-unit-files | grep habilitado

$ systemctl | grep en ejecución | grep fan $ systemctl status run-fan.service -l

Si hay algún problema al iniciar el script usando systemd, examine el diario usando:

$ sudo journalctl -u run-fan.service

Para comprobar si run-fan.py se está ejecutando:

$ cat /home/osmc/run-fan.log

Recomendado: