นานแค่ไหนระหว่าง Arduino ดิจิตอลพินและ IC?


9

โครงการปัจจุบันของฉันเกี่ยวข้องกับการใช้การลงทะเบียนการเปลี่ยนแปลง 74HC595 เพื่อควบคุมจอแสดงผล LED อย่างไรก็ตามจอแสดงผลอาจอยู่ห่างจากบอร์ด Arduino สูงถึง 5 เมตรหรือมากกว่านั้น แผนคือการใช้สายเคเบิล DB9 / RS232 บางอย่างระหว่างกล่องที่มี Arduino และสิ่งที่แนบมากับจอแสดงผล ความยาวจะยาวเกินไปสำหรับสัญญาณดิจิทัลที่จะเดินทางจากพินเอาต์ดิจิตัลไปยังกะเรจิสเตอร์โดยไม่มีการลดลงหรือไม่?


อัตราบิต / ความเร็วในการส่งข้อมูลคือเท่าใด? คุณลองแล้วดูคลื่นในขอบเขตหรือไม่?
endolith

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

คำตอบ:


7

74HC595 เป็นเทคโนโลยี CMOS ดังนั้นจึงไม่ควรใช้วิธีใดในการขับรถในปัจจุบันกระแสดังนั้นการปล่อยสัญญาณ IR จึงไม่น่าเป็นห่วง

ตราบใดที่คุณรักษาความถี่ของสัญญาณลงด้านล่างว่า 100kHz คุณไม่ควรกังวลเกี่ยวกับเอฟเฟกต์ของสายส่ง สมมติว่าผู้สังเกตการณ์ที่คุณต้องการให้ LED เป็นดวงตาของมนุษย์คุณไม่ควรกังวลเกี่ยวกับความเร็วสูง ตัวอย่างเช่น 8 หลักที่ 7 เซกเมนต์และจุดทศนิยมแต่ละองค์ประกอบคือ 64 LED และที่ 9600 bps คุณสามารถอัปเดตการแสดงผลได้ในเวลาไม่เกิน 7 มิลลิวินาที

สิ่งเดียวที่ฉันกังวลเกี่ยวกับคือว่าระดับเอาต์พุตดิจิตอลสูงจาก Arduino จะลงทะเบียนเป็นอินพุตสูงที่ shift shift ของคุณหรือไม่ ตราบใดที่การลงทะเบียนกะทำงานจากแหล่งจ่ายไฟ 5V (และไม่ใช่สิ่งที่แปลกอย่างเช่น 6) คุณควรจะอยู่ที่นั่นเช่นกัน (และหากนี่จะเป็นปัญหาก็จะปรากฏตัวเองมากกว่าลวด 10 ซม. เพื่อให้ง่ายต่อการตรวจสอบ)

คำตอบสั้น ๆ : ความน่าจะเป็นสูงมากคุณสามารถเปลี่ยนจาก arduino เป็นสายเคเบิลไปยัง 74HC595s ได้โดยไม่มีปัญหา


5

ความรู้สึกของฉันคือคุณควรจะสบายดีในช่วงนี้ ทางออกที่ดีที่สุดของคุณอาจลองดูและใช้งานได้ดี

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

ในฐานะที่เป็นดาต้าพอยน์ Arduino สามารถรัน 9600 อนุกรมผ่านสายเคเบิลที่ไม่มีการหุ้มฉนวนสำหรับ 50 '(อาจมากกว่านั้น)


5

คุณควรกำหนดขอบเขตเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง แต่นี่คือกระบวนการคิด / คณิตศาสตร์ที่คุณต้องนำมาพิจารณาเพื่อพิจารณาผลกระทบของสายส่ง

  • เวลาเพิ่มขึ้นและลดลงของคมตัดตรงข้ามกับสิ่งที่บางคนโพสต์ไว้ที่นี่ความถี่ของสัญญาณไม่สำคัญเลยเมื่อพิจารณาว่าเมื่อใดที่คุณต้องคำนึงถึงผลกระทบของสายส่ง โดยทั่วไปแล้วความจริงที่ว่าสัญญาณความถี่สูงมีเวลาเพิ่มขึ้น / ลดลงเร็วขึ้น แต่สัญญาณความถี่ต่ำสามารถเพิ่มขึ้นหรือลดลงได้อย่างรวดเร็วหากพวกเขาถูกขับเคลื่อนด้วยความถี่ต่ำโดยตัวรับส่งสัญญาณที่มีอัตราการฆ่าสูง เช่นเดียวกับการใช้เวลาเพิ่มขึ้น / ลดลงช้าที่สุดเท่าที่จะเป็นไปได้เพื่อให้อยู่ในข้อมูลจำเพาะของชิ้นส่วนที่คุณใช้อยู่คุณสามารถลดเวลาการขึ้นและลงด้วยตัวกรอง RC ที่แหล่งกำเนิด โดยทั่วไปคุณต้องพิจารณาถึงผลกระทบของสายส่งสัญญาณหากความยาวของสายไฟมีค่ามากกว่า Tr / (2 * Td) ที่มี Tr = ถึงเวลาที่สัญญาณเพิ่มขึ้นที่ต้นทางและ Td = ถึงความล่าช้าในการแพร่กระจายตามความยาวหน่วยของสายเคเบิล กำลังใช้ คุณอาจจำเป็นต้องยุติสายสัญญาณบนสายสั้น ๆ อย่างถูกต้องหากโหลดมีความละเอียดสูงซึ่งเป็นการยากที่จะคำนวณล่วงหน้าเนื่องจากมีหลายรายการที่มีเอฟเฟกต์แบบ capacitive ในระบบดังกล่าว หากคุณมีปัญหานี้คุณจะสังเกตเห็นเสียงสัญญาณ (ด้านล่างและด้านบนยิงที่ขอบ) ในสัญญาณ

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

หากคุณจำเป็นต้องคำนึงถึงเอฟเฟกต์ของสายส่งคุณต้องทราบถึงความต้านทานของสายเคเบิลและความต้านทานของเอาท์พุตของ IC ในการขับขี่ด้วย

หากคุณต้องการจัดการกับเอฟเฟกต์สายส่งมีตัวเลือกไม่กี่แบบสำหรับการยกเลิก มีเพียงฉันสองคนเท่านั้นที่จะพิจารณาคือการยกเลิกต้นทางและการสิ้นสุดการให้เอนเอียง AC เอนเอียง

ในการยุติแหล่งที่มาคุณต้องวางตัวต้านทานให้ใกล้ที่สุดกับ IC ขับที่มีค่าเท่ากับความต้านทานลักษณะของสายเคเบิลลบอิมพีแดนซ์ของเอาท์พุตของ IC ขับคุณอาจต้องปรับบิตนี้เพื่อให้สเป็กตาย ความต้านทานของตัวเชื่อมต่อสายเคเบิลจะส่งผลกระทบต่อระบบและทำให้การขับขี่และการรับ IC ใกล้เคียงกับขั้วต่อมากที่สุดเท่าที่จะทำได้เพื่อลดการสะท้อนกลับ นี่อาจเป็นวิธีที่ง่ายที่สุดและอาจเป็นวิธีที่ดีที่สุดในกรณีนี้ กระแสไฟฟ้าสูงสุดจะเป็น (Vhigh - Vlow) / (2 * Z0) พร้อม Z0 = ถึงความต้านทานลักษณะของสายเคเบิล

ในการสิ้นสุดอคติ AC คุณเชื่อมต่อกับสายสัญญาณใกล้เคียงกับ IC ที่รับเป็นไปได้ตัวต้านทานในซีรีย์ที่มีตัวเก็บประจุที่มีตัวเก็บประจุเชื่อมโยงกับพื้นดิน ค่าของตัวต้านทานควรเป็นลักษณะความต้านทานของสายเคเบิลค่าของตัวเก็บประจุจะถูกกำหนดโดยความถี่ของสัญญาณ (R และ C ในรูปแบบตัวกรองผ่านต่ำ) ไดรฟ์สูงสุดในปัจจุบันเป็นเช่นเดียวกับการยกเลิกแหล่งที่มา กระแสไดรฟ์เฉลี่ยขึ้นอยู่กับวัฏจักรหน้าที่ของสัญญาณถ้าใกล้ถึง 50% แล้วมันจะเท่ากับคร่าวๆกับกระแสอินพุตของ IC ที่รับถ้ามันมากกว่า 50% กระแสไดรฟ์เฉลี่ยจะสูงกว่า . เนื่องจาก R และ C เป็นตัวกรอง low pass ลักษณะการเลิกจ้างนี้จะกรองสัญญาณรบกวนความถี่สูงบางส่วนออก

คู่อื่น ๆ ที่ควรทราบ:

  • การใช้คู่บิดคู่สำหรับสัญญาณสิ้นสุดเดียวไม่ลดเสียงรบกวนเลย มันจะส่งผลในลักษณะความต้านทานที่สอดคล้องกันมากขึ้นสำหรับสายส่ง นี่อาจทำให้เอาต์พุตดูดีขึ้นถ้าคุณควรยกเลิกสัญญาณอย่างถูกต้อง แต่ไม่ได้ ไม่ทำอะไรเลยที่จะลดเสียงรบกวนภายนอก EM ลงบนสาย

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

คุณสามารถใช้การประมวลผลความคิดเดียวกันในทุก ๆ บรรทัดไม่ว่าจะเป็นสายเคเบิลหรือ PCB ขนาด 2 นิ้ว


ฉันมีความเห็นค่อนข้างน้อย แต่มีเพียงฉันคนเดียวที่มีเวลาพิมพ์ตอนนี้ เมื่อฉันพูดความถี่ของสัญญาณฉันหมายถึงองค์ประกอบความถี่ของสัญญาณของฉัน สิ่งนี้ถูกกำหนดอย่างสมบูรณ์โดยเวลาที่เพิ่มขึ้น / ลดลงของสัญญาณดิจิตอล
Kortuk

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

4

คุณอาจจะต้องมีบัฟเฟอร์ในการขับเคลื่อนความยาวของสายนั้น - ควรมีความเหมาะสมเช่นโปรแกรมควบคุมบัฟเฟอร์ / สาย 74HC244

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