Mục lục:

Các phép đo cảm biến dòng ACS724 với Arduino: 4 bước
Các phép đo cảm biến dòng ACS724 với Arduino: 4 bước

Video: Các phép đo cảm biến dòng ACS724 với Arduino: 4 bước

Video: Các phép đo cảm biến dòng ACS724 với Arduino: 4 bước
Video: Cảm biến Hall hoạt động như thế nào? | Học Nghề Kỹ Sư Điện & Điện Tử 2024, Tháng mười một
Anonim
Image
Image
Hình ảnh
Hình ảnh

Trong phần hướng dẫn này, chúng tôi sẽ thử nghiệm kết nối cảm biến dòng ACS724 với Arduino để thực hiện các phép đo hiện tại. Trong trường hợp này, cảm biến hiện tại là loại +/- 5A có đầu ra 400 mv / A.

Arduino Uno có ADC 10 bit, vì vậy các câu hỏi hay là: Độ chính xác của việc đọc hiện tại mà chúng ta có thể nhận được và độ ổn định của nó như thế nào?

Chúng tôi sẽ bắt đầu bằng cách chỉ kết nối cảm biến với vôn kế và đồng hồ đo dòng điện và thực hiện các phép đọc tương tự để xem cảm biến hoạt động tốt như thế nào và sau đó chúng tôi sẽ kết nối nó với chân Arduino ADC và xem nó hoạt động tốt như thế nào.

Quân nhu

1 - Breadboard2 - Nguồn điện để bàn2 - DVM's1 - Cảm biến ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, điện trở 10W1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers

Bước 1:

Mạch thử nghiệm như trong sơ đồ. Kết nối từ chân 5V Arduino đến đường ray LM7805 + 5V là tùy chọn. Bạn có thể nhận được kết quả tốt hơn với jumper này tại chỗ nhưng hãy cẩn thận về hệ thống dây điện của bạn nếu bạn sử dụng nó vì Arduino được kết nối với máy tính của bạn và nguồn điện thứ hai sẽ vượt quá 5V khi bạn vặn nó lên để tăng dòng điện qua cảm biến.

Nếu bạn kết nối các bộ nguồn với nhau thì bộ nguồn cảm biến và bộ nguồn Arduino sẽ có cùng điểm tham chiếu + 5V chính xác và bạn sẽ mong đợi kết quả phù hợp hơn.

Tôi đã làm điều này mà không có kết nối này và tôi thấy số đọc dòng điện bằng 0 cao hơn trên cảm biến hiện tại (2,530 V thay vì 2.500 V dự kiến) và đọc ADC thấp hơn dự kiến tại điểm hiện tại bằng không. Tôi nhận được số đọc ADC kỹ thuật số khoảng 507 đến 508 mà không có dòng điện qua cảm biến, đối với 2.500V, bạn sẽ thấy số đọc ADC khoảng 512. Tôi đã sửa lỗi này trong phần mềm.

Bước 2: Kiểm tra các phép đo

Kiểm tra các phép đo
Kiểm tra các phép đo

Các phép đo tương tự với vôn kế và ampe kế chỉ ra rằng cảm biến rất chính xác. Ở các dòng điện thử nghiệm 0,5A, 1,0A và 1,5A, nó chính xác đến milivôn.

Các phép đo ADC với Arduino gần như không chính xác. Các phép đo này bị giới hạn bởi độ phân giải 10 bit của Arduino ADC và các vấn đề về tiếng ồn (xem video). Do nhiễu, việc đọc ADC bị nhảy xung quanh trường hợp xấu nhất lên đến 10 bước hoặc hơn mà không có dòng điện qua cảm biến. Xem xét rằng mỗi bước biểu thị khoảng 5 mv, đây là khoảng dao động 50 mv và với cảm biến 400mv / amp biểu thị mức dao động 50mv / 400mv / amp = 125ma! Cách duy nhất để tôi có được một bài đọc có ý nghĩa là đọc 10 bài liên tiếp rồi tính trung bình.

Với ADC 10 bit hoặc 1024 mức có thể và 5V Vcc, chúng tôi có thể phân giải khoảng 5/1023 ~ 5mv mỗi bước. Cảm biến ra đặt 400mv / Amp. Vì vậy, tốt nhất chúng tôi có độ phân giải 5mv / 400mv / amp ~ 12,5ma.

Vì vậy, sự kết hợp của dao động do nhiễu và độ phân giải thấp có nghĩa là chúng ta không thể sử dụng phương pháp này để đo dòng điện một cách chính xác và nhất quán, đặc biệt là dòng điện nhỏ. Chúng ta có thể sử dụng phương pháp này để cung cấp cho chúng ta ý tưởng về mức hiện tại ở các dòng điện cao hơn nhưng nó không chính xác như vậy.

Bước 3: Kết luận

Kết luận
Kết luận

Kết luận:

-ACS724 đọc tương tự rất chính xác.

-ACS724 nên hoạt động rất tốt với các mạch analog. Ví dụ: điều khiển dòng điện cung cấp bằng một vòng phản hồi tương tự.

-Có vấn đề với tiếng ồn và độ phân giải khi sử dụng ACS724 với Arduino 10 bit ADC.

- Đủ tốt để chỉ theo dõi dòng điện trung bình cho các mạch dòng điện cao hơn nhưng không đủ tốt để kiểm soát dòng điện không đổi.

-Có thể cần sử dụng chip ADC 12 bit trở lên để có kết quả tốt hơn.

Bước 4: Mã Arduino

Đây là mã tôi đã sử dụng để đơn giản đo giá trị ADC của chân Arduino A0 và mã để chuyển đổi điện áp cảm biến thành dòng điện và lấy giá trị trung bình của 10 lần đọc. Mã khá tự giải thích và nhận xét cho mã chuyển đổi và mã trung bình.

Đề xuất: