ADC 9 Click-Platine
ADC 9 Click-Platine
Key Features
- 24-Bit-Auflösung, vier differentielle oder acht unsymmetrische Eingangskanäle, geringer Temperaturdrift, 24-Bit-Digital-Offset- und Verstärkungsfehler-Kalibrierungsregister und viele weitere acht analoge Eingangskanäle
- Basierend auf dem MCP3564, einem 24-Bit Delta-Sigma Analog-Digital-Wandler mit programmierbarer Datenrate von bis zu 153,6 Ksps von Microchip
- Kann für eine Analog-Digital-Umwandlung in verschiedenen Anwendungen verwendet werden, wie z. B. präzise Temperatur-, Dehnungs-, Durchfluss-, Kraft- und Druckmessung, Fertigungsprozesssteuerung, präzise Instrumentierung im Allgemeinen und für ähnliche Anwendungen
- mikroBUS: SPI- und GPIO-Schnittstellen
Overview
Der ADC 9 Click Board™ ist die 8. Kanal-Analog-Digital-Wandler-Erweiterungskarte für Projekte, bei denen Sie Bedarf an Mehrkanal-ADC-Konvertierungen haben, wie z. B. Mikrocontroller mit einer kleinen Anzahl oder keinen analogen Eingängen. Diese Click-Karte basiert auf MCP3564, einem 24-Bit-Delta-Sigma-Analog-Digital-Wandler mit einer programmierbaren Datenrate von bis zu 153,6 KSPS von Microchip. Sie bietet integrierte Funktionen wie einen internen Oszillator, einen Temperatursensor und eine Burnout-Sensor-Erkennung, um die Anzahl der Systemkomponenten und die Gesamtlösungskosten zu reduzieren. Eine ideale Wahl für präzise Datenerfassungssysteme, hochauflösende Datenwandler, industrielle Steuerung, batteriebetriebene Geräte und vieles mehr.
Das ADC 9 Click Board™ wird durch eine mikroSDK-kompatible Bibliothek unterstützt, die Funktionen enthält, die die Softwareentwicklung vereinfachen. Dieses Click Board™ wird als vollständig getestetes Produkt geliefert und ist bereit für den Einsatz auf einem System, das mit der mikroBUS™-Buchse ausgestattet ist.
How Does The ADC 9 Click Board™ Work?
The MCP3564 24-bit Delta-Sigma Analog-to-Digital Converter is fully configurable with Oversampling Ratio (OSR) from 32 to 98304 and gain from 1/3x to 64x. It include an internal sequencer (SCAN mode) with multiple monitor channels and a 24-bit timer to be able to automatically create conversion loop sequences without needing MCU communications. Advanced security features, such as CRC and register map lock, can ensure configuration locking and integrity, as well as communication data integrity for secure environments.
The ADC 9 Click Board™ comes with a 20 MHz SPI-compatible serial interface. Communication is largely simplified with 8-bit commands, including various Continuous Read/Write modes and 24/32-bit multiple data formats that can be accessed by the Direct Memory Access (DMA) of an 8-bit, 16-bit or 32-bit MCU.
The noise value generally increases when temperature is higher as thermal noise is dominant for all OSR larger than 32. For high OSR settings (> 512), the thermal noise is largely dominant and increases proportionally to the square root of the absolute temperature. The noise performance is also a function of the measurement duration. For short duration measurements (low number of consecutive samples), the peak-to-peak noise is usually reduced because the crest factor (ratio between the RMS noise and peak-to-peak noise) is reduced. This is only a consequence of the noise distribution being Gaussian by nature.
The ADC 9 Click Board™ uses the MCP3564 IC with a fully configurable analog input dual multiplexer that can select which input is connected to each of the two differential input pins (VIN+/VIN-) of the Delta-Sigma ADC. Each of these multiplexers includes the same possibilities for the input selection, so that any required combination of input voltages can be converted by the ADC. The analog multiplexer is composed of parallel low-resistance input switches turned on or off depending on the input channel selection. Their resistance is negligible compared to the input impedance of the ADC (caused by the charge and discharge of the input sampling capacitors on the VIN+/VIN- ADC inputs).
The ADC 9 Click Board™ also features MCP1501-20, a low drift bandgap-based voltage reference from Microchip for precision data acquisition systems. The bandgap uses chopper-based amplifiers, effectively reducing the drift to zero.
It is designed to be operated only with 3.3V logic levels. A proper logic voltage level conversion should be performed before the ADC 9 Click Board™ is used with MCUs with logic levels of 5V.
SPECIFICATIONS
Type | ADC |
Applications | Can be used for an analog to digital conversion in various applications, such as precise temperature, strain, flow, force measurement and pressure measurement, manufacturing process control, precise instrumentation in general, and for similar applications |
On-board modules | MCP3564 |
Key Features | 24-Bit Resolution, Four Differential or Eight Single-Ended Input Channels, Low-Temperature Drift, 24-Bit Digital Offset and Gain Error Calibration Registers and many more eight analog input channels |
Interface | GPIO,SPI |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout on the ADC 9 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | MCK | Master Clock | |
NC | 2 | RST | INT | 15 | INT | Interrupt/Modulator Data | |
SPI Chip Select | CS | 3 | CS | RX | 14 | NC | |
SPI Clock | SCK | 4 | SCK | TX | 13 | NC | |
SPI Data OUT | SDO | 5 | MISO | SCL | 12 | NC | |
SPI Data IN | SDI | 6 | MOSI | SDA | 11 | NC | |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
VOLT SEL | JP1 | Right | Voltage Reference Selector (Left VCC, Right 2.048V) |
Software Support
We provide a library for the ADC 9 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library covers necessary functions that enables the usage of the ADC 9 Click Board™. User can read and write data of variable lenght and read and calculate ADC values.
Key Functions
uint8_t adc9_write_fast_cmd ( uint8_t dev_adr, uint8_t cmd );
- Function is used to execute fast command.uint8_t adc9_read_def_adc ( uint8_t dev_adr, int32_t *rd_data );
- Function is used to read ADC value when the default fata format is applied.float adc9_volt_calc ( int32_t adc_val, uint16_t v_ref, uint8_t gain );
- Function is used to calculate voltage based on ADC values.
Example Description
The application is composed of three sections :
- System Initialization - Initializes SPI module, LOG structure, sets CS and PWM pins as output and INT pin as input.
- Application Initialization - Initalizes SPI driver, resets and starts the device, and makes an initial log.
- Application Task - (code snippet) This is an example that shows the capabilities of the ADC 9 Click Board™ by calculating voltage level based on ADC from channels 0(positive) and 1(negative), and logs the result.
void application_task ( ) { mikrobus_logWrite( "Setup... ", _LOG_LINE ); adc9_meas_init( ); mikrobus_logWrite( "Done! ", _LOG_LINE ); while ( adc9_irq_pin_state( ) ) { } adc9_read_def_adc ( ADC9_DEVICE_ADR, &adc_value ); LongToStr( adc_value, log_txt ); mikrobus_logWrite( "ADC Value : ", _LOG_TEXT ); Ltrim( log_txt ); mikrobus_logWrite( log_txt, _LOG_LINE ); m_volts = adc9_volt_calc ( adc_value, v_ref, 1 ); FloatToStr( m_volts, log_txt ); mikrobus_logWrite( "Voltage in milivolts : ", _LOG_TEXT ); Ltrim( log_txt ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( "mV", _LOG_LINE ); mikrobus_logWrite( "------------------------", _LOG_LINE ); Delay_ms( 1000 ); }
void adc9_meas_init ( );
Function is used to easily apply desired settings.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- SPI
- UART
- Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The ADC 9 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the ADC 9 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library covers necessary functions that enables the usage of the ADC 9 Click Board™. User can read and write data of variable lenght and read and calculate ADC values.
Key Functions
uint8_t adc9_write_fast_cmd ( uint8_t dev_adr, uint8_t cmd );
- Function is used to execute fast command.uint8_t adc9_read_def_adc ( uint8_t dev_adr, int32_t *rd_data );
- Function is used to read ADC value when the default fata format is applied.float adc9_volt_calc ( int32_t adc_val, uint16_t v_ref, uint8_t gain );
- Function is used to calculate voltage based on ADC values.
Example Description
The application is composed of three sections :
- System Initialization - Initializes SPI module, LOG structure, sets CS and PWM pins as output and INT pin as input.
- Application Initialization - Initalizes SPI driver, resets and starts the device, and makes an initial log.
- Application Task - (code snippet) This is an example that shows the capabilities of the ADC 9 Click Board™ by calculating voltage level based on ADC from channels 0(positive) and 1(negative), and logs the result.
void application_task ( ) { mikrobus_logWrite( "Setup... ", _LOG_LINE ); adc9_meas_init( ); mikrobus_logWrite( "Done! ", _LOG_LINE ); while ( adc9_irq_pin_state( ) ) { } adc9_read_def_adc ( ADC9_DEVICE_ADR, &adc_value ); LongToStr( adc_value, log_txt ); mikrobus_logWrite( "ADC Value : ", _LOG_TEXT ); Ltrim( log_txt ); mikrobus_logWrite( log_txt, _LOG_LINE ); m_volts = adc9_volt_calc ( adc_value, v_ref, 1 ); FloatToStr( m_volts, log_txt ); mikrobus_logWrite( "Voltage in milivolts : ", _LOG_TEXT ); Ltrim( log_txt ); mikrobus_logWrite( log_txt, _LOG_TEXT ); mikrobus_logWrite( "mV", _LOG_LINE ); mikrobus_logWrite( "------------------------", _LOG_LINE ); Delay_ms( 1000 ); }
void adc9_meas_init ( );
Function is used to easily apply desired settings.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- SPI
- UART
- Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The ADC 9 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.