สารบัญ:

การสื่อสารด้วยสายเดี่ยวแบบแยกด้วยแสง: 4 ขั้นตอน (พร้อมรูปภาพ)
การสื่อสารด้วยสายเดี่ยวแบบแยกด้วยแสง: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การสื่อสารด้วยสายเดี่ยวแบบแยกด้วยแสง: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การสื่อสารด้วยสายเดี่ยวแบบแยกด้วยแสง: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Ep32การอ่านแบบให้เข้าใจง่ายๆสามารถคุมงานเองได้เลย 2024, พฤศจิกายน
Anonim
การสื่อสารด้วยสายเดี่ยวแบบแยกแสง
การสื่อสารด้วยสายเดี่ยวแบบแยกแสง

สวัสดี สำหรับโครงการพิพิธภัณฑ์สัตว์น้ำ ฉันต้องการสายไฟยาวที่สามารถ:

  • จ่ายไฟให้กับอุปกรณ์
  • ขออนุญาติสื่อสาร

อื่น

  • กระแสไฟและแรงดันไฟต่ำ
  • สายไฟยาว +/- 3 เมตร
  • การถ่ายโอนข้อมูลช้า
  • การสื่อสารแบบสองทิศทาง ฮาล์ฟดูเพล็กซ์
  • พื้นที่จำกัดในเครื่อง
  • การแยกกัลวานิก

การสื่อสารอยู่ระหว่าง 2 อุปกรณ์ อุปกรณ์สามารถเป็น Arduino, Raspberry PI หรืออุปกรณ์อื่น ๆ โดยใช้พินดิจิตอล

ขั้นตอนที่ 1:

เซ็นเซอร์บางตัว เช่น DS18B20 ใช้สายไฟ 3 เส้นเพื่อจ่ายไฟและสื่อสารกับอุปกรณ์อื่น ในโครงการนี้ สายไฟมีหน้าที่ดังต่อไปนี้:

  • +5V
  • พื้น
  • ข้อมูล (0 / +5V)

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

  • NXP, AN2342, https://www.nxp.com/docs/en/application-note/AN23…. รูปที่ 5
  • EmSa, https://www.esacademy.com, ฉันสามารถทำการแยกขั้วไฟฟ้าของบัส I2C ของฉันได้หรือไม่
  • เอ็มเบ็ดเด็ด https://www.embedded.com/print/4025023 รูปที่ 1

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

ขั้นตอนที่ 2: รายการอะไหล่

  • แหล่งจ่ายไฟ +5V
  • สายไฟในครัวเรือนแบบยืดหยุ่นพร้อมตัวนำไฟฟ้า 3 ตัว
  • แผ่นไม้อัด 5x7cm
  • ตัวต้านทาน 2x 470Ω
  • 1x ตัวต้านทาน680Ω
  • ตัวต้านทาน 2x 1kΩ
  • 2x ไดโอด (เช่น 1N4148)
  • 2x ออปโตคัปเปลอร์ EL817
  • นำ
  • หัวเข็มหมุดตัวเมีย 2 ขา
  • หัวเข็มหมุดตัวเมีย 3 ขา
  • หัวเข็มหมุดตัวเมีย 4 ขา
  • หัวกลม ตัวเมีย 6 ขา
  • หัวกลม ตัวเมีย 4 ขา

จำเป็นต้องใช้เครื่องมือบางอย่างเช่นแหนบ, คัตเตอร์, คีมจับ, หัวแร้ง, ไส้ตะเกียง, ขาตั้ง

วิธีการบัดกรี:

ตระหนักถึงความเสี่ยงด้านความปลอดภัยและใช้อุปกรณ์ป้องกันส่วนบุคคล

ขั้นตอนที่ 3: แผนผัง

แผนผัง
แผนผัง
แผนผัง
แผนผัง
แผนผัง
แผนผัง
แผนผัง
แผนผัง

คำอธิบายของแผนผัง:

เนื่องจากมีพื้นที่จำกัด ด้านขวาของแผนผังจึงอยู่ในเครื่องพร้อมอุปกรณ์ 2 ด้านซ้ายของแผนผังเป็นแบบเทกองและทำงานโดยอุปกรณ์ 1 ระหว่างด้านซ้ายและด้านขวาของตัวนำข้อมูล

  • ดิจิตอล “OUT” ทางด้านขวาได้รับการป้องกันโดยไดโอด
  • ออปโตคัปเปลอร์ "OUT" ได้รับการคุ้มครองโดยไดโอด
  • ในการจำกัดกระแส ตัวต้านทานจะอยู่ด้านหน้าพิน 1 ของออปโตคัปเปลอร์ "IN" และ "OUT"
  • พิน 2 ของออปโตคัปเปลอร์เชื่อมต่อกับกราวด์
  • Pin 3 emitter ต่อสายดินด้วยตัวต้านทาน
  • ตัวสะสมพิน 4 มาพร้อมกับพลังงาน

ในการแสดงภาพการถ่ายโอนข้อมูล LED จะเชื่อมต่อกับสายข้อมูล ค่าตัวต้านทานขึ้นอยู่กับไฟ LED และความสว่างที่ต้องการ คำเตือน: หากค่าตัวต้านทานต่ำเกินไป กระแสไฟที่มากเกินไปจะทำให้พินออกจากอุปกรณ์ 2 หรือออปโตคัปเปลอร์ "IN" จะไม่ถูกขับเคลื่อนอย่างถูกต้อง

ดูตาราง:

  • หาก "OUT1" หรือ "OUT2" เป็น "สูง" สายดาต้าจะเป็น +5V
  • ถ้า "OUT1" หรือ "OUT2" เป็น "LOW" สายดาต้าจะเป็น 0V
  • ที่ขา “IN1” หรือ IN2” สามารถอ่านค่าของสายดาต้าได้

ใน Fritzing เลย์เอาต์ของชิ้นส่วนบนแผ่นกระดานจะถูกกำหนด ไดโอดและตัวต้านทานอยู่ในตำแหน่งแนวตั้ง ดูเส้นสีเหลือง สีส้ม และสีแดง เส้นสีน้ำเงินคือตัวนำที่อยู่ใต้แผ่นกระดาน

ขั้นตอนที่ 4: การเขียนโปรแกรม

Image
Image

เพื่อทดสอบว่าวงจรทำงานหรือไม่ คุณสามารถใช้โปรแกรมที่แนบมา

อุปกรณ์ 1 เป็นเครื่องหลักและควรได้รับพลังงานล่าสุด มันจะส่งลำดับบิต ที่จุดเริ่มต้น 8 บิตแรก 1 สต็อปบิตแล้วลำดับ "เปิด" และ "ปิด"

อุปกรณ์ 2 เป็นทาสและควรเปิดเครื่องก่อน โปรแกรมจะเริ่มอ่านดาต้าไลน์ เมื่อ 8 startbits ถูกอ่าน โปรแกรมจะเริ่มบันทึกบิต เมื่อบันทึก 8 บิต โปรแกรมจะส่งคืนบิต

ในระหว่างการสลับข้อมูล บิต "เปิด" และ "ปิด" สามารถตรวจสอบได้โดยไฟ LED กะพริบและไฟ LED (pin13) บนอุปกรณ์

เมื่อการบัดกรีของคุณใช้ได้และโหลดโปรแกรมแล้ว คุณจะเห็นไฟ LED กะพริบคล้ายกับไฟ LED ในวิดีโอ

(เพื่อหลีกเลี่ยงการลัดวงจร ตัวนำโลหะเปล่าสามารถเคลือบด้วยอีพ็อกซี่ได้)

แนะนำ: