สารบัญ:

บอร์ดไมโครคอนโทรลเลอร์ทั้งหมดในหนึ่งเดียว: 8 ขั้นตอน
บอร์ดไมโครคอนโทรลเลอร์ทั้งหมดในหนึ่งเดียว: 8 ขั้นตอน

วีดีโอ: บอร์ดไมโครคอนโทรลเลอร์ทั้งหมดในหนึ่งเดียว: 8 ขั้นตอน

วีดีโอ: บอร์ดไมโครคอนโทรลเลอร์ทั้งหมดในหนึ่งเดียว: 8 ขั้นตอน
วีดีโอ: ขั้นตอนให้ไมโครคอนโทรลเลอร์ใช้งานได้ 2024, กรกฎาคม
Anonim
บอร์ดไมโครคอนโทรลเลอร์ทั้งหมดในหนึ่งเดียว
บอร์ดไมโครคอนโทรลเลอร์ทั้งหมดในหนึ่งเดียว

ในการออกแบบบอร์ดไมโครคอนโทรลเลอร์แบบ all-in-one นี้มีวัตถุประสงค์เพื่อให้ใช้งานได้มากกว่า Arduino หลังจากประมาณ 100 ชั่วโมงของการออกแบบ ฉันได้ตัดสินใจแชร์กับชุมชน ฉันหวังว่าคุณจะขอบคุณสำหรับความพยายามและสนับสนุน (มีคำถามใดๆ หรือ ข้อมูลจะยินดี)

ขั้นตอนที่ 1: วัตถุประสงค์

วัตถุประสงค์
วัตถุประสงค์
วัตถุประสงค์
วัตถุประสงค์

โครงการใด ๆ มีความต้องการที่แตกต่างกัน: เซ็นเซอร์ แอคทูเอเตอร์ และการคำนวณ วิธีที่ประหยัดที่สุดคือไมโครคอนโทรลเลอร์เช่น Arduino ใด ๆ ในกรณีนี้ ฉันใช้ไมโครคอนโทรลเลอร์ช่วง PIC16F ตัวใดตัวหนึ่งเนื่องจากฉันคุ้นเคยดีกว่า

ข้อมูล PIC16F1829:

ทางเศรษฐกิจ;)

ภายใน 32 MHz

อินเทอร์เฟซ UART หรือ USB (ch340)

SPI หรือ I2C x2

ตัวจับเวลา (8/16 บิต) x4 x1

ADC 10 บิต x12

I / O's x18

และอื่นๆ อีกมากมาย (ข้อมูลในแผ่นข้อมูล)

มีแพ็คเกจที่แตกต่างกัน แต่เมื่อทำการผลิต PCB ที่ไม่ได้ทำด้วยมือ แพ็คเกจที่เล็กที่สุดก็ถูกที่สุดเช่นกัน

ขั้นตอนที่ 2: อัปเกรดสำหรับ MCU

การอัพเกรดสำหรับ MCU
การอัพเกรดสำหรับ MCU
การอัพเกรดสำหรับ MCU
การอัพเกรดสำหรับ MCU

ไมโครคอนโทรลเลอร์ต้องการตัวเก็บประจุและการกำหนดค่าฮาร์ดแวร์สำหรับพินรีเซ็ต แต่ไม่เพียงพอ

- วงจรจ่ายไฟ

- การอัพเกรดฮาร์ดแวร์

- บูตโหลดเดอร์

- ส่วนต่อประสานกับมนุษย์

- การกำหนดค่าพิน

ขั้นตอนที่ 3: วงจรพาวเวอร์ซัพพลาย

วงจรจ่ายไฟ
วงจรจ่ายไฟ
วงจรจ่ายไฟ
วงจรจ่ายไฟ

- การป้องกันการขั้วของพาวเวอร์ซัพพลาย (MOSFET-P)

ฉันใช้ประโยชน์จากไดโอดภายในของมอสเฟตเพื่อขับและเมื่อเกิดเหตุการณ์นั้น Gate Voltage ก็เพียงพอที่จะมี RDSon link_info ที่ต่ำมาก

- ตัวควบคุมแรงดันไฟฟ้า (VCO) ตัวควบคุมทั่วไป ฉันใช้ LD1117AG และบรรจุ TO-252-2(DPAK) เหมือนกับ lm7805 แต่ราคาถูกกว่าและ LDO

- ฟิลเตอร์ capacitive ทั่วไป (100n)

- ฟิวส์สำหรับจ่ายไฟ USB

เพื่อป้องกันมากกว่า 1A

- ตัวกรองเฟอร์ไรต์สำหรับไฟ USB

อยู่ระหว่างการทดสอบ

ขั้นตอนที่ 4: การอัพเกรดฮาร์ดแวร์

การอัพเกรดฮาร์ดแวร์
การอัพเกรดฮาร์ดแวร์
การอัพเกรดฮาร์ดแวร์
การอัพเกรดฮาร์ดแวร์

เพื่อวัตถุประสงค์ทั่วไปฉันตัดสินใจเพิ่ม:

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

พินรีเซ็ตถูกปฏิเสธ ซึ่งจะรีเซ็ต MCU เมื่อเป็น 0V วงจร RC (ความต้านทานของตัวเก็บประจุ) ทำให้พัลส์ยาวขึ้น และไดโอดจะคายประจุตัวเก็บประจุเมื่อ VCC เป็น 0V

- N-Channel Mosfet AO3400A

เนื่องจากไมโครคอนโทรลเลอร์มาตรฐานไม่สามารถให้มากกว่า 20mA หรือ 3mA ต่อพิน บวกกับกำลังจำกัดการใช้พลังงานทั้งหมดไว้ที่ 800mA และมอสเฟตสามารถใช้การสื่อสารการแปลง 5V ถึง 3.3V ได้

- OP-AMP LMV358A

เพื่อขยายสัญญาณที่อ่อนมาก เอาต์พุตที่มีความต้านทานต่ำและเครื่องมือวัดเพื่อตรวจจับกระแส ฯลฯ …

ขั้นตอนที่ 5: Bootloader

Bootloader
Bootloader

bootloader ให้เขียนคำสั่งได้ แต่โดยสรุปแล้วหน้าที่ของมันคือโหลดโปรแกรม ใน Arduino One เช่น มีไมโครคอนโทรลเลอร์อีกตัวหนึ่งที่รองรับ USB ดั้งเดิม ในกรณีของ PIC ทั้งหมด bootloader คือ PICKIT3 แม้ว่าเราจะมี CH340C (ไม่ใช่ bootloader จะเป็น USB to Serial microcontroler ที่เรียกว่า UART)

PICKIT3 -> bootloader ผ่าน ICSP (การเขียนโปรแกรมอนุกรมในวงจร)

CH340C -> การสื่อสาร USB แบบอนุกรม

ทั้งหมดอยู่ในระหว่างการพัฒนา แต่ bootloader ใช้งานได้

ขั้นตอนที่ 6: ส่วนต่อประสานกับมนุษย์

ส่วนต่อประสานกับมนุษย์
ส่วนต่อประสานกับมนุษย์

- รองรับ USB

CH340C เป็นตัวแปลง USB เป็น Serial แบบฝัง

การกำหนดค่ามาตรฐานของซีเรียลที่ 9600 บอด, 8 บิต, 1 บิตหยุด, ไม่มีพาริตี, บิตที่มีนัยสำคัญน้อยที่สุดส่งก่อนและไม่กลับด้าน

- ปุ่มรีเซ็ต

ใช้ในวงจร Soft-Start Reset เพื่อรีเซ็ตไมโครคอนโทรลเลอร์ แต่ ICSP RST เหนือกว่า

- ปุ่มผู้ใช้

ทั่วไป 10k เพื่อดึงลงในพินเอาต์พุต

- ไฟ LED สีน้ำเงิน 3 มม. x8 5V - 2.7 Vled = 2.3 Vres

2.3 Vres / 1500 Rres = 1.5 mA (คุณสามารถรับความสว่างได้มากขึ้น)

2.3 Vres * 1.5 mA => 4 mW (น้อยกว่า 1/8W)

ขั้นตอนที่ 7: การกำหนดค่าพิน

การกำหนดค่าพิน
การกำหนดค่าพิน
การกำหนดค่าพิน
การกำหนดค่าพิน
การกำหนดค่าพิน
การกำหนดค่าพิน
การกำหนดค่าพิน
การกำหนดค่าพิน

วิธีแก้ปัญหาที่มีพื้นที่น้อยคือการระบุชั้นพินและประสานพวกมันขนานกับบอร์ด, พินสองแถวและความหนาที่สอดคล้องกันของบอร์ด, คล้ายกับขั้วต่อ pci express

แต่พินกลางทั่วไปที่จะพินคือ 100mils = 2.55mm

ระยะห่างประมาณ 2 มม. = 2.55 - 0.6 (พิน)

ความหนาของบอร์ดก็ 1.6 เช่นกันครับ

นี่คือตัวอย่างที่มี 2 แผง 1mm

ขั้นตอนที่ 8: จุดจบ

ตอนจบ
ตอนจบ

แต่ละส่วนที่ฉันรวมเข้าด้วยกันได้รับการทดสอบแยกต่างหากกับส่วนประกอบอื่นๆ (TH) และเวอร์ชันต้นแบบ ฉันออกแบบด้วยแพลตฟอร์ม easyEDA และสั่งซื้อใน JLC และ LCSC (เพื่อให้คำสั่งมารวมกันก่อน คุณต้องสั่งซื้อใน JLC และเมื่อสั่งซื้อ ด้วยเซสชันเดียวกันกับที่คุณทำการซื้อใน LCSC และเพิ่ม)

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

และนี่คือเมื่อคำสั่งมาถึง ฉันจะประสานมัน ลองใช้ร่วมกัน รายงานปัญหา อัปเดต เอกสารประกอบ โปรแกรม และอาจสร้างวิดีโอ

ขอบคุณ ลาก่อน และสนับสนุน !

ลิงค์: easyEDA, YouTube, คำแนะนำที่ชัดเจน

แนะนำ: