การวัดกระแสกับ Arduino

Measuring Current with the Arduino

การวัดกระแสไฟฟ้าในวงจรอิเล็กทรอนิกส์เป็นข้อกำหนดทั่วไปสำหรับโครงการที่เกี่ยวข้องกับเซ็นเซอร์มอเตอร์ไฟ LED และส่วนประกอบอื่น ๆ ในขณะที่ Arduino ไม่สามารถวัดกระแสได้โดยตรงคุณสามารถใช้ส่วนประกอบภายนอกเช่นเซ็นเซอร์ปัจจุบันหรือตัวต้านทานแบบแบ่งเพื่อวัดทางอ้อม บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการวัดกระแสด้วย Arduino


สิ่งที่คุณต้องการ

  1. บอร์ด Arduino (เช่น uno, mega, nano)
  2. เซ็นเซอร์ปัจจุบัน (เช่น ACS712, INA219) หรือ ตัวต้านทาน
  3. เครื่องหั่นขนมปังและสายจัมเปอร์
  4. อุปกรณ์โหลด (เช่น LED, มอเตอร์หรือส่วนประกอบใด ๆ ที่คุณต้องการวัดกระแสไฟฟ้า)
  5. แหล่งจ่ายไฟ (5V หรือ 12V ขึ้นอยู่กับโหลดของคุณ)
  6. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

วิธีที่ 1: การใช้เซ็นเซอร์ปัจจุบัน

เซ็นเซอร์ปัจจุบันเช่น ACS712 หรือ INA219 ทำให้การวัดปัจจุบันง่ายขึ้นโดยการให้เอาต์พุตแบบอะนาล็อกหรือดิจิตอลตามสัดส่วนกับกระแส

1. การใช้เซ็นเซอร์ปัจจุบัน ACS712

เซ็นเซอร์ ACS712 วัดทั้งกระแส AC และ DC และส่งสัญญาณสัญญาณอะนาล็อกตามสัดส่วนกับกระแสที่ไหลผ่าน

แผนผังสายไฟ
ACS712 PIN การเชื่อมต่อ
VCC Arduino 5V
gnd Arduino Gnd
ออก Arduino Analog Pin (เช่น A0)
IP+ การเชื่อมต่อโหลดบวก
IP- การเชื่อมต่อโหลดเชิงลบ
รหัสตัวอย่าง
#define sensorPin A0
const float sensitivity = 0.185; // Sensitivity for ACS712-05B (mV per A)
const int zeroPoint = 512; // Zero current output in ADC counts

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
  float current = (voltage - (zeroPoint / 1023.0) * 5.0) / sensitivity; // Calculate current

  Serial.print("Current: ");
  Serial.print(current, 3);
  Serial.println(" A");

  delay(1000);
}

2. การใช้เซ็นเซอร์ปัจจุบัน INA219

INA219 เป็นเซ็นเซอร์ปัจจุบันที่มีความแม่นยำสูงซึ่งสื่อสารกับ Arduino ผ่าน I2C ซึ่งเสนอการวัดทั้งในปัจจุบันและแรงดันไฟฟ้า

แผนผังสายไฟ
INA219 พิน การเชื่อมต่อ
VCC Arduino 5V
gnd Arduino Gnd
SDA Arduino SDA (เช่น A4 บน Uno)
SCL Arduino SCL (เช่น A5 บน Uno)
vin+ การเชื่อมต่อโหลดบวก
vin- การเชื่อมต่อโหลดเชิงลบ
รหัสตัวอย่าง

ติดตั้ง ห้องสมุด Adafruit Ina219 ผ่านผู้จัดการห้องสมุด Arduino

#include <Wire.h>
#include <Adafruit_INA219.h>

Adafruit_INA219 ina219;

void setup() {
  Serial.begin(9600);
  if (!ina219.begin()) {
    Serial.println("Failed to find INA219 chip");
    while (1);
  }
}

void loop() {
  float current_mA = ina219.getCurrent_mA();

  Serial.print("Current: ");
  Serial.print(current_mA);
  Serial.println(" mA");

  delay(1000);
}

วิธีที่ 2: การใช้ตัวต้านทานแบบปัด

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

i = v / r

แผนผังสายไฟ

ส่วนประกอบ การเชื่อมต่อ
ตัวต้านทาน ในซีรีส์พร้อมโหลด
หมุดอะนาล็อก Arduino ข้ามตัวต้านทานปัด
โหลด เชื่อมต่อกับแหล่งจ่ายไฟ
รหัสตัวอย่าง
#define shuntPin A0
const float shuntResistance = 0.1; // Resistance in ohms

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(shuntPin);
  float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
  float current = voltage / shuntResistance; // Calculate current

  Serial.print("Current: ");
  Serial.print(current, 3);
  Serial.println(" A");

  delay(1000);
}

แนวทางปฏิบัติที่ดีที่สุดสำหรับการวัดที่แม่นยำ

  1. เลือกเซ็นเซอร์ที่เหมาะสม: เลือกเซ็นเซอร์ปัจจุบันหรือตัวต้านทานการแบ่งที่เหมาะสำหรับช่วงปัจจุบันที่คุณคาดหวัง
  2. สอบเทียบการตั้งค่าของคุณ: ปรับรหัสสำหรับเซ็นเซอร์เฉพาะหรือตัวต้านทาน shunt ของคุณเพื่อให้แน่ใจว่าการอ่านที่แม่นยำ
  3. ลดเสียงรบกวน: ใช้สายไฟสั้นและหนาและหลีกเลี่ยงสภาพแวดล้อมที่มีเสียงดังเพื่อลดข้อผิดพลาดในการวัด
  4. ตรวจสอบขีด จำกัด พลังงาน: ตรวจสอบให้แน่ใจว่าเซ็นเซอร์หรือตัวต้านทานปัดสามารถจัดการกระแสสูงสุดโดยไม่ต้องมีความร้อนสูงเกินไป

การประยุกต์ใช้การวัดปัจจุบัน

  1. ตรวจสอบการใช้แบตเตอรี่ในอุปกรณ์ IoT
  2. การวัดกระแสไฟฟ้าในมอเตอร์
  3. การทดสอบไฟ LED และส่วนประกอบอื่น ๆ
  4. การจัดการพลังงานในระบบฝังตัว

การแก้ไขปัญหา

  • การอ่านที่ไม่ถูกต้อง: การเดินสายเซ็นเซอร์ตรวจสอบสองครั้งและค่าการสอบเทียบ
  • ไม่มีผลลัพธ์: ตรวจสอบให้แน่ใจว่าโหลดเชื่อมต่อและกระแสไหล
  • ค่าผันผวน: เพิ่มตัวเก็บประจุในแหล่งจ่ายไฟของเซ็นเซอร์เพื่อทำให้การอ่านมีเสถียรภาพ

บทสรุป

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

แสดงความคิดเห็น

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.