สารบัญ:

บทช่วยสอน Sparkfun CAN Bus Shield: 6 ขั้นตอน
บทช่วยสอน Sparkfun CAN Bus Shield: 6 ขั้นตอน

วีดีโอ: บทช่วยสอน Sparkfun CAN Bus Shield: 6 ขั้นตอน

วีดีโอ: บทช่วยสอน Sparkfun CAN Bus Shield: 6 ขั้นตอน
วีดีโอ: CAN BUS Tutorial PT1. How to get started with the KS0411 CAN BUS shield from Inland. 2024, กรกฎาคม
Anonim
Sparkfun CAN Bus Shield บทช่วยสอน
Sparkfun CAN Bus Shield บทช่วยสอน

รับและส่งข้อความโดยใช้ Sparkfun CAN Bus Shield

CAN คืออะไร?

บัส CAN ได้รับการพัฒนาโดย BOSCH ให้เป็นระบบกระจายข้อความแบบหลายมาสเตอร์ ซึ่งระบุอัตราการส่งสัญญาณสูงสุดที่ 1 เมกะบิตต่อวินาที (bps) ไม่เหมือนกับเครือข่ายแบบเดิม เช่น USB หรืออีเทอร์เน็ต CAN จะไม่ส่งข้อมูลขนาดใหญ่แบบจุดต่อจุดจากโหนด A ไปยังโหนด B ภายใต้การดูแลของมาสเตอร์บัสหลัก ในเครือข่าย CAN ข้อความสั้นๆ จำนวนมาก เช่น อุณหภูมิหรือ RPM จะถูกถ่ายทอดไปยังเครือข่ายทั้งหมด ซึ่งให้ความสอดคล้องของข้อมูลในทุกโหนดของระบบ

ขั้นตอนที่ 1: วัสดุที่จำเป็น

2 - Sparkfun CAN บัสชิลด์

2 - Arduino UNO

ตัวต้านทาน 2 - 120 โอห์ม

1 - เขียงหั่นขนม

สายจัมเปอร์

ดาวน์โหลดไลบรารี CAN Bus Shield:

drive.google.com/open?id=1Mnf2PN_fAQFpo1ID…

ขั้นสูง (CAN บัส):

DB9 (หญิง)

RJ45

สาย UTP

ตัวแยกสัญญาณ 2 ทาง RJ45

ขั้วต่อตรง RJ45

เครื่องมือ:

ไขควง

RJ45 Crimper

หัวแร้ง

ขั้นตอนที่ 2: สร้าง CAN Bus บน Breadboard

การสร้าง CAN Bus บน Breadboard
การสร้าง CAN Bus บน Breadboard

1. ติดตั้ง CAN Bus Shield กับ Arduino แต่ละตัว

2. ต่อหมุด CAN_H และ CAN_L ของชิลด์เข้ากับเขียงหั่นขนม

3. เชื่อมต่อตัวต้านทานปลายสาย 120 โอห์มที่ปลายแต่ละด้านของเส้น CAN_H และ CAN_L

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

การเขียนโปรแกรม Arduino
การเขียนโปรแกรม Arduino

1. ดาวน์โหลดและติดตั้ง CAN Bus Shield Library จากลิงค์ที่ให้ไว้ด้านบน

กำหนดค่า Arduino ตัวแรกให้อ่านข้อความ CAN

2. เปิด Arduino IDE

3. ไปที่ไฟล์ตัวอย่าง SparkFun CAN-Bus CAN_Read_Demo

4. เลือกพอร์ตที่เหมาะสมของ Arduino ตัวแรกและอัปโหลด

กำหนดค่า Arduino ตัวที่ 2 เพื่อส่งข้อความ CAN

5. เปิด Arduino IDE. ใหม่

6. ไปที่ไฟล์ตัวอย่าง SparkFun CAN-Bus CAN_Write_Demo

7. เลือกพอร์ตที่เหมาะสมของ Arduino ตัวที่สองและอัปโหลด

ขั้นตอนที่ 4: การทดสอบ

/*เพิ่มรูปภาพตัวอย่างการทำงาน*/

หลังจากอัปโหลดโปรแกรมไปยัง Arduinos ทั้งสอง…

1. เปิด Serial Monitors ของ Arduino. ตัวแรกและตัวที่สอง

2. ตั้งค่าอัตราบอดเป็น 9600

3. ตรวจสอบว่า Arduino ตัวแรกได้รับข้อมูลหรือไม่

หากไม่ได้รับข้อมูล:

1. ตรวจสอบว่าเลือกพอร์ตและอัตรารับส่งข้อมูลที่เหมาะสมสำหรับ Arduino. แต่ละตัวหรือไม่

2. ตรวจสอบการเชื่อมต่อของเส้น CAN_H และ CAN_L

3. ตรวจสอบการเชื่อมต่อของตัวต้านทานปลายสาย

ขั้นตอนที่ 5: สำรวจ

สร้างข้อความ CAN ที่กำหนดเอง

แก้ไขโปรแกรม CAN_Write_Demo เป็น…

  • เปลี่ยนรหัสข้อความ (message.id)
  • เปลี่ยนบิต RTR (message.header.rtr)
  • กำหนดความยาวของข้อมูล (message.header.length)
  • ป้อนข้อมูลของคุณเอง (message.data[x])

แก้ไข CAN_Read_Demo เพื่อปรับแต่งวิธีการพิมพ์ข้อมูลของคุณ

  • พิมพ์ ID ข้อความ (message.id)
  • พิมพ์ความยาวของข้อความ (message.header.length)
  • พิมพ์ข้อความ ข้อมูล (message.data[x])

ขั้นตอนที่ 6: (เพิ่มเติม) สร้าง CAN Bus โดยใช้ UTP

(เพิ่มเติม) สร้าง CAN บัสโดยใช้ UTP
(เพิ่มเติม) สร้าง CAN บัสโดยใช้ UTP
(เพิ่มเติม) สร้าง CAN บัสโดยใช้ UTP
(เพิ่มเติม) สร้าง CAN บัสโดยใช้ UTP
(เพิ่มเติม) สร้าง CAN บัสโดยใช้ UTP
(เพิ่มเติม) สร้าง CAN บัสโดยใช้ UTP

CAN Bus ที่ใช้ในแผนภาพนี้เป็นสาย UTP 8 ขา

มีตัวเชื่อมต่อสองประเภทในไดอะแกรมนี้ ได้แก่ (DB9 - to - RJ45) และ (RJ45 - to - RJ45)

DB9 - ถึง - RJ45

DB9 (พิน 1- 8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 (พิน 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 - ถึง - RJ45 (ตรงผ่าน)

RJ45 (พิน 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 (พิน 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

RJ45 - ถึง - Terminator

RJ45 (พิน 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br

ตัวต้านทานเทอร์มิเนเตอร์ (wG, wBl)

โหนดสามารถเชื่อมต่อกับ CAN Bus ได้ตามความต้องการและจำนวนโหนดที่ใช้

สำหรับการเชื่อมต่อแบบสองโหนด ขั้วต่อ RJ45 Straight จะใช้ระหว่างสายเคเบิล (DB9 - to - RJ45)

สำหรับการเชื่อมต่อแบบ 3 โหนด ตัวแยกสัญญาณแบบ 2 ทางจะเชื่อมต่อกับขั้วต่อแบบตรงเพื่อสร้างการเชื่อมต่อแบบ "T" ระหว่างสายเคเบิลทั้งหมด (DB9 - to - RJ45)

สำหรับการเชื่อมต่อโหนด 2+ (2 โหนดขึ้นไป) ตัวแยกสัญญาณแบบ 2 ทางจะเชื่อมต่อกับขั้วต่อแบบตรงเพื่อสร้างการเชื่อมต่อแบบ "T" สายเคเบิล (RJ45 - to - RJ45) ใช้สำหรับเชื่อมต่อโหนด "T" สองโหนด และสายเคเบิล (DB9 - ถึง - RJ45) ใช้สำหรับเชื่อมต่อโหนด "T" กับ CAN Bus Shield มีการใช้เทอร์มิเนเตอร์ RJ45 ที่ปลายแต่ละด้านของ "T" ของ CAN Bus

แนะนำ: