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 ;
btfss flag,5 ;
call sda_0 ;притянуть к 0 линию sda
call scl_1 ;отпустить линию scl
prm_i2c_3 call pausi2c ;пауза I2C (5 мкс)
btfss scl ;
goto prm_i2c_3 ;
call scl_0 ;притянуть к 0 линию scl
call pausi2c ;пауза I2C (5 мкс)
movf perem,W ;
return ;возврат из подпрограммы
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pausi2c nop ;Подпрограмма паузы I2C (5 мкс)
return ;возврат из подпрограммы
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pauslcd movlw . 4 ;подпрограмма паузы 2 мс
movwf Sec1 ;
p2 movlw .166 ;
movwf Sec ;
p1 decfsz Sec,F ;
goto p1 ;
decfsz Sec1,F ;
goto p2 ;
return ;выход из подпрограммы
paus_pr movlw .3 ; подпрограмма паузы 0,58 сек
movwf Sec2 ;
pp3 movlw .255 ;
movwf Sec1 ;
pp2 movlw .255 ;
movwf Sec ;
pp1 decfsz Sec,F ;
goto pp1 ;
decfsz Sec1,F ;
goto pp2 ;
decfsz Sec2,F ;
goto pp3 ;
return ;выход из подпрограммы
end ;конец всей программы
;
ADS1115 модуль – 4-канальный 16-битный АЦП
Модуль на базе микросхемы ADS1115 – это четырехканальный 16-битный аналогово-цифровой преобразователь (АЦП) с возможностью получения до 860 замеров напряжения в секунду. Управление и получение данных осуществляется по шине I2C.
АЦП ADS1115 может работать в режиме измерения четырех отдельных каналов или двух дифференциальных. Также в даном АЦП имеется программно-управляемый усилитель сигналов (PGA), который позволяет усилять входящие сигналы с необходимым коэффициеном (макс коэффициент усиления =16), благодаря этому можно измерять низкое напряжение в полном 16-битном разрешении.
В модуле возможна аппаратная установка одного из 4 возможных адресов I2c (соответственно на одну I2C шину можно подключить до 4 таких плат), для этого нужно соединить пин ADDR с сответствующим выводом, согласно картинке:
Характеристики:
Модель | ADS1115_ADC_module |
Рабочее напряжение |
2. 0 – 5.5 В |
Интерфейс управления | I2C |
Потребляемый ток |
менее 1 мА |
Диапазон рабочих температур |
-40°C..+125°C |
Размеры | 23х17 мм |
Комплектация:
- 1x 4-канальный 16-битный DAC ADS1115 модуль
- контактная PLS-планка на 10 пинов
Загрузки:
ADS1115: аналого-цифровой преобразователь для Arduino
Для тех проектов, где необходимо преобразование аналогового сигнала в цифровой, а используемый микроконтроллер не имеет такой емкости, интересно иметь этот тип Модуль ADS1115, который обеспечивает возможность преобразования АЦП с точностью до 16 разряда.
Кроме того, это электронный компонент также может быть интересно продлить возможности преобразования, даже если микроконтроллер, который вы используете для своего проекта, имеет такую возможность, но вам нужно что-то еще.
A / D и D / A преобразователи
Есть два типа преобразователи сигналов фундаментальный, хотя есть и другие микросхемы, способные выполнять оба типа преобразования одновременно. Эти:
- CAD (аналого-цифровой преобразователь) или ADC (аналого-цифровой преобразователь): тип устройства, преобразующего аналоговый сигнал в цифровой. Для этого можно использовать двоичный код, кодирующий аналоговый сигнал. Например, связывание двоичного значения с определенным значением напряжения или тока. Например, при 4-битном разрешении он может изменяться от 0000 до 1111 и может соответствовать 0v и 12v соответственно. Хотя, если используется знаковый бит, можно измерить отрицательные и положительные значения.
- CDA (цифро-аналоговый преобразователь) или DAC (цифро-аналоговый преобразователь): это устройство, которое делает противоположное вышеуказанному, то есть преобразует двоичные данные в аналоговый сигнал тока или напряжения.
С помощью этих преобразователей можно переходить от одного типа сигнала к другому, как вы увидите в случае ADS1115, что соответствовало бы первому случаю.
О ADS1115
ADS1115 – это модуль преобразователя сигналов. Что он делает преобразовать из аналогового в цифровой. Вы можете подумать, что сама плата разработки Arduino уже включает внутренние АЦП, чтобы иметь возможность выполнять эту задачу при использовании аналоговых входов, и что они могут быть совместимы с сигналами микроконтроллера.
Да, верно, у них есть 6 АЦП с 10-битным разрешением в UNO, Mini и Nano. Но с ADS1115 вы добавляете еще один с 16-битное разрешение, превосходит Arduino, в дополнение к возможности освободить корпус Arduino.
Кроме того, в этом модуле есть все необходимое, поэтому пользоваться им очень просто. Чтобы подключить его к вашему Arduino вы можете использовать I2CПоэтому это действительно просто. Он даже включает в себя контакт с маркировкой ADDR, с помощью которого вы можете выбрать один из 4 адресов, доступных для этого компонента.
С другой стороны, вы должны понимать, что ADS1115 имеет два режима измерения, один из которых дифференциал и другой несимметричный:
- Дифференциальный: он использует два АЦП для каждого измерения, уменьшая количество каналов до 2, но дает явное преимущество, заключающееся в том, что он может измерять отрицательные напряжения и не так уязвим для шума.
- Односторонний: он имеет четыре канала, не используя оба, как в предыдущем случае. Каждый из 15-битных каналов.
В дополнение к этим режимам он включает в себя режим компаратора, в котором предупреждение генерируется через Контакт ALRT когда любой из каналов превышает пороговое значение, которое можно настроить в исходном коде скетча.
Если ты хочешь сделать измерения менее 5В, но с большей точностью вы должны знать, что ADS1115 имеет PGA, который может регулировать усиление напряжения от 6.144 В до 0.256 В. Всегда помните, что максимальное напряжение, которое можно измерить в любом случае, будет используемым напряжением питания (5 В).
Распиновка и таблица данных
Если вы хотите увидеть все технические детали ADS1115, чтобы узнать его пределы на электронном уровне или условия, при которых он может работать в соответствии с рекомендациями производителя, вы можете использовать
к распиновка и подключен, ранее я уже кое-что прокомментировал о сигнале ALRT, который также включает информацию об ADDR. Но у него есть и другие контакты, которые вам также следует знать для правильной интеграции с вашей платой Arduino или в любом другом случае. На модуле ADS1115 доступны следующие выводы:
- VDD: питание от 2в до 5.5в. Вы можете включить его, подключив его к 5 В от вашей платы Arduino.
- GND: земля, которую вы можете подключить к GND вашей платы Arduino.
- SCL и SDA: контакты связи для I2C. В этом случае они должны перейти к соответствующим контактам в соответствии с ваша модель ардуино.
- АДРЕСА: pin для адреса. По умолчанию он подключается к GND, который дает адрес 0x48, но вы можете выбрать другие адреса:
- Подключен к GND = 0x48
- Подключен к VDD = 0x49
- Подключен к SDA = 0x4A
- Подключен к SCL = 0x4B
- ALRT: значок предупреждения
- От A0 до A3: аналоговые контакты
Если вы хотите использовать одинарный конец Вы можете подключить аналоговый ток или напряжение, которое хотите измерить, между GND и одним из 4 доступных аналоговых контактов.
Для подключения одинарный конец, мы просто подключаем измеряемую нагрузку между GND и одним из 4 доступных контактов. В дифференциальном режиме вы можете подключить измеряемую нагрузку между A0 и A1 или между A2 и A3, в зависимости от канала, который вы хотите использовать.
В качестве примера подключения в случае режим дифференциального чтения, вы можете увидеть изображение выше. В нем 1.5 батареи используются последовательно, добавляя 3 В, которые подключены между A0 и A1 в этом случае, чтобы плата Arduino могла измерять значения напряжения, полученные в каждый момент через I2C. Очевидно, вы можете использовать любой другой сигнал для измерения, в данном случае это батареи, но это может быть что угодно …
Где купить ADS1115?
Если вы хотите, купить ADS1115Вы должны знать, что у вас есть модули, подготовленные для интеграции с Arduino по довольно низким ценам. Вы можете найти их во множестве специализированных магазинов электроники, а также на eBay, Aliexpress и Amazon. Например:
Интеграция с Arduino
Для начала первое, что нужно сделать установить библиотеку соответствующий в вашей Arduino IDE. Для этого можно использовать самый известный из них. Adafruit. Для этого вы можете выполнить следующие действия:
- Откройте Arduino IDE
- Зайдите в меню Sketch.
- Затем включить библиотеку
- Управление библиотеками
- В поисковике вы можете искать Adafruit ADS1X15
- Нажмите на Установить
Теперь вы готовы начать, вы можете получить доступ к коду установленной библиотеки или доступные примеры в:
- Откройте Arduino IDE
- Перейти к файлу
- примеров
- И в списке ищите те, что находятся в этой библиотеке …
Среди примеров вы увидите как для режим компаратора, дифференциальный режим и односторонний режим. Вы можете увидеть примеры, чтобы начать их использовать и изменить в соответствии с вашими потребностями или написать более сложный код.
Модуль 4х канального АЦП на ADS1115 от 65 грн
Модуль 4х канального АЦП на ADS1115
Код товара: 149568
Производитель:Описание: Модуль 16-разрядного 4-х канального АЦП. Микросхема модуля: ADS1115, маркировка микросхемы: BOGI, интерфейс: I2C, напряжение питания: от 2В до 5В, потребляемый ток в непрерывном режиме: 150 мкА, тактовый гнератор: встроенный, разрядность АЦП: 16 (со знаком), количество каналов: 4 или 2 дифференциальных, диапазон входных напряжений: от ±256мВ до ±6.144В, входной усилитель: усиление до х16, встроенный источник опорного напряжения, частота оцифровки: от 8 до 860 отсчётов в секунду, диапазон адресов: от 0x48 до 0x4B, диапазон рабочих температур: от -40 до +125. Размеры платы: 25,5 х 9 мм
Тип: Датчик
В наличии/под заказ
200 шт – ожидается 01. 09.2021
Конструкторы и наборы – Arduino
Описание: Модуль 12-разрядного 4-х канального АЦП на микросхеме ADS1015. Интерфейс: I2C, напряжение питания: от 2В до 5В, потребляемый ток в непрерывном режиме: 150 мкА, тактовый гнератор: встроенный, разрядность АЦП: 12 (со знаком), количество каналов: 4 или 2 дифференциальных, диапазон входных напряжений: от ±256мВ до ±6.144В, входной усилитель: усиление до х16, источник опорного напряжения: встроенный, частота оцифровки: от 128 до 3300 отсчётов в секунду, диапазон адресов: от 0x48 до 0x4B, диапазон рабочих температур: от -40 до +125. Размеры платы: 25,5х9мм.
Тип: Датчик 41 шт – склад Киев
2 шт – РАДИОМАГ-Киев
2 шт – РАДИОМАГ-Львов
4 шт – РАДИОМАГ-Харьков
3 шт – РАДИОМАГ-Одесса
3 шт – РАДИОМАГ-Днепр Конструкторы и наборы – Arduino
Описание: Частота ШИМ настраивается в пределах от 40 до 1000 Гц, с помощью ШИМ контроллера можно управлять яркостью светодиодов, сервоприводами, и другими устройствами, контроллер управляется по шине I2C, питание:3-5В
Тип: Шилд 28 шт – склад Киев
2 шт – РАДИОМАГ-Киев
1 шт – РАДИОМАГ-Львов
2 шт – РАДИОМАГ-Харьков
1 шт – РАДИОМАГ-Днепр Конструкторы и наборы – Arduino
Описание: 4-х канальный двунаправленный преобразователь логических уровней; уровни напряжений: 3,3-5В; нагрузочная способность по току: 220мА. Используется с последовательным интерфейсами UART, I2C, SPI и для преобразования любых цифровых сигналов. Не работает с аналоговыми сигналами.
Тип: Преобразователь логических уровней 1 шт – РАДИОМАГ-Киев
4 шт – РАДИОМАГ-Львов
12 шт – РАДИОМАГ-Харьков
3 шт – РАДИОМАГ-Одесса
200 шт – ожидается 01.09.2021 Конструкторы и наборы – Arduino
Описание: Модуль энкодера предназначен для построения систем ввода и управления, ручка может вращаться на 360° в обе стороны+нажатие, число импульсов на оборот: 20, питание: 3-5V
Тип: Датчик 177 шт – склад Киев
23 шт – РАДИОМАГ-Киев
2 шт – РАДИОМАГ-Львов
20 шт – РАДИОМАГ-Харьков
16 шт – РАДИОМАГ-Одесса
4 шт – РАДИОМАГ-Днепр
ADS1115 (ADS1015) Внешний I2C ADC АЦП (поддерживается программой FLProg) – FLProg
ADS1115 это 16-разрядный Аналого-Цифровой Преобразователь (ADS1015 это 12-разрядный Аналого-Цифровой Преобразователь), который может прекрасно расширить разрешающие и измерительные возможности Вашей Arduino. Он имеет внутренний ИОН (Источник Опорного Напряжения), 4 аналоговых входа, которые могут быть настроены в единичный, дифференциальный и сравнительный режимы измерения.
Для справки, встроенный в Arduino АЦП 10-разрядность.
ОЧЕНЬ ВАЖНО!!!: Этот модуль очень боится перенапряжения как по входам, так и по питанию. Превышение напряжения более чем на 5% от напряжения питания его моментально сожжет.
Система установки адреса I2C ADS1115
Данное устройство предполагает установку адреса для I2C шины при помощи замыкания вывода ADDR на цифровые сигнальные выводы или выводы шины питания. Установка различных адресов I2C предназначена для того, чтоб при подключении двух и более различных устройств не происходило конфликта между ними, т. к. в лучшем случае модули у которых адреса совпадут просто не будут работать, а в худшем – работа всех модулей на шине может стать непредсказуемой. Как выглядит выбор адреса показано на рисунке ниже.
Схема подключения АЦП ADS1115 к Arduino
Встроенный усилитель дает возможность измерения малых напряжений, не ограничивая разрешение АЦП. В следующей таблице приведены коэффициенты усиления и пределы измеряемого напряжения:
PGA | FS |
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
636 Comments: 14Publics: 367Registration: 04-02-2018отзывы, фото и характеристики на Aredi.ru
Мы доставляем посылки в г. Калининград и отправляем по всей России
- 1
Товар доставляется от продавца до нашего склада в Польше. Трекинг-номер не предоставляется.
- 2
После того как товар пришел к нам на склад, мы организовываем доставку в г. Калининград.
- 3
Заказ отправляется курьерской службой EMS или Почтой России. Уведомление с трек-номером вы получите по смс и на электронный адрес.
!
Ориентировочную стоимость доставки по России менеджер выставит после оформления заказа.
Гарантии и возврат
Гарантии
Мы работаем по договору оферты, который является юридической гарантией того, что мы выполним
свои обязательства.
Возврат товара
Если товар не подошел вам, или не соответсвует описанию, вы можете вернуть его, оплатив
стоимость обратной пересылки.
- У вас остаются все квитанции об оплате, которые являются подтверждением заключения сделки.
- Мы выкупаем товар только с проверенных сайтов и у проверенных продавцов, которые полностью отвечают за доставку товара.
- Мы даем реальные трекинг-номера пересылки товара по России и предоставляем все необходимые документы по запросу.
- 5 лет успешной работы и тысячи довольных клиентов.
Проблемы с чтением из ADS1115 от Raspberry Pi через интерфейс I2C
Я пытаюсь использовать АЦП-конвертер (ads1115 ).
Но когда я пытаюсь запустить пример скрипта; simpletest. py
Я получаю:
Считывая значения ADS1x15, нажмите Ctrl-C, чтобы выйти…
| 0 | 1 | 2 | 3 |
Обратная трассировка (самый недавний призыв последнего): Файл “simpletest.py”, строка 43, in values[i] = adc.read_adc(i, gain=GAIN) Файл “build/bdist.linux-armv7l/egg/Adafruit_ADS1x15/ADS1x15.py”, строка 192, в read_adc Файл “build/bdist.linux-armv7l/egg/Adafruit_ADS1x15/ADS1x15.py”, строка 133, in _read Файл “build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py”, строка 136, в readList Файл “build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py”, строка 216, в read_i2c_block_data TypeError: ожидается одна символьная строка
Когда я запускаю диагностическую команду: i2cdetect, я получаю это
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Полный код скрипта python (simpletest. py), показывающий сообщение об ошибке:
# Simple demo of reading each analog input from the ADS1x15 and printing it to
# the screen.
# Author: Tony DiCola
# License: Public Domain
import time
# Import the ADS1x15 module.
import Adafruit_ADS1x15
# Create an ADS1115 ADC (16-bit) instance.
adc = Adafruit_ADS1x15.ADS1115()
# Or create an ADS1015 ADC (12-bit) instance.
#adc = Adafruit_ADS1x15.ADS1015()
# Note you can change the I2C address from its default (0x48), and/or the I2C
# bus by passing in these optional parameters:
#adc = Adafruit_ADS1x15.ADS1015(address=0x49, busnum=1)
# Choose a gain of 1 for reading voltages from 0 to 4.09V.
# Or pick a different gain to change the range of voltages that are read:
# - 2/3 = +/-6.144V
# - 1 = +/-4.096V
# - 2 = +/-2.048V
# - 4 = +/-1.024V
# - 8 = +/-0.512V
# - 16 = +/-0.256V
# See table 3 in the ADS1015/ADS1115 datasheet for more info on gain.
GAIN = 1
print('Reading ADS1x15 values, press Ctrl-C to quit...')
# Print nice channel column headers.
print('| {0:>6} | {1:>6} | {2:>6} | {3:>6} |'.format(*range(4)))
print('-' * 37)
# Main loop.
while True:
# Read all the ADC channel values in a list.
values = [0]*4
for i in range(4):
# Read the specified ADC channel using the previously set gain value.
values[i] = adc.read_adc(i, gain=GAIN)
# Note you can also pass in an optional data_rate parameter that controls
# the ADC conversion time (in samples/second). Each chip has a different
# set of allowed data rate values, see datasheet Table 9 config register
# DR bit values.
#values[i] = adc.read_adc(i, gain=GAIN, data_rate=128)
# Each value will be a 12 or 16 bit signed integer value depending on the
# ADC (ADS1015 = 12-bit, ADS1115 = 16-bit).
# Print the ADC values.
print('| {0:>6`enter code here`} | {1:>6} | {2:>6} | {3:>6} |'.format(*values))
# Pause for half a second.
time.sleep(0.5)
пожалуйста, посоветуйте.
Кевин
python raspberry-piПоделиться Источник Kevin 23 февраля 2020 в 08:40
3 ответа
- Raspberry Pi i2c-ошибка установки инструментов
Мне нужно установить i2c-tools на мой Raspberry Pi, но я столкнулся с горой неприятностей. Я пробовал несколько вариантов установки, в основном похожих на этот из spkang.co.uk но без всякой удачи. При запуске sudo apt-install i2c-tools я получаю сообщение об ошибке /run/udev or .udevdb or .udev…
- Raspberry Pi и несколько устройств, использующих I2C
Я хочу подключить Raspberry Pi с 2 устройствами через I2C. Как можно соединить 1 SCL и SDA с двумя устройствами?
1
уфффф долго искать. Никаких проблем с использованием python 3, но мой ROS установлен с Python 2. 7, поэтому мне нужно решить эту проблему. Вот как я это сделал после китайского форума:
Raspberry pi:
команды mkdir ~/temp
кд /usr/local/lib/python2.7/dist-packages
СР -п Adafruit_PureIO-1.1.5-py2.7.egg ~/temp
компакт ~/temp
распакуйте *.яйцо
компакт Adafruit_PureIO
отредактируйте файл smbus.py строка 255 изменение: cmdstring[i] = val на cmdstring[i] = str(val) сохраните файл
компакт ..
zip -r Adafruit_PureIO-1.1.5-py2.7.egg Adafruit_PureIO-1.1.5-py2.7.egg /usr/local/lib/python2.7/dist-packages
Я написал эти шаги после того, как нашел решение.
Теперь вы можете запустить пример и свой собственный код
pi@raspberrypi:~/Adafruit_Python_ADS1x15/examples $ python simpletest.py Считывая значения ADS1x15, нажмите Ctrl-C, чтобы выйти… | 0 | 1 | 2 | 3 |
| 1157 | 845 | 292 | 292 | | 1157 | 845 | 296 | 294 | | 1157 | 845 | 293 | 296 |
Хуан.
Поделиться Juan Ramirez Jardua 16 июля 2020 в 05:27
1
У меня возникла та же проблема с python2.7, затем я устанавливаю библиотеку Adafruit ADS1115 с помощью pip3 install Adafruit-ADS1x15
, а затем запускаю свой скрипт с помощью python3, и он работает.
Поделиться charan ghumman 05 июня 2020 в 12:32
0
Я хотел бы добавить, что неадаптированная проводка может привести к изменению адреса I2C во время работы, так что устройство больше не будет доступно по исходному адресу.
Я написал пример программы, чтобы попробовать несколько конфигураций для ADS1115 без использования AdaFruit библиотека, которая, кажется, помогла некоторым людям: http://smartypies.com/projects/ads1115-with-raspberrypi-and-python/ads1115runner
Поделиться gulux 08 марта 2020 в 08:15
- Связь I2C в raspberry pi с использованием python
Я хочу настроить I2C для raspberry pi, используя PYTHON или последний выбор C. Я работал над микроконтроллером ATMEL, он обеспечивает связь I2C с любым устройством. Мне нужен какой-то подобный механизм для raspberry pi. У меня есть следующие вопросы: 1.Мы должны определить адрес каждого устройства…
- Ошибка I2C с ADS1115 (read_i2c_block_data)
у меня есть проблема с ads1115 (под raspberry pi). Вот мой код python import smbus bus = smbus.SMBus(1) address = 0x49 print bus.read_byte(address) print bus.read_i2c_block_data(address, 0x00, 2) и следующий вопрос: 17 Traceback (most recent call last): File test.py, line 8, in <module> data…
Похожие вопросы:
Как считывать данные с Arduino с Raspberry pi через I2C
Я соединил Raspberry pi 2 model B с arduino uno через двунаправленный уровнемер. Raspberry pi GND ———- GND Arduino 3.3v ———- 5v SCL ———- A5 SDA ———- A4 Надеюсь, мое…
Как подключить Arduino Uno к Raspberry Pi с помощью I2C
Я пытаюсь отправить данные через интерфейс I2C из Arduino Uno в Raspberry Pi с помощью I2C. Это был код, который я использовал. В Arduino году: #include <Wire.h> unsigned int watt; unsigned…
I2C Bitbanging in Raspberry pi
Мы используем raspberry pi в одном из наших проектов; в том же мы хотим использовать i2c для интерфейса сенсорного экрана. Поскольку i2c в pi не поддерживает растяжение часов, планируя использовать…
Raspberry Pi i2c-ошибка установки инструментов
Мне нужно установить i2c-tools на мой Raspberry Pi, но я столкнулся с горой неприятностей. Я пробовал несколько вариантов установки, в основном похожих на этот из spkang.co.uk но без всякой удачи….
Raspberry Pi и несколько устройств, использующих I2C
Я хочу подключить Raspberry Pi с 2 устройствами через I2C. Как можно соединить 1 SCL и SDA с двумя устройствами?
Связь I2C в raspberry pi с использованием python
Я хочу настроить I2C для raspberry pi, используя PYTHON или последний выбор C. Я работал над микроконтроллером ATMEL, он обеспечивает связь I2C с любым устройством. Мне нужен какой-то подобный…
Ошибка I2C с ADS1115 (read_i2c_block_data)
у меня есть проблема с ads1115 (под raspberry pi). Вот мой код python import smbus bus = smbus.SMBus(1) address = 0x49 print bus.read_byte(address) print bus.read_i2c_block_data(address, 0x00, 2) и…
I2C: Raspberry Pi (Master) читать Arduino (Slave)
Я хотел бы прочитать блок данных из моего Arduino Mega (а также из Arduino Micro в другом проекте) с моим Raspberry Pi через I2C. Код должен быть в Perl, потому что это своего рода плагин для моего…
Я хочу читать с Arduino, используя I2C, используя Raspberry Pi
Я хочу читать из Arduino, используя код c++ через Raspberry Pi. Однако я столкнулся с некоторыми трудностями в поиске решения. Есть ли какой-нибудь хороший источник информации, который я могу найти…
Как исправить ошибку “sudo: . /install.sh: команда не найдена” при настройке “seed 4-Channel 16-Bit ADC for Raspberry Pi (ADS1115)”?
Я использую a Raspberry Pi 3 B с установленным Raspbian Stretch и пытаюсь установить шляпу ADC под названием в соответствии с учебником…
Gravity: 16-разрядный модуль АЦП I2C ADS1115 (совместим с Arduino и Raspberry Pi)
DFRobot I2C ADS1115 16-разрядный модуль АЦП может точно собирать и преобразовывать аналоговые сигналы. С помощью этого модуля АЦП Raspberry Pi может легко использовать широкий спектр аналоговых датчиков серии Gravity для измерения различных сигналов и восприятия этого мира.Raspberry Pi – это обычная главная плата управления, обладающая мощными функциями, но выводы ввода / вывода Raspberry Pi могут считывать только цифровые сигналы, более того, только через внешний модуль аналого-цифрового преобразования (АЦП). считывать сигналы аналогового датчика или устройства, пользоваться им неудобно.
DFRobot I2C ADS1115 16-разрядный модуль АЦП специально разработан для аналоговых датчиков серий Raspberry Pi и Gravity, что значительно снижает сложность использования аналоговых датчиков серии Gravity, подключи и работай, без сварки, очень удобно. Количество датчиков серии Gravity велико, и их большое разнообразие может удовлетворить потребности различных датчиков Raspberry Pi.
В этом модуле используется 16-разрядный чип ADS1115, поддерживающий источник питания с напряжением 3,3 ~ 5 В. Чип имеет прецизионное опорное напряжение и программируемую регулировку усиления (PGA), поэтому точный сбор данных и преобразование могут выполняться как для слабых, так и для сильно изменчивых сигналов.Таким образом, он также применим ко всем типам приложений, которые необходимы главной плате управления для точного сбора аналоговых сигналов.
Один модуль АЦП может считывать аналоговые сигналы с 4 каналов. Благодаря встроенному переключателю выбора адреса I2C, он поддерживает каскад двух модулей АЦП и может считывать аналоговые сигналы с 8 каналов, он может удовлетворить потребности различных приложений.
Схема подключения Arduino
Схема подключения Raspberry Pi
Внимание:
Напряжение на выводах аналогового входа должно быть меньше VCC + 0. 3В!
Преобразователь ADS1115: техническое описание, распиновка, схема [видео]
ADS1115 – это 16-разрядный преобразователь АЦП с интерфейсом IIC, представленный Texas Instruments. Он имеет сверхкомпактный корпус X2QFN или VSSOP, низкое энергопотребление (20 мкА), широкий вход напряжения 2.0–5,5 В, программируемая скорость преобразования данных 8SPS-860SPS, четыре несимметричных входа или два дифференциальных входа. Он может использоваться в аккумуляторных батареях для определения напряжения и тока, низкоскоростных портативных счетчиках и системах измерения температуры.
В этом блоге представлен базовый обзор АЦП ADS1115 , включая описания контактов, функции и характеристики, альтернативные продукты и т. Д., Чтобы помочь вам быстро понять, что такое ADS1115.
Будем рады узнать, что этот блог может быть полезен людям, любящим электронные компоненты;)
ADS1115 16-разрядный модуль АЦП с Arduino
Каталог
ADS1115 Распиновка
№ контакта. | Имя контакта | Описание |
1 | ADDR | I 2 Выбор адреса подчиненного устройства C |
2 | ПРЕДУПРЕЖДЕНИЕ / СУХОЙ | Выход компаратора или готовность к преобразованию |
3 | GND | Земля |
4 | AIN0 | Аналоговый вход 0 |
5 | AIN1 | Аналоговый вход 1 |
6 | AIN2 | Аналоговый вход 2 |
7 | AIN3 | Аналоговый вход 3 |
8 | VDD | Блок питания. Подключите развязывающий конденсатор 0,1 мкФ источника питания к GND. |
9 | SDA | Последовательные данные. Передает и принимает данные |
10 | SCL | Последовательный тактовый вход. блокирует данные на SDA |
ADS1115 Feature
- Ультра-маленький X2QFN Корпус: 2 мм × 1.5 мм × 0,4 мм
- Широкий диапазон питания: от 2,0 В до 5,5 В
- Низкое потребление тока: 150 мкА (режим непрерывного преобразования)
- Программируемая скорость передачи данных: от 8 до 860 SPS
- Одноцикловая осадка
- Внутренний источник опорного напряжения с малым дрейфом
- Внутренний осциллятор
- I 2 Интерфейс C: четыре адреса с возможностью выбора контактов
- Четыре несимметричных или два дифференциальных входа
- Программируемый компаратор
- Диапазон рабочих температур: от –40 ° C до + 125 ° C
ADS1115 Advantage
ADS1115 – это аналого-цифровое (АЦП) устройство, управляемое протоколом i2C. ADS1115 – это прецизионный аналого-цифровой преобразователь с разрешением 16 бит в сверхмалом безвыводном корпусе (QFN) и в корпусе MSPO-10. ADS1115 разработан с учетом точности, мощности и простоты. Это устройство включает в себя встроенный источник опорного сигнала и генератор. Данные будут передаваться через последовательный интерфейс i2C, и четыре ведомых устройства могут быть подключены в зависимости от выбора адреса i2c. Эти устройства работают в диапазоне напряжений от 2,0 до 5,5 В.
ADS1115 Упрощенные блок-схемы
ADS1115 Символы CAD / CAE
Спецификация ADS1115
Разрешение (бит) | 16 |
Количество входных каналов | 4 |
Частота дискретизации (макс.) (KSPS) | 0. 86 |
Тип интерфейса | Я 2 С |
Архитектура | Дельта-Сигма |
Тип входа | Дифференциальный, несимметричный |
Многоканальная конфигурация | Мультиплексированный |
Рейтинг | Каталог |
Эталонный режим | Инт |
Диапазон ввода (макс.) (В) | 5.5 |
Диапазон ввода (мин.) (В) | 0 |
Характеристики | Компаратор, осциллятор, PGA |
Диапазон рабочих температур (C) | -40 до 125 |
Потребляемая мощность (тип. ) (МВт) | 0.3 |
Аналоговое напряжение AVDD (мин.) (В) | 2 |
Аналоговое напряжение AVDD (макс.) (В) | 5,5 |
INL (макс.) (+/- LSB) | 1 |
Цифровое питание (мин.) (В) | 2 |
Цифровое питание (макс.) (В) | 5.5 |
Цепь ADS1115
- Мониторинг токового шунта низкого напряжения
Функциональные блок-схемы ADS1115
ADS1115 Пакет
Лист данных на компоненты
Лист данных ADS1115
FAQ
ADS1115 – это точный 16-битный АЦП с четырьмя мультиплексированными входами. Вы можете использовать каждый вход отдельно или попарно для дифференциальных измерений…. Здесь также рассказывается, как устройство может измерять отрицательное напряжение, даже если оно работает только от одного источника питания. |
ADS1115 – это внешний аналогово-цифровой преобразователь (АЦП), который мы можем подключить к процессору, например, Arduino, для измерения аналоговых сигналов. … ADS1115 предоставляет 4 16-битных АЦП, 15 для измерения и один последний для знака. ADS1115 подключен по I2C, поэтому его легко читать. |
Аналогово-цифровые преобразователи (АЦП) преобразуют аналоговое напряжение в двоичное число (последовательность единиц и нулей), а затем, в конечном итоге, в цифровое число (основание 10) для считывания на измерителе, мониторе или диаграмме…. Точно так же для того же диапазона от 0 до 10 В постоянного тока разрешение 16-битного АЦП составляет 10/216 = 10/65 536 = 0,153 мВ. |
ADS1115 – 16-разрядный АЦП со встроенным мультиплексором, осциллятором и эталоном
ADC318A : дискретизирующие аналого-цифровые преобразователи. Низкое рассеивание мощности (макс.960 мВт) TTL-совместимый выход Дифференциальная / интегральная нелинейность (LSB макс.) 1: 2 Демультиплексированный прямой выход, программируемый 2: 1 Частотно-разделенный тактовый TTL-выход со сбросом Пакет для поверхностного монтажа Выбор логики входа (TTl, ECL, PECL ) или источник питания 5 В ФУНКЦИЯ ПИН НАЗНАЧЕНИЕ DVs (цифровой) ПОЗ.НИЖНИЙ (VRB) АНАЛОГОВЫЙ ЗАЗЕМЛЕНИЕ ПОЗ.
ADS-927 : 1 МГц, маломощный АЦП с дискретизацией: 14 бит. 14-битное разрешение Частота дискретизации 1 МГц Функционально полное Отсутствие отсутствующих кодов Маленький 24-контактный корпус DDIP или SMT Низкое энергопотребление, максимум 1,9 Вт Работает от источников питания 12 В. Конвертер D. Это устройство производит выборку входных сигналов до частот Найквиста без пропущенных кодов. Самолет ADS-927.
ADS5121 : маломощный, 8-канальный, 10-битный, АЦП 40MSPS, 1.8В. q 8 ДИФФЕРЕНЦИАЛЬНЫХ АНАЛОГОВЫХ ВХОДОВ q ДИАПАЗОН ДИФФЕРЕНЦИАЛЬНОГО ВХОДА 1VPP q ОПОРНОЕ НАПРЯЖЕНИЕ INT / EXT q АНАЛОГОВОЕ / ЦИФРОВОЕ ПИТАНИЕ: 1,8 В q ИСТОЧНИК ЦИФРОВОГО ВХОДА / ВЫВОДА: 1,8 В / 3,3 В -ПОДВИЖЕНИЕ ШУМА: 60 дБ при конечной частоте 20 МГц. Q РАСПРЕДЕЛЕНИЕ МОЩНОСТИ: 500 мВт.
ADS5273 : 8-канальный, 12-разрядный, 70MSPS АЦП с последовательным интерфейсом LVDS. Максимальная частота дискретизации: 70 MSPS, 12-битное разрешение, отсутствие пропущенных кодов. Рассеиваемая мощность: 1.Технология CMOS 1 Вт Одновременная выборка и хранение 70,5 дБ SNR 10 МГц, если сериализованные выходы LVDS соответствуют или превосходят требования ANSI TIA / EIA-644-A Standard PLL ADCLK 6X ADCLK LCLKP LCLKN 1X ADCLK ADCLKP ADCLKN 12-Bit ADC OUT8P OUT8N Registers Control ADS5273 обеспечивает.
ADS8402IBPFBR : ti ADS8402, 16-разрядный параллельный АЦП 1,25 MSPS с опорным сигналом, униполярный дифференциальный вход.
AKD5394A : сверхвысокопроизводительный 24-битный АЦП 192 кГц.
DAC7724N : ti DAC7724, 12-разрядный цифро-аналоговый преобразователь с четырьмя выходами напряжения.Актуальные технические характеристики и другую информацию о продукте можно найти на сайте www.burr-brown.com. Q НИЗКАЯ МОЩНОСТЬ: макс. 250 мВт. : + 85C q СБРОС НА СРЕДНИЙ МАСШТАБ (DAC7724) ИЛИ НУЛЕВОЙ МАСШТАБ (DAC7725) q СЧИТЫВАНИЕ ДАННЫХ q ДВОЙНЫЕ ВХОДЫ ДАННЫХ DAC7724 и DAC7725.
LTC1417C : 14-разрядный преобразователь АЦП с дискретизацией 400 кбит / с с низким энергопотреблением и последовательным вводом / выводом. 16-контактный узкий корпус SSOP (посадочное место SO-8) Частота дискретизации: 400 кбит / с 1.25LSB INL и 1LSB DNL Макс.рассеиваемая мощность: 20 мВт (тип.) Однополярное питание 5 В Работа с последовательным выходом данных Отсутствие отсутствующих кодов Перегрев D) и 95 дБ THD на Найквисте.
LTC1746 : -> Один вход. LTC1746, АЦП 5 В, 25 Мбит / с, параллельный интерфейс. LTC – это 14-битный аналого-цифровой преобразователь с частотой дискретизации 25 Мбит / с, предназначенный для оцифровки высокочастотных сигналов с широким динамическим диапазоном.Выбираемые по контактам входные диапазоны от 1 В до 1,6 В, а также режим программирования резистора позволяют оптимизировать входной диапазон LTC1746 для самых разных приложений. LTC1746 идеально подходит для требовательных приложений связи с.
MAX1011 : 6-разрядный АЦП с низким энергопотреблением, 90 Мбит / с. o Высокая частота дискретизации: 90 Мбит / с o Низкое рассеивание мощности: 215 мВт o Отличные динамические характеристики: 5,85 ENOB с аналоговым входом 20 МГц 5,7 ENOB с аналоговым входом 50 МГц o 1 / 4LSB INL и DNL (тип.) o Смещение входа 1 / 4LSB (тип.) o Внутреннее Опорное напряжение с шириной запрещенной зоны o Внутренний осциллятор с возможностью перегрузки 55 МГц (-0. 5 дБ) Входной усилитель с полосой пропускания с True.
MX7837 : Полный, двойной, 12-битный умножающий ЦАП с 8-битным интерфейсом шины. MX7837 / MX7847 – это сдвоенные 12-битные умножающие цифро-аналоговые преобразователи (ЦАП) с выходом напряжения. Каждый ЦАП имеет выходной усилитель и резистор обратной связи. Выходной усилитель способен развивать напряжение 10 В при нагрузке 2 кОм. Резистор обратной связи усилителя внутренне подключен к VOUT на MX7847. Для достижения полного результата не требуется никакой внешней отделки.
PHD32UAA : Серия Phd32.32a Неизолированный преобразователь постоянного тока в постоянный, 5 В, вход 3,3 В, двойной выход.
ADS8330 : ADS8329 – это маломощный 16-разрядный аналого-цифровой преобразователь с быстродействием 1 MSPS и униполярным входом. Устройство включает в себя 16-битный конденсаторный аналого-цифровой преобразователь SAR с собственными выборкой и хранением. ADS8330 основан на том же ядре и включает входной мультиплексор 2: 1 с программируемой опцией вывода битов TAG. И ADS8329, и ADS8330 обладают высокой скоростью.
MAX17000A : Комплексное решение для управления питанием памяти DDR2 и DDR3 Контроллер с широтно-импульсной модуляцией (PWM) MAX17000A представляет собой комплексное решение для питания памяти DDR, DDR2 и DDR3 ноутбука.Он состоит из понижающего контроллера, LDO-регулятора источник-приемник и опорного буфера для генерации требуемых шин VDDQ, VTT и VTTR.
ADS1115 4-канальный 16-разрядный модуль АЦП
Описание
ADS1115 – это прецизионный 4-канальный 16-битный аналого-цифровой преобразователь с интерфейсом I2C, который значительно повышает точность измерений по сравнению со встроенным АЦП Arduino и аналогичными микроконтроллерами.
В ПАКЕТЕ:- ADS1115 4-канальный 16-разрядный модуль АЦП
- Наружная полоса заголовка
- 16-битное аналого-цифровое преобразование
- 4 входных канала
- Входные каналы могут быть сконфигурированы как 4 несимметричных, 2 дифференциальных или использовать в режиме компаратора
- Режимы однократного или непрерывного преобразования со скоростью преобразования до 860 выборок в секунду
- Встроенный усилитель с программируемым усилением может увеличивать слабые сигналы до 16x
- 0.От 1875 мВ до 7,8125 мкВ с шагом
- Встроенный генератор и опорное напряжение для высокой стабильности.
- Совместимость с логикой 3,3 В и 5 В.
Микроконтроллеры обычно имеют встроенную функцию АЦП, но обычно ее разрешение не превышает 10 бит. Такое разрешение подходит для мониторинга базовых аналоговых напряжений, таких как считывание настроек потенциометра, но они далеко не подходят для более требовательных приложений, таких как расчет тока путем измерения небольшого падения напряжения на шунтирующем резисторе или измерения выходного сигнала высокоточной аналоговой температуры. датчик.
Благодаря 16-битному разрешению и программируемым диапазонам измерения, он может измерять напряжение с шагом разрешения от 0,1875 мВ при измерении диапазона 5 В до 7,8125 мкВ при измерении диапазона 0,256 В.
Эти модули используют интерфейс I2C и включают в себя резисторы согласования мощности и подтягивающие / понижающие резисторы, необходимые для простого включения и запуска базовых преобразований AD, но они также очень гибкие и гибкие. мощные устройства с множеством функций, которые можно исследовать в зависимости от интересов.
Интерфейс I2C
Модуль имеет простой в использовании интерфейс I2C, который можно настроить для использования любого из четырех разных адресов I2C, если вы хотите использовать несколько модулей в одной системе или если вы столкнулись с конфликтом адресов с другим устройством.
Контакт адреса ADDR определяет, какой адрес I2C использовать, подключив его следующим образом:
- 0x48 = ADDR подключен к земле (по умолчанию)
- 0x49 = ADDR подключен к VDD
- 0x4A = ADDR подключен к SDA
- 0x4B = ADDR подключен к SCL
Модуль включает в себя понижающий резистор 10 кОм, соединяющий ADDR с землей, поэтому модуль по умолчанию будет иметь значение 0x48 , если соединение не будет выполнено.
Режимы ввода
4 входа можно настроить для работы в 3 различных режимах.
Односторонний режим
В несимметричном режиме каждый из 4 входов (A0-A3) может использоваться как отдельные входы, каждый из которых связан с землей. Этот режим обеспечивает больше входов, но меньше подавляет электрические помехи и обеспечивает разрешение 15 бит.
Дифференциальный режим
В дифференциальном режиме работы входы действуют попарно для измерения разницы напряжений между двумя входами.Сопряжение каналов – A0 – A1 и A2 – A3. Этот режим обеспечивает дифференциальную помехозащищенность, что может быть важно в некоторых критических ситуациях измерения, когда измеряются очень слабые сигналы или имеется большой захват электромагнитного шума.
Поскольку измерения относятся друг к другу, доступно полное 16-битное разрешение.
Иногда можно увидеть, что дифференциальный режим позволяет измерять отрицательные напряжения, но это несколько вводит в заблуждение.Никакие входы на этом устройстве не могут быть отрицательными относительно земли, иначе устройство будет повреждено. Это означает, что один из дифференциальных входов может быть отрицательным относительно другого дифференциального входа, но оба они будут иметь положительное напряжение относительно земли. См. Раздел ниже об измерении отрицательного напряжения для получения дополнительной информации об этом.
Режим компаратора
В режиме компаратора вход постоянно измеряется и сравнивается со значением, установленным в устройстве.Когда сигнал превышает предопределенное значение, вывод ALRT активируется LOW. Этот вывод может опрашиваться микроконтроллером или использоваться для управления прерыванием. Доска включает в себя подтягивание 10К на этой линии.
Диапазон измерений
ADS1115 – это 16-битное устройство, но в несимметричном режиме вывод представляет собой целое число со знаком, и один из битов используется для знака, поэтому на практике он обеспечивает разрешение 15 бит, что означает 32 767 шагов разрешающая способность.
Максимальное измеряемое напряжение и, следовательно, размер шага разрешения регулируется усилителем с программируемым усилением (PGA).PGA имеет 6 диапазонов полной шкалы, которые можно настроить, как показано в таблице ниже.
Полный диапазон | LSB (шаг) Размер |
6,144 В | 187,5 мкВ |
4.096 В | 125 мкВ |
2,048 В | 62,5 мкВ |
1.024 В | 31,25 мкВ |
0,512 В | 15,625 мкВ |
0.256 В | 7,8125 мкВ |
По умолчанию PGA установлен на максимальный диапазон 6,144 В. Это обеспечивает размер шага разрешения 6,144 В / 32767 шагов = 187,5 мкВ. Это намного меньший размер шага, чем у стандартного АЦП Arduino, который обеспечивает около 4,88 мВ на шаг.
Имейте в виду, что абсолютное максимальное напряжение, которое можно измерить, составляет VDD + 0,3 В. Если устройство работает при 5 В, максимальное напряжение, которое можно безопасно измерить, составляет 5,3 В. Диапазон выше этого в основном потрачен впустую.Если на входе будет более высокое напряжение, чем максимальное, устройство может быть повреждено.
Если измеряемые напряжения меньше и желательно оптимизировать разрешение считывания, можно запрограммировать PGA на полный диапазон вплоть до 0,256 В, что дает разрешение 7,8125 мкВ на шаг.
Важное примечание: При использовании устройства для измерения напряжения на шунтирующем резисторе в дифференциальном режиме убедитесь, что максимальное напряжение 5,5 В устройства ADS1115 не превышается.Хотя напряжение, измеряемое на шунте, может быть очень небольшим, если шунт находится на стороне высокого напряжения нагрузки, например, в цепи 12 В, напряжение относительно земли будет намного превышать номинальное значение устройства. Обычно для использования этого устройства шунт должен находиться на стороне низкого напряжения нагрузки.
Режимы преобразования
Режим непрерывного преобразования:
Модуль обычно работает в режиме непрерывного преобразования. В этом режиме ADS1115 постоянно выполняет преобразования.При чтении будет сообщено о последнем завершенном преобразовании.
Режим одиночной съемки
Устройство потребляет мало энергии, но если вы ищете минимальное энергопотребление, ADS1115 можно перевести в однократный режим. В этом режиме преобразование выполняется только по запросу, а затем устройство возвращается в режим низкого энергопотребления. Контакт Alert / Ready может дополнительно использоваться для определения того, когда преобразование было завершено.
Измерение отрицательного напряжения
Распространенная путаница при использовании этого устройства заключается в том, что в спецификации указан полный диапазон шкалы как в положительных, так и в отрицательных числах, например, ± 6.144. Это позволяет легко думать, что устройство может измерять как положительное, так и отрицательное напряжение относительно земли, но это не так. Любое отрицательное напряжение относительно земли> -0,3 В приведет к повреждению устройства.
Знак ± применим только к дифференциальному режиму работы. Например, для дифференциальной пары A0 / A1 вход A0 считается положительным, а A1 – отрицательным. К обоим входам должно быть приложено положительное напряжение, но если напряжение на A0 больше, чем A1, разница между ними сообщается как положительное число, а если A1 больше, чем A0, результат сообщается как отрицательное число.
Например, если вы подключите батарею к двум входам с положительным выводом, подключенным к A0, а отрицательным – к A1, напряжение будет отображаться как + 1,5 В. Если вы затем перевернете батарею, напряжение будет указано как -1,5 В. Аналогично, если A0 подключен к + 2V, а A1 подключен к + 3V, измерение будет -1V.
Если ваше приложение требует измерения напряжений, отрицательных по отношению к земле, вам нужно будет предоставить смещение, чтобы сделать его положительным напряжением для измерения.
Модуль в сборе
Этот модуль поставляется со свободным заголовком. Это позволяет вам настроить модуль в соответствии с вашими конкретными требованиями, такими как, на какой стороне платы вы хотите установить разъем, или если вы хотите припаять провода для выполнения соединений. Для использования с макетными платами мы размещаем заголовки снизу, чтобы модуль мог подключаться непосредственно к макетной плате.
Соединения модулей
Подключение к модулю прямое.
- Поставка 3.Питание 3 или 5 В и заземление
- Подключите линии I2C SCL и SDA к ним на MCU. Строки ADDR и ALRT пока можно игнорировать.
- Подключите измеряемое напряжение к аналоговому входу (ам). Обязательно соблюдайте требование не превышать напряжение VDD на аналоговых входах.
Заголовок 1 x 10
- VDD = VDD (2,0–5,5 В) обычно подключается к MCU 3,3 В или 5 В
- GND = Земля подключается к заземлению MCU
- SCL = I2C SCL подключается к MCU I2C SCL
- SDA = I2C SDA подключается к MCU I2C SDA
- ADDR = Адрес I2C.По умолчанию, если не подключен, 0x48.
- ALRT = Предупреждение / Готово. Выход предупреждения для компаратора или выход готовности к преобразованию в однократном режиме
- A0 = Аналоговый вход 0
- A1 = Аналоговый вход 1
- A2 = Аналоговый вход 2
- A3 = Аналоговый вход 3
Эти модули имеют хорошее качество сборки и чрезвычайно полезны для проведения точных аналоговых измерений.
С этими модулями легко приступить к работе с базовой настройкой, используя библиотеку Adafruit ADS1X15, как показано в примере ниже. Библиотеку можно легко установить из среды IDE с помощью диспетчера библиотек.
Если вас интересуют некоторые из более продвинутых функций, ознакомьтесь как с таблицей ниже, так и с примерами файлов, которые устанавливаются при установке библиотеки.
Эта тестовая установка требует только следующих подключений.
- Vdd – подключение к 3.3 В или 5 В для соответствия MCU
- Gnd – подключается к заземлению на MCU
- SCL – подключается к I2C SCL на MCU
- SDA – подключается к I2C SDA на MCU
- ADDR – оставить отключенным для адреса по умолчанию 0x48
- A0 – Подключение к питанию 3,3 В на MCU или другому известному напряжению
Пример вывода программы показан ниже. Небольшие колебания напряжения могут быть вызваны пульсацией в источнике питания или шумом на наших соединительных проводах на макетной плате.
Программа тестирования 4-канального 16-разрядного модуля АЦП ADS1115
/ * ADS1115 4-канальная 16-разрядная программа тестирования АЦП Базовый код для тестирования модуля ADS1115 ADC. Выполняет одностороннее чтение на модульном канале A0. Использует диапазон измерения по умолчанию 6,144 В. Модульные соединения: VDD = 5 В Gnd = Земля SCL = SCL / A5 на MCU SDA = SDA / A4 на MCU ADDR = Плата имеет вывод на землю (устанавливает адрес I2C 0x48) А0 = 3.3В на MCU. Измеряемое напряжение. Может быть любое напряжение <5В Использует библиотеку Adafruit ADS1X15, которую можно загрузить через IDE. * / #includeДО ОТГРУЗКИ ЭТИ МОДУЛИ ЯВЛЯЮТСЯ:#include Adafruit_ADS1115 реклама (0x48); // Создание рекламного объекта с адресом I2C по умолчанию плавающее напряжение = 0,0; // Считывание напряжения с ADS1115 // ================================================ =============================== // Инициализация // ================================================ =============================== void setup () { Объявления.начинать(); // Инициализируем рекламу Серийный . Начало (9600); // Устанавливаем скорость связи для окна последовательного монитора } // ================================================ =============================== // Главный // ================================================ =============================== void loop () { int16_t adc0; // Возвращаемое значение из АЦП - 16-битное целое число adc0 = ads.readADC_SingleEnded (0); // Снимаем одностороннее чтение на канале A0 Напряжение = (adc0 * 0.1875 г.) / 1000; // Преобразуем необработанные показания в напряжение Серийный .print ("Чтение A0:"); Серийный .print (adc0); // Распечатать необработанное чтение Серийный .print ("\ tVoltage:"); Серийный .println (Voltage, 7); // Вывести рассчитанное напряжение до 7 цифр Серийный .println (); задержка (1000); // Считываем каждую секунду }
- Образцы проверены и протестированы по входящей партии
Примечания:
- Нет
Технические характеристики
Операционные рейтинги | ||
Vdd | Рекомендуемый диапазон | 2.0 – 5,5 В |
I Тип | Режим непрерывного преобразования | 150 мкА |
AV Макс | Максимальное рекомендуемое аналоговое входное напряжение | Vdd |
AV Мин. | Минимальное рекомендуемое аналоговое входное напряжение | ЗЕМЛЯ |
Разрешение | 16 бит | |
Коэффициент конверсии | от 8 до 860 SPS | |
Размеры | Д x Ш (печатная плата) | 27 x 17 мм (1.06 x 0,67 ″) |
Таблицы данных | Texas Instruments | ADS1115 |
ADS1115 16-битный 4-канальный АЦП с программируемым усилителем усиления
16-битный 4-канальный АЦП ADS1115 с программируемым усилителем усиления: точный, мощный и универсальный аналого-цифровой преобразователь
Основное назначение 16-разрядного 4-канального АЦП ADS1115 – служить в качестве экономичного, мощного и точного аналого-цифрового преобразователя, который можно адаптировать для выполнения различных преобразований.
Таким образом, он имеет отличную максимальную пропускную способность (860 SPS), а также может быть запрограммирован на гораздо более низкую скорость. Внутренний усилитель с программируемым коэффициентом усиления позволяет настраивать измерения в соответствии с интенсивностью сигнала, уменьшая или увеличивая напряжение питания (от 256 мВ).
Диапазон питания составляет от 2 до 5,5 В и позволяет адаптировать выбранный микроконтроллер, например, Arduino или Raspberry Pi. Что касается каналов передачи, их можно использовать как несимметричные входные каналы (4) или дифференциальные каналы (2).Наконец, интерфейс I2C позволяет вам выбрать до 4-х подчиненных адресов и, следовательно, подключить к вашему микроконтроллеру одновременно 4 16-битных АЦП!
Используется для 16-разрядного 4-канального АЦП ADS1115 с усилителем с программируемым усилением
Этот преобразователь, конечно, пригодится всем тем, у кого нет микроконтроллера с аналого-цифровым преобразователем. Его также можно добавить к уже существующей CAN для более точных измерений малых и больших сигналов.
Такое устройство можно использовать для создания прибора для измерения температуры, системы автоматизации или управления технологическим процессом или даже индикатора уровня заряда батареи.Его крошечный размер означает, что его можно использовать в чрезвычайно компактных портативных проектах.
Технические характеристики 16-разрядного 4-канального АЦП ADS1115 с усилителем с программируемым усилением
- Точность: 16 бит
- Рабочее напряжение: 2–5,5 В
- Потребление: 150 мкА в непрерывном режиме (однократный режим: автоматическое отключение)
- Программируемая скорость передачи данных: от 8SPS до 860SPS (выборок в секунду)
- Опорное напряжение с малым дрейфом
- Внутренний генератор
- Внутренний усилитель с программируемым усилением
- Интерфейс I2C: до 4 адресов с возможностью выбора контактов
- 4 несимметричных канала или 2 дифференциальных канала
- Программируемый компаратор
Ресурсы для 16-разрядного 4-канального АЦП ADS1115 с усилителем с программируемым усилением
Нужна дополнительная информация об АЦП ADS1115? Взгляните на это полное техническое описание!
Техническое описание 16-разрядного 4-канального АЦП ADS1115 с усилителем с программируемым усилением
Блок амперметра(ADS1115) | m5stack-store
Описание
Блок амперметра – это измеритель тока, который может отслеживать ток в реальном времени.16-битный аналого-цифровой преобразователь ADS1115 может использоваться для обмена данными по протоколу I2C (по умолчанию адрес I2C равен 0X48, если его не изменить вручную).
Для обеспечения точности измерений имеется встроенный изолированный источник питания постоянного и переменного тока.
Интерфейс I2C также электрически изолирован через модуль изолятора с низким энергопотреблением CA-IS3020S. Это предотвращает попадание шума и скачков напряжения на шине данных или других цепях на местную клемму заземления, создавая помехи или повреждая чувствительные цепи.
Каждый блок откалиброван на заводе с начальной точностью 0,1% полной шкалы, ± 1 отсчет и разрешением 0,3 мА.
Устройство имеет максимальный измерительный ток ± 4 А и встроенный предохранитель на 4 А для предотвращения перегорания цепи чрезмерным измерительным током.
? EEPROM (0x51) имеет встроенные параметры калибровки при отправке с завода. Пожалуйста, не записывайте в EEPROM, иначе данные калибровки будут перезаписаны, а результаты измерений будут неточными.
Характеристики продукта
- ± 4A диапазон
- 16-битное преобразование АЦП
- Начальная точность 0,1% полной шкалы, ± 1 отсчет
- Разрешение 0,3 мА
- Светодиодный индикатор питания
- 4A Плавкий предохранитель
- Заводская калибровка (данные калибровки сохраняются во встроенной EEPROM)
- Встроенный изолятор I2C CA-IS3020S
- Изолированный DC-DC
- Платформа разработки: Arduino, UIFlow (в разработке)
- 2x LEGO-совместимые отверстия
Включает
- 1x блок амперметра
- 1x кабель Grove (20 см)
Приложение
- гальвано-метр
- Мониторинг электричества
- мониторинг управления питанием
Параметры
Ресурсы | Параметр |
Диапазон измерения | ± 4А |
Протокол связи | I2C : 0x48 |
Масса нетто | 9 г |
Масса брутто | 24 г |
Размер продукта | 65 * 24 * 8 мм |
Размер упаковки | 67 * 53 * 12 мм |
Класс Ads1115 (Iot.Device.Ads1115) | Документы Microsoft
Определение
Важный
Некоторая информация относится к предварительному выпуску продукта, который может быть существенно изменен перед выпуском. Microsoft не дает никаких гарантий, явных или подразумеваемых, в отношении информации, представленной здесь.
Аналого-цифровой преобразователь ADS1115
В этой статье
публичный класс Ads1115: IDisposable
тип Ads1115 = класс
интерфейс IDisposable
Объявления публичного класса 1115
Реализует IDisposable
- Наследование
- Агрегаты
Конструкторы
Ads1115 (I2cDevice, GpioController, Int32, Boolean, InputMultiplexer, MeasuringRange, DataRate, DeviceMode) | Инициализировать новое устройство Ads1115, подключенное через I2C, с дополнительным контроллером GPIO для обработки прерываний. |
Ads1115 (I2cDevice, InputMultiplexer, MeasuringRange, DataRate) | |
Ads1115 (I2cDevice, InputMultiplexer, MeasuringRange, DataRate, DeviceMode) | Инициализировать новое устройство Ads1115, подключенное через I2C |
Характеристики
Компаратор | Режим фиксации компаратора. Если этот параметр включен, контакт ALRT / RDY будет оставаться в сигнальном состоянии до тех пор, пока не будет считано значение преобразования.Актуально только при включенном компараторе. |
ComparatorMode | Режим компаратора. Актуально только в том случае, если событие триггера компаратора настроено и изменено EnableComparator (Int16, Int16, ComparatorMode, ComparatorQueue). |
КомпараторПолярность | Полярность компаратора. Указывает, релевантен ли нарастающий или спадающий фронт вывода ALRT / RDY.По умолчанию: низкий (задний фронт) |
ComparatorQueue | Минимальное количество выборок, превышающих нижний / верхний порог, прежде чем вывод ALRT будет подтвержден. Это можно установить только с помощью EnableComparator (Int16, Int16, ComparatorMode, ComparatorQueue). |
Скорость передачи данных | ADS1115 Скорость передачи данных. Количество конверсий в секунду, которые будут иметь место. Для подготовки одного преобразования потребуется “1 / скорость” секунды.Если в В режиме пониженного энергопотребления автоматически произойдет только одно преобразование, затем потребуется еще один запрос. Установка этого свойства будет ждать, пока не станет доступно новое значение. |
DeviceMode | Режим работы ADS1115. Если установлено значение «Непрерывный», микросхема непрерывно измеряет входные данные, и значения можно считывать напрямую. Если установлено значение PowerDown, микросхема переходит в режим ожидания после каждого преобразования и новое значение будет запрашиваться каждый раз при выполнении запроса на чтение.Это рекомендуемый параметр, когда часто переключение между входными каналами, потому что изменение канала в любом случае требует нового преобразования. |
Входной мультиплексор | ADS1115 Входной мультиплексор. Это выбирает канал (ы) для следующей операции чтения, InputMultiplexer. Установка этого свойства будет ждать, пока значение не станет доступным из вновь выбранного входного канала. |
Диапазон измерения | ADS1115 Усилитель с программируемым коэффициентом усиления Это устанавливает максимальное значение, которое можно измерить.Независимо от этой настройки, входное значение на любом контакте не должно превышать VDD + 0,3 В, поэтому высокие диапазоны можно использовать только с VDD более 5 В. Установка этого свойства будет ждать, пока не станет доступно новое значение. |
Методы
Утилизировать () | Очистка. Неспособность удалить этот класс, особенно когда активны обратные вызовы, может привести к неопределенному поведению. |
EnableComparator (ElectricPotential, ElectricPotential, ComparatorMode, ComparatorQueue) | Включить режим обратного вызова компаратора.В традиционном режиме компаратора обратный вызов запускается каждый раз, когда измеренное значение превышает заданное верхнее значение (для заданное количество выборок queueLength). Он сбрасывается при достижении более низкого значения. В режиме оконного компаратора обратный вызов запускается каждый раз, когда измеренное значение превышает заданное верхнее значение или достигает меньше заданного нижнего значения. |
EnableComparator (Int16, Int16, ComparatorMode, ComparatorQueue) | Включить режим обратного вызова компаратора.В традиционном режиме компаратора обратный вызов запускается каждый раз, когда измеренное значение превышает заданное верхнее значение (для заданное количество выборок queueLength). Он сбрасывается при достижении более низкого значения. В режиме оконного компаратора обратный вызов запускается каждый раз, когда измеренное значение превышает заданное верхнее значение или достигает меньше заданного нижнего значения. |
EnableConversionReady () | Включить событие готовности к преобразованию. Событие AlertReadyAsserted возникает каждый раз, когда новое значение становится доступным после вызова этого метода. |
FrequencyFromDataRate (DataRate) | Возвращает частоту дискретизации в Гц для заданного элемента перечисления скорости передачи данных. |
MaxVoltageFromMeasuringRange (Диапазон измерения) | Возвращает напряжение, назначенное данному значению перечисления MeasuringRange. |
RawToVoltage (Int16) | Преобразование исходных данных в напряжение |
ReadRaw () | Чтение сырых данных.В режиме PowerDown (однократный) сначала запрашивается один новый образец. |
ReadRaw (входной мультиплексор) | Считывает следующее необработанное значение, сначала переключаясь на данный вход и диапазоны. |
ReadRaw (InputMultiplexer, MeasuringRange, DataRate) | Считывает следующее необработанное значение, сначала переключаясь на данный вход и диапазоны. |
ReadVoltage () | Возвращает электрический потенциал (напряжение) текущего выбранного входа. |
Чтение напряжения (входной мультиплексор) | Возвращает электрический потенциал (напряжение) данного канала, сначала выполняет измерение |
VoltageToRaw (электрический потенциал) | Преобразует напряжение в необработанные данные. |