สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ตัวเข้ารหัสแบบเพิ่มหน่วยมักใช้สำหรับการใช้งานในอุตสาหกรรม เช่น หุ่นยนต์หรือการติดตามตำแหน่ง ตัวเข้ารหัสสำหรับแอปพลิเคชันอุตสาหกรรมส่วนใหญ่มาพร้อมกับอินเทอร์เฟซ RS422 ที่แตกต่างกัน
ฉันจะแสดงให้เห็นในโปรเจ็กต์เล็กๆ นี้ถึงวิธีการใช้ตัวเข้ารหัสส่วนเพิ่มทางอุตสาหกรรม - ในกรณีของเรา SICK DFS60 - กับ Arduino UNO
ขั้นตอนที่ 1: เครื่องมือและวัสดุ
วัสดุ
- Arduino UNO
- 3x RS422 Shield สำหรับ Arduino
- ตัวเข้ารหัสที่เพิ่มขึ้น (Sick DFS60)
เครื่องมือ
- ไขควง
- แหล่งจ่ายไฟห้องปฏิบัติการ
ขั้นตอนที่ 2: ข้อมูลพื้นฐานบางอย่าง
เอาต์พุต RS422 ของตัวเข้ารหัสใช้เฉพาะเลเยอร์ฮาร์ดแวร์เท่านั้น จะไม่มีการส่งโปรโตคอลแบบอนุกรมผ่าน RS422 เฉพาะพัลส์ของตัวเข้ารหัสเท่านั้นที่จะถูกถ่ายโอนโดยตรงผ่าน 3 ช่องสัญญาณ RS422 ที่แตกต่างกัน: SIN, COS และ Z (ตำแหน่งศูนย์)
เนื่องจากช่องสัญญาณ RS422 อิสระ 3 ช่อง เราจึงต้องการอินพุต RS422 3 ช่องสำหรับ Arduino เพื่อจุดประสงค์นี้ ฉันใช้โล่ Arduino RS422 / RS485 จำนวน 3 ชิ้น - ซ้อนกันบน Arduino ตัวเดียว
ขั้นตอนที่ 3: การตั้งค่า Dip Switch ของ RS422 Shields
การตั้งค่าสวิตช์จุ่มสำหรับชิลด์ใดๆ จะเหมือนกัน:
- S1: เปิด, ปิด, ปิด, ปิด (เครื่องรับเปิด / ปิดเครื่องส่งเสมอ)
- S2: ปิด, ปิด, เปิด, เปิด
- S3: เปิด, ปิด, ปิด, ปิด (เปิดตัวต้านทานการสิ้นสุด)
ขั้นตอนที่ 4: การตั้งค่าจัมเปอร์ของ RS422 Shields
การตั้งค่า Jumper สำหรับโล่แตกต่างกัน ขึ้นอยู่กับช่องสัญญาณที่เชื่อมต่อ พิน RX ถูกกำหนดค่าเป็น:
- Z: D2
- COS: D3
- บาป: D4
ต้องตั้งค่าจัมเปอร์แรงดันไฟ JP1 เป็น 5V
ขั้นตอนที่ 5: การเดินสายไฟ
ตัวเข้ารหัสสามารถขับเคลื่อนโดยแหล่งจ่ายไฟในห้องปฏิบัติการหรือโดยตรงโดย 5V ของ Arduino UNO
ขั้นตอนที่ 6: ซอฟต์แวร์และการทดสอบ
โปรดรวบรวมไฟล์ INO ที่แนบมาภายใต้ Arduino IDE หลังจากอัปโหลดโครงการไปยัง Arduino คุณต้องเปิดจอภาพอนุกรมด้วย 115200 บอด
คุณจะเห็นค่าที่เพิ่มขึ้นในปัจจุบัน (อัปเดตทั้งหมด 0, 5 วินาที) และสถานะปัจจุบันของตัวเข้ารหัสที่นั่น….