Fan HAT

From Waveshare Wiki
Jump to: navigation, search
Fan HAT
Fan HAT

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

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

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 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 bookworm system, only the lgpio library is available, bcm2835 and wiringPi libarary cannot be installed or used. Please note that the python library does not need to install, you can directly run the demo.

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

wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install 
#for more details, you can refer to 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 https://files.waveshare.com/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 before exit 0:

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

Resources

Documents

Example

FAQ

 Answer:

It is because the I2C is not turned on, just turn on the I2C interface of the Raspberry Pi.


 Answer:

Because the temperature of the Raspberry Pi did not go up, under normal circumstances the temperature of the Raspberry Pi was about 40 degrees, only when the CPU was computing up, the heat will go up, and the fan will turn up. Of course, you can modify the program to improve this phenomenon.

{{{5}}}


 Answer:

Because the higher the speed of the wind, the wind sound is also correspondingly large, the noise is large.

{{{5}}}


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)