สารบัญ:

Arduino Dual Channel Voltage Sensor Module: 8 ขั้นตอน
Arduino Dual Channel Voltage Sensor Module: 8 ขั้นตอน

วีดีโอ: Arduino Dual Channel Voltage Sensor Module: 8 ขั้นตอน

วีดีโอ: Arduino Dual Channel Voltage Sensor Module: 8 ขั้นตอน
วีดีโอ: โมดูลวัดแรงดันไฟฟ้า arduino 2024, พฤศจิกายน
Anonim
Arduino Dual Channel Voltage Sensor Module
Arduino Dual Channel Voltage Sensor Module
Arduino Dual Channel Voltage Sensor Module
Arduino Dual Channel Voltage Sensor Module
Arduino Dual Channel Voltage Sensor Module
Arduino Dual Channel Voltage Sensor Module

สองสามปีแล้วที่ฉันเขียนหนังสือสอนได้ ฉันคิดว่าถึงเวลาที่จะกลับมา ฉันต้องการสร้างเซ็นเซอร์วัดแรงดันไฟฟ้าเพื่อให้สามารถเชื่อมต่อกับแหล่งจ่ายไฟแบบตั้งโต๊ะได้ ฉันมีตัวจ่ายไฟแบบแปรผันได้สองแชนเนล แต่ไม่มีจอแสดงผล ดังนั้นฉันจึงต้องใช้โวลต์มิเตอร์เพื่อตั้งค่าแรงดันไฟฟ้า ฉันไม่ใช่วิศวกรไฟฟ้าหรือโปรแกรมเมอร์ ฉันทำสิ่งนี้เป็นงานอดิเรก ต้องบอกว่าฉันจะอธิบายสิ่งที่เราจะสร้างที่นี่และอาจไม่ใช่การออกแบบที่ดีที่สุดหรือการเขียนโค้ดที่ดีที่สุด แต่ฉันจะทำให้ดีที่สุด

ขั้นตอนที่ 1: เกี่ยวกับโครงการ

เกี่ยวกับโครงการ
เกี่ยวกับโครงการ
เกี่ยวกับโครงการ
เกี่ยวกับโครงการ
เกี่ยวกับโครงการ
เกี่ยวกับโครงการ

ประการแรก นี่เป็นเพียงการออกแบบเบื้องต้นของบางสิ่งที่มีเสถียรภาพและเชื่อถือได้มากกว่า ส่วนประกอบบางอย่างจะไม่สิ้นสุดในการออกแบบขั้นสุดท้าย ส่วนประกอบส่วนใหญ่ได้รับการคัดเลือกเพียงเพราะความพร้อมใช้งาน (ฉันมีมันในบ้านของฉัน) และไม่ใช่เพราะความน่าเชื่อถือ การออกแบบนี้ใช้สำหรับแหล่งจ่ายไฟ 15V แต่คุณสามารถเปลี่ยนส่วนประกอบแบบพาสซีฟบางส่วนได้ และสามารถทำงานได้กับแรงดันไฟฟ้าหรือกระแสไฟฟ้าใดๆ เซ็นเซอร์ปัจจุบันมีอยู่ใน 5A, 20A และ 30A คุณสามารถเลือกแอมแปร์และแก้ไขรหัสได้ เช่นเดียวกับเซ็นเซอร์แรงดันไฟฟ้าที่คุณสามารถเปลี่ยนค่าของตัวต้านทานและรหัสเพื่อวัดแรงดันไฟฟ้าที่สูงขึ้นได้

PCB ไม่มีค่าที่ตั้งไว้เนื่องจากคุณสามารถเปลี่ยนส่วนประกอบแบบพาสซีฟเพื่อให้ตรงกับความต้องการของพาวเวอร์ซัพพลายของคุณได้ ได้รับการออกแบบเพื่อเพิ่มแหล่งจ่ายไฟ

ขั้นตอนที่ 2: เซ็นเซอร์แรงดันไฟฟ้า

เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า
เซ็นเซอร์แรงดันไฟฟ้า

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

เราสามารถวัดได้เพียง 0-5 โวลต์โดยใช้อินพุตแบบอะนาล็อกของ Arduino เพื่อให้เราสามารถวัดได้มากถึง 15 โวลต์ เราจำเป็นต้องสร้างตัวแบ่งแรงดัน ตัวแบ่งแรงดันนั้นง่ายมาก และสามารถสร้างขึ้นได้โดยใช้ตัวต้านทานเพียง 2 ตัวในกรณีนี้ เราใช้ 30k และ 7.5k ที่จะให้เรา อัตราส่วน 5:1 จึงสามารถวัดค่าได้ 0-25 โวลต์

รายการชิ้นส่วนสำหรับเซ็นเซอร์แรงดัน

ตัวต้านทาน R1, R3 30k

ตัวต้านทาน R2, R4 7.5k

ขั้นตอนที่ 3: เซ็นเซอร์ปัจจุบัน

เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน
เซ็นเซอร์ปัจจุบัน

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

รายการชิ้นส่วนเซ็นเซอร์ปัจจุบัน

IC2, IC3 ASC712ELC-05A

C1, C3 1nF ตัวเก็บประจุ

C2, C4 0.1uF ตัวเก็บประจุ

ขั้นตอนที่ 4: เซ็นเซอร์อุณหภูมิและพัดลม

เซ็นเซอร์อุณหภูมิและพัดลม
เซ็นเซอร์อุณหภูมิและพัดลม
เซ็นเซอร์อุณหภูมิและพัดลม
เซ็นเซอร์อุณหภูมิและพัดลม
เซ็นเซอร์อุณหภูมิและพัดลม
เซ็นเซอร์อุณหภูมิและพัดลม

ฉันตัดสินใจเพิ่มการควบคุมอุณหภูมิลงในโมดูลเนื่องจากแหล่งจ่ายไฟส่วนใหญ่สร้างความร้อนได้ดี และเราต้องการระบบป้องกันความร้อนสูงเกินไป สำหรับเซ็นเซอร์อุณหภูมิ ฉันใช้ HDT11 และสำหรับการควบคุมพัดลม เราจะใช้ 2N7000 N-Channel MOSFET เพื่อขับเคลื่อนพัดลม CPU 5V วงจรค่อนข้างง่าย เราต้องใช้แรงดันไฟฟ้ากับเดรนของทรานซิสเตอร์ และเราใช้แรงดันบวกกับเกต ในกรณีนี้ เรากำลังใช้เอาต์พุตดิจิทัลของ Arduino เพื่อให้แรงดันนั้นและทรานซิสเตอร์จะเปิดขึ้นเพื่อให้พัดลมทำงาน มีพลัง

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

รายการเซ็นเซอร์อุณหภูมิและพัดลม

J2 DHT11 เซ็นเซอร์อุณหภูมิ

ตัวต้านทาน R8 10K

พัดลม J1 5V

Q1 2N7000 MOSFET

D1 1N4004 ไดโอด

ตัวต้านทาน R6 10K

ตัวต้านทาน R7 47K

ขั้นตอนที่ 5: วงจรไฟฟ้า

วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า

โมดูลทำงานบน 5V ดังนั้นเราจึงต้องการแหล่งพลังงานที่เสถียร ฉันใช้ตัวควบคุมแรงดันไฟฟ้า L7805 เพื่อให้การจ่ายไฟ 5V คงที่ ไม่ต้องพูดอะไรมากเกี่ยวกับวงจรนี้

รายการชิ้นส่วนวงจรไฟฟ้า

1 L7805 ตัวควบคุมแรงดันไฟฟ้า

C8 0.33uF ตัวเก็บประจุ

ตัวเก็บประจุ C9 0.1uF

ขั้นตอนที่ 6: LCD & เอาต์พุตแบบอนุกรม

LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม
LCD และเอาต์พุตแบบอนุกรม

ฉันออกแบบโมดูลเพื่อใช้กับ LCD เป็นหลัก แต่แล้วจึงตัดสินใจเพิ่มเอาต์พุตแบบอนุกรมเพื่อจุดประสงค์ในการดีบัก ฉันจะไม่ลงรายละเอียดเกี่ยวกับวิธีตั้งค่า I2C LCD เพราะฉันได้กล่าวถึงใน I2C LCD ที่สอนได้ก่อนหน้านี้ วิธีง่ายๆ ที่ฉันเพิ่ม LEDS ลงในเส้น Tx & Rx เพื่อแสดงกิจกรรม ฉันใช้อะแดปเตอร์ usb เป็นซีเรียลที่ฉันเชื่อมต่อกับโมดูล จากนั้นฉันเปิดจอภาพอนุกรมใน Arduino IDE และฉันเห็นค่าทั้งหมด ตรวจสอบให้แน่ใจว่าทุกอย่างทำงานตามที่ควรจะเป็น

