Привіт, друзі! У нас на огляді дуже корисна мікросхема – ADS1115. Це 16-бітний аналогово-цифровий перетворювач (АЦП) з інтерфейсом I2C, який може значно розширити можливості контролера. Розберемося, які в неї властивості, що вона дозволяє робити, де її можна і необхідно використовувати. Наскільки важко підключити до контролера. Поїхали!


ADS1115 - це прецизійний 4-х канальний 16-бітний АЦП з низьким енергоспоживанням. І він має наступні характеристики:

Розрядність - 16 біт, що забезпечує високу точність вимірів. Щоправда, всі 16 біт задіяні лише у диференціальному режимі. Про це далі розповім.

Число каналів – 4 аналогові входи, які можна використовувати як 4 одноканальні або 2 диференціальні.


Напруга живлення – від 2.0 до 5.5, що робить його сумісним з мікроконтролерами на 3.3 і 5 В. Погано тільки, що харчування логіки тут з'єднане з живленням вимірювальної частини. І напруга на аналогові входи можна перевищувати лише 0,3В. Таким чином, величина напруги логічних сигналів може накладати обмеження на діапазон вимірюваної напруги.


Вбудований програмований підсилювач (PGA) з програмним вибором коефіцієнта посилення. Як видно в таблиці, вибраний коефіцієнт посилення дає можливість задати необхідний діапазон вимірювання напруги. У всіх діапазонах АЦП вимірює як позитивну напругу, і негативне. Негативна частина шкали працює лише у диференціальному режимі (-32768 - 32767). В одиночному режимі в нашому розпорядженні лише половина шкали АЦП і відповідно половина точності (0 - 32767).

Частота вибірки – до 860 вимірів за секунду.

Інтерфейс – I2C, що спрощує підключення до Arduino, ESP32 та інших мікроконтролерів.


Під Arduino IDE доступна хороша бібліотека, яка називається Adafruit_ADS1015.h

З нею є 3 приклади: компаратор, окремі входи та диференціальний. Тут є приклад окремих входів.

#include <Wire.h>
#include <Adafruit_ADS1015.h>

Adafruit_ADS1115 ads;  /* Use this for the 16-bit version */
//Adafruit_ADS1015 ads;     /* Use thi for the 12-bit version */

void setup(void) 
{
  Serial.begin(9600);
  Serial.println("Hello!");
  
  Serial.println("Getting single-ended readings from AIN0..3");
  Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");
  
  // The ADC input range (or gain) can be changed via the following
  // functions, but be careful never to exceed VDD +0.3V max, or to
  // exceed the upper and lower limits if you adjust the input range!
  // Setting these values incorrectly may destroy your ADC!
  //                                                                ADS1015  ADS1115
  //                                                                -------  -------
  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV      0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 2mV      0.125mV
  // ads.setGain(GAIN_TWO);        // 2x gain   +/- 2.048V  1 bit = 1mV      0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.5mV    0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit = 0.25mV   0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit = 0.125mV  0.0078125mV
  
  ads.begin();
}

void loop(void) 
{
  int16_t adc0, adc1, adc2, adc3;

  adc0 = ads.readADC_SingleEnded(0);
  adc1 = ads.readADC_SingleEnded(1);
  adc2 = ads.readADC_SingleEnded(2);
  adc3 = ads.readADC_SingleEnded(3);
  Serial.print("AIN0: "); Serial.println(adc0);
  Serial.print("AIN1: "); Serial.println(adc1);
  Serial.print("AIN2: "); Serial.println(adc2);
  Serial.print("AIN3: "); Serial.println(adc3);
  Serial.println(" ");
  
  delay(1000);
}

Режим зниженого енергоспоживання відмінно підходить для автономних проектів.

Ціна у корпусі VSSOP-10 буде в діапазоні $0,62 – $0,94.

Типи корпусів мікросхеми: VSSOP-10,

X2QFN-10.


Що дозволяє робити ADS1115?

ADS1115 значно розширює можливості вашого мікроконтролера:


Дозволяє вимірювати аналогові сигнали з високою точністю. На відміну від вбудованих АЦП в Arduino, розрядність яких зазвичай 10 біт або ESP32 , розрядність яких 12 біт, у ADS1115 16 біт, що дає в 64 або 16 рази кращий дозвіл! Наприклад при вимірюванні сигналу 0-3.3В максимальна точність вимірювання у вольтах: для Arduino UNO, при опорному напрузі 3,3В, буде 0,0032-0,0064В;

для ESP32 0,000806-0,0016В;

для ADS1115 з посиленням 1 це 0,000125-0,00025В.


Дозволяє вимірювати сигнали промислових аналогових датчиків: з струмовим виходом і напругою, так само резистивних датчиків. За рахунок вбудованого підсилювача може забезпечувати роботу з датчиками малої напруги, таких як термопари, тензодатчики, pH-метри.

Дозволяє одночасно вимірювати кілька сигналів, так як у нього 4 вхідні канали.


Підтримує вимірювання в диференціальному режимі, що важливо для деяких завдань, наприклад, для тензодатчиків.

Використовує I2C-інтерфейс, що заощаджує порти мікроконтролера та спрощує підключення.


ADS1115 знаходить застосування у різних проектах:

Вимірювання сигналів датчиків температури, тиску, pH, резистивних датчиків – наприклад, у станціях погодних та хімічних аналізаторах.

Вимірювання слабких сигналів від тензодатчиків – корисне у вагах та системах контролю навантаження.

Аналіз акумуляторів та джерел живлення – можна вимірювати малі зміни напруги.

Аудіо-аналізатори – завдяки високій точності та швидкості можна використовувати для вимірювання низьковольтних аудіосигналів.

Автономні пристрої на батареях – низьке енергоспоживання робить ADS1115 чудовим вибором для таких завдань.

ADS1115 – це потужний та зручний аналогово-цифровий перетворювач, який значно розширює можливості мікроконтролерів. Завдяки 16-бітній точності, вбудованому підсилювачу та підтримці I2C, він ідеально підходить для роботи зі слабкими аналоговими сигналами та високоточними вимірюваннями. Дуже зручний програмний вибір підсилювача, що дозволяє вибирати з низки діапазонів вимірювання напруги.

Якщо вам потрібно покращити точність вимірів у вашому проекті – ADS1115 чудовий вибір! У мене саме недавно був досвід в одному проекті. АЦП контролера ESP32 не витягував за точністю та лінійністю важливі сигнали від резистивного датчика переміщення. ADS1115 показав зовсім інший рівень якості АЦП. Для важливих проектів краще ставити подібні спеціалізовані мікросхеми та відмовлятися від вбудованих у контролер слабких АЦП.

Але в багатьох випадках негативна половина діапазону виміру мікросхеми залишається не задіяною і ми отримуємо лише половину заявленої точності.



Якщо відео вам сподобалося, ставте лайк, підписуйтесь на канал і пишіть у коментарях, де ви б застосували ADS1115 у своїх проектах! Побачимося у наступному відео.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Змінний резистор 1 кОм

Змінний резистор 1 кОм

Змінний резистор або потенціометрОпір 1 кОмПотужність 0,5 ВтТип BЛінійна характеристикаТакі резистор..

21.46грн.

Що таке Arduino та які його основні переваги й компоненти?

Що таке Arduino та які його основні переваги й компоненти?

Що таке Arduino та які його основні переваги й компоненти? Arduino — це популярна платформа..

Raspberry PI управление servo-мотором при помощи ползунка на экране

Raspberry PI управление servo-мотором при помощи ползунка на экране

Отже ставимо перед собою задачу: керувати серво-мотором від Raspberry PI, використовуючи візуальний ..

Arduino Nano 3.0

Arduino Nano 3.0

Мініатюрна плата контролера з лінійки Aduino на базі мікропроцесора ATMEGA328P-AU Arduino Nano V 3...

179.44грн.

Розумний дім #8: Керування розумним домом через мобільний додаток

Розумний дім #8: Керування розумним домом через мобільний додаток

Розумний дім #8: Керування розумним домом через мобільний додаток У цій статті ми розгл..

Рекомендовані товари

Модуль АЦП ADS1115 4-х канальний

Модуль АЦП ADS1115 4-х канальний

АЦП ADS1115 4-х канальний ADS1115 — це 4-х канальний 16-розрядний аналого-цифровий перетворювач (..

99.62грн.

Модуль 4-х аналогових входів I2C на ADS1115 (Geekmatic)

Модуль 4-х аналогових входів I2C на ADS1115 (Geekmatic)

Модуль 4-х аналогових входів I2C на ADS1115 (Geekmatic) Компактний модуль для підключення 4-х а..

203.34грн.