สารบัญ:

Holiday Ornament PCB: 3 ขั้นตอน (พร้อมรูปภาพ)
Holiday Ornament PCB: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Holiday Ornament PCB: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Holiday Ornament PCB: 3 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: high quality smd led soldering 💡#jlcpcb 2024, กรกฎาคม
Anonim
เครื่องประดับวันหยุด PCB
เครื่องประดับวันหยุด PCB
เครื่องประดับวันหยุด PCB
เครื่องประดับวันหยุด PCB
เครื่องประดับวันหยุด PCB
เครื่องประดับวันหยุด PCB

เฮ้ทุกคน!

ช่วงเวลานั้นของปีและฤดูกาลแห่งการแลกเปลี่ยนของขวัญก็ใกล้เข้ามาแล้ว โดยส่วนตัวแล้วฉันชอบทำสิ่งต่าง ๆ และแบ่งปันให้กับครอบครัว ปีนี้ฉันตัดสินใจทำเครื่องประดับวันหยุดโดยใช้ Atting85 และไฟ LED WS2812C 2020 บางรุ่น เครื่องประดับมีเส้นผ่านศูนย์กลางประมาณ 80 มม. ดังนั้นจึงเป็นเครื่องประดับที่มีขนาดเหมาะสมสำหรับต้นไม้ ถ้าคุณไม่ใช่คนต้นไม้ คุณรู้อะไรไหม มันทำให้เป็นเครื่องประดับโต๊ะที่ดีเช่นกัน ไฟ LED WS2812C 2020 เป็นไฟ LED ที่สว่างอย่างไม่น่าเชื่อ ดังนั้นอย่ากังวลว่าไฟจะสลัวเกินไป ฮ่าฮ่า ฉันได้ทดสอบที่ 3.3 โวลต์โดยใช้กระแสไฟ 0.013 แอมป์ จากนั้นสำหรับ 5 โวลต์ ปริมาณการใช้ปัจจุบันคือ 0.023 แอมป์ คุณสามารถจ่ายไฟให้กับบอร์ดนี้โดยใช้ไฟตรง 5 โวลต์ที่ด้านหลังหรือผ่านขั้วต่อไมโคร USB ที่ด้านหลัง ฉันสามารถเสียบสิ่งนี้เข้ากับแล็ปท็อปของฉันและเปิดเครื่องได้ นอกจากนี้ยังมีตัวเลือกที่ด้านหลังเพื่อจ่ายไฟให้กับแหล่งพลังงานอื่น ๆ ที่แรงดันไฟสูงสุด 30 โวลต์ แต่นั่นก็ทำให้เชื่อมั่นในเอกสารข้อมูลสำหรับตัวควบคุม 78L05 5V ฉันจะไม่ผลักมันไปไกลขนาดนั้น

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

หากคุณสนใจที่จะซื้อ PCB แบบพรีเมดหรือเพียงแค่ PCB เอง โปรดเยี่ยมชมร้าน tindie ของฉัน

เสบียง

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

เครื่องมือ

- ปืนความร้อน (เครื่องมือหลัก)/หัวแร้ง (ตัวจับผิด)

- แหนบ ESD

- ไอโซโพรพิลแอลกอฮอล์

- ลายฉลุ SMT (แนะนำเป็นอย่างยิ่ง)

- วางประสาน (ฉันใช้การวางประสานแบบไร้สารตะกั่วที่อุณหภูมิต่ำที่ขายใน Amazon)

เสบียง

- x10 WS2812 2020 LEDs

- x1 Attiny85 ไมโครคอนโทรลเลอร์

- x11 0.1uf 0603 ตัวเก็บประจุ

- x1 0.1uf 0402 Capacitor (คุณสามารถใช้ 0603 Cap)

- ขั้วต่อไมโคร USB SMD x1

- x1 ตัวต้านทาน 1.5K โอห์ม

- x1 4.7uf 0805 ตัวเก็บประจุ

- x1 78L05 5V เครื่องปรับลม

- x1 SOD123 Diode (ฉันใช้ลวดแทนเพราะไม่จำเป็น แต่ฉันลืมถอดออกเมื่อออกแบบบอร์ด)

- x2 SOD323 ไดโอด

- ตัวต้านทาน x2 66.5 Ohm (คุณสามารถใช้ตัวต้านทาน x2 24-Ohm ที่นี่ได้เช่นกัน ฉันเชื่อว่าคู่ที่ตรงกันจะทำได้จริง - อย่าอ้างฉัน)

ไม่จำเป็น

- x1 ตัวต้านทาน 24 โอห์ม

- x1 ตัวต้านทาน 30 โอห์ม

(สิ่งเหล่านี้มีไว้สำหรับตัวแบ่งแรงดันไฟฟ้าหากคุณต้องการวัดแรงดันไฟฟ้าขาเข้าสำหรับจอภาพแรงดันต่ำ - เพียงตัวเลือก)

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

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

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

ก่อนอื่นคุณต้องมีลายฉลุนั้นก่อน… ฉันได้แนบไฟล์ PCB PDF ขนาด 1:1 เพื่อให้คุณสามารถแรสเตอร์บนเครื่องตัดเลเซอร์ของคุณเอง ถ้าคุณต้องการตัดให้คุณ ส่งข้อความมาว่าฉันจะทำแบบนั้นด้วย มิฉะนั้น การทำเช่นนี้ด้วยมือจะทำให้คุณมีฝีมือ $$

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

แกะลายฉลุออกอย่างระมัดระวัง และเริ่มวางชิ้นส่วนได้เลย!!

สังเกตรูปภาพที่ฉันวาดอย่างพิถีพิถันเพื่อคุณ ทำด้วยความรักและความเอาใจใส่

- สีม่วงเข้ม = 0.1uf 0603

- สีน้ำเงิน = ไดโอด

- Lime Green = 4.7 uf 0805 (น่าจะใช้ 0603 ได้)

- สีม่วง = สะพานลวด

- สีชมพู = ตัวต้านทานแบ่งแรงดัน

- ไฟ LED สีแดง = WS2812C (สังเกตการวางแนว ส่วนที่มืดกว่าจะอยู่ด้านล่าง)

- สีเหลือง = 78L05 5V ตัวควบคุม 100mA

คุณต้องการที่จะรู้ว่าเครื่องหมายสีเหลืองอื่น ๆ มีไว้เพื่ออะไร? คุณแน่ใจไหม? ก็… มันผิดพลาดได้! ฉันวางพื้นประหลาดผ่านในการติดตามสัญญาณ แท้จริงตบเบา ๆ ตรงกลางตกลง ทำไม… ฉันไม่รู้

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

ฉันจะแก้ไขปัญหานี้ด้วยหากคุณซื้อบอร์ดจากฉัน ไม่ต้องกังวลที่นั่น

ขั้นตอนที่ 2: การเข้ารหัส

การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส

ดังนั้น ก่อนที่ฉันจะออกแบบสิ่งนี้ ฉันคิดว่า "โอ้ LED WS2812 ขนาดเล็ก พวกเขาต้องใช้รหัสเดียวกันกับของ WS2812b นี่จะเป็นการเดินในสวนสาธารณะ!" ผิด

สิ่งเหล่านี้ไม่ได้ใช้ช่วงเวลาเดียวกันกับ LED WS2812b ดังนั้นจึงมีเส้นโค้งการเรียนรู้หรือภูเขาขึ้นอยู่กับความสะดวกสบายของคุณในการเข้ารหัส

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

สิ่งเล็กน้อยอย่างหนึ่งคือฉันไม่สามารถหาวิธีหรี่ไฟ LED เหล่านี้ได้เนื่องจากสว่างมาก อาจมีใครบางคนสามารถแสดงความคิดเห็นและช่วยฉันได้

#รวม #define PIXELS 3000 #define PIXEL_PORT PORTB #define PIXEL_DDR DDRB #define PIXEL_BIT 0 #define T1H 700 #define T1L 320 #define T0H 320 #define T0L 700 #define RES 300000 #define NS_PER_SEC (1000000000L)_define #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE)

โมฆะอินไลน์ sendBit (บูล bitVal) {

if (bitVal) { asm ระเหย ("sbi %[port], %[bit] n\t" ".rept %[onCycles] n\t" "nop \n\t" ".endr \n\t " "cbi %[พอร์ต], %[บิต] n\t" ".rept %[offCycles] n\t" "nop \n\t" ".endr \n\t":: [พอร์ต] " ฉัน" (_SFR_IO_ADDR(PIXEL_PORT)), [บิต] "ฉัน" (PIXEL_BIT), [onCycles] "I" (NS_TO_CYCLES(T1H) - 2), [offCycles] "I" (NS_TO_CYCLES(T1L) - 2));

} อื่น {

asm ระเหย ("sbi %[port], %[bit] n\t" ".rept %[onCycles] n\t" "nop \n\t" ".endr \n\t" "cbi %[port], %[บิต] n\t" ".rept %[offCycles] n\t" "nop \n\t" ".endr \n\t":: [พอร์ต] "ฉัน" (_SFR_IO_ADDR(PIXEL_PORT)), [บิต] "ฉัน" (PIXEL_BIT), [onCycles] "ฉัน" (NS_TO_CYCLES(T0H) - 2), [offCycles] "I" (NS_TO_CYCLES(T0L) - 2));

} }

