สารบัญ:

เครื่องวัดโวลต์มิเตอร์แบบดิจิตอลพร้อม CloudX: 6 ขั้นตอน
เครื่องวัดโวลต์มิเตอร์แบบดิจิตอลพร้อม CloudX: 6 ขั้นตอน

วีดีโอ: เครื่องวัดโวลต์มิเตอร์แบบดิจิตอลพร้อม CloudX: 6 ขั้นตอน

วีดีโอ: เครื่องวัดโวลต์มิเตอร์แบบดิจิตอลพร้อม CloudX: 6 ขั้นตอน
วีดีโอ: วิธีใช้มัลติมิเตอร์แบบดิจิตอลเบื้องต้น ย่านวัดต่างๆ ที่มือใหม่ควรรู้ บอกต่อจากประสบการณ์ตรง 2024, พฤศจิกายน
Anonim
โวลต์มิเตอร์แบบดิจิตอลพร้อม CloudX
โวลต์มิเตอร์แบบดิจิตอลพร้อม CloudX

แบตเตอรี่ให้พลังงาน DC (กระแสตรง) ที่บริสุทธิ์กว่าเมื่อใช้ในวงจร ระดับเสียงต่ำทำให้เหมาะสำหรับวงจรที่มีความละเอียดอ่อนมาก อย่างไรก็ตาม ในบางครั้งที่ระดับแรงดันไฟฟ้าต่ำกว่าจุดธรณีประตูที่กำหนด วงจร −(ซึ่งมีไว้สำหรับจ่ายไฟ) อาจเข้าสู่พฤติกรรมที่เอาแน่เอานอนไม่ได้ โดยเฉพาะอย่างยิ่งเมื่อไม่ได้ออกแบบมาอย่างดีเพื่อรองรับสิ่งนั้น

ดังนั้นจึงมีความจำเป็นต้องตรวจสอบระดับพลังงานแบตเตอรี่เป็นประจำเพื่อแนะนำเราอย่างถูกต้องว่าถึงกำหนดต้องเปลี่ยนใหม่ทั้งหมดหรือชาร์จเมื่อใด ในกรณีของแบตเตอรี่แบบชาร์จไฟได้ ดังนั้น ใน DIY นี้ (Do It Yourself) เราต้องออกแบบเครื่องวัดแรงดันแบตเตอรี่แบบง่ายๆ โดยใช้ CloudX โดยใช้ 7Segment เป็นจอแสดงผลของเรา

ขั้นตอนที่ 1: ข้อกำหนดฮาร์ดแวร์

โมดูลไมโครคอนโทรลเลอร์ CloudX

CloudX USB

ซอฟต์การ์ด

7Segment Display

ตัวต้านทาน

หน่วยจ่ายพลังงาน

เขียงหั่นขนม

สายจัมเปอร์ (ต่อ)

ขั้นตอนที่ 2: ไมโครคอนโทรลเลอร์ CloudX M633

ไมโครคอนโทรลเลอร์ CloudX M633
ไมโครคอนโทรลเลอร์ CloudX M633

โมดูลไมโครคอนโทรลเลอร์ CloudX

โมดูล CloudX เป็นเครื่องมือฮาร์ดแวร์การออกแบบทางอิเล็กทรอนิกส์ที่ช่วยให้คุณเชื่อมต่อกับโลกทางกายภาพได้อย่างสะดวกและง่ายดายผ่านบอร์ดไมโครคอนโทรลเลอร์ที่เรียบง่าย แพลตฟอร์มทั้งหมดใช้การคำนวณทางกายภาพแบบโอเพนซอร์ส ความเรียบง่ายของ IDE (Integrated Development Environment) ทำให้เหมาะอย่างยิ่งสำหรับผู้เริ่มต้น แต่ยังรักษาฟังก์ชันการทำงานที่เพียงพอเพื่อให้ผู้ใช้ขั้นสูงสามารถนำทางได้ โดยสรุปแล้ว CloudX มีกระบวนการที่ง่ายกว่ามากในการจัดการไมโครคอนโทรลเลอร์ โดยการแยกรายละเอียดที่ซับซ้อนตามปกติที่เกี่ยวข้องออกไป ในขณะเดียวกันก็นำเสนอแพลตฟอร์มประสบการณ์ผู้ใช้ที่หลากหลายมาก พบว่ามีการใช้งานที่หลากหลาย: โรงเรียนเป็นเครื่องมือทางการศึกษาที่ยอดเยี่ยม ผลิตภัณฑ์ทางอุตสาหกรรมและเชิงพาณิชย์ และเป็นเครื่องมืออรรถประโยชน์ที่ยอดเยี่ยมในมือของมือสมัครเล่น

