| Ваш IP: 35.175.133.127 | Online(28) - гости: 17, боты: 11 | Загрузка сервера: 0.47 ::::::::::::


AD7715 — 16bit АЦП (Arduino)

АЦП AD7715 —  это сигма-дельта 16 битный АЦП, гарантирующий отсутствие потери кодов. Выбранный входной сигнал поступает на усилитель с программируемым коэффициентом усиления, а с его выхода- на аналоговый модулятор. Сигнал с выхода модулятора поступает на внутренний цифровой фильтр. Предыдущее значение фильтра может быть перенесено из внутреннего управляющего регистра, что позволяет регулировать порог отсечки фильтра и частоту обновления.

AD7715 имеет дифференциальные аналоговый и опорный входы. AD7715 работает от однополярного питания 3 В или 5 В. Прибор может иметь униполярные динамические диапазоны 0- 20 мВ, 0- 80 мВ, 0- 1,25 В и 0- 2,5 В (AD7715-5), а также двухполярные диапазоны ± 20 мВ, ± 80 мВ, ± 1,25 В и ± 2,5 В (AD7715-5).

АЦП содержит внутреннюю калибровку и системную градуировку для устранения ошибки усиления и смещения.

Основные параметры

  • 16 битное разрешение
  • Коэффициент нелинейности 0.0015 %
  • Программируемый коэффициент усиления от 1, 2, 32 или 128 дифференциальный вход
  • Возможность буферизации входного аналогового сигнала
  • Однополярное питание 3 В (AD7715-3) или 5 В (AD7715-5)
  • Низкое потребление – 450 мкА при 3 В питании
  • ФНЧ с программируемым обновлением выхода
  • 16 выводные DIP, SOIC и TSSOP корпуса

Используя платформу Arduino можно посредством шины SPI организовать управление AD7715. SPI – это широко применяемый протокол передачи данных между микроконтроллером (Master) и периферийными устройствами (Slave).

При измерении напряжения положительной полярности, измеряемое напряжение подается на вход AIN+, а вход AIN- заземляется. При этом подавать отрицательное напряжение (при одно полярном измерении напряжения нельзя, это может привести АЦП в нерабочее состояние). Максимальное измеряемое напряжение ограничено величиной опорного напряжения, для AD7715-3 опорное напряжение 1,25 В, а для AD7715-5 2,5 В. При считывании данных с АЦП измеренное цифровое значение напряжения будет в пределах от 0 до 65535 (разрешение 0,000019 В на пределе 1,25 В для AD7715-3).

При измерении двух полярного напряжения, измеряемое напряжение подается на вход AIN+ и вход AIN- . При считывании данных с АЦП измеренное цифровое значение напряжения будет в пределах от 0 до 65535, при этом значение 32767 будет соответствовать 0 В, значение 65535 будет соответствовать +1,25 В, а числовое значение 0 будет соответствовать -1,25 В (для AD7715-3). При этом разрешение на пределе +/-1,25 В станет 0,000038 В.

https://sxema.com.ua

Ниже показаны два примера управления, первый пример скетча позволяет использовать АЦП для измерения одно полярного (положительного) напряжения.

#include <SPI.h>
#define SS    10 // CS
#define MOSI  11 // DIN
#define MISO  12 // DOUT
#define SCK   13 // SCLK
#define DRDY  8  // DRDY
#define RESET 7  // Reset
 
 const float ref = 1.2103;
 long code,code_sum;
 int i;
 
void setup(){
  pinMode(DRDY, INPUT);
  pinMode(RESET, OUTPUT);
  digitalWrite(RESET,LOW);
  SPI.beginTransaction(SPISettings(SPI_CLOCK_DIV2, MSBFIRST, SPI_MODE3));
  Serial.begin(9600);
  SPI.begin();
  digitalWrite(RESET,HIGH);delay(300);
}
 
 
void loop(){
  digitalWrite(RESET,HIGH);
  delay(20);
  WriteAD7715(0b0010000,0b01100100);
  delay(20);
  ReadAD7715();
  digitalWrite(RESET,LOW);
  }
 
void WriteAD7715(int data0, int data1){
  digitalWrite(SS, LOW);
  delayMicroseconds(1);
  SPI.transfer(data0);
  SPI.transfer(data1);
  digitalWrite(SS, HIGH);
}
 
void ReadAD7715(){
  while(digitalRead(DRDY)!=LOW); 
  digitalWrite(SS, LOW);
  delayMicroseconds(1);
  SPI.transfer(0x38);    
  code = SPI.transfer16(0);   
  digitalWrite(SS, HIGH);
 
  code_sum=code_sum+code;i++;
  if(i==10){ code_sum=code_sum/10;
  Serial.print(code_sum);
  Serial.print(" ");Serial.print(ref/65535*code_sum,4);Serial.println(" V");
  i=0;code_sum=0;}
 
  while(digitalRead(DRDY)!=HIGH);
}
 /* Communications register 
  0b00010000 gain 1
  0b00010001 gain 2
  0b00010010 gain 32
  0b00010011 gain 128
    Setup register 
  0b01100100 unipolar 50Hz  2.4576 MHz
  0b01100000 bipolar  50Hz  2.4576 MHz
 */