โมฆะแบบอินไลน์ sendByte (ไบต์ถ่านที่ไม่ได้ลงนาม) { สำหรับ (บิตถ่านที่ไม่ได้ลงชื่อ = 0; บิต < 8; บิต ++) { sendBit (บิตอ่าน (ไบต์, 7)); ไบต์ <<= 1; } }

เป็นโมฆะ ledsetup () {

bitSet(PIXEL_DDR, PIXEL_BIT); }

โมฆะอินไลน์ sendPixel (ถ่านที่ไม่ได้ลงชื่อ r, ถ่านที่ไม่ได้ลงชื่อ g, ถ่านที่ไม่ได้ลงชื่อ b) {

sendByte(g); // Neopixel ต้องการสีเป็นสีเขียวแล้วสีแดงแล้วสีน้ำเงินเพื่อ sendByte(r); sendByte(b); }

โมฆะแสดง () {

_delay_us((RES / 1000UL) + 1); // ปัดเศษขึ้นเนื่องจากการดีเลย์ต้อง _at_least_ นานขนาดนี้ (สั้นเกินไปอาจไม่ทำงาน นานเกินไปไม่ใช่ปัญหา) }

เป็นโมฆะ showColor (ถ่านที่ไม่ได้ลงชื่อ r, ถ่านที่ไม่ได้ลงชื่อ g, ถ่านที่ไม่ได้ลงชื่อ b) {

cli(); สำหรับ(int p=0; p

8;

ขั้นตอนถ่านที่ไม่ได้ลงชื่อ = currentPixelHue & 0xff; สวิตช์ (เฟส) { กรณีที่ 0: sendPixel (~ ขั้นตอน, ขั้นตอน, 0); หยุดพัก; กรณีที่ 1: sendPixel(0, ~ขั้นตอน, ขั้นตอน); หยุดพัก;

กรณีที่ 2:

sendPixel(ขั้นตอน, 0, ~ขั้นตอน); หยุดพัก; } currentPixelHue+=pixelAdvance; } sei(); แสดง(); firstPixelHue += frameAdvance; } }

การตั้งค่าเป็นโมฆะ () {

ledsetup(); }

วงเป็นโมฆะ () {

วงจรรุ้ง (1000, 10, 10); กลับ; }

ขั้นตอนที่ 3: เสร็จสิ้นทั้งหมด

ทุกอย่างเสร็จเรียบร้อย
ทุกอย่างเสร็จเรียบร้อย
ทุกอย่างเสร็จเรียบร้อย
ทุกอย่างเสร็จเรียบร้อย
ทุกอย่างเสร็จเรียบร้อย
ทุกอย่างเสร็จเรียบร้อย

หวังว่าทุกอย่างจะทำงานได้ ณ จุดนี้ แต่ถ้าไม่ใช่ เรามาจบด้วยการแก้ไขปัญหากันเถอะ

1. Arduino ไม่รู้จักบอร์ด - ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี digispark และอ่านวิธีใช้บอร์ด digispark แล้ว

2. รหัสไม่อัปโหลด - คุณต้องกดอัปโหลดแล้วเสียบโมดูลเข้ากับคอมพิวเตอร์ โง่ ฉันรู้ แต่นั่นเป็นวิธีการทำงาน

3. บอร์ดยังคงไม่ทำงาน - ตรวจสอบให้แน่ใจว่าสายเคเบิล micro-USB ของคุณอนุญาตให้ใช้ข้อมูลและพลังงาน ไม่ใช่สายเคเบิลทั้งหมด คุณสามารถจินตนาการได้ว่าฉันคิดเรื่องนี้ออกยาก

4. ยังไม่มีอะไรเลย - ไดโอดของคุณอาจถอยหลังได้ - ตรวจสอบด้วยมัลติมิเตอร์สำหรับการวางแนวที่ถูกต้อง

5. ไฟ LED กะพริบแปลก ๆ - นี่อาจเป็นปัญหาของรหัสหรือไฟ LED ดวงใดดวงหนึ่งของคุณไม่ได้นั่งบนแผ่นสัญญาณอย่างถูกต้อง

6. ไฟ LED 3 ดวงสุดท้ายเลอะ - อ้า! คุณพบความผิดพลาดในการออกแบบของฉัน ตรวจสอบให้แน่ใจว่าได้เจาะกราวด์ - ตรวจสอบด้วยความต่อเนื่องของมัลติมิเตอร์ระหว่างสัญญาณกับกราวด์ จากนั้นตรวจสอบให้แน่ใจว่าสายสะพานของคุณถูกแยกออกจากพื้น

7. ยังพังอยู่ - ฉันแก้ปัญหาไม่ได้จริงๆ ส่งข้อความหาฉัน

ฉันหวังว่าคุณจะสนุกกับการสอนของฉัน! กรุณาแสดงความคิดเห็นถ้าคุณทำ

ดีที่สุด, นิค

แนะนำ: