ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ AS5600 กับ Raspberry Pi

Using the AS5600 with the Raspberry Pi

เดอะ AS5600 เป็นเซ็นเซอร์ตำแหน่งแบบแม่เหล็กหมุนความละเอียดสูงที่สามารถวัดมุมได้ถึง 360°. ด้วยอินเทอร์เฟซ I2C จึงสามารถเชื่อมต่อกับ Raspberry Pi ได้อย่างง่ายดายเพื่อการวัดมุมที่แม่นยำในงานหุ่นยนต์ ระบบอัตโนมัติ และการใช้งานอื่นๆ คู่มือนี้อธิบายวิธีการใช้งาน AS5600 กับ Raspberry Pi เพื่ออ่านตำแหน่งเชิงมุม.


สิ่งที่คุณต้องมี

  1. Raspberry Pi (รุ่นใดก็ได้ที่รองรับ I2C เช่น Pi 3, Pi 4)
  2. โมดูลเอ็นโค้ดเดอร์หมุนแม่เหล็ก AS5600
  3. แม่เหล็ก (ถูกทำให้เป็นแม่เหล็กตามเส้นผ่านศูนย์กลาง)
  4. เบรดบอร์ดและสายจัมเปอร์
  5. คอมพิวเตอร์ที่สามารถเข้าถึง Raspberry Pi ผ่าน SSH หรือมีคีย์บอร์ดและจอภาพที่เชื่อมต่ออยู่
  6. Python ที่ติดตั้งบน Raspberry Pi

ขั้นตอนที่ 1: เปิดใช้งาน I2C บน Raspberry Pi

  1. เปิดเทอร์มินัลบน Raspberry Pi ของคุณ
  2. เรียกใช้เครื่องมือกำหนดค่า Raspberry Pi:
    sudo raspi-config
    
  3. ไปที่ ตัวเลือกอินเทอร์เฟซ > I2C, และเปิดใช้งานมัน.
  4. รีบูต Raspberry Pi:
    sudo reboot
    

ขั้นตอนที่ 2: การเดินสายไฟ AS5600 ไปยัง Raspberry Pi

AS5600 ใช้โปรโตคอล I2C สำหรับการสื่อสาร เชื่อมต่อกับ Raspberry Pi ดังนี้:

AS5600 เข็มกลัด พิน Raspberry Pi
VCC 3.3V (พิน 1)
GND กราวด์ (ขา 6)
SDA SDA (ขา 3, GPIO2)
SCL SCL (ขา 5, GPIO3)

หมายเหตุ: ให้แน่ใจว่า ของโมดูล AS5600 แรงดันใช้งานสอดคล้องกับระดับลอจิก 3.3V ของ Raspberry Pi


ขั้นตอนที่ 3: ติดตั้งเครื่องมือและไลบรารีที่จำเป็น

  1. อัปเดต Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งเครื่องมือ I2C:
    sudo apt install -y i2c-tools
    
  3. ติดตั้งไลบรารี Python สำหรับการสื่อสาร I2C:
    pip install smbus2
    

ขั้นตอนที่ 4: ตรวจสอบการเชื่อมต่อ I2C

  1. ตรวจจับ AS5600 บนบัส I2C:
    sudo i2cdetect -y 1
    
  2. คุณควรเห็นที่อยู่ของอุปกรณ์ (เช่น, 0x36) ในผลลัพธ์ หากไม่เป็นเช่นนั้น ให้ตรวจสอบการเดินสายของคุณ

ขั้นตอนที่ 5: อ่านข้อมูลจาก AS5600

เดอะ AS5600 ให้ข้อมูลมุม 12-bit ผ่าน I2C คุณสามารถใช้สคริปต์ Python ต่อไปนี้เพื่ออ่านและแสดงตำแหน่งเชิงมุม

ตัวอย่างโค้ด Python

import smbus2
import time

# กำหนดที่อยู่ I2C และบัส
AS5600_ADDR = 0x36
ANGLE_REG = 0x0E

bus = smbus2.SMBus(1)

def read_angle():
    # อ่านไบต์ 2 ตัวจากเรจิสเตอร์มุม
    raw_data = bus.read_i2c_block_data(AS5600_ADDR, ANGLE_REG, 2)
    angle = (raw_data[0] << 8) | raw_data[1]  # Combine MSB and LSB
    angle = angle & 0x0FFF  # Mask to 12 bits
    return (angle / 4096.0) * 360.0  # Convert to degrees

try:
    while True:
        angle = read_angle()
        print(f"Angle: {angle:.2f} degrees")
        time.sleep(0.5)
except KeyboardInterrupt:
    print("Exiting...")

ขั้นตอนที่ 6: การประยุกต์ใช้ของ AS5600

นั้น AS5600 มีความอเนกประสงค์และสามารถนำไปใช้ในโครงการได้หลากหลาย:

  1. โรบอติกส์: วัดมุมข้อต่อหรือมุมล้อเพื่อการควบคุมอย่างแม่นยำ.
  2. ตัวเข้ารหัส: สร้างโรตารีเอ็นโค้ดเดอร์แบบ DIY สำหรับเครื่อง CNC หรือเครื่องพิมพ์ 3D
  3. การควบคุมด้วยลูกบิด: ใช้เป็นปุ่มหมุนความละเอียดสูงสำหรับการปรับระดับเสียงหรือการนำทางเมนู
  4. การติดตามอันดับ: ติดตามตำแหน่งเชิงมุมในระบบอัตโนมัติ

การแก้ไขปัญหา

  1. ไม่พบอุปกรณ์:

    • ตรวจสอบการเชื่อมต่อ SDA และ SCL
    • ตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน I2C บน Raspberry Pi แล้ว
    • ตรวจสอบแรงดันไฟฟ้าขณะทำงานของ AS5600.
  2. การอ่านค่าไม่ถูกต้อง:

    • ตรวจให้แน่ใจว่าแม่เหล็กจัดแนวได้อย่างถูกต้องกับ เซ็นเซอร์ AS5600.
    • ใช้แม่เหล็กที่ถูกทำให้มีขั้วตามเส้นผ่านศูนย์กลางเพื่อการวัดที่แม่นยำ
  3. ข้อผิดพลาด I2C:

    • ตรวจสอบอุปกรณ์ที่ขัดแย้งกันบนบัส I2C โดยใช้ i2cdetect.
    • ยืนยัน AS5600ที่อยู่ของ ' ตรงกับสคริปต์.

สรุป

AS5600 เซ็นเซอร์วัดตำแหน่งแบบหมุนแม่เหล็ก เป็นเครื่องมือที่ทรงพลังและใช้งานง่ายสำหรับการวัดมุม ด้วยการทำตามคู่มือนี้ คุณสามารถผสานรวม AS5600 กับ Raspberry Pi เพื่อสร้างระบบวัดการหมุนที่แม่นยำสำหรับหุ่นยนต์ ระบบอัตโนมัติ และอื่น ๆ ลองใช้งานกับแอปพลิเคชันหลากหลายเพื่อปลดล็อกศักยภาพสูงสุดของเซนเซอร์อเนกประสงค์ตัวนี้!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

แสดงความคิดเห็น