8-900-374-94-44
[email protected]
Slide Image
Меню

Ads1115 datasheet на русском – ADS1115 – описание и подключение 16-битного АЦП | RadioLaba.ru

Содержание

ADS1115 – описание и подключение 16-битного АЦП | RadioLaba.ru

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

          #include <P16F628A.INC>

            LIST        p=16F628A    

            __CONFIG    H’3F10′             ;конфигурация микроконтроллера

                                                

Sec           equ         20h               ;регистры для подпрограмм паузы

Sec1          equ         21h               ;

Sec2          equ         22h               ;

 

perem         equ         23h               ;регистры для подпрограмм передачи данных SPI, I2C

scetbit       equ         24h               ;

adr_i2c       equ         25h               ;

byte_H        equ         26h               ;

byte_L        equ         27h               ;

slave_adr     equ         28h               ;

adr_ind       equ         29h               ;

dat_ind       equ         2Ah               ;

 

shet          equ         2Bh               ;регистры подпрограммы преобразования двоичного числа

bcd1          equ         2Ch               ;в десятичное

bcd2          equ         2Dh               ;

bcd3          equ         2Eh               ;

rezLH         equ         2Fh               ;

rezLL         equ         30h               ;

 

flag          equ         7Dh               ;дополнительный регистр флагов    

 

#DEFINE       scl         PORTB,0           ;линия тактирования SCL ADS1115

#DEFINE       sda         PORTB,1           ;линия данных SDA ADS1115

#DEFINE       scl_io      TRISB,0           ;линия направления SCL

#DEFINE       sda_io      TRISB,1           ;линия направления SDA

#DEFINE       led_err     PORTB,2           ;светиодиод Ошибки интерфейса I2C

#DEFINE       comp        PORTB,3           ;линия компаратора ALERT/RDY ADS1115

#DEFINE       led         PORTB,4           ;светиодиод процесса преобразования

 

#DEFINE       din         PORTB,5           ;линия входа данных драйвера MAX7219

#DEFINE       cs          PORTB,6           ;линия выбора драйвера MAX7219

#DEFINE       clk         PORTB,7           ;линия тактирования драйвера MAX7219

 

;flag,4  — флаг записи\чтения по i2c

;flag,5  — флаг ошибки ожидания ответа потвержедния по i2c (1-нет потверж. 0-есть потвержд)

;flag,6  — флаг ошибки двух неудачных попыток записи\чтения по i2c (нет потверждения)

  

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

              org         0000h             ;начать выполнение программы с адреса 0000h

              goto        Start             ;переход на метку Start

          

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Основная программа

                                              

Start         movlw       b’00000111′       ;выключение компараторов

              movwf       CMCON             ;

 

              movlw       b’01000000′       ;Настройка линий ввода/вывода

              movwf       PORTB             ;

              movlw       b’00000000′       ;

              movwf       PORTA             ;

                          

              bsf         STATUS,RP0        ;  

              movlw       b’00001011′       ;    

              movwf       TRISB             ;

              movlw       b’11111111′       ;    

              movwf       TRISA             ;

              bcf         STATUS,RP0        ;

              

              call        init_lcd          ;вызов подпрограммы инициализации драйвера MAX7219

              movlw       b’10010000′       ;адрес устройства ADS1115

              movwf       slave_adr

 

              movlw       b’11111111′       ;запись двух байт для передачи по протоколу I2C  

              movwf       byte_H            ;передаем значение 0xFFFF в регистр Hi-tresh

              movlw       b’11111111′       ;  

              movwf       byte_L            ;

 

              movlw       b’00000011′       ;адрес регистра Hi-tresh

              movwf       adr_i2c           ;

  

              call        write_i2c         ;вызов подпрограммы записи данных по I2C

              btfss       flag,6            ;проверка флага ошибки

              goto        met_0             ;нет ошибки: переход на метку met_0

met_err1      bsf         led_err           ;ошибка: включаем светодиод ошибки

              goto        met_err1          ;переход на метку met_err1

 

met_0         movlw       b’00000000′       ;запись двух байт для передачи по протоколу I2C  

              movwf       byte_H            ;передаем значение 0x0000 в регистр Lo-tresh

              movlw       b’00000000′       ;  

              movwf       byte_L            ;

 

              movlw       b’00000010′       ;адрес регистра Lo-tresh

              movwf       adr_i2c

  

              call        write_i2c         ;вызов подпрограммы записи данных по I2C

              btfss       flag,6            ;проверка флага ошибки

              goto        met_3             ;нет ошибки: переход на метку met_3

met_err2      bsf         led_err           ;ошибка: включаем светодиод ошибки

              goto        met_err2          ;переход на метку met_err2

 

                                            ;запись двух байт для передачи по протоколу I2C

met_3         movlw       b’11000101′       ;выполнить одиночное проебразование, мультиплексор вход AIN0 и GND,  

              movwf       byte_H            ;Коэфф. усиления  FS=±2,048В, Одиночное преобразование (пониж. потребление)

              movlw       b’11100000′       ;Частота дискретизации 860 ГЦ, Компаратор с гистерезисом,

              movwf       byte_L            ;Низкий активный уровень компаратора, без защелки, установка сигнала на

                                            ;выходе после одного преобразования

 

              movlw       b’00000001′       ;адрес конфигурационного регистра Config register

              movwf       adr_i2c           ;

  

              call        write_i2c         ;вызов подпрограммы записи данных по I2C

              btfss       flag,6            ;проверка флага ошибки

              goto        met_1             ;нет ошибки: переход на метку met_1

