Current Sensor Module 30A (ACS712-30A) เซ็นเซอร์วัดกระแสไฟฟ้า

Current Sensor Module 30A (ACS712-30A) เซ็นเซอร์วัดกระแสไฟฟ้า
Current Sensor Module 30A (ACS712-30A) เซ็นเซอร์วัดกระแสไฟฟ้าCurrent Sensor Module 30A (ACS712-30A) เซ็นเซอร์วัดกระแสไฟฟ้า
รหัสสินค้า SKU-00592
หมวดหมู่ โมดูลวัดแรงดันและกระเเสไฟฟ้า
ราคา 75.00 บาท
สถานะสินค้า พร้อมส่ง
ลงสินค้า 19 ก.ย. 2565
อัพเดทล่าสุด 19 ก.ย. 2565
คงเหลือ ไม่จำกัด
จำนวน
ชิ้น
หยิบลงตะกร้า
บัตรประชาชน
บุ๊คแบ๊งค์
คุ้มครองโดย LnwPay

Current Sensor Module 30A  (ACS712-30A) เซ็นเซอร์วัดกระแสไฟฟ้า

โมดูลวัดกระแสไฟฟ้าที่ไหลผ่าน ให้สัญญาณออกมาเป็น Analog ใช้ต่อร่วมกับ Arduino ได้ในช่อง Analog

โมดูลนี้ใช้ IC เบอร์ ACS712-30 เป็นเซนเซอร์วัดกระแสได้สูงสุด 30a

Arduino สอนวิธีใช้งาน ACS712 arduino current sensor เซนเซอร์วัดกระแสไฟฟ้า AC และ DC ACS712 Arduino
เซ็นเซอร์กระแส ACS712 สำหรับ Arduino เซนเซอร์วัดกระแสไฟฟ้า สามารถวัดได้ทั้งกระแสไฟ AC และ DC
ในตัวอย่างนี้เราจะมาเรียนรู้การใช้งาน Arduino กับเซนเซอร์ ACS712 Hall Effect
การวัดกระแส DC ใช้เซนเซอร์ Hall Effect ASC712 เซนเซอร์ ACS712 เป็นวิธีการวัดกระแสที่มีราคาไม่แพง ใช้งานง่ายมาก การวัดอาศัยหลักการวัดความเหนี่ยวนำของแม่เหล็กที่แปรผันกับกระแสไฟฟ้า ให้เอาต์พุตออกมาเป็นแรงดันไฟฟ้า สามารถใช้ขาแบบ Analog ของ Arduino อ่านค่าจากเซนเซอร์ ACS712 เข้ามาได้โดยตรง

แนะนำเซนเซอร์ ACS712 Current Sensor

ACS712 คือเซนเซอร์ที่อาศัยหลักการวัดการเปลี่ยนแปลงของสนามแม่เหล็ก Hall effect สามารถวัดได้ทั้งกระแสตรง DC และกระแสสลับ AC ให้เอาต์พุตออกมาเป็นโวลต์สัมพันกับกระแสที่วัดได้ มีฟังก์ชั่นป้องกันสัญญาณรบกวน , ตอนสนองต่อการวัดได้รวดเร็ว , เอาต์พุตมีความแม่นยำคลาดเคลื่อนประมาณ 1.5% สามารถเขียนโปรแกรมเพื่ออ่านค่าได้ง่าย 

การทำงานของเซนเซอร์ ACS712 Current Sensor

เซนเซอร์ ACS712 ประกอบด้วยวงจร Hall Effect เอาต์พุตแบบเชิงเส้น มีวงจรเหนี่ยวนำไฟฟ้าทองแดงตั้งอยู่รอบ ๆ พื้นผิวของตัวชิฟ ACS712 เมื่อกระแส AC หรือ DC ผ่านเส้นทองแดงจะเกิดการสร้างสนามแม่เหล็ก สนามแม่เหล็กไฟฟ้านี้ทำปฏิกิริยากับเซนเซอร์ Hall Effect แปลงแม่เหล็กไฟฟ้านี้ เป็นแรงดันตามสัดส่วนของกระแสไฟฟ้าได้ทั้ง AC หรือ DC ขึ้นอยู่กับชนิดของกระแสไฟฟ้าอินพุต เราสามารถใช้บอร์ด Arduino หรือไมโครคอนโทรเลอร์รุ่นอื่น ๆ วัดค่าแรงดันนี้ได้โดยตรง เพื่อแปลงค่ากลับมาเป็นกระแสไฟฟ้า

รูปขาของ ACS712 Pin Diagram ACS712 Hall Effect เซนเซอร์วัดกระแส

ขาของ ACS712 เซนเซอร์วัดกระแส ดังรูปนี้ ขา 1,2 และ 3,4 ใช้สำหรับวัดกระแส เราสามารถเชื่อมต่อที่ขานี้กับโหลดที่ต้องการวัดได้
ขา 6 กับ 5 ต่อ C สำหรับ filter ป้องกันสัญญาณรบกวน
ขา 5 ไฟกราวน์
ขา 8 ไฟเลี้ยง 5V 
ขา 7 เป็นขาเอาต์พุตที่วัดได้ หน่วยเป็นโวลต์




ชนิดของเซนเซอร์วัดกระแส ACS712 Current Sensor 

