Käyttämällä AS5600: ta Raspberry Pi: n kanssa

Using the AS5600 with the Raspberry Pi

AS5600 on korkearesoluutioinen pyörivä magneettinen sijaintianturi, joka voi mitata kulmat 360 °: een. I2C -rajapinnalla on helppo integroida Raspberry PI: llä tarkalle kulmamittauksille robotiikassa, automatisoinnissa ja muissa sovelluksissa. Tämä opas selittää, kuinka AS5600: ta käytetään Raspberry Pi: n kanssa kulma -asentojen lukemiseen.


Mitä tarvitset

  1. Raspberry Pi (Mikä tahansa malli, jolla on I2C -tuki, esim. Pi 3, pi 4)
  2. AS5600 Magneettinen kiertokooderimoduuli
  3. Magneetti (halkaisillisesti magnetoitu)
  4. Leipälevy- ja hyppyjohdot
  5. Tietokone, jolla on SSH -pääsy Raspberry PI: hen tai kytketty näppäimistö ja näyttö
  6. Python asennettu Raspberry Pi

Vaihe 1: Ota I2c käyttöön Raspberry Pi

  1. Avaa terminaali vadelmapillossasi.
  2. Suorita Raspberry Pi -määritystyökalu:
    sudo raspi-config
    
  3. Siirtyä jhk Käyttöliittymävaihtoehdot> I2C, ja ota se käyttöön.
  4. Käynnistä Raspberry Pi uudelleen:
    sudo reboot
    

Vaihe 2: AS5600: n johdotus Raspberry Pi: hen

AS5600 käyttää I2C -protokollaa viestintään. Kytke se Raspberry Pi: hen seuraavasti:

AS5600 -nasta Raspberry Pi -tappi
VCC 3,3 V (nasta 1)
Hölynpöly Maa (nasta 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (nasta 5, GPIO3)

Huomaa: Varmista, että AS5600 -moduulin käyttöjännite vastaa Raspberry Pi: n 3,3 V: n logiikkatasoa.


Vaihe 3: Asenna vaadittavat työkalut ja kirjastot

  1. Päivitä Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Asenna I2C -työkalut:
    sudo apt install -y i2c-tools
    
  3. Asenna Python -kirjastot I2C -viestintään:
    pip install smbus2
    

Vaihe 4: Vahvista I2C -yhteys

  1. Tunnista AS5600 I2C -väylässä:
    sudo i2cdetect -y 1
    
  2. Sinun pitäisi nähdä laitteen osoite (esim. 0x36) lähtö. Jos ei, tarkista johdotus.

Vaihe 5: Lue AS5600: n tiedot

AS5600 tarjoaa 12-bittiset kulmatiedot I2C: n kautta. Voit käyttää seuraavaa Python -komentosarjaa kulma -asennon lukemiseen ja näyttämiseen.

Python -koodiesimerkki

import smbus2
import time

# Define I2C address and bus
AS5600_ADDR = 0x36
ANGLE_REG = 0x0E

bus = smbus2.SMBus(1)

def read_angle():
    # Read two bytes from the angle register
    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...")

Vaihe 6: AS5600: n sovellukset

AS5600 on monipuolinen ja sitä voidaan käyttää erilaisissa projekteissa:

  1. Robotiikka: Mittaa nivel- tai pyöräkulmat tarkan ohjauksen saavuttamiseksi.
  2. Kooderit: Luo DIY -kiertokoodereita CNC -koneisiin tai 3D -tulostimiin.
  3. Knupin ohjaimet: Käytä korkearesoluutioisena nupina äänenvoimakkuuden tai valikon navigoinnissa.
  4. Aseman seuranta: Seuraa kulmapaikkoja automaatiojärjestelmissä.

Vianetsintä

  1. Laitetta ei havaittu:

    • Varmista SDA- ja SCL -yhteydet.
    • Varmista, että I2C on käytössä Raspberry PI: ssä.
    • Tarkista AS5600: n toimintajännite.
  2. Epätarkkojen lukemat:

    • Varmista, että magneetti on kohdistettu oikein AS5600 -anturin kanssa.
    • Käytä tarkkoja mittauksia halkaisijaisesti magnetoitua magneettia.
  3. I2C -virheet:

    • Tarkista ristiriitaiset laitteet I2C -väylässä käyttämällä i2cdetect.
    • Varmista, että AS5600: n osoite vastaa komentosarjaa.

Johtopäätös

AS5600-magneettinen kierto-anturi on tehokas ja helppokäyttöinen työkalu kulmien mittaamiseen. Seuraamalla tätä opasta, voit integroida AS5600: n Raspberry PI: n kanssa luodaksesi tarkat kiertomittausjärjestelmät robotiikkaan, automaatioon ja muihin. Kokeile erilaisia ​​sovelluksia tämän monipuolisen anturin koko potentiaalin avaamiseksi!

Jätä kommentti

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.