LCD & Serial Out รายการอะไหล่

I2C 16x2 I2C LCD (ตัวเลือก 20x4)

LED7, LED8 0603 SMD LED

R12, R21 1K R0603 ตัวต้านทาน SMD

ขั้นตอนที่ 7: การเขียนโปรแกรม ISP & ATMega328P

การเขียนโปรแกรม ISP & ATMega328P
การเขียนโปรแกรม ISP & ATMega328P
การเขียนโปรแกรม ISP & ATMega328P
การเขียนโปรแกรม ISP & ATMega328P
การเขียนโปรแกรม ISP & ATMega328P
การเขียนโปรแกรม ISP & ATMega328P

อย่างที่ฉันพูดถึงในตอนต้น โมดูลนี้คือการออกแบบเพื่อสร้างการกำหนดค่าที่แตกต่างกัน เราจำเป็นต้องเพิ่มวิธีการตั้งโปรแกรม ATMega328 และอัปโหลดภาพร่างของเรา มีหลายวิธีในการเขียนโปรแกรมโมดูล หนึ่งในนั้นคือการใช้ Arduino เป็นโปรแกรมเมอร์ ISP เช่นเดียวกับใน ATMega คำสั่ง Bootloading ก่อนหน้าของฉันที่มี Arduino mega

หมายเหตุ:

- คุณไม่จำเป็นต้องมี Capacitor เพื่อโหลด ISP Sketch บน Arduino คุณจำเป็นต้องใช้มันเพื่อเบิร์น bootloader และอัพโหลด voltage_sensor Sketch

- ใน Arduino IDE เวอร์ชันใหม่กว่า คุณต้องเชื่อมต่อพิน 10 กับพิน 1 RESET ของ ATMega328

รายการชิ้นส่วนวงจร ISP & ATMega328P

U1 ATMega328P

XTAL1 16MHz HC-49S คริสตัล

ตัวเก็บประจุ C5, C6 22pf

ISP1 6 หัวเข็ม

ตัวต้านทาน R5 10K

รีเซ็ต 3x4x2 Tact SMD Switch

ขั้นตอนที่ 8: บันทึกย่อ & ไฟล์

โน้ต & ไฟล์
โน้ต & ไฟล์
โน้ต & ไฟล์
โน้ต & ไฟล์
โน้ต & ไฟล์
โน้ต & ไฟล์

นี่เป็นเพียงวิธีสำหรับฉันที่จะนำแนวคิดบางอย่างมาไว้ในอุปกรณ์ที่ใช้งานได้ ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้เป็นเพียงส่วนเสริมเล็กน้อยสำหรับแหล่งจ่ายไฟแบบตั้งโต๊ะแบบ Dual Channel ของฉัน ฉันได้รวมทุกสิ่งที่คุณต้องการเพื่อสร้างโมดูลของคุณเอง ไฟล์ Eagle CAD และแผนผังทั้งหมด ฉันได้รวมร่าง Arduino ไว้ด้วย มันง่ายมาก และฉันพยายามทำให้ง่ายต่อการเข้าใจและแก้ไข หากคุณมีคำถามใด ๆ อย่าลังเลที่จะถาม ฉันจะพยายามตอบ นี่เป็นโครงการที่เปิดกว้าง ยินดีต้อนรับข้อเสนอแนะ ฉันพยายามใส่ข้อมูลให้มากที่สุดเท่าที่จะทำได้ แต่ฉันพบว่ามีการแข่งขัน Arduino ล่าช้าและต้องการส่งข้อมูลนี้ ฉันจะเขียนส่วนที่เหลือเร็ว ๆ นี้ฉันได้ลบส่วนประกอบ SMD (ตัวต้านทานและ LED) และแทนที่ด้วยส่วนประกอบ TH ส่วนประกอบ SMD เดียวคือเซ็นเซอร์ปัจจุบันเพราะมันมีเฉพาะในแพ็คเกจ SOIC ไฟล์ ZIP มี ไฟล์ที่มีองค์ประกอบ TH

แนะนำ: