ปัญหา Noise ใน ATMEGA32

ผมเป็นคนที่ชอบใช้ MCU หลายตระกูล มีอยู่งานนึงอยากจะลองใช้ ATMEGA32 เห็นว่าราคาไม่แพง Feature ก็ใช้ได้เลย งานนี้เริ่มทำในปริ๊นอเนกประสงค์ แล้วก็ทำ Schematic & PCB ควบคู่กันไปด้วย ก็เขียนโปรแกรมไปได้ครึ่งทางและ เริ่มสังเกตุว่าเวลาเอามือเข้าใกล้ตัว ATMEGA32 มันจะ Reset ไปเลย

ในใจคิดว่ามันไม่น่าจะอ่อนแอขนาดนั้น C 0.1uF ก็ต่อครบทุกขาของ VCC ขา Reset ก็ Pull up ไว้ ที่เคยทำมาขนาดสถาปัตยกรรมเก่าๆ อย่าง MCS-51 ยังไม่ reset เลย คราวนี้ก็ลองหาสาเหตุ ค่อยๆเอานิ้วแหย่ไปที่ IC ดูว่าขาไหนที่มัน Sensitive กับนิ้วเรา ค่อยๆไล่ไปก็เจอว่ามันมีอยู่ 3-4 ขาที่เป็นปัญหา

เลยย้อนกลับไปดู Code ขานั้น set เป็น input ไว้แถมไม่ได้ Pull up, pull down ไว้ เลยลอง pull up แทนแล้วมาเทสใหม่ อาการ reset ก็หายไป เลยเป็นข้อสรุปได้ว่า

ขาไหนไม่ได้ใช้อย่าปล่อยลอยไว้(float) มันจะเป็นอินพุตที่รับ noise เข้ามา ในหลายๆ datasheet จะบอกว่าให้ต่อขาที่ไม่ได้ใช้ลง GND เลย

บทความอื่นๆที่เกี่ยวข้อง

4 thoughts on “ปัญหา Noise ใน ATMEGA32

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

  2. ผมลองเช็คทุกจุดแล้วครับ แก้วงจร เปลี่ยน power supply สุดท้ายเขียนโปรแกรมให้พอร์ตนี้เป็นเอาต์พุต หรือ pull-up อาการแฮงค์ก็หาย

  3. ตั้งแต่ใช้มายังไม่เคยเจอเลยครับ…. และที่ทดสอบมา มันทนกว่า MCS-51 มาก ๆ
    และทนกว่า PIC อีก มีคนที่ electoday เขา Test มา

    ก็เลยไม่แน่ใจว่าต่อลง PCB หรือต่อลง Protoboard ต่อวงจรครบแล้วหรือยัง
    R ที่ขา Reset C ที่ขา xtal และไฟที่จ่ายให้มันเรียบดีหรือเปล่า….

Leave a Reply