ขั้นตอนที่ 3: ปักหมุดการเชื่อมต่อ

ปักหมุดการเชื่อมต่อ
ปักหมุดการเชื่อมต่อ

หมุด 7 ส่วน: A, B, C, D, E, F, G, 1, 2 และ 3 เชื่อมต่อกับ pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 และ pin11 ตามลำดับ

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

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

โมดูลไมโครคอนโทรลเลอร์ซึ่งอยู่ตรงกลางนี้สามารถเปิดเครื่องได้:

ไม่ว่าจะผ่านจุด Vin และ Gnd (เช่น เชื่อมต่อกับขั้ว +ve และ –ve ของหน่วยจ่ายไฟภายนอกของคุณตามลำดับ) บนกระดาน

หรือผ่านโมดูลซอฟต์การ์ด CloudX USB ของคุณ

. ยิ่งไปกว่านั้น ดังที่เห็นได้ง่ายจากแผนภาพวงจรด้านบน แรงดันไฟฟ้าของแบตเตอรี่อินพุตถูกเชื่อมต่อกับโมดูล MCU (ไมโครคอนโทรลเลอร์) โดยที่จุด – ของเครือข่ายตัวแบ่งแรงดันไฟฟ้า (ที่เกิดจากและ) เชื่อมต่อกับ A0 ของพิน MCU.

และได้รับการคัดเลือกในลักษณะที่จะ:

จำกัดปริมาณกระแสที่ไหลผ่านเครือข่าย

จำกัดภายในช่วงที่ปลอดภัย (0 – 5)V สำหรับ MCU

ใช้สูตร: VOUT = (R2/(R1+R2)) * VIN; และสามารถประเมินได้ง่าย

Voutmax = 5V

และสำหรับโครงการนี้ เราเลือก: Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 รับ R2 = 10kΩ เป็นต้น; R1 = 45/5 * 10 = 90kΩ

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

เมื่อแรงดันไฟฟ้าที่วัดได้อินพุตถูกอ่านผ่านจุด VOUT ของเครือข่ายตัวแบ่งแรงดันไฟฟ้า ข้อมูลจะได้รับการประมวลผลเพิ่มเติมใน MCU เพื่อประเมินเป็นค่าจริงสุดท้ายที่แสดงบนหน่วยเซ็กเมนต์ (การออกแบบระบบ) เป็นตัวกำหนดจุดทศนิยมอัตโนมัติ โดยที่ (จุดทศนิยม) จะเลื่อนตำแหน่งบนหน่วยแสดงผลตามสิ่งที่ค่าทศนิยมกำหนด ณ จุดใดเวลาหนึ่ง จากนั้นหน่วยแสดงผล 7-Segment ของฮาร์ดแวร์ทั้งหมดจะต่อสายในโหมดมัลติเพล็กซ์ เป็นการจัดเรียงพิเศษโดยบัสข้อมูลเดียวกัน (8-data pins) จาก MCU จะป้อน 7 ส่วนที่ทำงานอยู่สามส่วนในหน่วยแสดงผล การส่งรูปแบบข้อมูลลงในแต่ละชิ้นส่วนทำได้โดยกระบวนการที่เรียกว่าการสแกน การสแกนเป็นเทคนิคที่เกี่ยวข้องกับการส่งข้อมูลไปยังแต่ละองค์ประกอบ 7 ส่วน และเปิดใช้งาน (เช่น เปิดเครื่อง) ตามลำดับอย่างรวดเร็วเมื่อข้อมูลมาถึง อัตราการกล่าวถึงแต่ละคนนั้นทำได้สำเร็จในการหลอกลวงวิสัยทัศน์ของมนุษย์ให้เชื่อว่าพวกเขาทั้งหมด (ส่วนประกอบ) เปิดใช้งาน (กล่าวถึง) ในเวลาเดียวกัน (การสแกน) อย่างง่ายๆ ใช้ปรากฏการณ์ที่เรียกว่า Persistence Of Vision

