[TH] Arduino: Ohm’s Law

ในบทความนี้เป็นเนื้อหาเกี่ยวกับกฎของโอห์ม (Ohm’s Law) ซึ่งเป็นเรื่องพื้นฐานที่เกี่ยวข้องกับวงจรไฟฟ้าที่เกิดจากความสัมพันธ์ระหว่างกระแสไฟฟ้าที่มีหน่วยเป็นแอมป์ (Amp) ความต่างศักย์ไฟฟ้าหรือแรงดันไฟฟ้าที่่มีหน่วยเป็นโวลต์ (Volt) และความต้านทานของตัวนำหรือโหลด (Load) ที่มีหน่วยเป็นโอห์ม (Ohm) หรือสมการ V=IR โดย V เป็นแรงดัน I คือกระแสไฟฟ้า และ R คือค่าความต้านทานของตัวนำ

กฏของโอห์มได้กำหนดไว้ว่า กระแสไฟฟ้าเมื่อไหลผ่านตัวนำจะสร้างความสัมพันธ์ได้ดังนี้

  • V = IR หมายความว่า
    • แรงดันจะมากขึ้นเมื่อกระแสเพิ่มขึ้นหรือค่าความต้านทานลดลง
    • แรงดันจะลดลงเมื่อแระแสลดลงหรือค่าความต้านทานสูงขึ้น
  • I = V/R หมายความว่า
    • กระแสจะเพิ่มขึ้นเมื่อแรงดันเพิ่มขึ้นหรือค่าความต้านทานลดลง
    • กระแสจะลดลงเมื่อแรงดันลดลงหรือค่าความต้านทานเพิ่มขึ้น
  • R = V/I หมายความว่า
    • ค่าความต้านทานจะเพิ่มขึ้นเมื่อ แรงดันเพิ่มขึ้น หรือกระแสลดลง
    • ค่าความต้านทานจะลดลงเมื่อ แรงดันลดลง หรือกระแสเพิ่มขึ้น

ตัวอย่าง 1

ถ้าแหลงจ่ายไฟสามารถขับแรงดันไฟฟ้ากระแสตรงได้ 5 โวลต์ และให้กระแสไฟฟ้าขนาด 1 แอมป์ จะต้องมีค่าความต้านทานของตัวนำหรือโหลดของวงจรเป็นค่าเท่าใด?

จากสมการ
    R   = V/I
โดยที่
    V   = 5V
    I   = 1A
ดังนั้น
    R   = 5/1
        = 5 Ohm
โดยที่โหลดหรือตัวนำต้องทนกระแสได้อย่างน้อย 1 แอป์เพื่อไม่ให้ตัวนำหรือโหลดนั้นเสียหาย

ตัวอย่าง 2

ขา GPIO (General Purpose I/O) ของชิพ ATMEGA328P สามารถส่งแรงดันไฟฟ้ากระแสตรงได้สูงสุด 5 โวลต์ และขับกระแสได้ 40 มิลลิแอมป์ (mA) จะต้องใช้ค่าต้านทานเท่าไร?

จากสมการ
    R   = V/I
โดยที่ 
    V   = 5V
    I   = 40mA 
        = 40/1000 A 
        = 0.04 A 
ดังนั้น
    R   = 5/0.04
        = 125 โอมห์

ตัวอย่าง 3

ขาแรงดันไฟฟ้ากระแสตรง 3.3V หรือ 3V3 ของบอร์ด Arduino Uno สามารถขับกระแสได้ 50mA จะสามารถใช้กับโหลดที่มีค่าต้านทานเท่าใด

จากสมการ 
    R   = V/I
โดยที่ 
    V   = 3.3V
    I   = 50mA 
        = 50/1000 A
        = 0.05 A 
ดังนั้น 
    R   = 3.3/0.05
        = 65.9999...9
        = 66 โอมห์ 

ตัวอย่าง 4

บอร์ดขับจอแสดงผลแอลซีดีกราฟิกส์รุ่นหนึ่งต้องการแรงดันไฟฟ้ากระแสตรง 3.3 โวลต์ และต้องการกระแส 300mA ในการทำงาน เมื่อนำมาใช้กับบอร์ด Arduino Uno ที่สามารถขับแรงดัน 3.3 โวลต์ ด้วยกระแส 50mA จะสามารถใช้ได้หรือไม่?

คำตอบ ไม่ได้ แต่สามารถกระทำได้ด้วยการเพิ่มแหล่งจ่ายไฟให้กับบอร์ดขับจอแสดงผลแอลซีดีกราฟิส์ต่างหาก โดยต้องเชื่อมขากราวด์ (Ground) ของบอร์ด Arduino Uno เข้ากับบอร์ดขับหลอดแอลซีดีกราฟิกส์เข้าด้วยกัน เนื่องจากวงจรไฟฟ้าที่ทำงานร่วมกันจะต้องมีสายกราวด์เชื่อมต่อกัน และที่ต้องพึงระวังคือ ต้องพิจารณาความต้องการของขานำเข้าสัญญาณของบอร์ดแอลซีดีกราฟิกส์ว่ามีความต้องการกระแสไฟฟ้าเท่าไร เนื่องจาก ATMEGA328P สามารถขับได้ 40mA ถ้าเพียงพอตามความต้องการของบอร์ดขับหลอดแอลซีดีกราฟิส์แต่เมื่อทำงานกลับพบว่าการแสดงผลมีความผิดพลาด เช่น จอกระพริบเพราะแรงดันไม่พอ หรือกระแสไม่พอ เป็นต้น ต้องพิจารณาเรื่องของความยาวของสายไฟเชื่อมต่อ เนื่องจากสายไฟเชื่อมต่อมีค่าความต้านทานเช่นกัน เมื่อสายไฟยาวจะให้ค่าความต้านทานที่สูงกว่าสายไฟที่สั้นกว่า 

สรุป

จากกฎของโอมห์มีความสำคัญต่อการประยุกต์ใช้วงจรการทำงานของระบบไมโครคอนโทรลเลอร์เนื่องจากเป็นความรู้พื้นฐานสำหรับการออกแบบวงจร และการเขียนโปรแกรมเพื่อสั่งงาน ทั้งนี้ ถ้าผู้เขียนโปรแกรมไม่ได้พิจารณาเรื่องของกระแสไฟฟ้า แรงดัน และค่าความต้านทาน เช่นในตัวอย่างที่ 4 ต่อให้โปรแกรมที่เขียนมีความถูกต้อง การทำงานของระบบอาจจะทำงานไม่ได้ หรือได้บ้างไม่ได้บ้าง เป็นต้น ดังนั้น เมื่อพบข้อผิดพลาดเกิดขึ้น หน้าที่ของผู้เขียนโปรแกรมจะต้องพิจารณาให้รอบคอบว่าความผิดพลาดเกิดจากส่วนใด เพราะถ้าเกิดจากความผิดพลาดเรื่องของแรงดันที่ไม่เพียงพอเพราะสายเชื่อมต่อยาวทำให้เกิดค่าความต้านสูงจนไม่เพียงพอ แต่มัวหาที่ผิดของโปรแกรมก็จะทำให้ไม่สามารถแก้ปัญหาได้ตรงจุด ด้วยเหตุนี้ ก่อนเขียนโปรแกรมต้องตรวจสอบความถูกต้องของวงจรให้แน่ใจก่อนว่ามีความถูกต้องตามกฎของโอห์มเพื่อให้มั่นใจว่ากระแสและแรงดันเพียงพอต่อการทำงานของฮาร์ดแวร์ (ที่สำคัญอย่าลืมเชื่อมสายกราวด์เข้าร่วมกัน) ผู้เขียนโปรแกรมจึงมั่นใจได้ว่าโปรแกรมที่เขียนนั้นมีความผิดพลาดและใช้เวลากับการแก้ไขโปรแกรม

(C) 2020-2021, โดย อ.ดนัย เจษฎาฐิติกุล/อ.จารุต บุศราทิจ
ปรับปรุงเมื่อ 2021-05-20, 2021-06-01, 2021-09-11