ACS712 Hall Effect Sensor มี 3 ชนิดให้เลือกใช้งาน 5A , 20A , 30A ดังตารางนี้

  • ACS712-05B วัดกระแสได้ช่วง -5A ถึง 5A เอาต์พุต 185mV/A แปลว่า ถ้าวัดได้แรงดันไฟฟ้าได้ 185 มิลลิโวลต์ แสดงว่ากระแสที่วัดได้คือ 1 แอมป์
  • ACS712-20A วัดกระแสได้ช่วง -20A ถึง 20A เอาต์พุต 100mV/A
  • ACS712-30A วัดกระแสได้ช่วง -30A ถึง 30A เอาต์พุต 66mV/A

คำนวนเอาต์พุตของเซนเซอร์ ACS712 จากโวลต์ ให้เป็นค่ากระแสยังไง

การคำนวนเอาต์พุตของ ACS712 ที่เป็นโวลต์ ให้เป็นค่ากระแสไฟฟ้า สามารถคำนวนได้ตามตัวอย่างนี้

  • เมื่อไม่มีกระแสไหลผ่านเซนเซอร์ ACS712 Hall Effect เอาพุตจะให้ค่า VCC/2 โดย VCC คือไฟเลี้ยงที่จ่ายให้กับเซนเซอร์
  • ถ้า VCC = 5 โวลต์ เอาต์พุตของ ACS712 จะมีค่าประมาณ 2.5V เมื่อไม่มีกระแสผ่านเซนเซอร์ ACS721
  • เช็คการทำงานของเซนเซอร์ ACS712 ด้วย Arduino โดยไม่จ่ายโหลด อ่านค่าจะได้ค่ากลาง ๆ 1024/2 ประมาณ 512 บวกลบนิดหน่อยขึ้นอ้างอิงกับแรงดันของแหล่งจ่ายไฟ ดังกราฟนี้ จะวัดได้ประมาณ 502 



  • ค่า 2.5V นี้ คือแรงดันออฟเซต voltage_offet หรือค่า 0 ของการวัดกระแส
  • แรงดันเอาต์พุตจะเปลี่ยนแปลง ขึ้นลง ตามกระแสที่ผ่านเซนเซอร์ ACS712
  • ดังนั้นเราสามารถคำนวนกระแส DC โดยใช้คำสั่งนี้
    • adcvalue = analogRead(A0); // อ่านค่าจาก Analog ได้ค่า 0-1024
    • voltage = (adcvalue/1024.0)*5000; //แปลงค่าจาก 0-1024 ให้เป็น0-5V
    • current = ((voltage-voltage_offset)/mVperAmp); // แปลงค่าให้เป็นกระแสไฟฟ้า

 

อุปกรณ์ทดลอง Arduino ACS712

การต่อวงจร ACS712 ดังรูปนี้

อัพโหลดโคดนี้แล้วดูผลลัพธ์

  int sensitive = 100; // สำหรับ 20A
  // int sensitive = 185; // สำหรับ 5A
  // int sensitive = 66; // สำหรับ 30A
   
  int offset = 2525; // ค่าเริ่มต้น 2500 ปรับค่าตรงนี้เพื่อให้ค่ายังไม่มีโหลดเป็น 0.00
   
  void setup() {
  Serial.begin(9600);
  }
   
  void loop() {
  double c = getCA();
  Serial.println(c);
  delay(1000);
  }
   
  // หาค่ากระแสเฉลี่ย
  double getCA() {
  int count = 200;
  double sum = 0;
  for (int i = 0; i < count; i++) {
  sum += getC();
  }
  double val = sum / count;
  return val;
  }
  // อ่านค่ากระแส
  double getC() {
  int a = analogRead(A0);
  double v = (a / 1024.0) * 5000;
  double c = (v - offset) / sensitive;
  return c;
  }
view rawacs712.ino hosted with ❤ by GitHub

---

จะเห็นว่าเราสามารถวัดค่ากระแสไฟฟ้าได้แล้ว


 




วิธีการชำระเงิน

ร้านค้านี้ยังไม่ได้กำหนดวิธีการชำระเงิน กรุณา ติดต่อกับทางร้าน เกี่ยวกับรายละเอียดในการชำระเงิน
ทางร้านยังไม่ได้ทำการเพิ่มบัญชีรับเงิน กรุณาติดต่อ เจ้าของร้าน

CATEGORY

MEMBER

STATISTIC

หน้าที่เข้าชม114,274 ครั้ง
ผู้ชมทั้งหมด51,036 ครั้ง
เปิดร้าน31 ก.ค. 2559
ร้านค้าอัพเดท4 ก.ย. 2568

CONTACT US

รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่มีค่าใช้จ่าย
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
ร้านบ้านโค้ด-Bancode
บ้านโค้ด-Bancode
จำหน่ายบอร์ดไมโครคอนโทรลเลอร์ Arduino,Module,Shield,Sensor,R,L,C,IC เเละอื่นๆ โทร.0624952525
เบอร์โทร : 0964188828
อีเมล : bancode.dev@gmail.com
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
สินค้าที่ดูล่าสุด
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join เป็นสมาชิกร้าน
แชร์หน้านี้
แชร์หน้านี้

TOP เลื่อนขึ้นบนสุด
พูดคุย-สอบถาม