| Ваш IP: 54.226.23.160 | Online(28) - гости: 18, боты: 8 | Загрузка сервера: 2.88 ::::::::::::

АЦП-модуль ADS1115 (Arduino)

АЦП-модуль ADS1115 представляет собой 16-битный  аналого-цифровой преобразователь, который имеет 4 входа для преобразования аналоговый сигнал в цифровой.

АЦП-модуль ADS1115 основан на одноименном чипе и содержит все необходимые для его работы внешние компоненты. АЦП-модуль совместим с I2C шиной. Оснащен программируемым усилителем и цифровым компаратором. Выполняет преобразования со скоростью передачи данных от 8 до 860 выборок в секунду (SPS).  Диапазоны входных сигналов от ± 256 мВ до ± 6.144 В. Питание модуля  3,3 В или 5 В.

Характеристики ADS1115:

  • разрешение: 16 бит
  • программируемая частота дискретизации;
  • напряжение питания: 2.0V – 5.5V;
  • низкое потребление тока: 150 мкА в рабочем режиме;
  • внутренний источник опорного напряжения;
  • 4 входа (AIN0-AIN3), которые могут использоваться как два дифференциальных входа для измерения разности напряжения между входами, либо как 4 отдельных несимметричных входа, в этом случае напряжение измеряется между одним из входов и общим проводом;
  • программируемый выходной компаратор;
  • встроенный программируемый усилитель входного сигнала PGA: до х16;
  • интерфейс : I2C: 4-контактный по выбору адреса.

При использовании несимметричного входа измерение напряжения производится относительно общего провода, в этом случае измеряется только положительное напряжение!!!

 

Модуль очень критичен к перенапряжению как по входам, так и по питанию. Превышение напряжения более чем на 5% от напряжения питания выведет его из строя!!!

Схемы подключения

Дифференциальный вход

#include <Wire.h>
#include <Adafruit_ADS1015.h>
Adafruit_ADS1115 ads; 
/*Adafruit_ADS1115 ads(0x48);          задайте адрес устройства по которому 
будем работать на I2C шине (если уст-во одно, задавать адрес необязательно)*/
void setup(void)
{
  Serial.begin(9600);
 
  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit =  0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit =  0.125mV
  ads.setGain(GAIN_TWO);           // 2x gain   +/- 2.048V  1 bit =  0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit =  0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit =  0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit =  0.0078125mV
   ads.begin();
}
  int16_t results;
  float multiplier = 0.0625F; // выбран предел +/- 2.048V

void loop(void){
  results = ads.readADC_Differential_0_1();  
  Serial.print("Differential: "); 
  Serial.print(results); Serial.print("("); 
  Serial.print(results * multiplier); 
  Serial.println("mV)");
  delay(1000);
}

Несимметричные вход

#include <Wire.h>
#include <Adafruit_ADS1015.h>
Adafruit_ADS1115 ads; 
/*Adafruit_ADS1115 ads(0x48);          задайте адрес устройства по которому 
будем работать на I2C шине (если уст-во одно, задавать адрес необязательно)*/

void setup(void) {
  Serial.begin(9600);
 
  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 0.125mV
   ads.setGain(GAIN_TWO);          // 2x gain   +/- 2.048V  1 bit = 0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit = 0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit = 0.0078125mV
 
  ads.begin();
}
int16_t adc0, adc1, adc2, adc3;
void loop(void) {
  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);
}

Подключение датчика к Arduino с разным адресами I2C

Библиотека — https://github.com/addicore/ADS1115/archive/master.zip

Добавить комментарий

Случайные статьи

  • Микро-сигнализация

    Схема микро-сигнализации устанавливается в маленькую коробочку. Небольшой магнит расположен близко к геркону. При разделении магнита и геркона срабатывает сигнализация. Микро-сигнализацию можно использовать для охраны двери, окна, сумки и других вещей. При срабатывании сигнализации динамик издает громкий звуковой сигнал. Схема сигнализации представляет собой генератор, питается уст-во от батарей 3В (2*1,5В). Примечания: …Подробнее...
  • Параметры отечественных биполярных транзисторов

  • Эксплуатация и ремонт компактных люминесцентных ламп

    Сокращения: КЛЛ — компактная люминесцентная лампа ТЛЛ — трубчатая люминесцентная лампа ЛН — лампа накаливания Принцип действия КЛЛ заключается в подаче на 2-а электрода покрытых барием или окисью бария, напряжения, в результате чего происходит возбуждение(ионизация) паров смеси аргона и ртути. В результате ионизации возникает низкотемпературная плазма внутри лампы. Пары ртути …Подробнее...
  • Узел настройки УКВ-ЧМ приемника

    Узел настройки УКВ_ЧМ приемника представляет собой синтезатор напряжения для электронной настройки УКВ_ЧМ приемника и как дополнительное уст-во — электронную линейную шкалу напряжения для контроля напряжения подаваемого на варикапы приемника. Напряжение настройки приемника устанавливается при помощи полевого транзистора VT1, в его затворной цепи включен С1, при нажатии S1 или S2 С1 …Подробнее...
  • Простой приемник на К140УД1А

    Для начинающих радиолюбителей предлагаю собрать схему простого приемника принимающего одну станцию в диапазоне средних волн. ОУ обладает высоким коэффициентом усиления (от 600 до 4500). В данной схема ОУ выполняет сразу несколько функций: усилителя радиосигнала, детектора и усилителя звуковой частоты. Колебательный контур L1 настроенный на одну станцию, выделенные на нем колебания …Подробнее...