met_err       bsf         led_err           ;ошибка: включаем светодиод ошибки

              goto        met_err           ;переход на метку met_err

 

met_1         btfss       comp              ;опрос выхода компаратора, ожидаем конец преобразования

              goto        met_4             ;преобразование закончено:переход на метку met_4

              bsf         led               ;преобразование не закончено: включаем светодиод «преобразование»

              goto        met_1             ;переход на метку met_1

 

met_4         bcf         led               ;выключаем светодиод «преобразование»

              movlw       b’00000000′       ;адрес регистра c результатом преобразования Conversion register

              movwf       adr_i2c           ;

              call        read_i2c          ;вызов подпрограммы чтения по протоколу I2C

 

              movlw       .4                ;Делим результат преобразования на 4

              movwf       shet              ;для получения значения напряжения в милливольтах

met_2         bcf         STATUS,C          ;

              rrf         byte_H,F          ;

              rrf         byte_L,F          ;

              decfsz      shet,F            ;

              goto        met_2             ;

 

              movf        byte_H,W          ;копируем результат деления в промежуточные регистры

              movwf       rezLH             ;

              movf        byte_L,W          ;

              movwf       rezLL             ;

              call        bin2bcd           ;вызов подпрограммы преобразования двоичного числа в десятичное

  

              movf        bcd3,W            ;копирование значения единиц милливольт в регистр  

              andlw       b’00001111′       ;1-го индикатора

              movwf       dat_ind           ;

              movlw       0x01              ;

              movwf       adr_ind           ;

              call        send              ;вызов подпрограммы отправки данных на дрйвер MAX7219

 

              swapf       bcd3,W            ;копирование значения десятков милливольт в регистр

              andlw       b’00001111′       ;2-го индикатора

              movwf       dat_ind           ;

              movlw       0x02              ;

              movwf       adr_ind           ;

              call        send              ;вызов подпрограммы отправки данных на дрйвер MAX7219

 

              movf        bcd2,W            ;копирование значения сотен милливольт в регистр

              andlw       b’00001111′       ;3-го индикатора

              movwf       dat_ind           ;

              movlw       0x03              ;

              movwf       adr_ind           ;

              call        send              ;вызов подпрограммы отправки данных на дрйвер MAX7219

 

              swapf       bcd2,W            ;копирование значения тысяч милливольт в регистр

              andlw       b’00001111′       ;4-го индикатора

              movwf       dat_ind           ;

              bsf         dat_ind,7         ;установка точки, для отображения в Вольтах

              movlw       0x04              ;

              movwf       adr_ind           ;

              call        send              ;вызов подпрограммы отправки данных на дрйвер MAX7219

 

              call        paus_pr           ;вызов подпрограммы паузы между измерениями 0,58 сек

              goto        met_3             ;переход на метку met_3

      

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                          

 

bin2bcd       movlw       .16               ;Подпрограмма преобразования двоичного числа

              movwf       shet              ;в десятичное

              clrf        bcd1              ;Двухбайтное число предварительно загружается

              clrf        bcd2              ;в регисты rezLH, rezLL

              clrf        bcd3              ;Результат преобразования:

              goto        bin2bcd_1         ;единицы в младшем полубайте bcd3

                                            ;десятки в старшем полубайте bcd3

adjdec        movlw       0x33              ;сотни в младшем полубайте bcd2

              addwf       bcd1,F            ;тысячи в старшем полубайте bcd2

              addwf       bcd2,F            ;десятки тысяч в младшем полубайте bcd1

              addwf       bcd3,F            ;

                                            ;

              movlw       0x03              ;

              btfss       bcd1,3            ;

              subwf       bcd1,F            ;

              btfss       bcd2,3            ;

              subwf       bcd2,F            ;

              btfss       bcd3,3            ;

              subwf       bcd3,F            ;

                                            ;

              movlw       0x30              ;

              btfss       bcd1,7            ;

              subwf       bcd1,F            ;

              btfss       bcd2,7            ;

              subwf       bcd2,F            ;

              btfss       bcd3,7            ;

              subwf       bcd3,F            ;

                                            ;

bin2bcd_1     rlf         rezLL,F           ;

              rlf         rezLH,F           ;

              rlf         bcd3,F            ;

              rlf         bcd2,F            ;

              rlf         bcd1,F            ;

              decfsz      shet,F            ;

              goto        adjdec            ;

              return                        ;выход из подпрограммы

                                    

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Подпрограмма инициализации драйвера(MAX7219)

 

init_lcd      call        pauslcd           ;вызов подпрограммы паузы 2 мс

              movlw       0x0F              ;выключить тестовый режим

              movwf       adr_ind           ;

              movlw       0x00              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x0C              ;включить драйвер в рабочий режим

              movwf       adr_ind           ;

              movlw       0x01              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x0A              ;установить интенсивность свечения 15/32

              movwf       adr_ind           ;

              movlw       0x07              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x09              ;включить декодирование для всех индикаторов

              movwf       adr_ind           ;

              movlw       0xFF              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x0B              ;использовать 4 индикатора

              movwf       adr_ind           ;

              movlw       0x03              ;

              movwf       dat_ind           ;

              call        send              ;

              return                        ;выход из подпрограммы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Подпрограмма отправки 2-х байт (пакета данных) на драйвер (MAX7219) по протоколу SPI

 

