ฉันเผาพิน ตอนนี้ฉันจะทำอย่างไร


16

ฉันบังเอิญเสียบขาสั้น 10 และ 11 กับ 10 ชุดเป็นเอาต์พุต HIGH และ 11 ชุดเป็นอินพุต พิน 11 ไม่ทำงาน ฉันจะทราบได้อย่างไรว่าองค์ประกอบใดที่ฉันเผา

สามารถแก้ไขปัญหาได้หรือไม่


3
การระบุบอร์ด Arduino ที่จะช่วยระบุส่วนประกอบที่อาจถูกบุกรุกจากแผนผัง
Anindo Ghosh

@AnindoGhosh ฉันติดแท็กมัน uno ^
asheeshr

คำตอบ:


21

ข้อสันนิษฐาน: เนื่องจากยังไม่ได้ระบุรุ่น Arduino เฉพาะให้ใช้ Arduino Uno เพื่อแสดงคำตอบนี้ เหตุผลนี้ใช้กับ Arduinos อื่น ๆ เช่นเดียวกับแรงดันไฟฟ้าขาและไมโครคอนโทรลเลอร์ที่เกี่ยวข้อง

โปรดดูแผนภาพ pin-out นี้สำหรับ Arduino Uno : ( แหล่งที่มา )


Arduino Uno pin-out


  • อย่างที่เห็น Pin 10 และ 11 เป็นทั้ง GPIO พินมาตรฐาน
  • GPIOใด ๆไม่สามารถส่งแรงดันไฟฟ้าสูงกว่าแรงดันไฟฟ้าของไมโครคอนโทรลเลอร์(V CC )ใน Arduino สำหรับ Uno V CCคือ 5 โวลต์
  • GPIO พินใด ๆสามารถทนต่อแรงดันไฟฟ้าได้สูงถึง V CCและสูงขึ้นเล็กน้อย (ยอมรับได้ 5.5 โวลต์ตามมาตรฐาน)
  • นอกจากนี้เมื่อ Arduino GPIO ใด ๆ ถูกตั้งค่าเป็นอินพุตมันจะอยู่ในสถานะอิมพีแดนซ์สูงจึงทำให้ไม่สามารถผ่านกระแสไฟฟ้าที่เพียงพอสำหรับแรงดันไฟฟ้าที่เกี่ยวข้องเพื่อความเสียหายที่จะเกิดขึ้น
  • ดังนั้นการตัดหมุดที่สั้น 10 และ 11 จึงไม่สามารถสร้างความเสียหายให้กับขาทั้งสองได้ในสถานการณ์ที่รายงานไว้ในคำถาม

ตอนนี้ให้เราตรวจสอบความเป็นไปได้ทางเลือก:

  • หาก Uno ใช้พลังงานจากแจ็คบาร์เรล DC แทน 5 โวลต์จากการเชื่อมต่อ USB หรือแหล่งจ่ายไฟที่มีการควบคุมอื่น ๆ ขา Vin เอาต์พุต 1 ไดโอดจะลดลงต่ำกว่าแรงดันไฟฟ้าอินพุตนี้: นี่จะอยู่ที่ประมาณ8.3 โวลต์หากอุปทานเป็น 9 โวลต์ แบตเตอรี่ที่ติดอยู่กับแจ็คบาร์เรล
  • การตัดพิน VIN นี้ให้เป็นขาของอนาล็อกหรือดิจิตอลของ Arduino ( นอกเหนือจากพินเฉพาะที่ได้รับการป้องกันโดยตัวต้านทาน ) มีแนวโน้มที่จะทำลายวงจรไดโอด / ป้องกัน ESD ภายในสำหรับพินนั้นภายในไมโครคอนโทรลเลอร์หรือทำลายไมโครคอนโทรลเลอร์ ตัวเอง นี่อาจเป็นสาเหตุของปัญหา
  • อีกข้อสันนิษฐานคือว่า Pin 11 ได้สัมผัสกับแหล่งกำเนิดแรงดันสูงอื่น ๆ นอกเหนือจาก Vcc ของบอร์ด อาจเกิดจากการย้อนกลับของ EMFจากมอเตอร์หรือจากแรงดันไฟฟ้าสูง (สามารถเป็น10+ โวลต์ ) ที่สร้างขึ้นโดยตัวดัดแบบ piezoelectric (ตัวปรับแรงแบบ piezo) ถ้ามันถูกกระแทก สิ่งนี้อาจทำให้เกิดความเสียหายกับไดโอด ESD / วงจรป้องกันตามที่ระบุไว้ข้างต้น
  • ถัดไปการคายประจุไฟฟ้าสถิตจากไฟฟ้าสถิตย์สามารถสร้างความเสียหายให้กับขาของ GPIO ได้แม้ในขณะที่อุปกรณ์ไม่ได้เปิดเครื่อง คุณเคยหวีผมแล้วแตะที่บอร์ด Arduino บ้างไหม? ปัญหาจะปรากฏขึ้นในภายหลังเท่านั้นเมื่อพยายามใช้พินนั้นบนกระดานดังนั้นเวรกรรมจึงยากที่จะระบุจุด
  • ในที่สุดหากทั้งสองพินถูกตั้งค่าเป็นเอาท์พุทหนึ่งเซ็ตสูงและต่ำอีกอันและจะถูกตัดให้สั้นลงพิน "สูง" จะเห็นขาสั้นไปยังกราวด์ผ่านพิน "ต่ำ" แหล่งที่มาของความขัดแย้งนี้อาจทำให้ไมโครคอนโทรลเลอร์ร้อนขึ้นและถึงแม้ว่าไมโครคอนโทรลเลอร์ AVR จะมีการป้องกันเอาท์พุทใน GPIOs แต่นี่อาจทำให้หมุดหนึ่งหรืออื่น ๆ หยุดทำงานแม้ว่าไมโครคอนโทรลเลอร์ทั้งหมดจะล้มเหลวมากกว่าในกรณีนี้ .

