The EMC2101 Fan/PWM Controller is an advanced, programmable fan controller designed for managing the speed of a brushless DC fan using Pulse Width Modulation (PWM). Manufactured by Adafruit (part ID: 4808), this component is ideal for thermal management within electronic systems. Common applications include computer CPU cooling, power supply units, LED lighting systems, and any other scenario where precise fan speed control is required to maintain an optimal temperature.
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power supply input (3.0V to 3.6V) |
2 | GND | Ground connection |
3 | SDA | Serial Data Line for I²C communication |
4 | SCL | Serial Clock Line for I²C communication |
5 | TACH | Tachometer input for fan speed monitoring |
6 | PWM | PWM output to control fan speed |
7 | ALERT | Alert output for fault detection and over-temperature |
8 | ADDR | Address selection pin for I²C communication |
#include <Wire.h>
// EMC2101 I2C address (check datasheet for variations)
const int EMC2101_Address = 0x4C;
// EMC2101 Register Addresses
const byte CONFIG_REGISTER = 0x20;
const byte PWM_REGISTER = 0x30;
void setup() {
Wire.begin(); // Initialize I2C
Serial.begin(9600); // Start serial for output
// Configure EMC2101
setFanSpeed(128); // Set fan speed to 50% duty cycle
}
void loop() {
// Main loop can be used to adjust fan speed based on temperature readings
}
// Function to set the fan speed
void setFanSpeed(byte speed) {
Wire.beginTransmission(EMC2101_Address);
Wire.write(PWM_REGISTER); // Point to the PWM register
Wire.write(speed); // Write the speed value to the register
Wire.endTransmission();
Serial.print("Fan speed set to: ");
Serial.println(speed);
}
Q: Can I control multiple fans with one EMC2101? A: The EMC2101 is designed to control a single fan. For multiple fans, use separate controllers or fans with built-in daisy-chaining capability.
Q: What is the maximum PWM frequency the EMC2101 supports? A: Please refer to the EMC2101 datasheet for the maximum PWM frequency specifications.
Q: How do I change the I²C address of the EMC2101? A: The I²C address can be modified by connecting the ADDR pin to VCC or GND as per the datasheet.
Q: Can the EMC2101 be used with 5V systems? A: While the EMC2101 operates at 3.0V to 3.6V, level shifters can be used for interfacing with 5V systems.
This documentation provides a comprehensive guide to using the EMC2101 Fan/PWM Controller. For further details, consult the manufacturer's datasheet and application notes.