DollaTek PCF8591

DollaTek PCF8591 AD/DA Converter Sensor Module User Manual

Model: PCF8591

1. Introduction

The DollaTek PCF8591 AD/DA Converter Sensor Module is a versatile 8-bit data acquisition device designed for use with microcontrollers like Arduino and Raspberry Pi. It features four analog inputs, one analog output, and communicates via an I2C-bus serial interface. This module is ideal for projects requiring analog-to-digital (AD) conversion for sensor readings and digital-to-analog (DA) conversion for controlling analog devices.

The PCF8591 chip operates on a single supply and offers low standby current. Its hardware address can be programmed using three address pins (A0, A1, A2), allowing up to eight devices to be connected to the same I2C bus without additional hardware. Data transfer is handled serially over the two-line bidirectional I2C bus.

2. Key Features

3. Package Contents

The package includes:

DollaTek PCF8591 module with dimensions and connecting cable

Figure 1: DollaTek PCF8591 module showing its dimensions (3.5cm x 2.2cm) and an included 20cm connecting cable. This image provides a clear view of the module's physical size and the type of cable supplied.

4. Setup Guide

This section outlines the steps to connect and prepare your DollaTek PCF8591 module for use with a microcontroller like Arduino or Raspberry Pi.

4.1 Module Overview

Top view of DollaTek PCF8591 module showing pin labels and components

Figure 2: Top view of the DollaTek PCF8591 module, highlighting the various pins and integrated components. On the left, you can see the analog input/output pins (AOUT, AIN0-AIN3). On the right, the I2C communication pins (SCL, SDA), power (VCC), and ground (GND) are visible. A potentiometer, a photoresistor, and a thermistor are also integrated on the board for easy testing.

Bottom view of DollaTek PCF8591 module showing surface-mount resistors

Figure 3: Bottom view of the DollaTek PCF8591 module, showing the arrangement of surface-mount resistors and other components on the underside of the PCB. This view illustrates the compact design and double-sided nature of the circuit board.

4.2 Pinout Description

Table 1: PCF8591 Module Pinout
PinDescription
VCCPower supply (2.5V - 6V DC)
GNDGround
SDAI2C Serial Data Line
SCLI2C Serial Clock Line
AIN0Analog Input Channel 0 (often connected to potentiometer)
AIN1Analog Input Channel 1 (often connected to photoresistor)
AIN2Analog Input Channel 2 (often connected to thermistor)
AIN3Analog Input Channel 3 (available for external input)
AOUTAnalog Output

4.3 Connecting to Arduino/Raspberry Pi

Follow these steps to connect the PCF8591 module to your microcontroller:

  1. Power Connection: Connect the VCC pin of the PCF8591 module to the 5V (or 3.3V, depending on your microcontroller and desired voltage range) pin on your Arduino/Raspberry Pi. Connect the GND pin of the module to the GND pin on your microcontroller.
  2. I2C Communication:
    • Connect the SDA pin of the PCF8591 to the SDA (Data Line) pin on your microcontroller. For Arduino Uno, this is A4. For Raspberry Pi, this is GPIO2.
    • Connect the SCL pin of the PCF8591 to the SCL (Clock Line) pin on your microcontroller. For Arduino Uno, this is A5. For Raspberry Pi, this is GPIO3.
  3. Analog Inputs: Connect your external analog sensors or voltage sources to the AIN0, AIN1, AIN2, or AIN3 pins. The module has onboard components (potentiometer, photoresistor, thermistor) connected to some of these inputs for testing.
  4. Analog Output: If you need to output an analog voltage, connect your receiving device to the AOUT pin.
Schematic diagram of the DollaTek PCF8591 module

Figure 4: Schematic diagram of the PCF8591 module. This diagram illustrates the internal connections of the PCF8591 chip, including its power supply, I2C interface, analog inputs (AIN0-AIN3), and analog output (AOUT). It also shows the integrated potentiometer (R4), photoresistor (P3), and thermistor (P2) connected to the analog inputs.

5. Operating Instructions

The PCF8591 module communicates via the I2C protocol. To operate it, you will need to write code on your microcontroller to send and receive data over the I2C bus.

5.1 I2C Address

The default I2C address for the PCF8591 chip is 0x48 (7-bit address). This address can be modified by connecting the A0, A1, A2 pins to VCC or GND. The module typically has these pins hardwired or exposed for configuration.

