สารบัญ:

Digital USB C Powered Bluetooth Powersupply: 8 ขั้นตอน (พร้อมรูปภาพ)
Digital USB C Powered Bluetooth Powersupply: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Digital USB C Powered Bluetooth Powersupply: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Digital USB C Powered Bluetooth Powersupply: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: USB power supply 0-30V. 15W. or 2A. อธิบายการใช้งานแบบละเอียด 2024, กรกฎาคม
Anonim
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply
Digital USB C Powered Bluetooth Powersupply

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

ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างสิ่งนั้น: พาวเวอร์ซัพพลายแบบดิจิตอลซึ่งขับเคลื่อนผ่าน USB C มันเข้ากันได้กับ Arduino และสามารถควบคุมได้ผ่านพีซีผ่าน USB หรือผ่านโทรศัพท์ของคุณผ่าน Bluetooth

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

พาวเวอร์ซัพพลายสามารถขับเคลื่อนจากแบตเตอรีแบตเตอรี USB C หรือเครื่องชาร์จโทรศัพท์ ซึ่งช่วยให้จ่ายไฟได้มากถึง 15W ซึ่งเพียงพอสำหรับการจ่ายไฟให้กับอุปกรณ์อิเล็กทรอนิกส์ที่ใช้พลังงานต่ำส่วนใหญ่! เพื่อให้มี UI ที่ดีบนอุปกรณ์ขนาดเล็ก ฉันได้รวมบลูทูธและแอป Android สำหรับการควบคุมไว้ด้วย ซึ่งทำให้พาวเวอร์ซัพพลายนี้พกพาสะดวกเป็นพิเศษ!

ฉันจะแสดงขั้นตอนการออกแบบทั้งหมด และไฟล์โครงการทั้งหมดสามารถพบได้ในหน้า GitHub ของฉัน:

มาเริ่มกันเลย!

ขั้นตอนที่ 1: คุณสมบัติ & ราคา

คุณสมบัติ & ค่าใช้จ่าย
คุณสมบัติ & ค่าใช้จ่าย

คุณสมบัติ

  • ขับเคลื่อนโดย USB C
  • ควบคุมผ่านแอพ Android ผ่าน Bluetooth
  • ควบคุมผ่าน Java ผ่าน USB C
  • โหมดแรงดันคงที่และกระแสคงที่
  • ใช้ตัวควบคุมเชิงเส้นเสียงต่ำ นำหน้าด้วยตัวควบคุมล่วงหน้าเพื่อลดการกระจายพลังงาน
  • ขับเคลื่อนโดย ATMEGA32U4 ซึ่งตั้งโปรแกรมด้วย Arduino IDE
  • สามารถใช้พลังงานจากแบตเตอรี USB C เพื่อให้พกพาได้
  • การตรวจจับอุปกรณ์ชาร์จ USB C และ Apple
  • ปลั๊กกล้วยระยะห่าง 18 มม. เข้ากันได้กับอะแดปเตอร์ BNC

ข้อมูลจำเพาะ

  • 0 - 1A, ขั้นตอน 1 mA (10 บิต DAC)
  • 0 - 25V, ขั้นตอน 25 mV (10 บิต DAC) (การทำงาน 0V จริง)
  • การวัดแรงดันไฟฟ้า: ความละเอียด 25 mV (10 บิต ADC)
  • การวัดปัจจุบัน:< 40mA: ความละเอียด 10uA (ina219) < 80mA: ความละเอียด 20uA (ina219) < 160mA: ความละเอียด 40uA (ina219) < 320mA: ความละเอียด 80uA (ina219)> 320mA: ความละเอียด 1mA (ADC บิต 10 บิต)

ค่าใช้จ่าย

พาวเวอร์ซัพพลายทั้งหมดทำให้ฉันเสียค่าใช้จ่ายประมาณ 100 เหรียญสหรัฐฯ โดยมีส่วนประกอบแบบใช้ครั้งเดียวทั้งหมด แม้ว่าสิ่งนี้อาจดูมีราคาแพง แต่พาวเวอร์ซัพพลายที่มีประสิทธิภาพและคุณสมบัติน้อยกว่ามากมักจะมีราคาสูงกว่านี้ ถ้าคุณไม่รังเกียจที่จะสั่งซื้อส่วนประกอบจาก ebay หรือ aliexpress ราคาจะลดลงเหลือประมาณ $70 ใช้เวลานานกว่าชิ้นส่วนจะเข้ามา แต่เป็นตัวเลือกที่ใช้งานได้

ขั้นตอนที่ 2: แผนผังและทฤษฎีการดำเนินงาน

แผนผังและทฤษฎีการดำเนินงาน
แผนผังและทฤษฎีการดำเนินงาน

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

บล็อกหลัก

การดำเนินการนี้ใช้ชิป LT3080 ซึ่งเป็นตัวควบคุมแรงดันไฟฟ้าเชิงเส้น ซึ่งสามารถลดแรงดันไฟฟ้าลงได้ โดยอิงจากสัญญาณควบคุม สัญญาณควบคุมนี้จะถูกสร้างขึ้นโดยไมโครคอนโทรลเลอร์ วิธีการดำเนินการนี้จะอธิบายโดยละเอียดในภายหลัง

การตั้งค่าแรงดันไฟฟ้า

วงจรรอบ LT3080 สร้างสัญญาณควบคุมที่เหมาะสม อันดับแรก เราจะมาดูกันว่าแรงดันไฟฟ้าถูกตั้งค่าอย่างไร การตั้งค่าแรงดันไฟฟ้าจากไมโครคอนโทรลเลอร์คือสัญญาณ PWM (PWM_Vset) ซึ่งกรองโดยตัวกรองความถี่ต่ำ (C23 & R32) สิ่งนี้สร้างแรงดันแอนะล็อก - ระหว่าง 0 ถึง 5 V - เป็นสัดส่วนกับแรงดันเอาต์พุตที่ต้องการ เนื่องจากช่วงเอาต์พุตของเราคือ 0 - 25 V เราจะต้องขยายสัญญาณนี้ด้วยปัจจัย 5 ซึ่งทำได้โดยการกำหนดค่า opamp แบบไม่กลับด้านของ U7C เกนของพินที่ตั้งถูกกำหนดโดย R31 และ R36 ตัวต้านทานเหล่านี้มีความทนทาน 0.1% เพื่อลดข้อผิดพลาด R39 และ R41 ไม่สำคัญที่นี่ เนื่องจากเป็นส่วนหนึ่งของวงจรป้อนกลับ

การตั้งค่าปัจจุบัน

พินชุดนี้ยังสามารถใช้สำหรับการตั้งค่าที่สอง: โหมดปัจจุบัน เราต้องการวัดการดึงปัจจุบัน และปิดเอาต์พุตเมื่อเกินกระแสที่ต้องการ ดังนั้นเราจึงเริ่มต้นอีกครั้งด้วยสัญญาณ PWM (PWM_Iset) ที่สร้างโดยไมโครคอนโทรลเลอร์ ซึ่งขณะนี้ถูกกรองความถี่ต่ำและลดทอนเพื่อให้เปลี่ยนจากช่วง 0 - 5 V เป็นช่วง 0 - 2.5 V แรงดันไฟฟ้านี้ถูกเปรียบเทียบกับแรงดันไฟฟ้าตกคร่อมตัวต้านทานความรู้สึกปัจจุบัน (ADC_Iout ดูด้านล่าง) โดยการกำหนดค่าตัวเปรียบเทียบของ opamp U1B หากกระแสไฟสูงเกินไป จะเป็นการเปิดไฟ LED และดึงเส้นที่ตั้งไว้ของ LT3080 ลงกราวด์ (ผ่าน Q1) ซึ่งเป็นการปิดเอาต์พุต การวัดกระแสและการสร้างสัญญาณ ADC_Iout ทำได้ดังนี้ กระแสไฟขาออกไหลผ่านตัวต้านทาน R22 เมื่อกระแสไหลผ่านตัวต้านทานนี้ มันจะสร้างแรงดันตก ซึ่งเราสามารถวัดได้ และวางไว้ก่อน LT3080 เนื่องจากแรงดันตกคร่อมมันไม่ส่งผลต่อแรงดันเอาต์พุต แรงดันตกคร่อมวัดด้วยดิฟเฟอเรนเชียลแอมพลิฟายเออร์ (U7B) ด้วยอัตราขยาย 5 ซึ่งส่งผลให้ช่วงแรงดันไฟฟ้า 0 - 2.5 V (เพิ่มเติมในภายหลัง) ดังนั้นตัวแบ่งแรงดันที่สัญญาณ PWM ของกระแส บัฟเฟอร์ (U7A) อยู่ที่นั่นเพื่อให้แน่ใจว่ากระแสที่ไหลเข้าสู่ตัวต้านทาน R27, R34 และ R35 ไม่ผ่านตัวต้านทานความรู้สึกปัจจุบัน ซึ่งจะส่งผลต่อการอ่าน โปรดทราบว่านี่ควรเป็น opamp แบบ rail-to-rail เนื่องจากแรงดันไฟฟ้าขาเข้าที่อินพุตบวกเท่ากับแรงดันไฟฟ้าของแหล่งจ่าย แอมพลิฟายเออร์แบบไม่กลับด้านมีไว้สำหรับการวัดหลักสูตรเท่านั้น สำหรับการวัดที่แม่นยำมาก เรามีชิป INA219 อยู่บนบอร์ด ชิปนี้ช่วยให้เราวัดกระแสขนาดเล็กมาก และจัดการผ่าน I2C

