Circuit ทำงานบน breadboard แต่ไม่ใช้ PCB


9

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

วงจรใช้เซ็นเซอร์ตรวจจับการเคลื่อนไหวไร้สายแม้ว่าปัญหาที่ฉันเกิดขึ้นจะเกิดขึ้นก่อนที่ฉันจะไปที่ส่วน RF หรือแม้แต่ส่วน uC ของแผนภาพ: ป้อนคำอธิบายรูปภาพที่นี่

ฉันวนเวียนส่วนที่มีปัญหา

R3 เป็นตัวต้านทานแบบดึงลงซึ่งจำเป็นต้องใช้ b / c AMN42121 ขับเอาต์พุต HIGH เมื่อตรวจพบการเคลื่อนไหว แต่ปล่อยให้มันแขวนไว้โดยไม่มีการเคลื่อนไหวจึงจำเป็นต้องดึงลง

ฉันใช้ C1 เพื่อทำให้การเปลี่ยนแปลงระหว่างการเคลื่อนที่ราบรื่นและไม่มีการเคลื่อนไหว C1 ทำให้ระดับเอาต์พุตไปที่ LOW ช้าและราบรื่นดังนั้นสถานะ "ไม่มีการเคลื่อนไหว" จึงเกิดขึ้นหลังจากไม่กี่วินาทีที่ไม่มีการเคลื่อนไหว

อินเวอร์เตอร์มีอินเทอร์รัปต์ภายนอกของ b / c attiny ถูกเรียกใช้โดยระดับต่ำดังนั้นฉันจำเป็นต้องสลับตรรกะ เป็นเรื่องที่โชคร้ายที่ฉันต้องใช้แพคเกจจุ่มขนาดใหญ่สำหรับอินเวอร์เตอร์ตัวเดียว แต่ฉันหาอะไรไม่เจอ

ฉันได้สร้าง PCB สองด้านสำหรับวงจรนี้ซึ่งมีลักษณะดังนี้: ป้อนคำอธิบายรูปภาพที่นี่

อีกครั้งฉันได้รวบรวมเฉพาะบริเวณที่เป็นวงกลมจนถึงตอนนี้

หลังจากบัดกรี S1, R3 และ C1 ฉันได้รับสัญญาณต่อไปนี้จากเซ็นเซอร์ออก: ป้อนคำอธิบายรูปภาพที่นี่

นี่คือสิ่งที่ฉันต้องการเห็นดังนั้นทุกอย่างก็ดีขึ้นจนถึงจุดนี้

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

ตัวอย่างที่ 1: ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างที่ 2: ป้อนคำอธิบายรูปภาพที่นี่

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

หลังจากการทดสอบมากมายฉันสามารถสร้างสิ่งต่อไปนี้ได้:

  1. การถอดปลั๊กอินเวอร์เตอร์ออกจากซ็อกเก็ตทำให้เซ็นเซอร์ทำงานได้อย่างถูกต้องอีกครั้ง
  2. การตัดกระแสไฟให้กับอินเวอร์เตอร์ในขณะที่เสียบปลั๊กไว้ทำให้เซ็นเซอร์ทำงานได้
  3. การใช้อินเวอร์เตอร์อื่นไม่มีผล
  4. การใช้บอร์ดฟลักซ์หรืออะซิโตนแล้วขัดถูด้วยแปรงบางครั้งทำให้เซ็นเซอร์ทำงานได้อีกครั้ง แต่ใช้เวลาสั้น ๆ จนถึงจุดหนึ่งฉันสามารถทำให้สัญญาณเป็นเช่นนี้โดยการขัดด้วยแปรงสีฟันอย่างจริงจัง: ป้อนคำอธิบายรูปภาพที่นี่

โปรดทราบว่าแม้ในภาพสุดท้ายนี้สัญญาณจะไม่กลับไปที่ระดับต่ำจนสุด ผลออกมาเกือบจะทันทีที่ฉันหยุดแปรงฟัน

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

ตอนนี้ฉันไม่มีความคิดดังนั้นคำแนะนำใด ๆ ก็จะได้รับการชื่นชมอย่างมาก ขอบคุณ.

