ไมโครคอนโทรลเลอร์พร้อมสายยาวสำหรับอินพุตดิจิตอล


16

ฉันมีปุ่มออดในบ้านของฉันมีสายเป็นคณะกรรมการ GHI EMX dev ซอฟต์แวร์จะประเมินเวลาของวันและตัดสินว่าออดควรส่งเสียงหรือไม่

หมายเหตุด้านข้าง:สิ่งนี้ได้ถูกนำไปใช้เพื่อจัดการกับ pranks ding-dong-ditch ที่ฉันรับ

ทั้งหมดนี้ใช้งานได้ดีมากยกเว้นปัญหาหนึ่งสายที่เชื่อมต่อกับบอร์ด EMX ยาวประมาณ 50 ฟุต (~ 15 เมตร) และสร้างสัญญาณรบกวนมากพอที่บอร์ดจะคิดว่ามีคนกดปุ่มและออดกริ่งของฉันจะดังขึ้นเป็นระยะ ๆ ตลอด วัน. ทั้งภรรยาและสุนัขของฉันไม่ชอบสิ่งนี้ (แต่เด็ก ๆ คิดว่ามันสนุกดี)

ฉันได้ลองแก้ไขปัญหาโดยทำตามคำแนะนำที่พบในบทความนี้และใช้วงจรต่อไปนี้:

การป้องกันตัวกรองผ่านต่ำสำหรับอินพุต

สิ่งนี้ไม่ได้แก้ปัญหา แต่ฉันพบว่าการใส่ตัวต้านทาน 3k ใน 1k และแทนที่ตัวเก็บประจุ. 01uF ด้วย 40uF ทำงานได้ดีขึ้นเล็กน้อย แต่สิ่งที่มากกว่า 3k ทำให้เกิดความล่าช้าที่น่าสังเกตเมื่อกดปุ่มก่อน แหวนระฆัง ความแตกต่างสำหรับวงจรของฉันคือแผงวงจรทำงานบน 3.3V แทน 5V (ซึ่งฉันคิดว่าทำให้ปัญหาแย่ลง) และแทนที่จะเชื่อมต่อกับกราวด์สวิตช์จะทำวงจรให้เสร็จสมบูรณ์ (เช่นสองสายเชื่อมต่อระหว่างไมโครคอนโทรลเลอร์และสวิตช์)

สายไฟที่วิ่งระหว่างสวิตช์และไมโครคอนโทรลเลอร์เป็นสายออดมาตรฐานซึ่งไม่ได้ป้องกันหรือบิด การแทนที่ลวดออดด้วยลวดที่หุ้มฉนวนนั้นน่าเสียดายที่ไม่ใช่ตัวเลือกเนื่องจากจะทำให้ฉันต้องถอด drywall ออก

ฉันได้ดูคำถามต่อไปนี้ที่นี่แต่ดูเหมือนว่าจะจัดการกับ ADC ซึ่งอาจแตกต่างจากปัญหาของฉันเล็กน้อย ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก

อัปเดต
หลังจากอ่านเอกสารเพิ่มเติมปรากฏว่าถึงแม้ว่าไมโครคอนโทรลเลอร์จะใช้พลังงานจาก 3.3V แต่ก็มีความทนทาน 5V บนพิน I / O ของมัน ฉันสามารถปรับให้เป็นค่าตัวต้านทานที่สูงขึ้นได้ถ้าฉันใช้ 5V แต่จะมีประโยชน์อะไรบ้าง?


1
เพิ่มปุ่มกดความปลอดภัยให้กับออดของคุณ เฉพาะผู้ที่ป้อนรหัสสี่หลักที่ถูกต้องเท่านั้นที่สามารถส่งเสียงได้ทุกเวลา
Kaz

คำตอบ:


15

สิ่งที่แผนผังไม่แสดงก็คือโหมดทั่วไปขนาดใหญ่ 60Hz ครวญเพลงและพื้นที่เชื่อมต่อกันด้วยความใกล้ชิดกับสาย AC และทรานเฟอร์เรนเชียลไลน์

ตัวอย่างของคุณเป็นตัวอย่างที่ดีของการไม่เชื่อมต่อสายยาว

ฉันขอแนะนำในอนาคต;

  1. ชอบคู่บิด
  2. ชอบเส้นที่สมดุล
  3. หลีกเลี่ยงอินพุตความต้านทานสูง
  4. ชอบความต้านทานที่ตรงกัน
  5. หลีกเลี่ยง LPF ที่มากเกินไป (ค่าคงที่เป็นเวลานาน)
  6. รวมถึง RF cap เพื่อไม่ให้เกิดการเปลี่ยนแปลงชั่วคราว
  7. ใช้ลูกปัดเฟอร์ไรต์ (CM choke)
  8. หลีกเลี่ยงกราวด์กราวด์ (เช่นเชื่อมต่อกับวงจรที่ไม่ได้ใช้โดยตรง)
  9. ใช้วงจรลดการสัมผัสหน้าสัมผัส (ขั้ว 10uF ที่ถูกต้องสำหรับขั้วต่อที่ไม่ได้ชุบทอง)
  10. ชอบเกลี้ยกล่อมสำหรับสภาพแวดล้อม EMI ที่รุนแรงมาก

เนื่องจากตัวเลือกมากมายไม่เป็นประโยชน์ ทำสิ่งเหล่านี้

  • ถอดฝาปิดขนาดใหญ่บนบอร์ดและย้ายไปยังหน้าสัมผัสสวิตช์ระยะไกล (ต้อง)
  • ลบตัวต้านทานซีรีย์ 3K (1k) และเพิ่มปลอก CM เฟอร์ไรต์หรือคล้ายกัน
  • เพิ่มฝา RF ขนาดเล็กบนบอร์ดข้ามอินพุต เช่น 0.001 ~ 0.01uF หรือชนิดเหนี่ยวนำต่ำ
  • แทนที่ 100K ด้วย 1k ~ 10K
  • เพิ่มลูกปัดเฟอร์ไรต์ขนาดใหญ่ที่มีหลายรอบทั้งสองสาย (ตัวกรอง CM)

ด้วยโซลูชั่นนี้วงจรสวิทช์อิมพีแดนซ์จะมีอิมพิแดนซ์ต่ำในการปิดและอิมพิแดนซ์ต่ำพร้อมสวิทช์แบบไฟฟ้าผ่านสวิตช์เมื่อเปิด CM hum จะถูกดูดซับและลดสัญญาณรบกวน RF ที่แตกต่างกัน enter image description here

- ดึงแรงดันไฟฟ้าอุปทานเดียวกันกับ uC พร้อมฝาปิด RF ที่ดีข้ามชิป


ฉันจะต้องหาปลอกแขน CM ของ ferrit แต่ไม่เช่นนั้นมันก็ดูเป็นไปได้มาก คุณคิดว่างานนี้จะ: digikey.com/product-detail/en/KR50TA251512B1/P11400-ND/409505 ขอขอบคุณ!
Matt Ruwe

จะทำงานได้โดยไม่ต้องเพิ่มประกันสำหรับการระเบิด RF จรจัด ดีกว่า .. digikey.com/product-detail/en/FB73-287-RC/M8708-ND/775247รับโหลหรือมากกว่าสำหรับการใช้ในอนาคต
Tony Stewart Sunnyskyguy EE75

อ่าน ID digikey.com/product-detail/en/35T0231-30P/240-2586-ND/1587459 ที่ไม่ถูกต้อง ด้านบนมีขนาดเล็กเกินไป ของคุณก็จะตกลงเช่นกัน แต่ล้าสมัย
Tony Stewart Sunnyskyguy EE75

ขอขอบคุณ. คำถามอื่นอีกสองข้อ ในสภาพแวดล้อมที่อยู่อาศัยเช่นของฉันฉันควรผูกพื้นดินทั่วไปไว้กับอะไร? มีพื้นไฟฟ้าหรือท่อประปาใกล้เคียงหรือไม่?
Matt Ruwe

เต้ารับไฟฟ้าที่อยู่ใกล้เคียงหรือเคสคอมพิวเตอร์ที่เชื่อมต่อกับเต้าเสียบเป็นเรื่องปกติ สายยาวเพิ่มความเหนี่ยวนำมากเกินไป> 1 ม.
Tony Stewart Sunnyskyguy EE75

8

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

ปรับปรุง

ฉันไม่คุ้นเคยกับระบบออด (นอกเหนือจาก google อย่างรวดเร็ว) ดังนั้นต่อไปนี้จะถือว่าคุณมีตัวนำอย่างน้อยสองตัวที่วิ่งจาก MCU ของคุณไปยังสวิตช์

บอร์ด GHI EMX คุณมี ADC ขนาด 10 บิตดังนั้นคุณสามารถส่ง 12vDc (หรือมากกว่า) ไปที่ออดและใช้ตัวแบ่งแรงดันไฟฟ้าแบบง่าย ๆเพื่อให้แรงดันไฟฟ้าไปยัง MCU ไม่เกิน 5 โวลต์สูงสุด จากนั้นในส่วนของซอฟต์แวร์ทั้งหมดที่คุณต้องทำคืออ่าน ADC และหากค่าคือ> 1,000 (คุณอาจต้องเล่นกับหมายเลขนี้และ 1,023 เป็นค่าสูงสุดของ ADC 10 บิต) จากนั้นออดจะถูกกด

มันจะมีลักษณะเช่นนี้ (พยายามที่จะไม่ถูกครอบงำด้วยทักษะการแก้ไขกราฟิกที่ยอดเยี่ยมของฉัน):

ป้อนคำอธิบายรูปภาพที่นี่

ตัวเลือกอื่นที่มีลักษณะคล้ายกันคือการใช้ทริกเกอร์ schmittกับแรงดันไฟฟ้าขาเข้าที่สูงขึ้น แต่สิ่งนี้จะต้องใช้ชิ้นส่วนเพิ่มเติมและพยายามมากกว่าตัวเลือก ADC

แก้ไข

คำตอบของ Chris Stratton เป็นจุดที่ดีเกี่ยวกับกระแสปัจจุบัน หากคุณเปลี่ยนตัวต้านทานแบบดึงขึ้น 100k เป็น ~ 220 โอห์มตัวหนึ่งที่อาจทำเคล็ดลับได้


1
ไม่ใช่ความคิดที่ไม่ดี แต่ต้องใช้ความสนุกห่างจากแนวคิด ฉันยังอยากจะรู้ว่าเมื่อไรที่สวิตช์ถูกกดหลังจากเวลาผ่านไปหลายชั่วโมงเพื่อให้ฉันสามารถเปิดไฟหน้าบ้านและให้ยาเล็ก ๆ น้อย ๆ ของพวกเขาเองได้
Matt Ruwe

เสียงไซเรนตำรวจที่อยู่ห่างไกลอาจเข้ามาใกล้พร้อมกับเนชันบนสวิตช์
Tony Stewart Sunnyskyguy EE75

1
ข้อเสนอแนะที่ฉันชอบคือจากเพื่อนที่มีความคิดที่จะใช้การแข่งขันไฟฟ้าที่เชื่อมต่อกับดอกไม้ไฟบางส่วนที่จะถูกตั้งค่าออกเมื่อกดปุ่ม ในที่สุดความคิดนั้นก็อันตรายเกินไป
Matt Ruwe

@Matt ดูการอัปเดตของฉันสำหรับโซลูชันอื่น แทนที่จะเป็นดอกไม้ไฟฉันเคยใช้ไซเรนและแสงแฟลชทำให้เด็ก ๆ สูบบุหรี่ที่ด้านข้างบ้านของฉัน ฉันจับมันในวิดีโอด้วยซึ่งทำให้ดีขึ้นมาก!
Garrett Fogerlie

6

มีวิธีแก้ปัญหานี้ง่าย ๆ

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

คุณสามารถสร้างสถานการณ์ที่คล้ายกันได้โดยใช้ตัวต้านทานแบบ pullup ที่มีราคาต่ำโดยมีปุ่มออดที่เชื่อมต่อกับกราวด์ ความต้านทานร้อยโอห์มจะหมายความว่าประมาณ 25 มิลลิแอมป์ของกระแสจะต้องไหลก่อนที่จะดึงอินพุตไมโครคอนโทรลเลอร์ต่ำพอที่จะอ่านเป็น "0" การสื่อสารแบบอนุกรมระยะไกลมักใช้กระแส 20 mA ดังนั้น 25 mA ควรเพียงพอ แต่คุณสามารถปรับขึ้นหรือลงได้อย่างง่ายดาย

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

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


นอกเสียจากว่าคุณจะใช้กระแส 10% หรืออัตรากระแสบนสวิตช์เมทัลลิกที่ไม่ได้อยู่ใน Au ก็จะล้มเหลวในการเริ่มต้นเป็นระยะ ๆ ด้วยกระแสตรรกะระดับ นั่นคือเหตุผลที่ฝา ESR ต่ำทั่ว (หมวกฟิล์มสำเร็จรูป) เป็นสิ่งจำเป็นในการลดการเกิดออกไซด์ด้วยการถ่ายโอนข้อมูลกระแสสูง ESR ต่ำข้ามผู้ติดต่อ
Tony Stewart Sunnyskyguy EE75

@Richman - ความล้มเหลวในที่สุดเป็นไปได้ใช่ - เป็นเมื่อใช้ออดสัญญาณด้วยไฟฟ้าเช่นกัน ใครสามารถเพิ่มกระแสในทฤษฎีที่อาจช่วยหรือลองคิดเก็บประจุชีพจรของคุณ การออกแบบปุ่มออดบางอย่างโดยนัยอาจมีการสัมผัสแบบเลื่อนบางส่วนเนื่องจากใบไม้กดซึ่งจะช่วยได้มาก ฉันสงสัยว่าความล้มเหลวที่แก้ไขได้อย่างง่ายดายหลังจากผ่านไปหลายปีจะไม่เป็นเครื่องฉายภาพสำหรับอุปกรณ์อำนวยความสะดวกที่บางคนสร้างขึ้นเพื่อบ้านของตัวเอง ในระดับปฏิบัติมันจะมีประโยชน์ถ้าคนที่อยู่ในประตูอย่างน้อยได้ยินเสียงระฆังอย่างแผ่วเบา
Chris Stratton

0

สายเคเบิลยาว 15 เมตรทำตัวเหมือนเสาอากาศ คุณต้องใช้ตัวเก็บประจุแบบป้อนผ่าน (เช่นW2F11A4708AT1F ) เพื่อกรองสัญญาณรบกวน RF

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