สิ่งเพิ่มเติม

ที่เอาต์พุตของ LT3080 เรามีบางอย่างเพิ่มเติม อย่างแรกเลย มีซิงก์ปัจจุบัน (LM334) สิ่งนี้ดึงกระแสคงที่ 677 uA (กำหนดโดยตัวต้านทาน R46) เพื่อทำให้ LT3080 เสถียร อย่างไรก็ตามมันไม่ได้เชื่อมต่อกับกราวด์ แต่กับ VEE ซึ่งเป็นแรงดันลบ นี่เป็นสิ่งจำเป็นเพื่อให้ LT3080 ทำงานที่ 0 V เมื่อเชื่อมต่อกับกราวด์ แรงดันไฟฟ้าต่ำสุดจะอยู่ที่ประมาณ 0.7 V ซึ่งดูเหมือนต่ำเพียงพอ แต่โปรดจำไว้ว่าสิ่งนี้จะป้องกันไม่ให้เราปิดพาวเวอร์ซัพพลายโดยสมบูรณ์ น่าเสียดายที่วงจรนี้อยู่ที่เอาต์พุตของ LT3080 ซึ่งหมายความว่ากระแสของวงจรจะส่งผลต่อกระแสเอาต์พุตที่เราต้องการวัด โชคดีที่ค่าคงที่ทำให้เราสามารถปรับเทียบกระแสนี้ได้ ซีเนอร์ไดโอด D7 ใช้เพื่อยึดแรงดันเอาต์พุตหากสูงกว่า 25 V และตัวแบ่งตัวต้านทานจะลดช่วงแรงดันเอาต์พุตจาก 0 - 25 V เป็น 0 - 2.5 V (ADC_Vout) บัฟเฟอร์ (U7D) ช่วยให้มั่นใจได้ว่าตัวต้านทานจะไม่ดึงกระแสจากเอาต์พุต

ปั๊มชาร์จ

แรงดันลบที่เรากล่าวถึงก่อนหน้านี้ถูกสร้างขึ้นโดยวงจรเล็กๆ ที่แปลกประหลาด นั่นคือ ปั๊มประจุ มันถูกป้อนโดย 50% PWM ของไมโครคอนโทรลเลอร์ (PWM)

Boost Converter

ทีนี้มาดูแรงดันไฟฟ้าขาเข้าของบล็อกหลักของเรา: VCC เราเห็นว่ามันคือ 5 - 27V แต่เดี๋ยวก่อน USB ให้สูงสุด 5 V? ที่จริงแล้ว นั่นคือเหตุผลที่เราต้องเพิ่มแรงดันไฟฟ้าด้วยตัวแปลงบูสต์ที่เรียกว่า เราสามารถเพิ่มแรงดันไฟฟ้าเป็น 27 V ได้เสมอ ไม่ว่าเราต้องการเอาต์พุตอะไร อย่างไรก็ตาม สิ่งนี้จะสิ้นเปลืองพลังงานอย่างมากใน LT3080 และสิ่งต่างๆ จะร้อนจัด! ดังนั้นแทนที่จะทำเช่นนั้น เราจะเพิ่มแรงดันไฟให้มากกว่าแรงดันเอาต์พุตเล็กน้อย ประมาณ 2.5 V ที่สูงกว่านั้นเหมาะสม เพื่อพิจารณาแรงดันไฟฟ้าตกในตัวต้านทานความรู้สึกปัจจุบันและแรงดันตกคร่อมของ LT3080 แรงดันไฟฟ้าถูกกำหนดโดยตัวต้านทานบนสัญญาณเอาท์พุตของตัวแปลงบูสต์ ในการเปลี่ยนแรงดันไฟฟ้านี้ในทันที เราใช้โพเทนชิออมิเตอร์แบบดิจิตอล MCP41010 ซึ่งควบคุมผ่าน SPI

