Buck Converter — แปลงแรงดัน 12V→5V
ในระบบสมาร์ทโฮมที่ใช้ไฟ DC 12V เราจำเป็นต้องแปลงแรงดันลงมาเหลือ 5V สำหรับจ่ายให้ Arduino และ Sensors
สองวิธีแปลง 12V→5V
| วิธี | Linear Regulator (7805) | Buck Converter (LM2596) |
|---|---|---|
| ประสิทธิภาพ | ~40% (12V→5V = เสีย 7V เป็นความร้อน) | ~85-95% |
| ความร้อน | ร้อนมาก (500mA = 3.5W) | เล็กน้อย |
| กระแสสูงสุด | ~1A (ต้อง Heatsink ใหญ่) | ~2-3A |
| Noise | น้อย (Linear) | มี Ripple เล็กน้อย |
| ราคา | ~10 บาท | ~30-50 บาท |
| แนะนำ | ❌ ไม่เหมาะ | ✅ เหมาะสม |
การต่อวงจร Buck Converter (LM2596)
LM2596 Buck Module: IN+ → 12V+ (จาก Adapter ผ่าน Fuse 2A) IN- → GND OUT+ → Arduino VIN (หรือ 5V pin ถ้าตั้งค่า Output เป็น 5V) OUT- → GND ⚠️ ปรับ Output Voltage ด้วย Multimeter ก่อนต่อ Arduino: 1. หมุน Potentiometer บน Module 2. วัดที่ OUT+ / OUT- ด้วย Multimeter 3. ปรับให้ได้ 5.0V ±0.1V 4. แล้วค่อยต่อเข้ากับ Arduino
Source Code — ตรวจสอบแรงดันตก
const int VOLTAGE_PIN = A3; // ผ่าน Voltage Divider
void checkVoltage() {
int raw = analogRead(VOLTAGE_PIN);
float voltage = (raw / 1023.0) * 5.0 * 3.0; // Divider R1=10k, R2=5k
Serial.print("แรงดัน 12V: "); Serial.print(voltage); Serial.println("V");
if (voltage < 11.0) {
Serial.println("⚠️ ไฟ 12V ตก! อาจมีโหลดเกิน");
} else if (voltage < 10.0) {
Serial.println("🔴 ไฟตกวิกฤติ! ปิดระบบ");
// คำสั่งปิดระบบปลอดภัย
}
}
Voltage Divider สำหรับวัดไฟ 12V ด้วย Arduino
// Arduino อ่าน Analog ได้สูงสุด 5V
// แต่เราต้องวัดไฟ 12V → ต้องใช้ Voltage Divider
// R1 = 10kΩ (ระหว่าง 12V+ กับ ขา Analog)
// R2 = 4.7kΩ (ระหว่าง ขา Analog กับ GND)
// Vout = 12V * (4.7 / (10 + 4.7)) = 12 * 0.32 = 3.84V
// Source Code:
int readBattery() {
int raw = analogRead(A3);
float vOut = (raw / 1023.0) * 5.0; // Vout วัดได้
float vIn = vOut * (10.0 + 4.7) / 4.7; // กลับเป็น Vin
return (int)(vIn * 100); // คืนค่าเป็น mV
}
Tip: เลือก Buck Converter แบบที่ปรับ Output Voltage ได้ (Adjustable) จะได้ใช้กับโปรเจกต์อื่นๆ ได้ด้วย กำหนด Output ไว้ที่ 5.0V-5.2V (เผื่อ Diode Drop)
💰 ราคาประมาณการ
| อุปกรณ์ | ราคา |
|---|---|
| ตู้ IP65 300x250x150mm | ~200-400 บาท |
| Din Rail + อะแดปเตอร์ | ~50-100 บาท |
| Cable Gland PG9 (5 ตัว) | ~30-50 บาท |
| Bus Bar 12V 12P | ~30-60 บาท |
| สายไฟ 1.5mm² 10m | ~50-100 บาท |
| สายไฟ 0.75mm² 10m | ~30-60 บาท |
| Cable Tie + Label | ~20-50 บาท |
| Breaker/Fuse Box | ~50-100 บาท |
🔋 ทางเลือกใช้แบตเตอรี่
ทั้งตู้ควบคุมสามารถใช้ แบต 12V 7Ah (~350-500 บาท) แทน Adapter ได้เลย โดยต่อแบตเข้ากับ Buck Converter สำหรับ Arduino และจ่าย 12V ตรงให้ Relay/Valve
สำหรับระบบที่ต้องการ Solar Off-Grid:
- Solar Panel 20W: ~500-800 บาท
- Solar Charge Controller 10A: ~200-400 บาท
- แบต 12V 7Ah: ~350-500 บาท
- รวม ~1,050-1,700 บาท
ลงทุนครั้งเดียว ไม่ต้องจ่ายค่าไฟรายเดือน — คืนทุนใน ~1-2 ปี
⚠️ หมายเหตุ: เนื้อหานี้ค้นคว้าและเรียบเรียงโดย Hermes AI — ข้อมูลทางเทคนิคควรตรวจสอบก่อนนำไปใช้งานจริง