Đo dòng bằng Arduino và điện trở shunt


Đo dòng bằng Arduino và Điện trở Shunt

   Lang thang trên mạng để tìm các module đo dòng DC cho Arduino. Mình tìm được mấy loại, nhưng giá của tụi nó cũng khá cao. Nếu như bạn nào nhà giàu, ví lúc nào cũng căng thì không sao. Còn với những bạn học sinh nghèo vượt khó, thì số tiền mua mấy module đó cũng đủ để ăn mì tôm trong trong 1-2 tuần. Haha =]].
ảnh minh họa

 

  Như tiêu đề, hôm nay mình sẽ giới thiệu cho các bạn cách đo dòng điện bằng Arduino. Phương pháp này có độ chính xác khá cao và chi phí rất chi là rẻ. tổng chi phí chắc chỉ đủ mua 3 gói mì tôm thôi =]]. Dưới đây là mạch nguyên lý
Mạch Nguyên lý

+ Tổng quan về mạch

  • Mạch vỏn vẹn có 4 con linh kiện thôi chả có rì nhiều để giới thiệu cả haha.
  • x1 ic op-amp hay còn gọi là ic khuếch đại thuật toán.
  • x1 điện trở 1K Ohm.
  • x1 điện trở 10K Ohm.
  • x1 điện trở 0.03 Ohm. con điện trở này các bạn dùng mẩu dây đồng trong cáp antenna là được.

+ Sơ Qua Một Chút rồi vào thẳng vấn đề. =]]

  - Để tính được dòng điện, các bạn chỉ cân mắc tải nối tiếp với một con điện trở. Như hình dưới.
  Và sau đó các bạn chỉ cần đo điện áp tại điểm giữa của mạch, rồi áp dụng công thức I=U/R là có thể biết được dòng của tải rồi, qúa đơn giản đúng không. Nhưng các bạn có thể thấy là, điện áp trong hình mình đo được, nó chỉ có 0.029 Vol thôi. Gía trị điện trở R1 càng thấp thì điện áp đo được càng thấp và ngược lai.

  Do tín hiệu điện tại đây khi đọc được rất nhỏ, con arduino sẽ không thể đọc được, vậy lên chúng ta phải sử dụng thêm op-amp để khuếch đại tín hiệu đó lên cao hơn đủ để cho con arduino đọc được.

  Mạch có rồi, giờ phải làm sao để tính được dòng tải. Mời các bạn xem hình tiếp. Mình có để công thức trong đó.

------------------------ I=(Gain*R2)/Vout -------------------------
 -  Mỗi vậy thôi là các bạn có thể tính được dòng tải rồi.
 -  Hệ số Gain này là độ nhạy của mạch, độ nhạy càng cao thì càng tốt, nhưng không phải cái rì cao cũng là tốt cả =]]. Nếu cao quá, khi không có tải, đầu ra "Chân số 1" của op-amp vẫn có tín hiệu điện khoảng 0.0 mấy vol rì đó. Đủ để con arduino khi đọc analog hiểu nhầm là vẫn có tải.  
 -  Để tính được hệ số Gain các bạn chỉ cần áp dụng công thức sau.
------------------- Gain = 1+(R3/R1) -------------------------------
-   Để có cho arduino tính toán và hiển thị lên màn hình, các bạn chỉ cần làm như sau.


  Mình sử dụng chân A0 để đọc analog và mình cũng thay đổi R3 bằng biến trở tinh trỉnh. Việc sử dụng biến trở, giúp mình calib hay căn chỉnh lại sai số tốt hơn.

+ Bước tiếp theo, mình sẽ gắn tải vào mạch, dùng ampe kế để đo cường độ dòng điện của tải, rồi tiến hành đọc giá trị analog. Khi có được giá trị analog. Mk chỉ cần áp dụng một công thức rất chi là đơn giản sau.            
I = x*Analog 
x = Itải/Analog 
VD: Tải của mk là 1Ampe và giá trị analog mình đọc được là 320. Mình lấy 1A/320 = 0.003125 vậy là mình đã có giá trị (x) ở công thức trên. Sau khi có giá trị (x) Mình chỉ việc lấy x*giá trị analog thôi là xong.
0.003125*Analog

Ex code.


Các bạn xem video cho dễ hiểu nhé. file với code mk để link ở mô tả video ý


Đăng nhận xét

0 Nhận xét