Các thông số chính của bảng được chỉ định trên bảng.
Yếu tố chính trên bo mạch là chip INA219. Chip INA219, mặc dù có kích thước nhỏ và số lượng chân nhỏ, nhưng có khả năng tuyệt vời. Microcircuit đo điện áp tại shunt (tại các cực Vin + và Vin_) - một điện trở có điện trở thấp và tại chân Vin tương ứng với chân GND. Các kết quả tính toán được ghi vào các thanh ghi, sau đó chúng được truyền đến vi điều khiển thông qua bus truyền thông I2C. Một shunt có điện trở 0,1 ohms được cài đặt trên bảng. Điện áp trong chip đo bộ chuyển đổi tương tự sang số của ADC. ADC có thể hoạt động ở các chế độ 9, 10, 11, 12 tibit. Chế độ hoạt động của chip được cấu hình bằng cách thay đổi thanh ghi cấu hình. Nhà sản xuất có một chương trình miễn phí, INA219 EVM, để định cấu hình chip INA219. Tệp chương trình - sboc271.zip
Tập tin biểu dữ liệu trên chip INA291 -
Xem tập tin trực tuyến:
Microcircuit có khả năng điều chỉnh độ chính xác của phép đo, nói cách khác, có thể hiệu chỉnh kết quả đo.
Để xác minh hoạt động của bo mạch trên chip INA219, mạch sau đây đã được lắp ráp.
Nguồn điện trên bo mạch với chip INA219 phải được cung cấp từ bo mạch Arduino hoặc nguồn năng lượng khác.
Để làm việc với bo mạch trên chip INA219 trong hệ thống lập trình Arduino IDE, chúng tôi cần một thư viện. Tìm kiếm trên Internet mang lại một kết quả tích cực. Tôi tìm thấy một số thư viện, nhưng nó làm việc cho tôi chỉ với hai.
Thư viện đầu tiên từ Adaf nhung đã được tìm thấy - Adaf nhung_INA219-master.zip
Nó đang hoạt động, nhưng tôi không thể kết nối với bo mạch với chip INA219 khi tôi thay đổi địa chỉ bus I2C. Theo mặc định, một bo mạch có chip INA219 có địa chỉ bus I2C 0x40. Nó cũng không cho phép bạn định cấu hình chế độ hoạt động của chip INA219.
Thư viện thứ hai không có sai sót của thứ nhất. Thư viện làm việc thứ hai là Arduino-INA219-master.zip
Các thư viện được cài đặt trong hệ thống lập trình Arduino IDE như thế nào? Bạn có thể nhận được câu trả lời cho câu hỏi này từ các bài viết của tôi hoặc từ thông tin được đăng trên Internet.
Tôi muốn sử dụng bảng với chip INA219 cho các thí nghiệm. Sẽ thuận tiện hơn cho tôi khi làm việc với nó nếu tôi hàn đầu nối và chân của BLS lên bảng.
Tôi lắp ráp mạch, kết nối các chân Dữ liệu (SDA) và Clok (SCL) với bảng Arduino UNO. Kết nối đầu ra Dữ liệu (SDA) với đầu nối A4, kết nối đầu ra Clok (SCL) với đầu nối A5 của bo mạch Arduino UNO. Sau đó mở chương trình Arduino IDE. Tôi đã cài đặt thư viện. Chúng tôi mở một ví dụ về thư viện đầu tiên.
Tôi đã thay đổi dòng 9 trong mã thay vì 115200, đặt 9600. Nếu không, các nét vẽ nguệch ngoạc sẽ xuất hiện trong màn hình cổng nối tiếp thay vì số và chữ. Tôi cũng đã cấu hình cổng com của máy tính với tốc độ 9600. Điều này đã được tôi thử nghiệm trong thực tế.
Chúng tôi biên dịch ví dụ getc hiện. Chúng tôi tải dữ liệu vào bộ điều khiển của bo mạch Arduino UNO. Mở màn hình cổng nối tiếp trong chương trình Arduino UNO và xem kết quả đo thu được từ chip INA219.
Kết quả đo của chip INA219 là chính xác.
Tiếp theo, tôi quyết định thay đổi địa chỉ của xe buýt I2C. Và trước đó, tôi đã xác định địa chỉ xe buýt I2C của bảng INA219 với sự trợ giúp của một bản phác thảo, như tôi đã làm trong bài viếtTrạm thời tiết tại nhà trên GY-BMP280-3.3 và Ds18b20»
Để thay đổi địa chỉ bus I2C của bo mạch từ chip INA219, tôi đã hàn nối jumper và xác định địa chỉ bus I2C mới.
Sau đó, tôi đã tải xuống ví dụ từ thư viện thứ hai.
Để mã được biên dịch (được chuyển đổi thành dạng phù hợp để ghi vào vi điều khiển của bo mạch Arduino UNO) để có thể làm việc với bảng trên chip INA219 với địa chỉ 0x44, bạn cần thay đổi dòng ina.begin () trong ví dụ; đến chuỗi ina.begin (68);
Tại sao 68? Và bởi vì 68 = 0 x 44, 68 là một số trong hệ thống số thập phân, 0 x 44 là một số trong hệ thống số bát phân.
Để dịch số, bạn có thể sử dụng máy tính tiêu chuẩn.
Sau khi thay đổi dòng biên dịch của ví dụ, flash mã trong Arduino UNO trong trình giám sát cổng nối tiếp, tôi thấy như sau.
Chúc may mắn cho tất cả mọi người trong nỗ lực và hành động của bạn!
Chi phí: ~ 80