Homemade Electrostatic Discharge (ESD) Gun

Started by pken, June 30, 2015, 06:02:59 PM

Previous topic - Next topic

pken

พอดีผมทำ Board ควบคุมเครื่องซักผ้าแทน Timer ที่เสีย แต่พอ Motor ทำงานมันก็ไปรบกวน Board ทำให้บอร์ด Reset
เลยนึกขึ้นได้ว่า บอร์ดเก่าของ electoday.com แห่งนี้แหละเคยมีคนมา post ไว้วิธีทำเครื่องมือทดสอบ ESD
จะได้หาทางแก้ก่อนที่เราจะไปใช้งานจริง การเกิด ESD ในแต่ละครั้งมันจะแพร่ EMI ออกมา ทำให้มันมีผลต่อการทำงานของ Board MCU

วิธีทำ

- ใช้ปืนจุดเตาแก้ส ที่ใช้ถ่านแม็กนิโต ผมซื้อ 80 บาท
- ตัดโลหะที่ปลายปืนออกประมาณ 15 mm.
- ต่อสาย ground ตามรูป

การใช้งาน

- ต่อสาย ground ของปืนเข้ากับ ground ของ Board ที่จะทดสอบ
- จ่ายไฟเข้า Board
- นำปืนไปจ่อใกล้ๆ ประมาณ 3-5 mm. ที่ไฟบวก Vcc และ Gnd ของ Board  MCU ที่จะทดสอบ และยิงใส่ที่ขา Switch ในกรณีที่มี Switch ต่ออยู่กับ input ของ MCU
- กดยิง ถ้าไม่แฮ้งค์หรือ Reset ก็คงผ่าน ถ้าตรงข้ามก็หาทางแก้กันต่อไป

* ระยะการ อาร์คจากปลายปืนถึงส่วนที่ทดสอบโดยประมาณ 1mm. = 1KV., 4mm. = 4KV.

ถ้าใครมีคำแนะนำเพิ่มเติมช่วยกรุณาด้วยนะครับ




ตัดปลายโลหะออกแล้ว


tatree_b

น่าจะเป็นพวก EMI (Electromagnetic Interference) มากกว่า 

เครื่องมือที่ทำมันอาจจะสร้าง spiking noise แต่ไม่น่าจะมีผลต่อระบบมากหรอก  เพราะมันมีช่วงเวลาสั้นมากและมาทางอากาศ ตัวที่มีผลส่วนใหญ่มันมักจะเกิดต่อเนื่องและเหนี่ยวนำมาตามลายวงจร

ต้องชีลด์ และทำกราวด์เพลนดีๆ การเดินลายวงจรสั้นๆ ถูกหลักการ วางตัวเก็บประจุกันการรบกวนก็ช่วยได้เยอะ 

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


pken

ขอบคุณมากๆเลยครับ สำหรับคำแนะนำดีๆ


J_Explorer

Quote from: pken on June 30, 2015, 06:02:59 PM
พอดีผมทำ Board ควบคุมเครื่องซักผ้าแทน Timer ที่เสีย แต่พอ Motor ทำงานมันก็ไปรบกวน Board
เลยนึกขึ้นได้ว่า บอร์ดเก่าของ electoday.com แห่งนี้แหละเคยมีคนมา post ไว้วิธีทำเครื่องมือทดสอบ ESD
ผมต้องขอโทษด้วยครับจำชื่อคน post ไม่ได้

วิธีทำ

- ใช้ปืนจุดเตาแก้ส ที่ใช้ถ่านแม็กนิโต ผมซื้อ 80 บาท
- ตัดโลหะที่ปลายปืนออกประมาณ 15 mm.
- ต่อสาย ground ตามรูป

การใช้งาน

- ต่อสาย ground ของปืนเข้ากับ ground ของ Board ที่จะทดสอบ
- จ่ายไฟเข้า Board
- นำปืนไปจ่อใกล้ๆ ประมาณ 3-5 mm. ที่ขา Input, Output ของ MCU ที่จะทดสอบ
- กดยิง ถ้าไม่แฮ้งค์ก็คงผ่าน ถ้าแฮ้งค์ก็หาทางแก้กันต่อไป

ถ้าใครมีคำแนะนำเพิ่มเติมช่วยกรุณาด้วยนะครับ




ตัดปลายโลหะออกแล้ว



เดี๋ยวเอาไปลองทำดู ว่าแต่ CPU จะพังไหมครับ

pken

ผมลองแล้วทั้งหมด 3 บอร์ด ก็ยังคงใช้ได้อยู่นะครับ ตอนแรกก็เสียวๆอยู่ แต่ก็เสี่ยงอยากลอง

บอร์ดแรก  Atmega328 + RTC+LCD แฮ้งค์ เวลากลับไปตั้งต้นปี 1970 ใหม่ บางครั้งก็ ข้อความที่จอ LCD หาย
บอร์ดที่สอง  Arduino 3PI robot จอ LCD 8x2  ข้อความหาย
บอร์ดที่สาม  Atmega328 control Relay แฮ้งค์ เครื่อง Start เอง

pken

ขอแก้ไขที่เคยลงไว้ครับ

