วิธีการสร้างโวลต์มิเตอร์แบบดิจิตอลโดยใช้ Arduino

โวลต์มิเตอร์เป็นอุปกรณ์วัดแรงดันไฟฟ้าที่ใช้ในการวัดแรงดันไฟฟ้าในบางจุดในวงจรไฟฟ้า แรงดันไฟฟ้าคือความต่างศักย์ที่สร้างขึ้นระหว่างจุดสองจุดในวงจรไฟฟ้า โวลต์มิเตอร์มีสองประเภท โวลต์มิเตอร์บางตัวได้รับการออกแบบมาเพื่อวัดแรงดันไฟฟ้าของวงจร DC และโวลต์มิเตอร์อื่น ๆ มีไว้เพื่อวัดแรงดันไฟฟ้าในวงจรไฟฟ้ากระแสสลับ โวลต์มิเตอร์เหล่านี้มีลักษณะเพิ่มเติมออกเป็นสองประเภท หนึ่งคือโวลต์มิเตอร์แบบดิจิตอลซึ่งแสดงการวัดบนหน้าจอดิจิทัลและอีกอันคือโวลต์มิเตอร์แบบอะนาล็อกที่ใช้เข็มชี้ไปที่มาตราส่วนเพื่อแสดงการอ่านที่แน่นอน

ในโครงการนี้เราจะสร้างโวลต์มิเตอร์โดยใช้ Arduino Uno เราจะอธิบายการกำหนดค่าสองแบบของโวลต์มิเตอร์แบบดิจิทัลในบทความนี้ ในการกำหนดค่าแรกไมโครคอนโทรลเลอร์จะสามารถวัดแรงดันไฟฟ้าได้ในช่วง 0 - 5V ในการกำหนดค่าที่สองไมโครคอนโทรลเลอร์จะสามารถวัดแรงดันไฟฟ้าได้ในช่วง 0 - 50V

วิธีการสร้างโวลต์มิเตอร์แบบดิจิตอล

อย่างที่เราทราบกันดีว่าโวลต์มิเตอร์มีสองประเภทคือโวลต์มิเตอร์แบบอนาล็อกและโวลต์มิเตอร์แบบดิจิตอล มีโวลต์มิเตอร์แบบอะนาล็อกเพิ่มเติมบางประเภทที่ขึ้นอยู่กับโครงสร้างของอุปกรณ์ บางประเภทเหล่านี้ ได้แก่ โวลต์มิเตอร์แบบขดลวดแม่เหล็กถาวร, โวลต์มิเตอร์ชนิดวงจรเรียงกระแส, โวลต์มิเตอร์ประเภทเหล็กเคลื่อนที่เป็นต้นจุดประสงค์หลักของการแนะนำโวลต์มิเตอร์แบบดิจิตอลในตลาดเนื่องจากมีโอกาสเกิดข้อผิดพลาดมากกว่าในโวลต์มิเตอร์แบบอะนาล็อก ซึ่งแตกต่างจากโวลต์มิเตอร์แบบอะนาล็อกซึ่งใช้เข็มและมาตราส่วนโวลต์มิเตอร์แบบดิจิทัลจะแสดงค่าที่อ่านได้โดยตรงบนหน้าจอ สิ่งนี้จะลบความเป็นไปได้ของ ข้อผิดพลาดเป็นศูนย์. เปอร์เซ็นต์ของข้อผิดพลาดจะลดลง 5% ถึง 1% เมื่อเราเปลี่ยนจากโวลต์มิเตอร์แบบอนาล็อกเป็นโวลต์มิเตอร์แบบดิจิตอล

เมื่อเราทราบบทคัดย่อของโครงการนี้แล้วให้เรารวบรวมข้อมูลเพิ่มเติมและเริ่มสร้างโวลต์มิเตอร์แบบดิจิทัลโดยใช้ Arduino Uno

ขั้นตอนที่ 1: รวบรวมส่วนประกอบ

แนวทางที่ดีที่สุดในการเริ่มต้นโครงการคือการจัดทำรายการส่วนประกอบและทำการศึกษาส่วนประกอบเหล่านี้โดยสังเขปเนื่องจากไม่มีใครต้องการยึดติดอยู่ตรงกลางของโครงการเพียงเพราะส่วนประกอบที่ขาดหายไป รายการส่วนประกอบที่เราจะใช้ในโครงการนี้มีดังต่อไปนี้:

