บทเรียน 1.2 — วงจรแบ่งแรงดันและเซนเซอร์แบบอนาล็อก

เข้าใจลูกบิดบนบอร์ดในฐานะวงจรแบ่งแรงดัน และแปลงค่าที่ ADC อ่านได้เป็นโวลต์

โมดูล 1 — วงจรและอิเล็กทรอนิกส์พื้นฐาน

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

เป้าหมาย

เมื่อจบบทเรียนนี้ คุณจะ

  1. คำนวณแรงดันขาออกของวงจรแบ่งแรงดันจากค่าตัวต้านทานสองตัว
  2. แปลงค่าที่ ADC อ่านได้เป็นแรงดันจากความละเอียดและแรงดันอ้างอิง แล้วเทียบกับมัลติมิเตอร์
  3. อธิบายผลของความต้านทานขาเข้าของ ADC (และของมิเตอร์) ต่อความแม่นยำของวงจรแบ่งแรงดัน
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

ก่อนเริ่ม

  • ผ่านบทเรียน แรงดัน กระแส และความต้านทาน มาแล้ว
  • แล็บ: เบรดบอร์ด สายจัมเปอร์ ตัวต้านทาน 10 kΩ, 12 kΩ และ 1 MΩ สองตัว มัลติมิเตอร์ และบอร์ด
  • ส่วนที่อ่านลูกบิดด้วย ADC ใช้ตัวอย่าง QWA309 ของ Developer Hub ซึ่งรันได้บน TESAIoT Dev Kit เท่านั้น
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

ดูของจริงก่อน

เปิดตัวอย่าง QWA309 Potentiometer Monitor แล้ว flash ลงบอร์ด — จอแสดงการ์ดสี่ใบของลูกบิด (potentiometer) แต่ละใบมีค่าดิบ (raw) แรงดัน และเปอร์เซ็นต์

ลองหมุนลูกบิดจนสุดทั้งสองทาง แล้วสังเกต

  • ค่าดิบวิ่งตั้งแต่ราว 0 ถึงราว 4095 — ทำไมต้องเป็นเลขนี้
  • แรงดันสูงสุดที่จอแสดงคือราว 1.8 V ไม่ใช่ 3.3 V — ทำไม

ลูกบิดทั้งสี่ตัวต่อกับขา P15.4 ถึง P15.7 อ่านด้วย SAR ADC ขนาด 12 บิต แรงดันอ้างอิง 1.8 V

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

แนวคิด (1) — วงจรแบ่งแรงดัน

V_in R1 (top) ADC pin V_out R2 (bottom) V_out = V_in × R2 / (R1 + R2) 1.8 V wiper pot
ซ้าย: วงจรแบ่งแรงดันสองตัวต้านทาน ขวา: โพเทนชิโอมิเตอร์คือวงจรแบ่งแรงดันที่ขากลาง (wiper) เลื่อนได้
V_out = V_in × R2 / (R1 + R2)
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

แนวคิด (2) — ตัวอย่างและออกแบบย้อนกลับ

ตัวอย่าง 3.3 V, R1 = 10 kΩ (บน), R2 = 4.7 kΩ (ล่าง)

V_out = 3.3 × 4.7 / (10 + 4.7) = 3.3 × 0.3197 = 1.055 V

ออกแบบย้อนกลับ อยากได้ 1.8 V จาก 3.3 V สัดส่วนที่ต้องการคือ 1.8 / 3.3 = 0.545 ถ้าเลือก R1 = 10 kΩ แล้ว R2 = 12 kΩ

3.3 × 12 / 22 = 1.800 V พอดี — คู่นี้จะต่อจริงในแล็บ

โพเทนชิโอมิเตอร์คือตัวต้านทานที่ขากลาง (wiper) เลื่อนได้ ปลายสองข้างต่อคร่อมแหล่งจ่าย หมุนไปได้ 30% ของระยะ ขากลางก็ได้ราว 30% ของแรงดันที่คร่อมอยู่

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

แนวคิด (3) — ADC: แรงดัน ↔ ตัวเลข

ADC แบบ N บิตแบ่งช่วง 0 ถึง V_ref ออกเป็น 2^N ขั้น — ADC 12 บิต มี 4096 ขั้น (ค่าดิบ 0–4095)

1 LSB = 1.8 V / 4096 = 0.000439 V ≈ 0.44 mV

V = raw × V_ref / 2^N
raw 2048 → 2048 × 1.8 / 4096 = 0.900 V   (ครึ่งหนึ่งของช่วงพอดี)
raw 3000 → 3000 × 1.8 / 4096 = 1.318 V

เปอร์เซ็นต์ไม่ต้องใช้ V_ref = 100 × raw / เต็มสเกล — ถ้า V_ref จริงต่างจากที่โค้ดสมมุติ แรงดันที่คำนวณจะผิดตามสัดส่วนนั้น แต่เปอร์เซ็นต์ยังถูก จึงต้องเทียบกับมัลติมิเตอร์อย่างน้อยหนึ่งครั้ง

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

แนวคิด (4) — เมื่อวงจรแบ่งแรงดันถูกโหลด

มองจากขา V_out วงจรแบ่งแรงดันเหมือนแหล่งจ่าย V_th ที่มีความต้านทานภายใน R_th = R1 ∥ R2 (วงจรสมมูลเทวินิน)

V_out = V_th × R_load / (R_load + R_th)

ตัวอย่าง 3.3 V แบ่งด้วย 100 kΩ สองตัว ไม่มีโหลด = 1.65 V, R_th = 50 kΩ

โหลด V_out คลาดจาก 1.65 V
1 MΩ 1.571 V −4.8%
10 MΩ (มัลติมิเตอร์ทั่วไป) 1.642 V −0.5%

กฎหยาบ: ให้ความต้านทานของโหลดมากกว่า R_th อย่างน้อยราว 100 เท่า ความคลาดจะต่ำกว่าราว 1%

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

ตัวอย่างสมบูรณ์ — ออกแบบวงจรอ่านเซนเซอร์

โจทย์ เซนเซอร์ให้ 0–5 V อ่านด้วย ADC 12 บิต V_ref = 1.8 V

ขั้นที่ 1  เลือกสัดส่วน 1/3 ด้วย R1 = 20 kΩ, R2 = 10 kΩ
           V_adc สูงสุด = 5 × 10 / 30 = 1.667 V   ต่ำกว่า 1.8 V เหลือที่ว่างราว 7%

ขั้นที่ 2  ตรวจผลข้างเคียง
           กระแสจากเซนเซอร์ = 5 V / 30 kΩ = 0.167 mA
           R_th = 20 ∥ 10 = 6.67 kΩ, โหลด 10 MΩ คลาดเพียง 0.07%

ขั้นที่ 3  แปลงค่ากลับ raw = 3500
           V_adc = 3500 × 1.8 / 4096 = 1.538 V
           V_sensor = V_adc × 3 = 4.614 V

ขั้นที่ 4  เทียบกับมิเตอร์ ถ้าต่างเกินราว 1% สงสัย R จริง, V_ref จริง, เวลาสุ่มของ ADC
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

ฝึกเติม / แล็บ

ฝึกเติม

  1. 3.3 V, R1 = 4.7 kΩ (บน), R2 = 10 kΩ (ล่าง) V_out เท่าไร
  2. ADC 12 บิต V_ref = 1.8 V raw 1024 คือกี่โวลต์ raw สูงสุด 4095 คือกี่โวลต์ ทำไมไม่ถึง 1.8 V พอดี

แล็บ ส่วน A วงจรแบ่งแรงดันบนเบรดบอร์ด: R1 = 10 kΩ จาก 3V3 → จุด M, R2 = 12 kΩ จาก M → GND

  1. ทาย แรงดันที่จุด M (1.80 V ถ้า 3V3 = 3.30 V พอดี) แล้ววัดจริง
  2. เปลี่ยนตัวต้านทานเป็น 1 MΩ ทั้งสองตัว แล้วคำนวณย้อนหาความต้านทานขาเข้าของมิเตอร์จากค่าที่วัดได้

แล็บ ส่วน B (TESAIoT Dev Kit) รัน QWA309 Potentiometer Monitor หมุนลูกบิด 4 ตำแหน่ง จดค่า raw และ mV เทียบกับที่คำนวณเอง

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

เช็กความเข้าใจ

  1. วงจรแบ่งแรงดันจาก 3.3 V ใช้ R1 = 10 kΩ (บน) และ R2 = 20 kΩ (ล่าง) แรงดันขาออกเป็นเท่าไร

    • ก) 1.1 V · ข) 2.2 V · ค) 1.65 V · ง) 3.3 V
  2. ADC 12 บิต แรงดันอ้างอิง 1.8 V อ่านได้ค่าดิบ 2048 แรงดันที่ขาประมาณเท่าไร

    • ก) 0.90 V · ข) 1.65 V · ค) 2.048 V · ง) 0.45 V
  3. วงจรแบ่งแรงดัน 100 kΩ สองตัวจาก 3.3 V ต่อเข้ากับโหลด 1 MΩ แรงดันขาออกประมาณเท่าไร

    • ก) 1.65 V · ข) 1.57 V · ค) 1.50 V · ง) 0.30 V
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

ไปต่อ

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

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

แหล่งที่มาและเครดิต

"อิเล็กทรอนิกส์และเครื่องมือวัดสำหรับนักพัฒนาระบบฝังตัว" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย
(Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program
สัญญาอนุญาต CC BY-NC 4.0

แผนภาพในบทเรียนนี้เป็นงานวาดของหลักสูตรนี้เอง (CC BY-NC 4.0)

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0