- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
+ ADS1115 16BIT là bộ chuyển đổi tín hiệu tương tự kỹ thuật số (ADC) bên ngoài mà chúng ta có thể kết nối với bộ xử lý như Arduino để đo tín hiệu tương tự. Bản thân Arduino cũng có tích hợp các chân ADC bên trong tối đa 10 bit, tuy nhiên độ chính xác sẽ không cao như ADS1115.
+ Điện áp nhỏ nhất mà ADS1115 có thể đo được: 5V/65536 = 0.000076v
THÔNG SỐ KỸ THUẬT:
+ Điện áp cung cấp: 2~5.5Vdc
+ Tốc độ lấy mẫu tối đa: 860 mẫu/ s
+ 4 kênh đơn đầu vào hoặc 2 kênh vi sai đầu vào.
+ Giao tiếp I2C
+ Có thể thiêt lập chế độ chuyển đổi 1 lần hoặc chuyển đổi lên tục 860 mẫu/ s
+ Có thể lập trình chức năng khuếch đại tín hiệu x 16 lần
+ 0.1875mV to 7.8125uV step resolution
+ Bộ dao động nội và điện áp tham chiếu tích hợp mang lại độ ổn định cao.
+ Tương thích logic 3,3V và 5V.
+ Nhiệt độ hoạt động: -40 ~ 125 độ C
+ Kích thước: 27 x 17mm
Chân ADDR xác định địa chỉ I2C nào sẽ được sử dụng bằng cách kết nối nó như sau:
4 đầu vào có thể được cấu hình để hoạt động ở 3 chế độ khác nhau.
Chế độ đơn Single-End
Ở chế độ đầu Single-End , 4 đầu vào (A0-A3) có thể được sử dụng như các đầu vào riêng biệt với mỗi đầu vào được tham chiếu đến đất. Chế độ này cung cấp nhiều đầu vào hơn, nhưng có khả năng loại bỏ nhiễu điện ít hơn và cung cấp độ phân giải 15 bit.
Chế độ vi sai
+ Ở chế độ hoạt động này các đầu vào hoạt động theo cặp để đo sự khác biệt về điện áp giữa hai đầu vào. Cặp kênh là A0 – A1 và A2 – A3. Chế độ này cung cấp khả năng miễn nhiễm nhiễu khác biệt có thể quan trọng trong một số tình huống đo lường quan trọng khi các tín hiệu rất nhỏ đang được đo hoặc có nhiều nhiễu điện từ.
+ Vì các phép đo có liên quan với nhau nên có thể sử dụng được độ phân giải đầy đủ 16 bit.
+ Đôi khi bạn sẽ thấy thông báo rằng chế độ vi sai cho phép bạn đo điện áp âm, nhưng điều này có phần gây hiểu lầm. Không có đầu vào nào trên thiết bị này có thể là điện áp âm so với đất, nếu không thiết bị sẽ bị hỏng. Điều này có nghĩa là một trong các đầu vào vi sai có thể là điện áp âm so với đầu vào vi sai khác, nhưng cả hai đều là điện áp dương so với đất.
Chế độ so sánh
+ Ở chế độ so sánh, đầu vào liên tục được đo và so sánh với giá trị đã được thiết lập trong thiết bị. Khi tín hiệu vượt quá giá trị được xác định trước, chân ALRT được kích hoạt THẤP. Chân này có thể được MCU thăm dò hoặc có thể được sử dụng để điều khiển ngắt. Bo mạch đã bao gồm một pull-up 10K trên chân này.

SƠ ĐỒ KẾT NỐI ARDUINO VỚI ADS1115:

CÀI ĐẶT THƯ VIỆN TRONG ARDUINO IDE:

CODE TEST ADS1115 VỚI ARDUINO:
/* ADS1115 4-Ch 16-bit ADC Test Program
Basic code to test the ADS1115 ADC Module. Takes a single-ended reading
on module channel A0. Uses default measurement range of of 6.144V
Module connections:
VDD = 5V or 3.3V to match microcontroller
Gnd = Ground
SCL = SCL / A5 on microcontroller
SDA = SDA / A4 on microcontroller
ADDR = Board has pull-down to ground (sets I2C address of 0x48)
A0-A3 = 3.3V on MCU. Voltage to be measured. Can be any voltage <= VDD
Uses Adafruit ADS1X15 library which can be downloaded via IDE
For 16-bit vs 12-bit verification, connect input to ground and verify the
minimum reading is less than 3mV. Readings should change in approximately
200uV (0.0002V) steps
*/
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1115 ads;
//===============================================================================
// Initialization
//===============================================================================
void setup(void)
{
Serial.begin(9600);
Serial.println("Read single-ended readings from AIN0..3");
Serial.println("ADC Range: +/- 6.144V (1 bit = 0.1875mV");
// Use !ads.begin(0x48, &Wire1); to specify using I2C1 instead of I2C
if (!ads.begin()) {
Serial.println("Failed to initialize ADS.");
while (1);
}
}
//===============================================================================
// Main
//===============================================================================
void loop(void)
{
int16_t adc0, adc1, adc2, adc3;
float volts0, volts1, volts2, volts3;
adc0 = ads.readADC_SingleEnded(0);
adc1 = ads.readADC_SingleEnded(1);
adc2 = ads.readADC_SingleEnded(2);
adc3 = ads.readADC_SingleEnded(3);
volts0 = ads.computeVolts(adc0);
volts1 = ads.computeVolts(adc1);
volts2 = ads.computeVolts(adc2);
volts3 = ads.computeVolts(adc3);
Serial.println("-----------------------------------------------------------");
Serial.print("AIN0: ");Serial.print(volts0, 4); Serial.println("V");
Serial.print("AIN1: ");Serial.print(volts1, 4); Serial.println("V");
Serial.print("AIN2: ");Serial.print(volts2, 4); Serial.println("V");
Serial.print("AIN3: ");Serial.print(volts3, 4); Serial.println("V");
Serial.println();
delay(1000);
}
Bình luận