5.2 Analog-to-Digital Conversion (ADC)

To read an analog value from one of the input channels (AIN0-AIN3):

  1. Send Control Byte: Write a control byte to the PCF8591 via I2C. This byte configures the ADC for single-ended or differential input, and selects the active analog input channel. For example, to read AIN0 in single-ended mode, the control byte might be 0x40 (binary 01000000).
  2. Read Data: After sending the control byte, read one byte of data from the PCF8591. This byte will contain the 8-bit digital value corresponding to the analog voltage on the selected input channel.
  3. Voltage Calculation: The 8-bit value ranges from 0 to 255. To convert this to a voltage, use the formula: Voltage = (ADC_Value / 255.0) * VREF, where VREF is the reference voltage (typically VCC, e.g., 5V).

The module often includes a potentiometer connected to AIN0, a photoresistor to AIN1, and a thermistor to AIN2 for easy testing of ADC functionality.

5.3 Digital-to-Analog Conversion (DAC)

To output an analog voltage via the AOUT pin:

  1. Send Control Byte: Write a control byte to the PCF8591, ensuring the DAC enable bit is set. For example, to enable DAC and write a value, the control byte might be 0x40 (binary 01000000) followed by the data byte.
  2. Send Data Byte: Send a second byte representing the 8-bit digital value (0-255) you want to convert to an analog voltage.
  3. Output Voltage: The AOUT pin will then output an analog voltage proportional to the digital value. Output Voltage = (Digital_Value / 255.0) * VREF.

Refer to the PCF8591 datasheet for detailed information on the control byte register and its various configurations. Many libraries are available for Arduino and Raspberry Pi to simplify I2C communication with the PCF8591.

6. Maintenance

The DollaTek PCF8591 module is a robust electronic component designed for long-term use. Minimal maintenance is required to ensure its optimal performance.

7. Troubleshooting

If you encounter issues with your PCF8591 module, consider the following troubleshooting steps:

8. Specifications

Table 2: Technical Specifications
SpecificationValue
BrandDollaTek
Model NamePCF8591
Operating System CompatibilityLinux (for Raspberry Pi), Arduino IDE compatible
Connectivity TechnologyI2C
Compatible DevicesRaspberry Pi, Arduino
Operating Voltage2.5V - 6V DC
ADC Resolution8-bit
DAC Resolution8-bit
Analog Inputs4 (single-ended or differential)
Analog Output1
PCB Dimensions3.5 cm x 2.2 cm

9. Warranty Information

The manufacturer's warranty for this product is typically 1 year. Please refer to your purchase documentation or contact your retailer for specific warranty terms and conditions. Keep your proof of purchase for any warranty claims.

10. Support

For technical assistance, additional documentation, or inquiries regarding the DollaTek PCF8591 AD/DA Converter Sensor Module, please refer to the following resources:

Related Documents - PCF8591

Preview SunFounder Sensor Kit for Raspberry Pi: Comprehensive Guide
Explore the SunFounder Sensor Kit for Raspberry Pi with this detailed guide. Learn to use 35 different sensors and modules through step-by-step lessons, covering preparation, coding, and advanced configurations for electronics and IoT projects.
Preview Kid's Control Panel with Arduino: A DIY Project Guide
Learn how to build a custom Kid's Control Panel using Arduino. This comprehensive guide covers concept, design with FreeCAD, component selection, step-by-step assembly, and Arduino coding for a fun, interactive project.
Preview Elektronik-Grundlagen und Einsteiger-Projekte: Analoge Schaltungen und Mikrocontroller
Umfassender Leitfaden für Elektronik-Einsteiger von Burkhard Kainka, herausgegeben von Elektor. Behandelt analoge Schaltungen, Mikrocontroller-Projekte mit Arduino, Bascom und Micro:bit, Sensoren, Oszillatoren und mehr. Enthält Anleitungen, Schaltungen und praktische Tipps.
Preview Signetics Linear Data and Applications Manual Vol. II 1985
Comprehensive 1985 manual from Signetics detailing linear integrated circuits, including data converters, amplifiers, communication ICs, power control, and video components, with specifications, applications, and ordering information.
Preview Electronic Components for Arduino Projects and Electronics Hobbyists
A curated list of electronic components including power supplies, SSR modules, thermocouples, connectors, Arduino boards, heating plates, LCD displays, switches, and fuses from various suppliers.