ฉันออกแบบ PCB ตัวเซ็นเซอร์ขนาดเล็กสำหรับวิทยานิพนธ์ปริญญาโทของฉันด้วยไมโครคอนโทรลเลอร์ATtiny44 ฉันต้องการบอร์ดประมาณ 200 ตัวสำหรับแอปพลิเคชันของฉันและ 16 บอร์ดเชื่อมต่ออยู่กับบอร์ดควบคุมเสมอ เครือข่ายทั้งหมดมีลักษณะดังนี้:
ในการสื่อสารระหว่างคอนโทรลเลอร์และแผงเซ็นเซอร์ฉันเขียนบัสพินของฉันเอง 1 ตัว (ตามเวลา) ปัญหาเดียวคือบอร์ดเซนเซอร์จะต้องมีที่อยู่เพื่อทราบตำแหน่งของมันในเครือข่ายเมื่อฉันส่งข้อมูลไปยังบอร์ดควบคุม
เมื่อฉันเหลือ ATtiny เพียง 1 ขาฉันจึงได้วงจร DAC ที่เป็นจัมเปอร์ซึ่งควรสร้างแรงดันไฟฟ้าอะนาล็อกตามการตั้งค่าของจัมเปอร์สี่ตัว เนื่องจากวงจรเซ็นเซอร์ใช้ค่า (47, 470, 1k, 3k, 4k7, 10k, 100k และ 220k) และฉันต้องการเพิ่มประสิทธิภาพสำหรับการผลิตฉันใช้ค่าด้านล่างสำหรับ DAC (โดยทั่วไปคือ 100k, 50k, 20k และ 10k ) ซึ่งควรให้ฉันค่าที่ดีระหว่าง 0 V และ 760 mV ตามการตั้งค่าจัมเปอร์ สิ่งที่ฉันต้องการเพื่ออ่านเป็นแรงดันไฟฟ้าอะนาล็อกที่มีการอ้างอิง 1.1 V ภายในของ ATtiny เมื่อเริ่มต้น ATtiny จะอ่านแรงดันไฟฟ้านี้และควรทราบตำแหน่งของมัน
จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab
ในทางทฤษฎีมันใช้งานได้ดี ฉันยังทำการวิเคราะห์ Monte Carlo ในLTspiceเพื่อยืนยันว่าฉันไม่ได้พื้นที่ทับซ้อนกันเมื่อพิจารณาถึงความอดทนของตัวต้านทาน (ทั้งหมดคือ 1% BTW) ด้านล่างคุณจะพบภาพการวิเคราะห์นี้
ตอนนี้ฉันสร้างบอร์ดขึ้นมาหลายอัน (โชคดีที่ไม่ได้ 200) และยังมีบางบอร์ดที่ล้มเหลวในการอ่านที่ถูกต้องตามที่อยู่ของพวกเขา (โดยเฉพาะในพื้นที่ที่อยู่สูงกว่า ฉันวัดวิธีแก้ปัญหาที่เป็นไปได้ทั้งหมดและหาปัญหาของฉันในที่สุด การวิเคราะห์ดั้งเดิมของฉันไม่ได้รวมความอดทนของแรงดันไฟฟ้า 5 V ซึ่งสร้างขึ้นในเครื่องจาก 12 V ด้วยMC7805ในแต่ละบอร์ดควบคุม ในแผ่นข้อมูลนั้น MC7805 มีแรงดันเอาต์พุตระหว่าง 4.8 ถึง 5.2 V.
หลังจากที่ฉันพบสิ่งนี้ฉันแก้ไขการวิเคราะห์ Monte Carlo ตอนนี้ดูเหมือนว่านี้:
อย่างที่คุณเห็นมีพื้นที่ทับซ้อนที่ดีซึ่งฉันไม่สามารถบอกได้ว่าแรงดันไฟฟ้านี้สามารถหมายถึงที่อยู่นี้ได้เท่านั้น โดยทั่วไปที่อยู่ทั้งหมดเริ่มต้นด้วยหมายเลข 8 สามารถได้รับการอ่านที่ผิดพลาด (มีความเป็นไปได้ที่สูงขึ้นสำหรับการอ่านที่ผิดสำหรับที่อยู่สูงกว่า)
ฉันไม่ต้องการเพิ่มค่าตัวต้านทานที่แตกต่างจากที่เคยใช้บนกระดาน (สำหรับวิทยานิพนธ์ที่ฉันต้องการเพิ่มประสิทธิภาพสำหรับการผลิต)
ฉันจะ ไม่ต้องการเพิ่มการอ้างอิงแรงดันไฟฟ้า (เช่น Zener diode) เพื่อป้อนเครือข่ายตัวต้านทาน DAC
ผม ไม่สามารถแก้ไขบอร์ดควบคุมได้อีกต่อไป (และใช้ตัวควบคุมแรงดันไฟฟ้าที่แม่นยำยิ่งขึ้น)
ผม ยังคงสามารถปรับเปลี่ยนการออกแบบ PCB / แผนผังของบอร์ดเซ็นเซอร์!
ฉันจะแน่ใจได้อย่างไรว่าได้อ่านค่าที่ถูกต้องอยู่เสมอ (ไม่ว่าจะโดยโปรแกรมหรือเปลี่ยนวงจร)