USB C

สิ่งนี้นำเราไปสู่แรงดันไฟฟ้าขาเข้าที่แท้จริง: พอร์ต USB! เหตุผลที่ใช้ USB C (ตามตรง USB Type 3.1 คือ USB C เฉพาะประเภทตัวเชื่อมต่อ) เป็นเพราะยอมให้กระแสไฟที่ 3A ที่ 5V ซึ่งถือว่าเพียงพอแล้ว แต่มีสิ่งที่จับได้ อุปกรณ์ต้องเป็นไปตามข้อกำหนดในการวาดปัจจุบันและ 'เจรจา' กับอุปกรณ์โฮสต์ ในทางปฏิบัติ ทำได้โดยเชื่อมต่อตัวต้านทานแบบดึงลง 5.1k สองตัว (R12 และ R13) กับสาย CC1 และ CC2 สำหรับความเข้ากันได้ของ USB 2 เอกสารประกอบมีความชัดเจนน้อยกว่า กล่าวโดยย่อ: คุณวาดอะไรก็ได้ที่คุณต้องการ ตราบใดที่โฮสต์สามารถให้ได้ สามารถตรวจสอบได้โดยการตรวจสอบแรงดันไฟฟ้าบัส USB: หนึ่งแรงดันไฟฟ้าลดลงต่ำกว่า 4.25V อุปกรณ์ดึงกระแสไฟมากเกินไป สิ่งนี้ถูกตรวจพบโดยตัวเปรียบเทียบ U1A และจะปิดการใช้งานเอาต์พุต นอกจากนี้ยังส่งสัญญาณไปยังไมโครคอนโทรลเลอร์เพื่อตั้งค่ากระแสสูงสุด เป็นโบนัส เพิ่มตัวต้านทานเพื่อสนับสนุนการตรวจจับ ID เครื่องชาร์จของเครื่องชาร์จ apple และ samsung

ตัวควบคุม 5V

แรงดันไฟฟ้า 5 V ของ Arduino มักจะมาจาก USB โดยตรง แต่เนื่องจากแรงดันไฟฟ้า USB สามารถเปลี่ยนแปลงได้ระหว่าง 4.5 ถึง 5.5 V ตามข้อมูลจำเพาะของ USB นี่จึงยังไม่แม่นยำเพียงพอ ดังนั้นจึงใช้ตัวควบคุม 5V ซึ่งสามารถสร้าง 5V จากแรงดันไฟฟ้าที่ต่ำกว่าและสูงกว่า ถึงกระนั้นแรงดันไฟฟ้านี้ก็ไม่แม่นยำอย่างยิ่ง แต่จะแก้ไขได้โดยขั้นตอนการสอบเทียบซึ่งวงจรการทำงานของสัญญาณ PWM จะถูกปรับตามนั้น แรงดันไฟฟ้า e นี้วัดโดยตัวแบ่งแรงดันไฟฟ้าที่สร้างโดย R42 และ R43 แต่เนื่องจากฉันไม่มีอินพุตว่างอีกแล้ว ฉันจึงต้องดึงพินสองหน้าที่ เมื่อบูทพาวเวอร์ซัพพลาย พินนี้จะถูกตั้งค่าเป็นอินพุตก่อน: มันวัดรางจ่ายไฟและปรับเทียบตัวเอง ถัดไป มันถูกตั้งค่าเป็นเอาต์พุต และสามารถขับเส้นเลือกชิปของโพเทนชิออมิเตอร์ได้

แรงดันอ้างอิง 2.56 V