- ห้ามต่อสาย ground ของปืนเข้ากับ ground ของ Board โดยตรง เพราะอาจทำให้ MCU เสียหายได้ถ้ากดยิงหลายครั้งติดกัน
ผมลองกดยิงประมาณ 5 ครั้งติดกัน ผลปรากฏว่า ขาที่ผมกดยิงเสียหาย ไม่สามารถใช้งานได้อีก (ผมลองขา ADC0)

ถ้าจะทดลองต้องต่อตามรูปนี้ครับ ต้องมี R 470k 2 ตัวต่ออนุกรมเพื่อ discharge ประจุไฟที่ยิงออกมาลง ground



แต่ผมลองต่อคล้ายๆรูปนี้ครับ โดยต่อ ground ของ Board ผ่าน R 470k 2 ตัว เข้ากับ ground ของปืน ลองแล้วไม่มีปัญหาครับ


http://www.rfmd.com/sites/default/files/sites/default/files/resources/file_uploads/BestPracticesForSystemLevelESDTestingOfSemiConductorComponents2013.pdf

และนี่คือบทความที่ดีมากสำหรับการ Design เพื่อที่จะป้องกันและหยุด ESD

DESIGNING ELECTRONIC EQUIPMENT FOR ESD IMMUNITY, Part 1 & 2
http://www.dbicorporation.com/esd-art1.htm

ซึ่งมีหัวข้อดังต่อไปนี้

- Enclosures and shielding
- Grounding and bonding
- Protecting the power
- Layout for fighting ESD
- Cable connectors
- Circuit Design
- Filters and suppressors
- Component choice
- Watchdog timers
- Preventive software programming
- Problems with equipment




ccjazztle

ขอบคุณมากครับ ได้ไอเดียต่อยอดเลย

pken

คราวนี้มาสร้าง EMI Generator แบบบ้านๆ สำหรับมือใหม่ไว้สำหรับ Test บอร์ด MCU ที่เราสร้าง ซึ่งถ้านำไปควบคุมอุปกรณ์ที่เกี่ยวข้องกับไฟ AC220Vac ด้วยแล้ว ควรจะทดสอบก่อนนำใช้งานครับ
ได้มาจาก ที่นี่ครับ
http://www.edn.com/electronics-blogs/the-emc-blog/4407544/Unusual-EMI-Sources

แต่ผมเพิ่ม Solenoid Valve ที่ใช้ในเครื่องซักผ้า เข้ามา เพราะทดลองแล้วสัญญาณแรงกว่า ที่ได้จาก Relay
จากวงจรข้างล่าง เมื่อเปิด Switch จะทำให้ Contact ของ Relay ตัด-ต่อ ตลอดเวลา  การเหนี่ยวนำของขดลวดและการตัด-ต่อ ของ Contact  ทำให้เกิดประกายไฟ และทำให้เกิดการแพร่คลื่นแม่เหล็กไฟฟ้าอย่างรุนแรง ซึ่งการรบกวนนี้จะเหนี่ยวนำทำให้เกิดแรงดัน และกระแส ไฟฟ้าที่ไม่ต้องการ แพร่ไปยังไปยังอุปกรณ์ที่ต้องการจะทดสอบ





การทดสอบ (ถ้าใช้ Relay ) ผมจะนำ Relay โดยหันหัวลงไล่ไปทั่วบริเวณ MCU โดยเฉพาะตรง X-tal
ตาม Clip ที่ผมทดสอบมี 4 บอร์ด โดยใช้ code ไฟกระพริบ ยกเว้น บอร์ดควบคุมพัดลม

http://www.4shared.com/zip/QzSQXP20ce/EMI_Test_Video.html?

โดยใช้ Relay:
-   Arduino Uno R3 : แฮงค์  (ไม่ใช้ Watchdog)
-   Atmega328/16Mhz  : ไม่แฮงค์  (ไม่ใช้ Watchdog)
-   PIC16F883/16Mhz : ไม่แฮงค์ (Watchdog Timer OFF)
-   บอร์ดควบคุมพัดลม Toshiba (TMP47C101P) ซื้อมาจากบ้านหม้อ : ไม่แฮงค์

โดยใช้ Solenoid Valve:
-   Arduino Uno R3 : แฮงค์  (ไม่ใช้ Watchdog)
-   Atmega328/16Mhz : แฮงค์  (ไม่ใช้ Watchdog)
-   PIC16F883/16Mhz : บางครั้งก็แฮงค์ แต่ Reset กลับมาทำงานใหม่ได้ (Watchdog Timer OFF)
-   บอร์ดควบคุมพัดลม Toshiba (TMP47C101P) ซื้อมาจากบ้านหม้อ: ไม่แฮงค์

ผลการทดสอบบางท่านอาจจะแตกต่างจากนี้ได้ เพราะมันขึ้นอยู่กับ วงจรที่ต่อร่วมกับ MCU, code และ การออกแบบ PCB
ก็สำคัญมากครับ ยิ่งถ้าในบอร์ดมี Input ที่เป็น Switch ร่วมอยู่ด้วยจะไวต่อการรบกวนมาก

EMI/EMC:
www.navy.mi.th/elecwww/magaz/magazine/no15/EMI%20EMC.pdf