http://forum.rcl-radio.ru/uploads/images/2020/05/0d1170447ab8608c1a1522a79a474728.png

Пример использования при измерении двух полярного напряжения

#include <SPI.h>
#define SS    10 // CS
#define MOSI  11 // DIN
#define MISO  12 // DOUT
#define SCK   13 // SCLK
#define DRDY  8  // DRDY
#define RESET 7  // Reset
 
 const float ref = 1.2010 ;
 long code,code_sum;
 int i;
 
void setup(){
  pinMode(DRDY, INPUT);
  pinMode(RESET, OUTPUT);
  digitalWrite(RESET,LOW);
  SPI.beginTransaction(SPISettings(SPI_CLOCK_DIV2, MSBFIRST, SPI_MODE3));
  Serial.begin(9600);
  SPI.begin();
  digitalWrite(RESET,HIGH);delay(300);
}
 
 
void loop(){
  digitalWrite(RESET,HIGH);
  delay(20);
  WriteAD7715(0b0010000,0b01100000);
  delay(20);
  ReadAD7715();
  digitalWrite(RESET,LOW);
  }
 
void WriteAD7715(int data0, int data1){
  digitalWrite(SS, LOW);
  delayMicroseconds(1);
  SPI.transfer(data0);
  SPI.transfer(data1);
  digitalWrite(SS, HIGH);
}
 
void ReadAD7715(){
  while(digitalRead(DRDY)!=LOW); 
  digitalWrite(SS, LOW);
  delayMicroseconds(1);
  SPI.transfer(0x38);    
  code = SPI.transfer16(0);   
  digitalWrite(SS, HIGH);
 
  code_sum=code_sum+code;i++;
  if(i==10){ code_sum=code_sum/10;
  Serial.print(code_sum);
  Serial.print(" ");Serial.print((2*ref/65535*(code_sum-32767))*1.046,4);Serial.println(" V");
  i=0;code_sum=0;}
 
  while(digitalRead(DRDY)!=HIGH);
}
 /* Communications register 
  0b00010000 gain 1
  0b00010001 gain 2
  0b00010010 gain 32
  0b00010011 gain 128
    Setup register 
  0b01100100 unipolar 50Hz  2.4576 MHz
  0b01100000 bipolar  50Hz  2.4576 MHz
 */

http://forum.rcl-radio.ru/uploads/images/2020/05/aa8c24bbbea9ceec2369d0d0ebe2c673.png

Форум — http://forum.rcl-radio.ru/viewtopic.php?id=168

AD7715.pdf

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

Войти с помощью: 

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

  • Значения ТЭДС для термопары типа J (железо / константан) ТЖК

    Значения ТЭДС для термопары типа J (железо / константан) ТЖК

    Термопара (термоэлектрический преобразователь) — устройство, применяемое в промышленности, научных исследованиях, медицине, в системах автоматики. Применяется в основном для измерения температуры. Принцип действия основан на эффекте Зеебека или, иначе, термоэлектрическом эффекте. Между соединёнными проводниками имеется контактная разность потенциалов; если стыки связанных в кольцо проводников находятся при одинаковой температуре, сумма таких разностей …Подробнее...
  • Автомат управления освещением

    Автомат управления освещением

    Автомат управления освещением (Радио3/98 статья С.Бирюкова) позволяет автоматически управлять освещением в зависимости от времени суток. При достаточной освещенности сопротивление фото резистора R2 мало и напряжение на инвертирующем входе ОУ меньше чем на не инвертирующем. При этом транзистор VT1 закрыт, а ток , протекающей через обмотку К1, открывает транзистор VT2 который …Подробнее...
  • Модуль индикации на 74НС595 (Arduino)

    Модуль индикации на 74НС595 (Arduino)

    Модуль индикации представляет собой 4-х разрядный 7-и сегментный дисплей на сдвиговых регистрах 74НС595. Микросхема 74HC595 содержит 8 битный регистр хранения и 8 битный сдвиговый регистр. Данные последовательно передаются в сдвиговый регистр, затем фиксируются в регистре хранения. К регистру хранения подключены 8 выходных линий. На основе двух микросхем 74HC595 образована динамическая индикация, …Подробнее...
  • Электронный шагомер

    Прибор имеет 4-х разрядную индикацию десятков шагов, питание прибора осуществляется от элемента типа КРОНА (9В). В режиме покоя прибор потребляет ток не более 3 мкА, а в режиме ХОДЬБА 0,15мА, а при включенной индикации до 40мА. основа электронного шагомера — герконовый датчик SB1. Сам блок индикации состоит из формирователя импульсов …Подробнее...
  • УМЗЧ на TDA2006

    УМЗЧ на TDA2006

    TDA2006 интегральная микросхема реализующая усилитель ЗЧ, относится к классу АВ — усилителей, Номинальная выходная мощность 8Вт на нагрузки 8Ом при напряжении питания ±12В или 12 Вт при Rн=4Ом и напряжении питания ±12В. Неравномерность АЧХ в диапазоне от 20 до 100000Гц не более 3Дб Максимальное напряжение питания ±15В. Типовая схема подключения …Подробнее...