ขั้นตอนที่ 2: ศึกษาส่วนประกอบ

Arduino UNO เป็นบอร์ดไมโครคอนโทรลเลอร์ที่ประกอบด้วยไมโครชิป ATMega 328P และพัฒนาโดย Arduino.cc บอร์ดนี้มีชุดพินข้อมูลดิจิตอลและอะนาล็อกที่สามารถเชื่อมต่อกับบอร์ดหรือวงจรส่วนขยายอื่น ๆ บอร์ดนี้มีพินดิจิตอล 14 พินอนาล็อก 6 พินและตั้งโปรแกรมได้ด้วย Arduino IDE (Integrated Development Environment) ผ่านสาย USB ประเภท B ต้องใช้พลังงาน 5V บน และก รหัส Cในการดำเนินการ

LCD มีให้เห็นในอุปกรณ์อิเล็กทรอนิกส์ทุกชิ้นที่ต้องแสดงข้อความหรือตัวเลขหรือรูปภาพใด ๆ ให้กับผู้ใช้ LCD เป็นโมดูลการแสดงผลซึ่งใช้คริสตัลเหลวเพื่อสร้างภาพหรือข้อความที่มองเห็นได้ ก จอ LCD 16 × 2เป็นโมดูลอิเล็กทรอนิกส์ที่เรียบง่ายมากที่แสดง 16 ตัวอักษรต่อบรรทัดและรวมสองบรรทัดบนหน้าจอในแต่ละครั้ง เมทริกซ์ 5 × 7 พิกเซลใช้เพื่อแสดงอักขระใน LCD เหล่านี้

เขียงหั่นขนมเป็นอุปกรณ์ที่ไม่มีการบัดกรี ใช้ในการสร้างและทดสอบวงจรอิเล็กทรอนิกส์และการออกแบบต้นแบบชั่วคราว ส่วนประกอบอิเล็กทรอนิกส์ส่วนใหญ่เชื่อมต่อกับเขียงหั่นขนมเพียงแค่เสียบหมุดเข้ากับเขียงหั่นขนม แถบโลหะวางลงในรูของเขียงหั่นขนมและรูเชื่อมต่อในลักษณะเฉพาะ การเชื่อมต่อของรูดังแสดงในแผนภาพด้านล่าง:

ขั้นตอนที่ 3: แผนภาพวงจร

วงจรแรกที่มีช่วงการวัดตั้งแต่ 0 ถึง 5V แสดงไว้ด้านล่าง:

วงจรที่สองซึ่งมีช่วงการวัดตั้งแต่ 0 ถึง 50V แสดงไว้ด้านล่าง:

ขั้นตอนที่ 4: หลักการทำงาน

การทำงานของโครงการนี้ของโวลต์มิเตอร์แบบดิจิตอล DC ที่ใช้ Arduino อธิบายไว้ที่นี่ ในดิจิตอลโวลต์มิเตอร์แรงดันไฟฟ้าที่วัดได้ในรูปแบบอะนาล็อกจะถูกแปลงเป็นค่าดิจิทัลที่สอดคล้องกันโดยใช้ตัวแปลงอนาล็อกเป็นดิจิตอล

ในวงจรแรกที่มีช่วงการวัดตั้งแต่ 0 ถึง 5V อินพุตจะถูกนำไปที่อนาล็อก pin0 พินอนาล็อกจะอ่านค่าใดก็ได้ตั้งแต่ 0 ถึง 1024 จากนั้นค่าอนาล็อกนี้จะถูกแปลงเป็นดิจิทัลโดยคูณด้วยแรงดันไฟฟ้าทั้งหมดซึ่งก็คือ 5V และหารด้วยความละเอียดทั้งหมดซึ่งเท่ากับ 1024

ในวงจรที่สองเนื่องจากช่วงจะเพิ่มขึ้นจาก 5V เป็น 50V จึงต้องกำหนดค่าตัวแบ่งแรงดันไฟฟ้า วงจรแบ่งแรงดันไฟฟ้าทำโดยใช้ตัวต้านทาน 10k-ohm และ 100k-ohm การกำหนดค่าตัวแบ่งแรงดันไฟฟ้านี้ช่วยให้เรานำแรงดันไฟฟ้าเข้าสู่ช่วงของอินพุตอะนาล็อกของ Arduino Uno

การคำนวณทางคณิตศาสตร์ทั้งหมดทำได้ในการเขียนโปรแกรม Arduino Uno

ขั้นตอนที่ 5: การประกอบส่วนประกอบ

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

  1. เชื่อมต่อขา Vss และ Vdd ของโมดูล LCD เข้ากับกราวด์และ 5V ของบอร์ด Arduino ตามลำดับ หมุด Vee คือหมุดที่ใช้เพื่อปรับข้อ จำกัด ของการแสดงผล มันเชื่อมต่อกับโพเทนชิออมิเตอร์ที่มีพินหนึ่งเชื่อมต่อกับ 5V และอีกอันเชื่อมต่อกับกราวด์
  2. เชื่อมต่อขา RS และ E ของโมดูล LCD เข้ากับพิน 2 และพิน 3 ของบอร์ด Arduino ตามลำดับ ขา RW ของ LCD เชื่อมต่อกับกราวด์
  3. เนื่องจากเราจะใช้โมดูล LCD ในโหมดข้อมูล 4 บิตดังนั้นจึงใช้หมุดสี่ตัว D4 ถึง D7 หมุด D4-D7 ของโมดูล LCD เชื่อมต่อกับ pin4-pin7 ของบอร์ดไมโครคอนโทรลเลอร์
  4. ในวงจรแรกไม่มีวงจรเพิ่มเติมที่ด้านอินพุตเนื่องจากแรงดันไฟฟ้าสูงสุดที่วัดได้คือ 5V ในวงจรที่สองเนื่องจากช่วงการวัดอยู่ที่ 0-50V การกำหนดค่าตัวแบ่งแรงดันจะทำโดยใช้ตัวต้านทาน 10k-ohm และ 100k-ohm ต้องสังเกตว่าเหตุทั้งหมดเป็นเรื่องธรรมดา

ขั้นตอนที่ 6: เริ่มต้นกับ Arduino

หากคุณไม่คุ้นเคยกับ Arduino IDE มาก่อนไม่ต้องกังวลเพราะด้านล่างนี้คุณสามารถดูขั้นตอนการเขียนโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ได้อย่างชัดเจนโดยใช้ Arduino IDE คุณสามารถดาวน์โหลด Arduino IDE เวอร์ชันล่าสุดได้จากที่นี่และทำตามขั้นตอนด้านล่าง:

  1. เมื่อบอร์ด Arduino เชื่อมต่อกับพีซีของคุณแล้วให้เปิด“ แผงควบคุม” และคลิกที่“ ฮาร์ดแวร์และเสียง” จากนั้นคลิกที่“ อุปกรณ์และเครื่องพิมพ์” ค้นหาชื่อของพอร์ตที่บอร์ด Arduino ของคุณเชื่อมต่ออยู่ ในกรณีของฉันมันคือ“ COM14” แต่อาจแตกต่างกันในพีซีของคุณ
  2. เราจะต้องรวมไลบรารีเพื่อใช้โมดูล LCD ไลบรารีแนบอยู่ด้านล่างในลิงค์ดาวน์โหลดพร้อมกับรหัส ไปที่ ร่าง> รวมไลบรารี> เพิ่ม. ZIP Library
  3. ตอนนี้เปิด Arduino IDE จาก Tools ให้ตั้งค่าบอร์ด Arduino เป็น Arduino / Genuino UNO
  4. จากเมนูเครื่องมือเดียวกันให้ตั้งค่าหมายเลขพอร์ตที่คุณเห็นในแผงควบคุม
  5. ดาวน์โหลดรหัสที่แนบด้านล่างและคัดลอกไปยัง IDE ของคุณ ในการอัปโหลดรหัสให้คลิกที่ปุ่มอัปโหลด

คุณสามารถดาวน์โหลดรหัสได้โดยคลิกที่นี่

ขั้นตอนที่ 7: รหัส

รหัสค่อนข้างง่ายและแสดงความคิดเห็นได้ดี แต่ถึงกระนั้นก็มีการอธิบายไว้ด้านล่าง

1. ในตอนเริ่มต้นไลบรารีจะถูกใช้เพื่อให้เราสามารถเชื่อมต่อโมดูล LCD กับบอร์ด Arduino Uno และตั้งโปรแกรมให้เหมาะสม กว่าหมุดของบอร์ด Arduino จะเริ่มต้นซึ่งจะใช้เพื่อเชื่อมต่อกับโมดูล LCD จากนั้นตัวแปรที่แตกต่างกันจะถูกเตรียมใช้งานเพื่อเก็บค่าในเวลาทำงานซึ่งจะใช้ในการคำนวณในภายหลัง

# รวม "LiquidCrystal.h" // รวมไลบรารีเพื่อเชื่อมต่อโมดูล LCD กับบอร์ด Arduino LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // พินของโมดูล LCD ที่จะใช้แรงดันลอย = 0.0; อุณหภูมิลอย = 0.0; // ตัวแปรในการจัดเก็บค่าดิจิตอลของอินพุต int analog_value; // ตัวแปรเพื่อเก็บค่าอนาล็อกที่อินพุต

2. การตั้งค่าเป็นโมฆะ ()เป็นฟังก์ชันที่ทำงานเพียงครั้งเดียวเมื่ออุปกรณ์เริ่มทำงานหรือกดปุ่มเปิดใช้งาน ที่นี่เราได้กำหนดค่าเริ่มต้นของ LCD เพื่อเริ่มต้น เมื่อ LCD เริ่มต้นข้อความ“ Arduino Based Digital Voltmeter” จะปรากฏขึ้น อัตราบอดยังถูกตั้งค่าในฟังก์ชันนี้ Baud Rate คือความเร็วในหน่วยบิตต่อวินาทีที่ Arduino สื่อสารกับอุปกรณ์ภายนอก

การตั้งค่าเป็นโมฆะ () {lcd.begin (16, 2); // เริ่มการสื่อสารด้วย LCD lcd.setCursor (0,0); // เริ่มเคอร์เซอร์จากจุดเริ่มต้น lcd.print ("Arduino based"); // พิมพ์ข้อความในบรรทัดแรก lcd.setCursor (0,1); // ย้ายเคอร์เซอร์ไปยังบรรทัดถัดไป lcd.print ("Digital Voltmeter"); // พิมพ์ข้อความในบรรทัดที่สองล่าช้า (2000); // รอสองวินาที}

3. ห่วงเป็นโมฆะ ()เป็นฟังก์ชันที่ทำงานอย่างต่อเนื่องเป็นวง ที่นี่กำลังอ่านค่าอะนาล็อกที่ด้านอินพุต จากนั้นค่าอะนาล็อกนี้จะถูกแปลงเป็นรูปแบบดิจิทัล เงื่อนไขถูกนำไปใช้และการวัดขั้นสุดท้ายจะแสดงบนหน้าจอ LCD

โมฆะลูป () {analog_value = analogRead (A0); // การอ่านค่าอะนาล็อก temp = (analog_value * 5.0) / 1024.0; // การเปลี่ยนค่าอนาล็อกในแรงดันดิจิตอล = temp / (0.0909); ถ้า (แรงดันไฟฟ้า <0.1) {แรงดันไฟฟ้า = 0.0; } lcd.clear (); // ล้างข้อความใด ๆ บนหน้าจอ LCD lcd.setCursor (0, 0); // ย้ายเคอร์เซอร์ไปที่ตำแหน่งเริ่มต้น lcd.print ("Voltage ="); // พิมพ์ Voltgae = lcd.print (แรงดันไฟฟ้า); // พิมพ์ค่าดิจิตอลสุดท้ายของแรงดันไฟฟ้า lcd.setCursor (13,1); // ย้ายเคอร์เซอร์ lcd.print ("V"); // พิมพ์หน่วยแรงดันไฟฟ้าล่าช้า (30); // รอ 0.3 วินาที}

แอพพลิเคชั่น

แอพพลิเคชั่นบางตัวของโวลต์มิเตอร์แบบดิจิตอล ได้แก่ :

  1. วงจรที่ทำข้างต้นสามารถใช้เพื่อวัดช่วงแรงดันไฟฟ้าที่แตกต่างกันด้วยความแม่นยำสูงในวงจรไฟฟ้าใด ๆ
  2. หากเราทำการเปลี่ยนแปลงเล็กน้อยในวงจรไมโครคอนโทรลเลอร์ก็จะสามารถวัดแรงดันไฟฟ้าในวงจรไฟฟ้ากระแสสลับได้เช่นกัน
Facebook Twitter Google Plus Pinterest