Fan HAT

From Waveshare Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Fan HAT
Fan HAT

PWM Controlled Fan HAT For Raspberry Pi, I2C Bus, PCA9685 Driver, Temperature Monitor
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

This is a PWM controlled Fan HAT, which is designed for Raspberry Pi, I2C Bus, PCA9685 driver, it can be used as a temperature monitor as well.

Features

  • PCA9685 PWM driver as the fan controller, powerful driving capability, auto PWM adjustment
  • 0.91" OLED, 128x32 pixels, displays board temperature or other user-defined content in real-time
  • Adopts 3007 size PWM controlled fan, up to 8000rpm speed, brings strong airflow
  • Supports retrieving temperature data in real-time, and then adjusting the speed automatically, programmable configuration
  • I2C pins, for connecting other host control boards
  • 16-ch PWM outputs, for driving other external PWM devices
  • Comes with heat sinks, better cooling effect

Specifications

  • Operating voltage: 5V
  • Logic level: 3.3V
  • Driver: PCA9685
  • Interface: I2C
  • Fan PWM driver duty cycle: ≥25%
  • Fan RPM (max): 8000 RPM
  • OLED driver: SSD1306
  • OLED resolution: 128×32
  • OLED display color: White
  • OLED FOV: > 160°
  • Mounting holes: 3.0mm

About board

Fan-HAT-9 960.jpg

  1. Standard Raspberry Pi 40PIN GPIO header
  2. PCA9685 PWM driver
  3. 3007 size PWM controlled adjustable fan
  4. PCA9685 I2C address configuration
  5. Reserved I2C control pins
  6. Reserved PCA9685 output channels
  7. 0.91inch OLED display

Pinout

Fan-HAT-11 960.jpg

Relationiship of temperature and Fan speed=

Fan-HAT-5 960.jpg

Example

Hardware connection

First at all, please connect the Fan HAT to Raspberry Pi by attaching it on the 40PIN GPIO
The standoffs and screws can be sued to hold the Fan HAT in another side.
Fan-HAT-5.jpg

Libraries installation

Libraries Installation for RPi

PS: If you are using the system of the Bullseye branch, you need to change "apt-get" to "apt". The system of the Bullseye branch only supports Python3.

First of all you make sure to use which language C or python Open the terminal of Raspberry Pi and install libraries as guides below

Install Library

If you use the bookworm system, you can only use lgpio library, bcm2835 and wiringPi can't be installed and used.

BCM2835

#Open the Raspberry Pi terminal and run the following command
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
tar zxvf bcm2835-1.71.tar.gz 
cd bcm2835-1.71/
sudo ./configure && sudo make && sudo make check && sudo make install
# For more, you can refer to the official website at: http://www.airspayce.com/mikem/bcm2835/

WiringPi

#Open the Raspberry Pi terminal and run the following command
cd
sudo apt-get install wiringpi
#For Raspberry Pi systems after May 2019 (earlier than that can be executed without), an upgrade may be required:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# Run gpio -v and version 2.52 will appear, if it doesn't it means there was an installation error

# Bullseye branch system using the following command:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
. /build
gpio -v
# Run gpio -v and version 2.70 will appear, if it doesn't it means there was an installation error

lgpio

#Open the Raspberry Pi terminal and run the following command
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install

# You can refer to the official website for more: https://github.com/gpiozero/lg

Install Python Library

#python2
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
sudo apt-get install python-smbus
#python3
sudo apt-get update
sudo apt-get install python3-pip
sudo pip install RPi.GPIO
sudo apt-get install python3-smbus

Download example

Open the terminal and run the following commands to download example

cd
sudo apt-get install p7zip-full
wget http://www.waveshare.net/w/upload/0/06/Fan_HAT.7z
7z x Fan_HAT.7z  -r -o./Fan_HAT

Run the example

C
cd
cd Fan_HAT/c/
make clean 
make
sudo ./main
Python
cd
cd Fan_HAT/python/
sudo python main.py

Run when booting

Modify rc.local script

sudo nano /etc/rc.local

Add the lines below to the script, you need to set them in the front of exit 0

fi
sudo /home/pi/Fan_HAT/c/main &
#exit 0