Привет, друзья! У нас на обзоре очень полезная микросхема – 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 в своих проектах! Увидимся в следующем видео.
Клапан электромагнитный 24 В 100 мА
Электромагнитный клапан нормально закрытыйВнешний диаметр короткой трубки 6 ммВнешний диаметр боково..
190.56грн.
OLED дисплей 128x64 I2C (0,96")
OLED дисплей 128x64 I2C (0,96") OLED дисплей 128x64 — это компактный монохромный экран с диагонал..
93.06грн.
Таймеры Arduino UNO — Часть 2. Работа с прерываниями таймеров
Таймеры Arduino UNO — Часть 2. Работа с прерываниями таймеров Теория Что такое прерыва..
Автоматическое управление твердотопливным котлом Arduino Nano
Предмет проекта домашней автоматики Вашему вниманию представлен большой проект - автоматический щит..
Какие виды дисплеев можно использовать с Arduino для отображения информации
Какие виды дисплеев можно использовать с Arduino для отображения информации Arduino — это п..







