| Ваш IP: 3.237.186.116 | Online(30) - гости: 24, боты: 6 | Загрузка сервера: 0.18 ::::::::::::

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

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

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

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

  • Частотомер STM32 + индикатор на MAX7219 (Arduino)

    Частотомер STM32 + индикатор на MAX7219 (Arduino)

    На базе отладочной платы STM32 с использованием 8-и разрядного семисегментного индикатора на микросхеме MAX7219 можно собрать простой частотомер. Так же частотомер содержит простой усилитель — формирователь сигнала, который состоит из одного транзистора КТ3102 и нескольких пассивных элементов. На вход частотомера можно подавать синусоидальный или импульсный сигнал амплитудой от 0,5 до …Подробнее...
  • Выключатель света с задержкой

    Главная особенность выключателя с задержкой в том что после включения света, он гаснет через 1-2 минуты, такой выключатель целесообразно устанавливать в помещениях общего пользования, например в подъездах домов. Кнопку включения освещения целесообразно совместить с открыванием двери и каждый раз когда дверь будет открываться свет будет включаться и гореть 1-2 минуты, …Подробнее...
  • 4-х канальный УМЗЧ на LA4743B (45 Вт на канал)

    4-х канальный УМЗЧ на LA4743B (45 Вт на канал)

    Микросхема LA4743B является 4х канальным усилителем мощности, разработанная компанией SANYO для применения в автомобильных аудиосистемах. При номинальном напряжении питания от бортовой сети 14.4 В микросхема способна развить мощность до 45 Вт на каждый канал. Микросхема имеет встроенную защита от короткого замыкания выходов, защиту от перегрева, функцию ослабления сигнала, выключение в дежурный …Подробнее...
  • Электронный стимулятор мышц

    На рисунке показаны схемы электронного стимулятора мышц, схема состоит из двух частей, первая часть сам стимулятор мышц, вторая схема — таймер рассчитанный 10 минут. Основа стимулятора мышц это таймер на ИС 7555 которая генерирует импульсы с частотой 80 Гц. Использование потенциометра VR1 позволяет управлять интенсивностью тока на электродах. Уровень яркости …Подробнее...
  • Фазоуказатель

    Фазоуказатель

    Подключение некоторых устройств, работающих от трехфазной сети переменного тока напряжением 380 В, например электродвигателей, должно соответствовать правильной последовательности чередования фаз. Для определения последовательности чередования фаз можно собрать индикатор, схема которого показана на рисунке. Прибор имеет простую схему, высокую надежность и не требует автономного источника питания. Принцип работы прибора основан на …Подробнее...