ขั้นตอนที่ 6: โปรแกรมซอฟต์แวร์

#รวม

#รวม

#รวม

#define segment1 pin9

#define segment2 pin10

#define segment3 pin11

ลอย batt_voltage;

int decimalPoint, batt;

/*อาร์เรย์ที่เก็บรูปแบบเซ็กเมนต์สำหรับแต่ละหลักที่กำหนด*/

ถ่าน CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

ถ่าน CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

int disp0, disp1, disp2;

แสดง() {

ถ่านที่ไม่ได้ลงชื่อ i;

ถ้า (จุดทศนิยม < 10) {

disp0 = (int) batt_voltage /100; //ดึงข้อมูล MSD (ตัวเลขที่สำคัญที่สุด)

//เป็นน้ำหนักสูงสุด

/* เรียกเลขหลักถ่วงน้ำหนักตัวถัดไป และอื่นๆ */

disp1 = ((int) batt_voltage % 100)/10;

disp2 = ((int) batt_voltage % 10);

}

อื่น {

disp0 = (int) batt_voltage /1000;

disp1 = ((int) batt_voltage % 1000)/100;

disp2 = ((int) batt_voltage % 100)/10;

}

/*รูปแบบถูกเทออกเพื่อแสดง; และอักขระ 0x80 เพิ่มจุดทศนิยม

หากเงื่อนไขที่เกี่ยวข้องเป็นจริง*/

สำหรับ (i=0; i<50; i++) {

pin9 = pin10 = pin11 = สูง;

ถ้า (จุดทศนิยม < 10)

portWrite(1, CCathodeDisp[disp0] | 0x80);

อื่น portWrite(1, CCathodeDisp[disp0]);

เซ็กเมนต์ 1 = ต่ำ;

เซ็กเมนต์2 = สูง;

เซ็กเมนต์3 = สูง;

ความล่าช้า(5);

pin9 = pin10 = pin11 = สูง;

ถ้า((จุดทศนิยม >= 10) && (จุดทศนิยม < 100))

portWrite(1, CCathodeDisp[disp1] | 0x80);

อื่น portWrite(1, CCathodeDisp[disp1]);

ส่วนที่ 1 = สูง;

เซ็กเมนต์2 = ต่ำ;

เซ็กเมนต์3 = สูง;

ความล่าช้า(5);

pin9 = pin10 = pin11 = สูง;

ถ้า (จุดทศนิยม >= 100)

portWrite(1, CCathodeDisp[disp2] | 0x80);

อื่น portWrite(1, CCathodeDisp[disp2]);

ส่วนที่ 1 = สูง;

เซ็กเมนต์2 = สูง;

เซ็กเมนต์3 = ต่ำ;

ความล่าช้า(5);

}

}

ตั้งค่า(){ //ตั้งค่าที่นี่

analogSetting(); //พอร์ตอะนาล็อกเริ่มต้น

portMode(1, เอาท์พุท); // พิน 1 ถึง 8 กำหนดค่าเป็นพินเอาต์พุต

/* สแกนพินที่กำหนดค่าเป็นพินเอาต์พุต */

pin9Mode = เอาท์พุท;

pin10Mode = เอาท์พุท;

pin11Mode = เอาท์พุท;

portWrite(1, ต่ำ);

pin9 = pin10 = pin11 = สูง; // สแกนพิน (ซึ่งทำงานต่ำ)

// ถูกปิดการใช้งานเมื่อเริ่มต้น

loop(){ //โปรแกรมที่นี่

batt_voltage = analogRead (A0); //รับค่าที่วัดได้

batt_voltage = ((batt_voltage * 5000) / 1024); //ปัจจัยการแปลงสำหรับ 5Vin

batt_voltage = (batt_voltage * 50)/5000; //ปัจจัยการแปลงสำหรับ 50Vin

decimalPoint = batt_voltage; // ทำเครื่องหมายที่จุดทศนิยมปรากฏใน

//ค่าเดิมก่อนการจัดการข้อมูล

แสดง();

}

}

แนะนำ: