Arduino เป็นไมโครคอนโทรลเลอร์อเนกประสงค์ที่สามารถวัดแรงดันไฟฟ้าได้โดยใช้ตัวแปลงแบบอะนาล็อกเป็นดิจิตอลในตัว (ADC) ความสามารถนี้เป็นสิ่งจำเป็นสำหรับแอพพลิเคชั่นเช่นการตรวจสอบระดับแบตเตอรี่การตรวจจับสัญญาณอินพุตและการวัดเอาต์พุตเซ็นเซอร์ บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการวัดแรงดันไฟฟ้าด้วย Arduino
สิ่งที่คุณต้องการ
- บอร์ด Arduino (เช่น uno, mega, nano)
- ตัวแบ่งแรงดันไฟฟ้า (ถ้าวัดแรงดันไฟฟ้าสูงกว่า 5V)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- แหล่งที่มาของแรงดันไฟฟ้าในการวัด (เช่นแบตเตอรี่เซ็นเซอร์หรือแหล่งจ่ายไฟที่ปรับได้)
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: ทำความเข้าใจกับการวัดแรงดันไฟฟ้าใน Arduino
ADC ของ Arduino แปลงแรงดันอะนาล็อก (0V เป็น 5V บนบอร์ดส่วนใหญ่) เป็นค่าดิจิตอล 10 บิต ซึ่งหมายความว่า ADC ให้ค่าระหว่าง 0 และ 1023 โดยที่ 0 สอดคล้องกับ 0V และ 1023 สอดคล้องกับ 5V (หรือแรงดันอ้างอิง)
สูตรสำคัญ
ในการคำนวณแรงดันไฟฟ้าอินพุต:
Voltage = (ADC_Value / 1023.0) * Reference_Voltage
บันทึก: สำหรับบอร์ด Arduino ส่วนใหญ่แรงดันอ้างอิงเริ่มต้นคือ 5V หากใช้ตัวแปร 3.3V ให้ปรับสูตรตามนั้น
ขั้นตอนที่ 2: การวัดแรงดันไฟฟ้าโดยตรง
สำหรับแรงดันไฟฟ้าสูงถึง 5V คุณสามารถเชื่อมต่อแหล่งแรงดันไฟฟ้าโดยตรงกับพินอะนาล็อก
การเดินสาย
ส่วนประกอบ | พิน Arduino |
---|---|
แหล่งที่มาของแรงดันไฟฟ้า (+) | A0 |
แหล่งที่มาของแรงดันไฟฟ้า (-) | gnd |
รหัสตัวอย่าง
#define analogPin A0
void setup() {
Serial.begin(9600);
}
void loop() {
int adcValue = analogRead(analogPin); // Read ADC value
float voltage = (adcValue / 1023.0) * 5.0; // Convert to voltage
Serial.print("Voltage: ");
Serial.print(voltage, 2); // Print voltage with 2 decimal places
Serial.println(" V");
delay(1000); // Update every second
}
ขั้นตอนที่ 3: การวัดแรงดันไฟฟ้าที่สูงขึ้นด้วยตัวแบ่งแรงดันไฟฟ้า
ในการวัดแรงดันไฟฟ้าที่สูงกว่า 5V ให้ใช้ก ตัวแบ่งแรงดันไฟฟ้า เพื่อปรับขนาดแรงดันไฟฟ้าอินพุต
สูตรตัวแบ่งแรงดันไฟฟ้า
ตัวแบ่งแรงดันไฟฟ้าจะปรับแรงดันไฟฟ้าอินพุตโดยใช้ตัวต้านทานสองตัว:
Vout = Vin * (R2 / (R1 + R2))
ตัวอย่างเช่นการวัดสูงสุด 12V:
- r1 = 10k ohms
- r2 = 10k ohms
- การปรับสเกลปัจจัย = 0.5 (vout = vin / 2)
การเดินสาย
ส่วนประกอบ | การเชื่อมต่อ |
---|---|
แหล่งที่มาของแรงดันไฟฟ้า (+) | อินพุต R1 ตัวแบ่งแรงดันไฟฟ้า |
ตัวแบ่งแรงดันไฟฟ้า R1/R2 Junction | Arduino A0 |
แหล่งที่มาของแรงดันไฟฟ้า (-) | gnd |
รหัสตัวอย่าง
#define analogPin A0
const float R1 = 10000.0; // Resistor R1 value in ohms
const float R2 = 10000.0; // Resistor R2 value in ohms
void setup() {
Serial.begin(9600);
}
void loop() {
int adcValue = analogRead(analogPin); // Read ADC value
float voltage = (adcValue / 1023.0) * 5.0; // Voltage at A0
// Scale up to actual input voltage
float inputVoltage = voltage * ((R1 + R2) / R2);
Serial.print("Input Voltage: ");
Serial.print(inputVoltage, 2); // Print with 2 decimal places
Serial.println(" V");
delay(1000); // Update every second
}
ขั้นตอนที่ 4: การใช้แรงดันอ้างอิงภายนอก
สำหรับการวัดที่แม่นยำยิ่งขึ้นคุณสามารถใช้แรงดันอ้างอิงภายนอกได้โดยเชื่อมต่อกับ PIN AREF
ขั้นตอนในการตั้งค่าการอ้างอิงภายนอก
- เชื่อมต่อแรงดันอ้างอิงที่เสถียร (เช่น 3.3V) กับพิน AREF
- ในรหัสตั้งค่าแรงดันอ้างอิง:
analogReference(EXTERNAL);
- ปรับการคำนวณในรหัสสำหรับแรงดันอ้างอิงใหม่
ขั้นตอนที่ 5: แนวทางปฏิบัติที่ดีที่สุดสำหรับการวัดที่แม่นยำ
- หลีกเลี่ยงเสียงรบกวน: ใช้สายสั้นและการต่อสายดินที่เหมาะสมเพื่อลดเสียงรบกวนทางไฟฟ้า
- สอบเทียบการตั้งค่าของคุณ: ตรวจสอบการอ่านด้วยมัลติมิเตอร์เพื่อให้แน่ใจว่ามีความแม่นยำ
- ปกป้อง Arduino: ใช้ตัวต้านทานหรือไดโอดเพื่อป้องกันพินอินพุตแบบอะนาล็อกจากแรงดันไฟฟ้าเกิน
- สัญญาณฟิลเตอร์มีเสียงดัง: เพิ่มตัวเก็บประจุข้ามอินพุตเพื่อทำให้ความผันผวนของแรงดันไฟฟ้าราบรื่น
การประยุกต์ใช้การวัดแรงดันไฟฟ้า
- ตรวจสอบระดับแบตเตอรี่
- ตรวจจับสัญญาณอะนาล็อกจากเซ็นเซอร์
- การวัดแรงดันไฟฟ้าของแหล่งจ่ายไฟ
- โครงการ Multimeter DIY
การแก้ไขปัญหา
-
การอ่านที่ไม่ถูกต้อง:
- ตรวจสอบการเดินสายและตรวจสอบค่าตัวต้านทานที่ถูกต้องสำหรับตัวแบ่งแรงดันไฟฟ้า
- ตรวจสอบแรงดันอ้างอิงในการคำนวณ
-
ค่าผันผวน:
- เพิ่มตัวเก็บประจุ (10µF หรือ 100µF) ข้ามอินพุต
-
การป้องกันแรงดันไฟฟ้าเกิน:
- ตรวจสอบให้แน่ใจว่าแรงดันไฟฟ้าอินพุตไม่เกินขีด จำกัด ที่คำนวณได้ของตัวแบ่งแรงดันไฟฟ้า
บทสรุป
การวัดแรงดันไฟฟ้าด้วย Arduino นั้นตรงไปตรงมาและมีประโยชน์อย่างมากสำหรับโครงการอิเล็กทรอนิกส์หลายโครงการ ไม่ว่าคุณจะตรวจสอบระดับแบตเตอรี่หรือเชื่อมต่อกับเซ็นเซอร์การทำความเข้าใจการวัดแรงดันไฟฟ้าจะเปิดโอกาสให้ได้หลากหลาย ทดลองกับการตั้งค่าที่แตกต่างกันและรวมการวัดแรงดันไฟฟ้าเข้ากับโครงการของคุณ!