ชิปตัวเล็กนี้ให้การอ้างอิงแรงดันไฟฟ้า 2.56 V ที่แม่นยำมาก ใช้เป็นข้อมูลอ้างอิงสำหรับสัญญาณแอนะล็อก ADC_Vout, ADC_Iout, ADC_Vbatt นั่นเป็นเหตุผลที่เราต้องการตัวแบ่งแรงดันไฟฟ้าเพื่อลดสัญญาณเหล่านี้ลงที่ 2.5 V

FTDI

ส่วนสุดท้ายของพาวเวอร์ซัพพลายนี้คือการเชื่อมต่อกับโลกภายนอกที่โหดร้าย สำหรับสิ่งนี้ เราจำเป็นต้องแปลงสัญญาณอนุกรมเป็นสัญญาณ USB โชคดีที่ ATMEGA32U4 ทำสิ่งนี้ ซึ่งเป็นชิปตัวเดียวกับที่ใช้ใน Arduino Micro

บลูทู ธ

ส่วน Bluetooth นั้นเรียบง่ายมาก: มีการเพิ่มโมดูล Bluetooth ที่วางจำหน่ายแล้วและดูแลทุกอย่างให้เรา เนื่องจากระดับลอจิกคือ 3.3V (VS 5V สำหรับไมโครคอนโทรลเลอร์) จึงใช้ตัวแบ่งแรงดันไฟฟ้าเพื่อปรับระดับสัญญาณ

และนั่นคือทั้งหมดที่มี!

ขั้นตอนที่ 3: PCB & อิเล็กทรอนิกส์

PCB & อิเล็กทรอนิกส์
PCB & อิเล็กทรอนิกส์
PCB & อิเล็กทรอนิกส์
PCB & อิเล็กทรอนิกส์
PCB & อิเล็กทรอนิกส์
PCB & อิเล็กทรอนิกส์

ตอนนี้เราเข้าใจวิธีการทำงานของวงจรแล้ว ก็เริ่มสร้างวงจรได้เลย! คุณสามารถสั่งซื้อ PCB ออนไลน์จากผู้ผลิตที่คุณชื่นชอบ (ราคาของฉันประมาณ $ 10) ไฟล์ gerber สามารถพบได้ใน GitHub ของฉันพร้อมกับรายการวัสดุ การประกอบ PCB นั้นโดยทั่วไปแล้วเป็นเรื่องของการบัดกรีส่วนประกอบให้เข้าที่ตามซิลค์สกรีนและรายการวัสดุ

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

ง่ายที่สุดที่จะทำส่วนประกอบที่ด้านหน้าก่อน จากนั้นจึงทำด้านหลังและปิดท้ายด้วยส่วนประกอบที่เป็นรู เมื่อทำเช่นนี้ PCB จะไม่วอกแวกเมื่อทำการบัดกรีส่วนประกอบที่ยากที่สุด ส่วนประกอบสุดท้ายที่จะบัดกรีคือโมดูล Bluetooth

สามารถบัดกรีส่วนประกอบทั้งหมดได้ ยกเว้นแม่แรงกล้วย 2 อัน ซึ่งเราจะทำการติดตั้งในขั้นตอนต่อไป!

ขั้นตอนที่ 4: เคสและการประกอบ

เคสและการประกอบ
เคสและการประกอบ
เคสและการประกอบ
เคสและการประกอบ
เคสและการประกอบ
เคสและการประกอบ

ด้วยการทำ pcb เราสามารถไปยังเคสได้ ฉันออกแบบ PCB รอบเคสอะลูมิเนียม 20x50x80 มม. โดยเฉพาะ (https://www.aliexpress.com/item/Aluminum-PCB-Instr…) ดังนั้นจึงไม่แนะนำให้ใช้เคสอื่น อย่างไรก็ตาม คุณสามารถพิมพ์เคสสามมิติที่มีขนาดเท่ากันได้เสมอ

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

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

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

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

รหัส Arduino
รหัส Arduino

สมองของโครงการนี้คือ ATMEGA32U4 ซึ่งเราจะตั้งโปรแกรมด้วย Arduino IDE ในส่วนนี้ ผมจะพูดถึงการใช้งานพื้นฐานของโค้ด โดยสามารถดูรายละเอียดได้จากความคิดเห็นภายในโค้ด

โดยทั่วไปโค้ดจะวนซ้ำตามขั้นตอนเหล่านี้:

  1. ส่งข้อมูลไปที่แอพ
  2. อ่านข้อมูลจากแอพ
  3. วัดแรงดัน
  4. วัดกระแส
  5. ปุ่มแบบสำรวจ

กระแสไฟเกิน USB ได้รับการจัดการโดยรูทีนบริการขัดจังหวะเพื่อให้ตอบสนองได้มากที่สุด

ก่อนที่ชิปจะสามารถตั้งโปรแกรมผ่าน USB ได้ ตัวโหลดบูตควรถูกเบิร์น ทำได้ผ่านพอร์ต ISP/ICSP (ส่วนหัวชาย 3x2) ผ่านโปรแกรมเมอร์ ISP ตัวเลือกคือ AVRISPMK2, USBTINY ISP หรือ Arduino เป็น ISP ตรวจสอบให้แน่ใจว่าบอร์ดได้รับพลังงานและกดปุ่ม 'burn bootloader'

ขณะนี้สามารถอัปโหลดโค้ดไปยังบอร์ดผ่านพอร์ต USB C ได้แล้ว (เนื่องจากชิปมี bootloader) บอร์ด: Arduino Micro Programmer: AVR ISP / AVRISP MKII ตอนนี้เราสามารถดูที่การโต้ตอบระหว่าง Arduino และพีซี

ขั้นตอนที่ 6: แอพ Android

แอพ Android
แอพ Android

ตอนนี้เรามีพาวเวอร์ซัพพลายที่ทำงานได้อย่างสมบูรณ์ แต่ยังไม่สามารถควบคุมได้ น่ารำคาญมาก ดังนั้นเราจะสร้างแอป Android เพื่อควบคุมพาวเวอร์ซัพพลายผ่านบลูทูธ

แอพนี้ถูกสร้างขึ้นด้วยโปรแกรมนักประดิษฐ์แอพ MIT สามารถรวมไฟล์ทั้งหมดเพื่อโคลนและแก้ไขโครงการ ขั้นแรก ดาวน์โหลดแอปคู่หู MIT AI2 ลงในโทรศัพท์ของคุณ ถัดไป นำเข้าไฟล์.aia บนเว็บไซต์ AI นอกจากนี้ยังช่วยให้คุณสามารถดาวน์โหลดแอปบนโทรศัพท์ของคุณเองโดยเลือก "สร้าง>แอป (ระบุรหัส QR สำหรับ.apk)"

ในการใช้แอพ ให้เลือกอุปกรณ์ Bluetooth จากรายการ: จะแสดงเป็นโมดูล HC-05 เมื่อเชื่อมต่อแล้ว สามารถเปลี่ยนการตั้งค่าทั้งหมดและอ่านเอาต์พุตของพาวเวอร์ซัพพลายได้

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

รหัส Java
รหัส Java

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

เราเริ่มต้นด้วยการสร้างหน้าต่างที่มีปุ่ม ฟิลด์ข้อความ ฯลฯ สิ่ง GUI พื้นฐาน

ส่วนที่สนุกก็มาถึงแล้ว: การเพิ่มพอร์ต USB ซึ่งฉันใช้ไลบรารี jSerialComm เมื่อเลือกพอร์ตแล้ว java จะรับฟังข้อมูลที่เข้ามา เรายังสามารถส่งข้อมูลไปยังอุปกรณ์

นอกจากนี้ ข้อมูลขาเข้าทั้งหมดจะถูกบันทึกลงในไฟล์ csv สำหรับการจัดการข้อมูลในภายหลัง

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

แม้ว่าโปรแกรมจะค่อนข้างธรรมดา แต่ก็มีประโยชน์มากในการควบคุมผ่านพีซีและบันทึกข้อมูล

ขั้นตอนที่ 8:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

หลังจากทั้งหมดนี้ เราก็มีพาวเวอร์ซัพพลายที่ทำงานได้อย่างสมบูรณ์!

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

หากคุณชอบโครงการนี้ โปรดลงคะแนนให้ฉันในการประกวดขนาดพกพาและไมโครคอนโทรลเลอร์ ฉันจะขอบคุณมาก!

แนะนำ: