Привет, друзья! У нас на обзоре очень полезная микросхема – 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Видео уроки Arduino

Видео уроки Arduino

Курс уроков Arduino будет полезен любому исследователю окружающего мира ..

Контроллер заряда аккумулятора 3,7В или 4,2В 1А

Контроллер заряда аккумулятора 3,7В или 4,2В 1А

Плата для зарядки литиумных аккумуляторов 3,6 - 4,2В и запитки его нагрузки.Зарядка производится чер..

26.20грн.

Аудио штекер 3,5мм папа

Аудио штекер 3,5мм папа

Аудиоштекер 3,5 мм используется для удлиннителей аудиосигнала, для передачи сигнала с аудиоразъема в..

20.98грн.

KiCad уроки рисования схем и разработки печатных плат

KiCad уроки рисования схем и разработки печатных плат

Вас приветствует сайт гикматик! Сегодня поговорим о мега-полезной и доступной программе KiCad. Пораб..

Arduino SIM800L выбор оператора AT+COPS

Arduino SIM800L выбор оператора AT+COPS

Привет друзья! Пора продолжить тему SIM800. В этом видео мы научимся выбирать GSM-оператора вручн..

Рекомендуемые товары

АЦП 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грн.