ถ้าหากด้วยเหตุผลใดก็ตามที่ Pin 11 ไม่ทำการอินพุตหรือเอาต์พุตอีกต่อไปวงจรป้องกันภายในที่สอดคล้องกันของ MCU จะเสียหายอย่างถาวร ไม่มีวิธีแก้ไขสิ่งนี้ นี้ได้รับการคุ้มครองอย่างดีในคำตอบโดยManishearth

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

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


6
การบล็อก VIN sockets ยอดเยี่ยม!
Jeff Severns Guntzel

9

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

  • หมุดทั้งสองถูกกำหนดค่าสำหรับเอาต์พุต
  • คุณย่อบางสิ่งบางอย่างและไม่ได้สังเกต
  • (เนื่องจากคุณพูดถึงในการแชทว่าหมุดเริ่มทำงานอีกครั้ง) สะสมฝุ่นหรือความชื้น fubar จะหมุด

อย่างไรก็ตามคุณสามารถทำลายพินด้วยการเชื่อมต่อต่อไปนี้ (นำมาจากโพสต์ที่ยอดเยี่ยมนี้มีวิธีทั่วไปมากมายในการทำลาย Arduino ที่นั่น):

  • พินเอาต์พุตสูงถึง GND
  • พินเอาต์พุตสูงถึงพินเอาต์พุตต่ำ
  • ใช้แรงดันไฟฟ้าสูงกว่า 5.5V กับพิน (ซึ่งอาจทำลายมากกว่าพิน)

เกี่ยวกับสิ่งที่ต้องทำโดยทั่วไปเมื่อคุณทำลายพิน:

ในกรณีเช่นนี้ขาไมโครคอนโทรลเลอร์จะถูกเบิร์นและไม่สามารถแก้ไขได้ วิธีเดียวที่จะแก้ไขปัญหานี้คือการแทนที่ไมโครคอนโทรลเลอร์ (ถ้าเป็นแพคเกจกรมทรัพย์สินทางปัญญานี้ค่อนข้างถูกและง่าย) หรือซื้อบอร์ดใหม่ เมื่อแทนที่ไมโครคอนโทรลเลอร์คุณจะต้องเบิร์น bootloader ไปยังไมโครคอนโทรลเลอร์ใหม่ (เว้นแต่คุณจะได้มันมากับบูทโหลดเดอร์) หากคุณต้องการตั้งโปรแกรม Arduino ผ่าน USB


ลองดูที่ schematics บอร์ดต่อไปนี้มีหมุดเชื่อมต่อโดยตรงกับไมโครคอนโทรลเลอร์

  • Uno
  • เมกะ
  • Duemilanove
  • Lilypad
  • Fio
  • Nuova Generazione
  • Diecimila

บนบอร์ดต่อไปนี้มีพินบางตัวที่ได้รับการป้องกันและยากต่อการเผาไหม้:

อย่างไรก็ตามหากคุณเขียนพินในสิ่งเหล่านี้คุณสามารถทำได้มากกว่าการเปลี่ยนไมโครคอนโทรลเลอร์

หากคุณมีแนวโน้มที่จะดูเหมือนขาเผาไหม้คุณอาจต้องการที่จะลองruggedduino


3

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.