send          bcf         cs                ;Сбросить линию выбора драйвера CS

              movlw      .8                 ;Отправка содержимого адресного байта adr_ind

              movwf      scetbit            ;

povtor        bcf        clk                ;

              btfsc      adr_ind,7          ;

              bsf        din                ;

              btfss      adr_ind,7          ;

              bcf        din                ;

              bsf        clk                ;

              rlf        adr_ind,F          ;

              decfsz     scetbit,F          ;

              goto       povtor             ;

            

              movlw      .8                 ;Отправка содержимого байта данных dat_ind

              movwf      scetbit            ;

povtr1        bcf        clk                ;

              btfsc      dat_ind,7          ;

              bsf        din                ;

              btfss      dat_ind,7          ;

              bcf        din                ;

              bsf        clk                ;

              rlf        dat_ind,F          ;

              decfsz     scetbit,F          ;

              goto       povtr1             ;

              bcf        clk                ;

              bsf        cs                 ;установить в 1 линию выбора драйвера CS                

              return                        ;выход из подпрограммы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;подпрограмма чтения/записи по интерфейсу I2C

 

write_i2c     bsf         flag,4            ;установка флага записи

              goto        i2c_1             ;переход на метку i2c_1

read_i2c      bcf         flag,4            ;сброс флага (для чтения)

              bcf         flag,5            ;сброс окончания приема данных

i2c_1         bcf         flag,6            ;сброс флага ошибки I2C

              call        starti2c          ;вызов подпрограммы «Старт» для I2C

            

              bcf         slave_adr,0       ;бит на запись

              movf        slave_adr,W       ;копируем адрес ведомого

              call        peredi2c          ;передача байта

              btfsc       flag,6            ;проверка флага ошибки

              goto        err_i2c           ;ошибка:переход на метку err_i2c

 

              movf        adr_i2c,W         ;передача адреса необходимого регистра i2c

              call        peredi2c          ;передача байта  

              btfsc       flag,6            ;проверка флага ошибки

              goto        err_i2c           ;ошибка:переход на метку err_i2c

 

              btfss       flag,4            ;проверка флага запись/чтение I2C

              goto        rd_i2c            ;переход на метку rd_i2c (чтение)

 

i2c_2         movf        byte_H,W          ;передача старшего байта данных

              call        peredi2c          ;передача байта по I2C

              btfsc       flag,6            ;проверка флага ошибки

              goto        err_i2c           ;ошибка:переход на метку err_i2c

            

              movf        byte_L,W          ;передача младшего байта данных

              call        peredi2c          ;передача байта по I2C

              btfsc       flag,6            ;проверка флага ошибки

              goto        err_i2c           ;ошибка:переход на метку err_i2c

              call        stopi2c

              return

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

rd_i2c        call        starti2c          ;вызов подпрограммы (повторный Старт)

              bsf         slave_adr,0       ;бит на чтение

              movf        slave_adr,W       ;копируем адрес ведомого

              call        peredi2c          ;передача байта

              btfsc       flag,6            ;проверка флага ошибки

              goto        err_i2c           ;ошибка:переход на метку err_i2c

 

              call        priemi2c          ;прием байта

              movwf       byte_H            ;

 

              bsf         flag,5            ;установка флага для приема последнего байта

              call        priemi2c          ;прием байта

              movwf       byte_L            ;

              call        stopi2c           ;передача стоп

              return

 

err_i2c       call        stopi2c           ;вызов подпрограммы «Стоп» для I2C

              return                        ;выход после двух неудачных попыток передачи данных по I2C

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

starti2c      call        scl_1              ;отпустить линию scl

              call        pausi2c            ;пауза I2C (5 мкс)

              call        sda_0              ;притянуть к 0 линию sda

              call        pausi2c            ;пауза I2C (5 мкс)

              call        scl_0              ;притянуть к 0 линию scl

              call        pausi2c            ;пауза I2C (5 мкс)

              return                         ;возврат из подпрограммы

 

stopi2c       call        sda_0              ;притянуть к 0 линию sda

              call        pausi2c            ;пауза I2C (5 мкс)

              call        scl_1              ;отпустить линию scl

stpi2c_1      call        pausi2c            ;пауза I2C (5 мкс)

              btfss       scl                ;

              goto        stpi2c_1           ;

              call        sda_1              ;отпустить линию sda

              call        pausi2c            ;пауза I2C (5 мкс)

              return                         ;возврат из подпрограммы

 

sda_1         bsf         STATUS,RP0         ;перенастройка линии sda на вход

              bsf         sda_io             ;        

              bcf         STATUS,RP0         ;

              return                         ;возврат из подпрограммы

 

sda_0         bcf         sda                ;перенастройка линии sda на выход

              bsf         STATUS,RP0         ;

              bcf         sda_io             ;

              bcf         STATUS,RP0         ;

              return                         ;возврат из подпрограммы

 

scl_1         bsf         STATUS,RP0         ;перенастройка линии scl на вход

              bsf         scl_io             ;        

              bcf         STATUS,RP0         ;

              return                        ;возврат из подпрограммы

 

scl_0         bcf         scl                ;перенастройка линии scl на выход

              bsf         STATUS,RP0         ;

              bcf         scl_io             ;

              bcf         STATUS,RP0         ;

              return                         ;возврат из подпрограммы

 

 

