Simple and Low Cost Inductance Meter by Using Arduino UNO

โครงงานเล็กๆ อีกหนึ่งตัว สำหรับเป็นเครื่องมือให้กับการทดลองวงจรสวิตชิ่ง เพาเวอร์ซัพพลาย หรือวงจรคอนเวอร์เตอร์ต่างๆ ที่จะต้องเกี่ยวข้องกับการใช้ตัวเหนี่ยวนำในภาคการทำงานแต่ละส่วน ด้วยโครงงานเครื่องวัดค่าความเหนี่ยวนำอย่างง่ายและราคาประหยัด รวมทั้งใช้อุปกรณ์น้อย ซึ่งดัวโครงงานนี้จะใช้บอร์ดควบคุม Arduino UNO ในการประมวลผล และใช้ออปแอมป์ในการตรวจจับสัญญาณความถี่เรโซแนนท์ (Resonant Circuit) สำหรับส่งค่าสัญญาณให้บอร์ดประมวลผลประเมินค่าความเหนี่ยวนำที่ต้องการวัดค่า โดยให้การวัดค่าแล้วนำไปแสดงผลบนจอคอมพิวเตอร์ (PC) หรือโน๊ตบุก (Notebook) เพื่อลดค่าใช้จ่ายออกไป แต่สามารถนำจอแสดงผลอื่นมาต่อร่วมเพื่อใช้งานเพิ่มเติมภายหลังได้

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 1 การเตรียมอุปกรณ์ต่างๆ สำหรับพัฒนาโครงงาน
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 2 วงจรต้นแบบสำหรับใช้ทดลอง
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 3 การเตรียมการทดลองโครงงาน

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

/*
 Code Arduino inductance meter Ref.
 1. https://www.hackster.io/sainisagar7294/how-to-make-inductance-meter-using-arduino-b9cb20
 2. https://electronoobs.com/eng_arduino_tut10_3.php
 3. https://www.instructables.com/Inductance-Meter-Using-Arduino/
 4. https://create.arduino.cc/projecthub/sainisagar7294/how-to-make-inductance-meter-using-arduino-b9cb20 
*/

// D11 is the input to the circuit (connects to 150ohm resistor), D13 is the comparator/op-amp output.
double pulse, frequency, capacitance, inductance;
void setup(){ 
  Serial.begin(9600);
  Serial.println(" Start inductance meter ");
  pinMode(11, INPUT);
  pinMode(13, OUTPUT); 
  delay(500);
}
void loop(){
  digitalWrite(13, HIGH);
  delay(5); // give some time to charge inductor.
  digitalWrite(13,LOW);
  delayMicroseconds(100); // make sure resination is measured
  pulse = pulseIn(11,HIGH,5000); //returns 0 if timeout
  if(pulse > 0.1){ // if a timeout did not occur and it took a reading:    
    
 // #Error insert your used capacitance value here. Currently using 2uF. Delete this line after that
 // capacitance = 2.E-6; // Currently using 2uF
     capacitance = 1.E-6; // Currently using 1uF  
  
  frequency = 1.E6/(2*pulse);
  inductance = 1./(capacitance*frequency*frequency*4.*3.14159*3.14159); //one of my profs told me just do squares like this
  inductance *= 1E6; // note that this is the same as saying inductance = inductance*1E6

  // Display on Serial Monitor  
  Serial.print(" High for : ");
  Serial.print(pulse);
  Serial.print(" uS, ");
  Serial.print("frequency : ");
  Serial.print(frequency);
  Serial.print(" Hz, ");
  Serial.print("inductance : ");
  Serial.print(inductance);
  Serial.println(" uH");
  delay(100);  
  }
}

สำหรับโปรแกรมการทำงานที่แสดงข้างบนนี้ แอดมินได้ปรับบางส่วนจากโปรแกรมอ้างอิงต้นฉบับเดิมเล็กน้อย (เว็บไซต์อ้างอิงจะอยู่ส่วนหัวโปรแกรม) โดยรายละเอียดของการประมวลผลจะอยู่ที่บรรทัด inductance = 1./(capacitance*frequency*frequency*4.*3.14159*3.14159); เพื่อให้ได้ค่าความเหนี่ยวนำที่ต้องการวัด และผู้อ่านสามารถศึกษาเนื้อหาตามที่อ้างอิงท้ายโครงงานนี้ครับ

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 4 ลักษณะของตัวเหนี่ยวนำที่ระบุค่าเหนี่ยวนำและจะอ้างอิงในการทดลอง

รูปที่ 4 เป็นการนำตัวเหนี่ยวนำที่ระบุค่าเอาไว้ เพื่อนำมาเป็นตัวอ้างอิงในการทดลอง ซึ่งจากในรูปจะมีค่าเท่ากับ 22uH ที่อัตราการใช้กระแส 5A และค่าความต้านทานแฝงภายในที่ 0.015 โอห์ม

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 5 ตัวเหนี่ยวนำสำหรับทดลองที่ 1
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 6 สัญญาณที่ได้จากการวัดด้วยดิจิตอลออสซิลโลสโคปกับตัวเหนี่ยวนำที่ 1
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 7 แสดงผลที่ได้จากการวัดค่าของตัวเหนี่ยวนำตัวที่ 1

สำหรับในรูปที่ 5 ถึงรูปที่ 7 จะเป็นการทดลองที่ 1 โดยการวัดค่าตัวเหนี่ยวนำที่ทราบค่า (22uH) และเป็นการตรวจสอบผลการทำงานของโครงงาน ซึ่งในการทดลองจะเห็นลักษณะของสัญญาณที่เกิดขึ้นจากออสซิลโลสโคป และผลที่ได้จากการวัดค่าที่แสดงที่หน้าจอ Serial monitor ในโปรแกรม Arduino IDE และค่าที่วัดได้เท่ากับ 22.80uH

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 8 ตัวเหนี่ยวนำสำหรับทดลองที่ 2
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 9 สัญญาณที่ได้จากการวัดด้วยดิจิตอลออสซิลโลสโคปกับตัวเหนี่ยวนำที่ 2
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 10 แสดงผลที่ได้จากการวัดค่าของตัวเหนี่ยวนำตัวที่ 2

ในรูปที่ 8 ถึงรูปที่ 10 เป็นการทดลองที่ 2 โดยการทดลองนี้จะใช้ตัวเหนี่ยวนำที่มีขนาดใหญ่และจำนวนรอบพันในแกนเพิ่มขึ้นและสังเกตการทำงาน และค่าต่าที่ได้จากการวัดเท่ากับ 2659.08uH หรือเท่ากับ 2.659mH สำหรับในการทดลองนี้ ค่าความเหนี่ยวนำที่ได้จะมีค่ามากกว่าการทดลองที่ 1 มากๆ

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 11 ตัวเหนี่ยวนำสำหรับทดลองที่ 3
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 12 สัญญาณที่ได้จากการวัดด้วยดิจิตอลออสซิลโลสโคปกับตัวเหนี่ยวนำที่ 3
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 13 แสดงผลที่ได้จากการวัดค่าของตัวเหนี่ยวนำตัวที่ 3

ในรูปที่ 11 ถึงรูปที่ 13 เป็นการทดลองที่ 3 ซึ่งจะทดลองวัดค่าตัวเหนี่ยวนำ ที่มีค่าน้อยกว่าการทดลองที่ 1 มากๆ อีกแบบหนึ่งทั้งนี้เพื่อ เพื่อประเมินย่านวัดค่าความเหนี่ยวนำให้กับโครงงานที่จะนำมาวัด โดยค่าที่วัดได้เท่ากับ 4.96uH ซึ่งจากการทดลองตัวโครงงานสามารถวัดค่าได้ในช่วง 5uH-2.5mH ได้ดี แต่สามารถปรับย่านการทำงานเพิ่มเติมได้ตามต้องการ โดยวิธีปรับนั้นแนะนำให้อ่านเนื้อหาตามที่อ้างอิงท้ายโครงงาน

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 14 วงจรที่ใช้ในการทดลองโครงงาน

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

Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 15 ลักษณะของการทดลองการทำงานโครงงาน (1)
Simple and Low cost Inductance Meter by Using Arduino UNO
รูปที่ 16 ลักษณะของการทดลองการทำงานโครงงาน (2)

กับโครงงานเล็กๆ ตัวนี้คงใช้เวลาในการสร้างไม่นานนัก แต่สามารถนำไปใช้งานที่เกี่ยวกับการทดลองแหล่งจ่ายไฟเลี้ยงแบบสวิตชิ่งต่างๆ ได้หลายรูปแบบหรือวงจรคอนเวอร์เตอร์ เป็นต้น โดยจากการทดลองจะเห็นว่าตัวโครงงานสามารถวัดค่าความเหนี่ยวนำได้ในช่วง 5uH-2.5mH ซึ่งเป็นการออกแบบวงจรสวิตชิ่งทั่วไป ส่วนหนึ่งสำหรับโครงงานนี้คือ เป็นการใช้วงจรที่เรียบง่าย ราคาประหยัด ในการสร้างเครื่องมือไว้ใช้งานอีกแบบหนึ่งครับ.

Reference

  1. https://electronoobs.com/eng_arduino_tut10_3.php
  2. https://create.arduino.cc/projecthub/sainisagar7294/how-to-make-inductance-meter-using-arduino-b9cb20
  3. https://zenodo.org/record/2598878/files/%281-4%29DESIGN%20OF%20LC%20METER%20USING%20ARDUINO-format.pdf
  4. https://www.edabbles.com/2020/06/16/measuring-inductance-with-arduino-nano/
  5. https://circuitdigest.com/microcontroller-projects/arduino-lc-meter-measure-inductance
  6. https://www.instructables.com/Inductance-Meter-Using-Arduino/
  7. https://www.hackster.io/sainisagar7294/how-to-make-inductance-meter-using-arduino-b9cb20
  8. https://www.radiolocman.com/shem/schematics.html?di=162628
  9. https://www.researchgate.net/publication/323210258_Pneumatic_Muscle_With_Smart_Braid_Used_in_Orthosis
  10. https://create.arduino.cc/projecthub/osman_cyp/lcr-meter-ffcc38?ref=user&ref_id=1929905&offset=0