แก้ไข:

ฉันเพิ่งค้นพบสิ่งที่น่าสนใจ การตรวจสอบอย่างใกล้ชิดของตัวอย่าง # 2 (สัญญาณรูปเลื่อยฟัน) แสดงให้เห็นว่าความลาดเอียงลงเป็นส่วนของเส้นโค้งการปล่อย C1 ที่คาดไว้ เมื่อระดับแรงดันใกล้เคียงกับขีด จำกัด ของอินเวอร์เตอร์และใช้เวลามากเกินไปดูเหมือนว่าอินเวอร์เตอร์จะสับสน! มันสร้างเสียงดังขึ้นเล็กน้อยจากนั้นก็ทำสิ่งที่จะเตะอินพุตกลับไปที่ HIGH หรือเพียงแค่ออกไปเที่ยวในสภาพที่มีเสียงดัง "ไม่ทราบแน่ชัด" ไปเรื่อย ๆ จนกว่าเซ็นเซอร์จะเคลื่อนไหวสูง b / c อีกครั้ง (ตัวอย่าง # 1)

เพื่อทดสอบทฤษฎีนี้ฉันแทนที่ C1 ด้วยหมวกที่มีขนาดเล็กกว่า 10 เท่าดังนั้นจึงทำให้เส้นโค้งคายประจุมีความชันมากและ - อินเวอร์เตอร์ไม่สับสนและวงจรทำงานอีกต่อไป!

แน่นอนว่านี่เป็นการเอาชนะจุดประสงค์ของ C1 เนื่องจากตอนนี้มันไม่ได้ให้ความล่าช้าเท่าที่ฉันต้องการ ฉันไม่แน่ใจว่าทำไมฉันจึงไม่มีปัญหากับอินเวอร์เตอร์บน breadboard แต่แนะนำว่าอาจมีวิธีแก้ไขที่ง่ายมากที่สามารถจัดการปัญหานี้ได้ ฉันอ่านว่า breadboards มีความจุ "หลงทาง" ที่มากดังนั้นบางทีฉันแค่ต้องเพิ่มตัวเก็บประจุเพิ่มเติมอย่างมีกลยุทธ์? ความคิดใด ๆ

แก้ไข 2: ให้มุมมองด้านบนเนื่องจากมีผู้แสดงความคิดเห็นขอ: ป้อนคำอธิบายรูปภาพที่นี่


กล้วยศักดิ์สิทธิ์ข้อต่อที่ประสานดูแย่มาก คุณต้องการฟลักซ์ที่นั่นหมด
Connor Wolf

@Connor Wolf: คุณหมายถึงพิน IC ที่ไม่ได้เชื่อมต่อกับอะไรหรือเปล่า? สิ่งเหล่านี้แทบจะไม่มีการบัดกรีเลย b / c ฉันเห็นเหตุผลที่จะบัดกรีพวกเขาไม่ได้ หรือคุณกำลังพูดถึงข้อต่อประสานอื่น ๆ ?
Val Blant

ทำไมคุณถึงใช้อินเวอร์เตอร์ด้วย? เชื่อมต่อเอาท์พุทของเซ็นเซอร์กับ PB2 ด้วยตัวต้านทานแบบอนุกรมที่ 220-470 โอห์มและคุณก็พร้อมใช้ คุณสามารถเพิ่มตัวต้านทานแบบดึงลงได้ แต่ 10Meg นั้นสูงเกินไป เปลี่ยนด้วย 10k นอกจากนี้คุณไม่จำเป็นต้องเชื่อมต่อ C1 คุณสามารถทำการกรองในซอฟต์แวร์ด้วยขั้นตอนการหน่วงเวลาอย่างง่าย นอกจากนั้น C1 อาจเพิ่มโหลดให้เซ็นเซอร์เพื่อให้เมื่อเชื่อมต่ออินเวอร์เตอร์ IC โหลดนั้นมากเกินไปที่เซ็นเซอร์ไม่สามารถขับได้หรือไม่?
abdullah kahraman

ฉันได้ตรวจสอบแล้วและเซ็นเซอร์สามารถให้เอาต์พุตสูงสุด 100uA! อินเวอร์เตอร์ต้องการกระแสประมาณ 1mA! ดังนั้นตัวต้านทานแบบดึงลงด้านบนที่ฉันแนะนำคือ 10k นั้นมากเกินไป เปลี่ยนด้วย 330k หรือ 470k
abdullah kahraman

@abdullah kahraman: ฉันขอโทษ - ฉันไม่เข้าใจความคิดของคุณ INT0 บน attiny ถูกทริกเกอร์เมื่อเปลี่ยนเป็น LOW ดังนั้น "no motion" ต้องแสดงโดยอินพุตสูง มันไม่ถูกต้องเหรอ? คุณช่วยอธิบายความคิดของคุณในรายละเอียดเพิ่มเติมได้มั้ย
Val Blant

คำตอบ:


7

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


1
@ValBlant ฉันไม่มีผู้เชี่ยวชาญใน ATtiny เพื่อน - ถ้าคุณได้สร้างมันจะต้องมีขั้วที่มากกว่านั้น - ระดับสัญญาณอินพุตในอินเวอร์เตอร์ - คุณได้ แต่ไม่ได้ใช้ระดับตรรกะที่เหมาะสม - คุณอาจต้องการ อินเวอร์เตอร์ทริกเกอร์ schmidtt เช่น 74HC14?
แอนดี้อาคา

1
บางทีถ้าคุณถอดฝาครอบออกและดูว่ามันหน้าตาเป็นอย่างไรถ้าจำเป็นคุณสามารถทำอะไรบางอย่างในรหัส ATtiny ที่ทำให้วงจรมีชีวิตระหว่างทรานซิชั่นได้หรือไม่? คุณใส่ตัวแปลง 10n ลงบนอินเวอร์เตอร์ตามที่คนแนะนำไว้ก่อนหน้านี้หรือไม่?
แอนดี้อาคา

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

1
@ValBlant หมายเหตุข้อมูลจำเพาะ "การเพิ่มขึ้นและลดลงของเวลา" ในแผ่นข้อมูล TC74HC04 - ซึ่งระบุสัญญาณอินพุตที่ช้าที่สุดที่แนะนำ (500ns เวลาการขึ้น / ลงที่ Vcc = 4.5V) นี่เป็นข้อมูลจำเพาะที่ควรพลาดโดยเฉพาะอย่างยิ่งแผ่นข้อมูลของโตชิบาไม่ได้ระบุอย่างชัดเจนว่าเป็นจำนวนสูงสุด
Chris Johnson

1
การใช้อินเวอร์เตอร์กับตัวชอทท์ชมิดท์ช่วยแก้ปัญหา
Val Blant

11

โดยไม่ต้องศึกษาวงจรของคุณอย่างละเอียดสิ่งที่ชัดเจนคือคุณไม่มีตัวเก็บประจุแยก

ประสานหนึ่งข้ามพินกำลังของชิปแต่ละตัว

นอกจากนี้ความคิดเห็น 'การขัดทำให้การทำงาน' ของคุณแสดงว่าคุณมีการเชื่อมต่อแบบแห้งหรือแบบต่อเนื่อง ตรวจสอบการบัดกรีทั้งหมดของคุณอย่างระมัดระวัง

เกี่ยวกับชิป DIL ที่ overkill คุณสามารถใช้ทรานซิสเตอร์และวางหน่วงเวลาในซอฟต์แวร์


ตกลงเพิ่งได้อ่านเกี่ยวกับสิ่งที่ตัวเก็บประจุแยกเป็น ฉันประหลาดใจที่ฉันต้องการบางสิ่งบางอย่างเช่นนั้นเพื่อเพิ่มพลังงานให้กับอินเวอร์เตอร์ซึ่งไม่ใช่อุปกรณ์ความเร็วสูง แต่ฉันจะลองดู แหล่งที่มาส่วนใหญ่แนะนำให้ฝาปิด 0.1uF แบบเซรามิกข้ามพินกำลังของ IC ฉันไม่มีแคปเซรามิคในช่วงนั้น แต่ฉันมีอิเล็กโทรไลต์อยู่บ้าง จะใช้งานได้หรือฉันต้องการเซรามิกอย่างนี้หรือไม่?
Val Blant

ในเรื่องที่เกี่ยวกับอินเวอร์เตอร์ฉันเริ่มต้นด้วยทรานซิสเตอร์ในตอนแรก แต่ต่อมาก็ตระหนักว่าทรานซิสเตอร์อินเวอร์เตอร์ใช้พลังงานมากเกินไปเมื่อมันเปิด วงจรของฉันจะต้องทำงานที่ประมาณ 60uA (เมื่อไม่ส่งสัญญาณ) ซึ่งฉันไม่สามารถบรรลุได้ด้วยทรานซิสเตอร์ แต่ดูเหมือนว่าอินเวอร์เตอร์ IC จะทำงานได้ดี
Val Blant

เพิ่งลองอิเล็กโทรไลต์ 0.1uF และ 1uF เพื่อแยกแคปที่ไม่มีการเปลี่ยนแปลงเลย อย่างไรก็ตามฉันได้ค้นพบสิ่งที่น่าสนใจซึ่งฉันคิดว่าอาจเป็นคำใบ้ ฉันจะอัปเดตโพสต์หลักด้วยข้อมูลใหม่
Val Blant

3

ความกังวลหลักของคุณดูเหมือนจะลดการใช้พลังงาน

AMN42121 กินเนื้อที่ประมาณ 50uA อย่างต่อเนื่อง 74HC04 กินประมาณ 20uA อย่างต่อเนื่อง ATTINY85 กินเนื้อที่ประมาณ 300uA เป็นระยะ ๆ iewhen ตื่นขึ้นมา วิทยุจะใช้มิลลิวินาทีเมื่อส่งสัญญาณ

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

ฉันแนะนำให้คุณทิ้งตัวเก็บประจุอินเวอร์เตอร์และ 'ชะลอตัวลง' วางสายเซ็นเซอร์โดยตรงไปยัง MCU ด้วย pulldown 10K ตามแผ่นข้อมูลเซ็นเซอร์และเขียนตรรกะการหน่วงเวลาใน MCU

[แก้ไข] แม้ว่าคุณจะมีสิ่งผิดปกติเล็กน้อย แต่ฉันดีใจที่เห็นว่าคุณกำลังทดสอบวงจรของคุณในแต่ละครั้ง มันง่ายกว่าการพยายามหาข้อผิดพลาดในโครงการที่เสร็จสมบูรณ์


1
ฉันไม่เห็นความต้องการอินเวอร์เตอร์เช่นกัน AVR มีการขัดจังหวะการเปลี่ยน PCI - Pin นอกเหนือจาก INT0 / 1 PCI ตรวจพบการเปลี่ยนแปลงสถานะพินไม่ว่าสูงหรือต่ำ คุณสามารถทริกเกอร์จากนั้นเพิ่มรหัส debouncing
lyndon

ฉันคิดว่า 74HC04 กินมากกว่านั้น
abdullah kahraman

การคำนวณอายุการใช้งานแบตเตอรี่โดยละเอียดและการวิเคราะห์อัลกอริธึมของรหัสใน uC ของฉันแสดงให้เห็นว่าพวกคุณพูดถูก - ฉันไม่ชนะมากเลยด้วยการใช้อินเวอร์เตอร์แทนการเปลี่ยนขาขัดจังหวะ ฉันจะทำมันอีกครั้งฉันจะทำตามที่คุณแนะนำ อย่างไรก็ตามอายุการใช้งานแบตเตอรี่ของฉันกับวงจรปัจจุบันจะอยู่ที่ 270 วันในกรณีที่เลวร้ายที่สุดดังนั้นฉันคิดว่าฉันจะออกจากการออกแบบเหมือนเดิมใช้ตัวเหนี่ยวไก Schmitt บนเครื่องแปลงกระแสไฟฟ้าของฉันและไปยังโครงการถัดไป ขอบคุณทุกคน!
Val Blant
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.