peredi2c      movwf       perem              ;подпрограмма передачи байта по i2c

              movlw       .8                 ;

              movwf       scetbit            ;

prd_i2c_1     btfsc       perem,7            ;

              call        sda_1              ;отпустить линию sda

              btfss       perem,7            ;

              call        sda_0              ;притянуть к 0 линию sda

              call        scl_1              ;отпустить линию scl

prd_i2c_2     call        pausi2c            ;пауза I2C (5 мкс)

              btfss       scl                ;

              goto        prd_i2c_2          ;

              call        scl_0              ;притянуть к 0 линию scl

              call        pausi2c            ;пауза I2C (5 мкс)

              rlf         perem,F            ;

              decfsz      scetbit,F          ;

              goto        prd_i2c_1          ;

            

              call        sda_1              ;отпустить линию sda

              call        scl_1              ;отпустить линию scl

prd_i2c_3     call        pausi2c            ;пауза I2C (5 мкс)

              btfss       scl                ;

              goto        prd_i2c_3          ;

 

              movlw       .20                ;прием потверждения 100 мкс

              movwf       scetbit            ;

prd_i2c_4     btfss       sda                ;

              goto        prd_i2c_5          ;

              decfsz      scetbit,F          ;

              goto        prd_i2c_4          ;

              bsf         flag,6             ;нет потверждения, устанавливаем флаг ошибки

prd_i2c_5     call        scl_0              ;притянуть к 0 линию scl

              call        pausi2c            ;пауза I2C (5 мкс)

              return                         ;возврат из подпрограммы

 

 

priemi2c      movlw       .8                 ;подпрограмма приема байта по i2c

              movwf       scetbit            ;

              call        sda_1              ;отпустить линию sda

prm_i2c_1     rlf         perem,F            ;

              call        scl_1              ;отпустить линию scl

prm_i2c_2     call        pausi2c            ;пауза I2C (5 мкс)

              btfss       scl                ;

              goto        prm_i2c_2          ;

              btfsc       sda                ;

              bsf         perem,0            ;

              btfss       sda                ;

              bcf         perem,0            ;

              call        scl_0              ;притянуть к 0 линию scl

              call        pausi2c            ;пауза I2C (5 мкс)

              decfsz      scetbit,F          ;

              goto        prm_i2c_1          ;

radiolaba.ru

ADS1115 — 16-битный АЦП с I2C. Модуль RI038

Микросхема ADS1115 — это 4-х канальный 16-битный аналого-цифровой преобразователь (АЦП). ADS1115 разработано для обеспечения точности, энергоэффективности, простоты в реализации, выполняет преобразование с программируемыми скоростями обработки данных до 860 выб./с, потребляемый ток питания составляет всего 150 мкА (ном.), а рабочее напряжение снижено до 2 В.

Встроенный усилитель с программируемым коэффициентом усиления (PGA) предлагает диапазоны входных сигналов от ±256 мВ до ±6.144 В, что позволяет проводить точные измерения больших и малых напряжений. ADS1115 имеет входной мультиплексор (MUX), который позволяет выполнять два дифференциальных или четыре несимметричных входных измерения.

ADS1115 имеет встроенный компаратор (вывод ALERT/RDY), который можно использовать в качестве оповещения для управляющего устройства (микроконтроллера или микропроцессора).

Этот модуль очень боится перенапряжения по входам. Превышение напряжения более чем на 5% от напряжения питания не допустимо.

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

  • Корпус X2QFN-10 или VSSOP-10
  • Скорость обработки данных: 8–860 выб./с
  • Ток питания: 150 мкА (ном.)
  • разрешение: 16 бит
  • программируемая частота дискретизации;
  • напряжение питания: 2.0V — 5.5V;
  • Напряжение смещения: 100 мкВ
  • Расширенный диапазон температур: от -40°C до +125°C
  • внутренний источник опорного напряжения;
  • 4 входа (A0-A3), которые могут использоваться как два дифференциальных входа для измерения разности напряжения между входами, либо как 4 отдельных несимметричных входа, в этом случае напряжение измеряется между одним из входов и общим проводом;
  • программируемый выходной компаратор;
  • встроенный программируемый усилитель входного сигнала PGA: до х16;
  • интерфейс : I2C: 4-контактный по выбору адреса.

Схема подключения АЦП ADS1115 к МК и МП

Подключается АЦП ADS1115 к микропроцессору или микроконтроллеру по шине I2C/TWI, а на каждую линию необходим внешний верхний подтягивающий резистор номиналом от 1 до 10 кОм. Выход ALERT/RDY от компаратора подключается к цифровому входу МК/МП, на эту линию тоже нужно подключить верхний подтягивающий резистор того-же номинала.

Аналоговые входы АЦП ADS1115

Всего в микросхеме имеется 4 входа (AIN0-AIN3), которые могут использоваться как два дифференциальных входа для измерения разности напряжения между входами, либо как 4 отдельных несимметричных входа, в этом случае напряжение измеряется между одним из входов и общим проводом (GND). Необходимую комбинацию входов можно задавать с помощью встроенного мультиплексора, структура которого показана на картинке ниже:

Как видно на вход внутреннего АЦП (AINp, AINn) в один момент времени может подключаться только одна комбинация входов. Для дифференциального входа, в случае, когда AINp>AINn, напряжение считается положительным, если AINn>AINp, то напряжение отрицательное. При использовании несимметричного входа измерение напряжения производится относительно общего провода, в этом случае измеряется только положительное напряжение. Микросхема ADS1115 не предназначена для измерения отрицательного напряжение относительно общего провода, на входы можно подавать только положительное напряжение.

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

PGAFS
2/3±6,144 В
1±4,096 В
2±2,048 В
4±1,024 В
8±0,512 В
16±0,256 В

Напряжение питания АЦП должно быть больше или равно диапазону измерения, это касается коэффициентов 2/3 и 1, которые позволяют измерять значения вплоть до величины напряжения питания АЦП. Если напряжение питания меньше предела измерения, выходной код АЦП (результат преобразования) не достигнет максимального значения для выбранного предела измерения. Наибольший предел FS=6,144 В (для коэффициента 2/3) отражает полную шкалу АЦП ADS1115, но это не означает что можно подавать такое значение, напряжение подаваемое на вход АЦП не должно превышать VDD+0,3 В. В случае максимального напряжения питания (5,5 В) измеряемое напряжение не должно превышать 5.5 В+0.3 В=5.8 В.

В следующей таблице представлено соответствие выходного кода АЦП в зависимости от входного напряжения:

Входной сигнал, Vin=AINp-AINnЗначение кода АЦПДесятичное значение
≥FS7FFFh32767
+FS/(2 в 15 степени)0001h1
000
-FS/(2 в 15 степени)FFFFh65535
≤-FS8000h32768

При измерении напряжения на несимметричном входе используется только половина шкалы выходного кода (0-7FFFh), так как в этом случае измеряется только положительное напряжение.

Выводы модуля RI038 на ADS1115

ВыводОписание
VDDПитание
GNDОбщий (земля)
SCLЛиния тактирования (Serial CLock)
SDAЛиния данных (Serial Data)
ADDRВыбор адреса подчиненного устройства I2C
ALRTВыход компаратора или преобразование готово
A0Аналоговый вход 0
A1Аналоговый вход 1
A2Аналоговый вход 2
A3Аналоговый вход 3

Система установки адреса I2C ADS1115

Данное устройство предполагает установку адреса для I2C шины при помощи замыкания вывода ADDR на цифровые сигнальные выводы или выводы шины питания. Установка различных адресов I2C предназначена для того, чтоб при подключении двух и более различных устройств не происходило конфликта между ними, т. к. в лучшем случае модули у которых адреса совпадут просто не будут работать, а в худшем — работа всех модулей на шине может стать непредсказуемой. Как выглядит выбор адреса показано ниже.

Подключение вывода ADDRАдрес микросхемы ADS1115
GND0x48 (1001000)
VDD0x49 (1001001)
SDA0x4A (1001010)
SCL0x4B (1001011)

ADS1115 поддерживает стандартную скорость передачи до 100 Кбит/сек (100 кГц), высокую скорость до 400 Кбит/сек (400 кГц), а также ультравысокую скорость до 3.4 Мбит/сек (3.4 МГц).

Описание регистров ADS1115

АЦП имеет всего 4 внутренних регистра, все регистры 16-ти битные, соответственно для каждой сессии записи/чтения по интерфейсу I2C передается 2 информационных байта (кроме байта адреса регистра). Описание регистров приведено ниже в таблице:

АдресНазваниеОписание регистра
0x00Conversion registerРегистр хранения результата преобразования
0x01Config registerКонфигурационный регистр
0x02Lo_thresh registerРегистр уставки, минимальное значение
0x03Hi_thresh registerРегистр уставки, максимальное значение

С помощью конфигурационного регистра осуществляется управление АЦП, описание регистра приведено ниже в таблице:

БитНазвание битаЗначение битаОписание
15OS. Бит определяет состояние устройства и может быть записан только в режиме пониженного потребленияДля записи
0Нет эффекта
1 Начать преобразование, для режима одиночного преобразования (пониженное потребление)
Для чтения
0Выполняется преобразование
1Преобразование закончено
14-12MUX. Настройка мультиплексора000AINp=AIN0 и AINn=AIN1 (умолч)
001AINp=AIN0 и AINn=AIN3
010AINp=AIN1 и AINn=AIN3
011AINp=AIN2 и AINn=AIN3
100AINp=AIN0 и AINn=GND
101AINp=AIN1 и AINn=GND
110AINp=AIN2 и AINn=GND
111AINp=AIN3 и AINn=GND
11-9PGA. Коэффициент усиления усилителя000FS=±6,144 В
001FS=±4,096 В
010FS=±2,048 В (умолч.)
011FS=±1,024 В
100FS=±0,512 В
101FS =±0,256 В
110FS =±0,256 В
111FS =±0,256 В
8MODE. Режим работы0Непрерывное преобразование
1Одиночное преобразование, режим пониженного потребления (умолч)
7-5DR. Частота дискретизации0008 ГЦ
00116 ГЦ
01032 ГЦ
01164 ГЦ
100128 ГЦ (умолч)
101250 ГЦ
110475 ГЦ
111860 ГЦ
4COMP_MODE. Тип компаратора0Компаратор с гистерезисом (умолч)
1Компаратор без гистерезиса
3
COMP_POL. Полярность компаратора
0Низкий активный уровень (умолч)
1Высокий активный уровень
2COMP_LAT. Режим компаратора0Компаратор без “защелки” (умолч)
1Компаратор с “защелкой”
1-0COMP_QUE. Управление компаратором00Установка сигнала на выходе после одного преобразования
01Установка сигнала на выходе после двух преобразований
10Установка сигнала на выходе после четырех преобразований
11Компаратор выключен (умолч)

Материалы

Скачать документацию Datasheet ADS1115.pdf
Микросхема ADS1115 – самый миниатюрный в отрасли 16-битный АЦП
ADS1115 – описание и подключение 16-битного АЦП

Купить ADS1115 на AliExpress

micro-pi.ru

Модуль ADS1115 Внешний I2C ADC АЦП (вольтметр)

ADS1115 это 16-разрядный Аналого-Цифровой Преобразователь, который может прекрасно расширить разрешающие и измерительные возможности Вашей Arduino. Он имеет внутренний ИОН (Источник Опорного Напряжения), 4 аналоговых входа, которые могут быть настроены в единичный, дифференциальный и сравнительный режимы измерения.

Важно: АЦП выдает 16-разрядное знаковое значение напряжения на входе. Т. е. максимальная величина шкалы напряжения не 65535 а 32768. Соответственно если необходимо использовать шкалу на все 16-бит можно только при условии дифференциального измерения, где на один из входов будет подключен внешний источник опорного напряжения а второй будет являться измерительным.
ОЧЕНЬ ВАЖНО!!!: Этот модуль очень боится перенапряжения как по входам, так и по питанию. Превышение напряжения более чем на 5% от напряжения питания его моментально сожжет.

Система установки адреса I2C ADS1115

Данное устройство предполагает установку адреса для I2C шины при помощи замыкания вывода ADDR на цифровые сигнальные выводы или выводы шины питания. Установка различных адресов I2C предназначена для того, чтоб при подключении двух и более различных устройств не происходило конфликта между ними, т. к. в лучшем случае модули у которых адреса совпадут просто не будут работать, а в худшем — работа всех модулей на шине может стать непредсказуемой. Как выглядит выбор адреса показано на рисунке ниже.

Схема подключения АЦП ADS1115 к Arduino

Данная схема показывает каким образом можно измерить напряжение с внутреннего стабилизатора на 3.3В


Подключив ADS1115 I2C АЦП к ардуино по вышеприведенной схеме, Вы можете попробовать в действии его уже прямо сейчас!

Для этого необходимо всего лишь выбрать в выпадающем списке ниже, Вашу плату, указать порт и нажать Run on Arduino.

Самую свежую библиотеку с примерами кода можно скачать из репозитория GITHUB

Следующий код представляет собой образец программы выводящей в последовательный порт значение на входе 0 АЦП в виде целого (относительной шкалы), и пересчитанное в напряжение.

Если Вы испытываете затруднения с определением адреса устройства или не можете определить причину неработоспособности Вашего модуля i2c, запустите следующий код на Вашей Arduino Uno/Mega. Данная программа является сканером I2C порта управляемым через отладочный порт в режиме диалога. Она отображает на каких адресах есть устройства, а на каких их нет, а также поддерживаемые скорости общения (если вешаете несколько устройств, нужно выбирать скорость порта по самому медленному устройству, иначе при общении с более быстрым медленное может воспринять команды на себя и работа станет непредвиденной). Если подключение по I2C шине верное — данная программа это покажет.

Что бы прочитать данные из ком порта, выберите ниже используемый ардуиной COM порт, скорость и нажмите Connect

Предлагаю полный спектр услуг по разработке систем автоматики и автоматизации бытового и промышленного направления. Имею в наличии готовые модульные решения для системы «умный дом»: вентиляция, отопление, освещение, дистанционное управление. Поверьте, «Умный дом», сегодня, уже не роскошь, а вполне ДОСТУПНАЯ для каждого из нас РЕАЛЬНОСТЬ!)))

arduinomania.in.ua

ADS1115 (ADS1015) Внешний I2C ADC АЦП (поддерживается программой FLProg) – FLProg

ADS1115 это 16-разрядный Аналого-Цифровой Преобразователь (ADS1015 это 12-разрядный Аналого-Цифровой Преобразователь), который может прекрасно расширить разрешающие и измерительные возможности Вашей Arduino. Он имеет внутренний ИОН (Источник Опорного Напряжения), 4 аналоговых входа, которые могут быть настроены в единичный, дифференциальный и сравнительный режимы измерения.


Для справки, встроенный в Arduino АЦП 10-разрядность.

ОЧЕНЬ ВАЖНО!!!: Этот модуль очень боится перенапряжения как по входам, так и по питанию. Превышение напряжения более чем на 5% от напряжения питания его моментально сожжет.

Система установки адреса I2C ADS1115

Данное устройство предполагает установку адреса для I2C шины при помощи замыкания вывода ADDR на цифровые сигнальные выводы или выводы шины питания. Установка различных адресов I2C предназначена для того, чтоб при подключении двух и более различных устройств не происходило конфликта между ними, т. к. в лучшем случае модули у которых адреса совпадут просто не будут работать, а в худшем – работа всех модулей на шине может стать непредсказуемой. Как выглядит выбор адреса показано на рисунке ниже.

Схема подключения АЦП ADS1115 к Arduino

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

PGAFS
2/3±6,144 В
1±4,096 В
2±2,048 В
4±1,024 В
8±0,512 В
16±0,256 В

Напряжение питания АЦП должно быть больше или равно диапазону измерения, это касается коэффициентов 2/3 и 1, которые позволяют измерять значения вплоть до величины напряжения питания АЦП. Если напряжение питания меньше предела измерения, выходной код АЦП (результат преобразования) не достигнет максимального значения для выбранного предела измерения. Наибольший предел FS=6,144 В (для коэффициента 2/3) отражает полную шкалу АЦП ADS1115, но это не означает что можно подавать такое значение, напряжение подаваемое на вход АЦП не должно превышать VDD+0,3 В. В случае максимального напряжения питания (5,5 В) измеряемое напряжение не должно превышать 5,5 В+0,3 В=5,8 В.

Видео урок записанный Сергеем (support), где приводится пример работы с этим датчиком.


Publication author

412 Comments: 12Publics: 317Registration: 04-02-2018

flprog.ru

Texas Instruments ADS1115 Даташит, ADS1115 PDF, даташитов

   Технический паспорт Поисковая и бесплатно техническое описание Скачать

DESCRIPTION
The ADS1113, ADS1114, and ADS1115 are precision analog-to-digital converters (ADCs) with 16 bits of resolution offered in an ultra-small, leadless QFN-10 package or an MSOP-10 package. The
ADS1113/4/5 are designed with precision, power, and ease of implementation in mind. The ADS1113/4/5 feature an onboard reference and oscillator. Data are transferred via an I2C-compatible serial interface; four I2C slave addresses can be selected. The ADS1113/4/5 operate from a single power supply ranging from 2.0V to 5.5V.

FEATURES
• ULTRA-SMALL QFN PACKAGE: 2mm × 1,5mm × 0,4mm
• WIDE SUPPLY RANGE: 2.0V to 5.5V
• LOW CURRENT CONSUMPTION: Continuous Mode: Only 150μA
Single-Shot Mode: Auto Shut-Down
• PROGRAMMABLE DATA RATE: 8SPS to 860SPS
• INTERNAL LOW-DRIFT VOLTAGE REFERENCE
• INTERNAL OSCILLATOR
• INTERNAL PGA
• I2C ™ INTERFACE: Pin-Selectable Addresses
• FOUR SINGLE-ENDED OR TWO DIFFERENTIAL INPUTS (ADS1115)
• PROGRAMMABLE COMPARATOR (ADS1114 and ADS1115)
• OPERATING TEMPERATURE: –40°C to +140°C

Page Links : 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34 

Номер в каталогеОписание (Функция)PDFпроизводитель
ADS1013IDGSRUltra-Small, Low-Power, 12-Bit Analog-to-Digital Converter with Internal Reference Texas Instruments
ADS851316-Bit, 40kSPS, Low-Power Sampling ANALOG-TO-DIGITAL CONVERTER with Internal Reference and Parallel/Serial Interface Texas Instruments
DAC856016-Bit, Ultra-Low Glitch, Voltage Output DIGITAL-TO-ANALOG CONVERTER with 2.5V, 2ppm/°C Internal Reference Texas Instruments
DAC856016-Bit, Ultra-Low Glitch, Voltage Output DIGITAL-TO-ANALOG CONVERTER with 2.5V, 2ppm/°C Internal Reference Burr-Brown -> Texas Instruments
ADS850716-BIT 40-KSPS LOW POWER SAMPLING ANALOG-TO-DIGITAL CONVERTER WITH INTERNAL REFERENCE AND PARALLEL/SERIAL INTERFACE Burr-Brown -> Texas Instruments
DAC816514-Bit, Quad Channel, Ultra-Low Glitch, Voltage Output Digital-to-Analog Converter with 2.5V, 2ppm/°C Internal Reference Texas Instruments
5637C2.7V TO 5.5V LOW-POWER DUAL 10-BIT DIGITAL-TO-ANALOG CONVERTER WITH INTERNAL REFERENCE AND POWER DOWN Texas Instruments
ADS850612-BIT 40-KSPS LOW POWER SAMPLING ANALOG-TO-DIGITAL CONVERTER WITH INTERNAL REFERENCE AND PARALLEL/SERIAL INTERFACE Burr-Brown -> Texas Instruments
TLV56332.7 V TO 5.5 V LOW POWER 12-BIT DIGITAL-TO-ANALOG CONVERTERS WITH INTERNAL REFERENCE AND POWER DOWN Texas Instruments
TLV56392.7-V TO 5.5-V LOW-POWER 12-BIT DIGITAL-TO-ANALOG CONVERTERS WITH INTERNAL REFERENCE AND POWER DOWN Texas Instruments

English 한국어 简体中文 日本語 español


ru.datasheetbank.com

ADS1115 — самый миниатюрный в промышленности 16-битный АЦП

Автор: admin

27 Ноя

ADS1115 — самый миниатюрный в промышленности 16-битный АЦП, доступный в корпусе QFN с размерами всего лишь 2.0мм x 1.5мм x 0.4мм. При разработке АЦП учитывалось обеспечение высокой точности, малого энергопотребления и простоты применения. АЦП ADS1115 предусматривают программирование частоты преобразования до 860 Гц. Потребляемый, при этом, ток составляет всего лишь 150 мкА (типовое значение), а напряжение питания допускает снижение до 2.0 В. В состав семейства также входят 12-битные АЦП, что повышает гибкость применения.

ADS1115 оснащены источником опорного напряжения и генератором. Данные передаются через I2C-совместимый последовательный интерфейс с возможностями выбора четырех подчиненных адресов шины I2C. ADS1115 предназначены для работы от одного источника питания напряжением 2.0…5.5 В. Входной диапазон встроенного программируемого усилителя отличается от уровней питания всего лишь на 256 мВ, что делает возможным измерение как больших, так и малых сигналов с высокой разрешающей способностью. Встроенный в ADS1115 мультиплексор позволяет измерять два дифференциальных или четыре несимметричных сигнала.

АЦП семейства ADS1115 выполняют преобразования в непрерывном или однократном режимах. По завершении каждого преобразования АЦП автоматически переходит в экономичный режим работы до начала следующего преобразования. Это позволяет существенно снизить средний потребляемый ток. АЦП ADS1115 предназначены для работы в температурном диапазоне -40…+125°C.

Отличительные особенности

  • Сверхкомпактный корпус QFN размером 2 х 1.5 х 0.4 мм
  • Широкий диапазон напряжения питания: 2.0…5.5 В
  • Малый ток потребления: продолжительный режим работы — 150 мкА; разовая операци — автоматическое отключение
  • Программируемая частота преобразования: 8…860 преобразований в сек.
  • Внутренний источник опорного напряжения с малым дрейфом
  • Внутренний программируемый усилитель (PGA)
  • Интерфейс I2C, вывод выбора адреса
  • Программируемый компаратор
  • Диапазон рабочих температур: -40…+125°C

 

 

Запросить образцы, средства разработки или техническую поддержку

 

Документация на ADS1115 (англ.)

  • Рубрика: Texas Instruments
  • www.ebvnews.ru

    Texas Instruments ADS1115 Даташит, ADS1115 PDF, даташитов

       Технический паспорт Поисковая и бесплатно техническое описание Скачать

    DESCRIPTION
    The ADS1113, ADS1114, and ADS1115 are precision analog-to-digital converters (ADCs) with 16 bits of resolution offered in an ultra-small, leadless QFN-10 package or an MSOP-10 package. The
    ADS1113/4/5 are designed with precision, power, and ease of implementation in mind. The ADS1113/4/5 feature an onboard reference and oscillator. Data are transferred via an I2C-compatible serial interface; four I2C slave addresses can be selected. The ADS1113/4/5 operate from a single power supply ranging from 2.0V to 5.5V.

    FEATURES
    • ULTRA-SMALL QFN PACKAGE: 2mm × 1,5mm × 0,4mm
    • WIDE SUPPLY RANGE: 2.0V to 5.5V
    • LOW CURRENT CONSUMPTION: Continuous Mode: Only 150μA
    Single-Shot Mode: Auto Shut-Down
    • PROGRAMMABLE DATA RATE: 8SPS to 860SPS
    • INTERNAL LOW-DRIFT VOLTAGE REFERENCE
    • INTERNAL OSCILLATOR
    • INTERNAL PGA
    • I2C ™ INTERFACE: Pin-Selectable Addresses
    • FOUR SINGLE-ENDED OR TWO DIFFERENTIAL INPUTS (ADS1115)
    • PROGRAMMABLE COMPARATOR (ADS1114 and ADS1115)
    • OPERATING TEMPERATURE: –40°C to +140°C

    Ссылка на страницу (HTML): 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34 
    Номер в каталогеОписание (Функция)PDFпроизводитель
    ADS1013IDGSRUltra-Small, Low-Power, 12-Bit Analog-to-Digital Converter with Internal Reference Texas Instruments
    ADS851316-Bit, 40kSPS, Low-Power Sampling ANALOG-TO-DIGITAL CONVERTER with Internal Reference and Parallel/Serial Interface Texas Instruments
    DAC856016-Bit, Ultra-Low Glitch, Voltage Output DIGITAL-TO-ANALOG CONVERTER with 2.5V, 2ppm/°C Internal Reference Texas Instruments
    DAC856016-Bit, Ultra-Low Glitch, Voltage Output DIGITAL-TO-ANALOG CONVERTER with 2.5V, 2ppm/°C Internal Reference Burr-Brown -> Texas Instruments
    ADS850716-BIT 40-KSPS LOW POWER SAMPLING ANALOG-TO-DIGITAL CONVERTER WITH INTERNAL REFERENCE AND PARALLEL/SERIAL INTERFACE Burr-Brown -> Texas Instruments
    DAC816514-Bit, Quad Channel, Ultra-Low Glitch, Voltage Output Digital-to-Analog Converter with 2.5V, 2ppm/°C Internal Reference Texas Instruments
    5637C2.7V TO 5.5V LOW-POWER DUAL 10-BIT DIGITAL-TO-ANALOG CONVERTER WITH INTERNAL REFERENCE AND POWER DOWN Texas Instruments
    ADS850612-BIT 40-KSPS LOW POWER SAMPLING ANALOG-TO-DIGITAL CONVERTER WITH INTERNAL REFERENCE AND PARALLEL/SERIAL INTERFACE Burr-Brown -> Texas Instruments
    TLV56332.7 V TO 5.5 V LOW POWER 12-BIT DIGITAL-TO-ANALOG CONVERTERS WITH INTERNAL REFERENCE AND POWER DOWN Texas Instruments
    TLV56392.7-V TO 5.5-V LOW-POWER 12-BIT DIGITAL-TO-ANALOG CONVERTERS WITH INTERNAL REFERENCE AND POWER DOWN Texas Instruments

    English 한국어 简体中文 日本語 español


    ru.datasheetbank.com

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *