Tổng quan module ADS1115
ADS1115 là module chuyển đổi ADC với độ phân giải 16-bit, tiêu thụ điện năng thấp và hoạt động ở dải điện áp từ 2.0-5.5V. Bộ tạo dao động IC ADS1115 và giao tiếp với vi điều khiển bằng giao thức truyền thông I2C. Nó có một bộ khuếch đại có thể tùy chỉnh lên đến x16, giúp khuếch đại các tín hiệu yếu và giá trị chênh lệch giữa các tín hiệu.
Các tính năng và thông số kỹ thuật của module ADS1115
- Dải điện áp cấp từ 2-5.5V
- ADC 16 bit
- Tiêu thụ dòng điện liên tục: 150uA
- Hỗ trợ giao thức truyền thông I2C
- Bộ dao động bên trong
- Tốc độ dữ liệu có thể tùy chỉnh từ 8SPS đến 860SPS (Sample/second)
- Tốc độ lấy mẫu tín hiệu 860 (mẫu/giây) với giao thức I2C
Các module thay thế ADS1115
ADS1015, MIKROE-1893, XinaBox SX01
Lưu ý: Có thể xem thêm thông số kỹ thuật trong datasheet ADS1115, có link ở cuối bài viết này.
Cấu hình chân module ADS1115
Tên chân | Mô tả |
VDD | Đầu vào cấp điện áp |
GND | Chân nối đất |
SCL | Chân xung clock cho giao thức truyền nối tiếp I2C |
SDA | Chân dữ liệu nối tiếp I2C |
ADDR | Chân địa chỉ |
ALRT | Chân trạng thái Alert / Ready |
A0 | Đầu vào analog 1 |
A1 | Đầu vào analog 2 |
A2 | Đầu vào analog 3 |
A3 | Đầu vào analog 4 |
Chức năng module ADC ADS1115
Tất cả các bộ điều khiển đều có ADC (bộ chuyển đổi tín hiệu analog sang digital) vì trong vi điều khiển chỉ hiểu tín hiệu digital. Vì vậy, để chuyển đổi tín hiệu analog sang tín hiệu digital để MCU đọc được, cần phải có bộ ADC.
Bộ ADC hiện có trong bảng mạch vi điều khiển không chính xác và có độ phân giải không tốt, may mắn là có thể mở rộng theo ý muốn. Lúc này các module như ADS1115 sẽ phát huy tác dụng.
Ví dụ: Arduino có bộ ADC 10 bit có thể cấp đầu ra analog có giá trị từ 0 đến 1023. Sử dụng bộ ADC có độ phân giải cao, như ADS1115 16 bit mở rộng phạm vi đọc dữ liệu analog với độ chính xác cao hơn và có thang đo lên đến 65536 (khoảng 65000). Có nghĩa là, ngay cả khi tín hiệu đầu vào ở mức nhỏ, thì vẫn có thể xuất ra kết quả đúng chính xác.
Module này có tính năng PGA (Bộ khuếch đại độ lợi có thể tùy chỉnh) cho phép nhân các giá trị analog từ rất nhỏ lên mức cao. Ví dụ, nếu một tín hiệu có giá trị nhỏ khoảng 1mV được đọc, nếu sử dụng tính năng này, có thể nhân giá trị đầu vào 1mV với một biến giá trị và thu được giá trị cao hơn được đọc chính xác ở đầu ra.
Sơ đồ khối chức năng của bộ ADC ADS1115
Các đầu vào analog được đưa đến một bộ ghép kênh (Multiplexer), sau đó được đưa đến bộ khuếch đại khuếch đại, để khuếch đại tín hiệu đầu vào. Tín hiệu đã được khuếch đại được chuyển đến bộ ADC 16 bit có đầu ra cấp cho vi điều khiển thông qua giao thức I2C.
Giao diện giao tiếp giữa ADS1115 với MCU / MPU (bộ xử lý)
Dễ dàng kết nối module ADS1115 ADC với MCU / MPU. Như đã thảo luận ở trên, module ADC giao tiếp với vi điều khiển thông qua giao thức truyền thông I2C.
SCL (Xung clock nối tiếp) và SDA (Chân dữ liệu nối tiếp) trên module phải được kết nối tương ứng với chân SCL và SDA trên MCU. 2 chân cấp nguồn điện, VDD và GND được kết nối tương ứng với chân 5V và chân GND của MCU. A0, A1, A2, A3 là bốn chân đầu vào analog, được kết nối với tín hiệu analog đầu vào (chiết áp, v.v.).
Thư viện hỗ trợ lập trình ADS1X15 cho Arduino:
https://github.com/adafruit/Adafruit_ADS1X1
Các ứng dụng của ADS1115
- Được sử dụng như một bộ so sánh tín hiệu
- Được sử dụng cho các hệ thống giám sát năng lượng pin
Sơ đồ kích thước 2D của ADS1115
>> Mời anh em xem thêm