Manual Pengguna WAVESHARE Stepper Motor HAT

WAVESHARE Stepper Motor HAT

Topi Motor Stepper WAVESHARE
Manual Pengguna

PERKAKASAN

LEBIHVIEW

Stepper Motor HAT direka untuk Raspberry Pi, dapat menggerakkan dua motor stepper dan
menyokong sehingga 1/32 mikro melangkah

CIRI-CIRI

  •  Kesambungan Raspberry Pi, serasi dengan Raspberry Pi Zero / Zero W / Zero WH / 2B / 3B / 3B +
  •  IC pengawal motor dual DRV8825 onboard dengan pengindeks melangkah mikro terbina dalam, menggerakkan dua motor stepper, mudah digunakan
  •  6 mod melangkah mikro yang tersedia, dikonfigurasi dengan suis DIP: langkah penuh, setengah langkah, 1/4-langkah, 1/8-langkah, 1/16-langkah, dan 1/32-langkah
  •  Arus pemacu motor boleh laras melalui potensiometer, output arus maksimum 2.5A
  •  Ciri perlindungan: Perlindungan Overcurrent (OCP), Thermal Shutdown (TSD), VM Under voltage Penguncian (UVLO)
  •  Mengintegrasikan pengatur 5V, membolehkan memberikan kuasa kepada Raspberry Pi
  •  Pilihan penyambung multi onboard untuk motor stepper dalam spesifikasi yang berbeza
  •  Dilengkapi dengan sumber pembangunan dan manual (misamples di BCM2835, wiringPi, dan python)

SPESIFIKASI

  • Pengawal motor: DRV8825
  • Pemacu motor voltage: 8.2V ~ 28V
  • Arus pemacu motor: 2.5A
  • Logik voltage: 3.3V
  • Dimensi: 65mm × 56mm
  • Saiz lubang pelekap: 3.0mm

PERKAKASAN

PERKAKASAN

PINTAR

PINTAR

PINTAR

PINTAR

A1 、 A2 、 B1 、 B2: Pin kawalan motor stepper M1;
A3 、 A4 、 B3 、 B4: Pin kawalan motor stepper M2;
Suis kuasa: Kawal bekalan kuasa untuk Raspberry Pi;
Tukar D0-D5: Mengawal format pembahagian;
D0-D2: Mengawal motor stepper 1;
D3-D5: Mengawal motor stepper 2;
Potensiometer: Mengawal arus keluaran

KUASA

KUASA

MP1584 biasa menyokong input 4.5V hingga 28V yang luas, dan output semasa sehingga 2A. Walaupun
berpendapat bahawa MP1584 menyokong input rendah hingga 4.5V, namun, VM juga menyediakan kuasa untuk
pengawal motor, yang memerlukan sekurang-kurangnya 8.2V. Jadi, input input voltage ialah
8.2 ~ 28v.

PEMANDU MOTOR

PEMANDU MOTOR

DRV8825 e mempunyai dua H-bridge dan microstepping indexer, dan bertujuan untuk menggerakkan motor stepper bipolar. Ia menyokong sehingga 1/32 mikrostepping. Fungsi penutupan dalaman disediakan untuk arus lebihan, litar pintas, di bawah voltagpenguncian dan suhu lebih.

VM:Voltage input, julat: 8.2V ~ 45V, pertimbangkan biasa, julat input sebenar adalah:
8.2V~28V

nSLEEP: Harus tetap Tinggi, jika tidak, cip akan memasuki mod tidur, dan modul tidak dapat
bekerja dengan betul.
NENBL: Dayakan pin. Rendah: Jambatan H diaktifkan dan pinggir naik STEP adalah sampdiketuai; Tinggi:
H-bridge dilumpuhkan, output adalah impedans tinggi. Perhatikan bahawa anda harus mematikannya jika
anda tidak menggunakannya, jika tidak, cip dan motor akan tetap panas!
LANGKAH: Input jam langkah
DIR: Kawalan arah
MODE0, MODE1, MODE2: Input Mcirostepping

PIN 12 / PIN 13: Laraskan arus keluaran R13 / R16: Sample perintang, mereka adalah 0.2Ω
Menurut lembar data Halaman11: Ichop = V (xREF) / (5 * R (ISENSE)) dan perintang adalah 0.2Ω, maka kita dapat memperoleh arus keluaran sebanding dengan voltage potensiometer.
Saya = Vref

Oleh itu, jika anda perlu meningkatkan arus keluaran, anda boleh menyesuaikan potensiometer di atas kapal.

8.3.2 Peraturan Semasa

Arus melalui belitan motor diatur oleh peraturan arus PWM frekuensi tetap. atau memotong semasa. Apabila H-bridge diaktifkan, arus naik melalui penggulungan pada kadar yang bergantung pada DC voltage dan keseimbangan penggulungan. Setelah arus mencapai ambang pemotongan semasa, jambatan akan mematikan arus sehingga permulaan kitaran PWM seterusnya.

Pada motor melangkah, regulasi arus digunakan untuk mengubah arus pada belitan yang terlalu banyak. Dengan cara separa sinusoidal untuk memberikan motor halus.

Arus pemotongan PWM ditetapkan oleh pembanding yang membandingkan voltage melintasi perintang rasa semasa yang disambungkan ke pin xISEN, didarab dengan faktor 5, dengan rujukan voltage.

Rujukan voltage adalah input dari pin uVREF.

Arus pemotongan soale penuh (100%) dikira dalam Persamaan 1.

ICHOP = VxREF / 5 x RISENS

Example: Sekiranya perintang deria 0.25-0 digunakan dan pin VIREPy ialah 1.5 V, arus cincang skala Mil (100%) akan menjadi 2.5V / (5x 0.25 fl) = 2A.

H-BRIDGE

H-BRIDGE

H-bridge adalah litar kawalan motor yang popular. Ia dinamakan kerana ia seperti watak "H". Ia terdiri daripada empat transistor / MOSFET, motor disambungkan di tengah, anda harus melalui dua transistor dalam garis pepenjuru untuk menggerakkan motor.
Apabila Q1 dan Q4 diakses, arus mengalir dari kutub positif-> Q1 ke Q4-> kutub negatif, maka motor bergerak ke depan.
Apabila Q2 dan Q4 diakses, arus mengalir dari kutub positif-> Q2 ke Q4-> kutub negatif, maka motor bergerak ke belakang.
Sekiranya ia adalah dua jambatan H, akan ada dua set garis output, untuk bekasample, motor stepper mempunyai empat wayar yang merupakan dua jambatan H.

PROTOKOL MOTOR

PROTOKOL MOTOR

mengikut AmpHukum peredaran ère, ketika arus gegelung A mengalir dari kiri ke kanan, stator menghasilkan medan magnet, sisi dalamannya adalah kutub Utara yang akan mengadopsi pemutar motor. Apabila arus empat gegelung berdasarkan peraturan tertentu, mereka akan menghasilkan medan magnet putar dan mendorong pemutar berputar. Sekiranya setiap motor mempunyai empat pemutar, ia mempunyai empat status:
Status 1: gegelung A kiri ke kanan keluar (semasa), gegelung C kanan ke kiri keluar, motor berpusing 0 darjah;
Status 2: gegelung B atas dari bawah keluar, gegelung D bawah di atas keluar, motor berpusing 90 darjah melawan status 1.
Status 3: gegelung A kanan ke kiri keluar, gegelung C kiri ke kanan keluar, motor berpusing 90 darjah melawan status 2;
Status 4: gegelung B bawah ke atas keluar, gegelung D atas kiri keluar, motor berpusing 90 darjah melawan status 3;
Putaran motor dari status sebelumnya ke status seterusnya, kami menyebutnya sebagai langkah. Motor berputar dalam bulatan setiap empat langkah, dan sudut langkahnya adalah 90 darjah.
Sebilangan besar motor mempunyai lebih daripada empat stator. Untuk bekasample, 42 motor, 57 motor semuanya mempunyai 50 stator dengan sudut langkah 1.8 darjah.

28BYJ-48 adalah empat fasa dan lapan langkah, Nisbah Variasi Kelajuan adalah 1/64 dan sudut langkahnya ialah 5.625 / 64 darjah.

MICROSTEPING

Kami telah mengatakan bahawa motor berpusing kerana arus yang mengalir.
Menurut prinsip kerjanya, kita dapat mengawal arus dalam gegelung untuk membuatnya naik atau turun secara berkala. Ia menghasilkan beberapa status arus antara yang stabil, arah vektor yang berkaitan dari medan magnet yang dihasilkan juga mempunyai beberapa status perantaraan. Untuk menukar arah vektor, motor dapat berputar pada sudut yang lebih kecil dan berputar dengan lebih lancar.

Microstepping adalah membahagikan setiap langkah penuh menjadi langkah yang lebih kecil untuk membantu melancarkan putaran motor, terutama pada kelajuan perlahan. Untuk bekasampJika mikro melancarkan motor yang kami jelaskan di atas hingga 1/2, status 1 harus dilakukan dengan dua langkah.

DRV8825

DRV88250 motor stepper kawalan berputar mengikut denyutan yang diberikan oleh MCU.
Berapa banyak denyutan yang diperlukan motor untuk memutar bulatan tanpa langkah mikro?
42 motor: 360 / 1.8 = 200
Motor 28BYJ-48: 360 / 5.625 * 64 = 4096
Semasa kami menguji, dengan 200 denyutan, 42 motor dapat memutar bulatan. Walau bagaimanapun, dengan 4096 denyutan, 28BYJ-48 memutarkan dua bulatan. Ini kerana 28BYJ-48 adalah motor empat fasa memerlukan 2048 denyutan untuk bulatan sebenarnya.

KOD DEMO

PERSEDIAAN
MUAT TURUN
Lawati Waveshare Wiki dan cari "Stepper Motor HAT", buka dan muat turun kod demo dari wiki.

MUAT TURUN PENYEDIAAN Lawati Waveshare Wiki dan cari "Stepper Motor HAT", buka dan muat turun kod demo dari wiki.

1. Pasang pendawaianPi

1.1 Open Terminal (Ctrl + T), pengkabelan klonPi git klon git: //git.drogon.net/wiringPi

 

1.2 Pasang

pendawaian cdPi
./build

2. Pasang BCM2835

2.1 Muat turun perpustakaan bcm2835 terkini
http://www.airspayce.com/mikem/bcm2835/index.html
2.2 Salin zip yang anda muat turun ke Raspberry Pi tanpa mengeluarkan
2.3 Buka Terminal, ekstrak dan pasang

# 下载 最新 的 函数 库 bcm2835-1.xx.tar.gz
tar zxvf /boot/bcm2835-1.xx.tar.gz
cd bcm2835-1.xx
./configure
buat
sudo buat cek
sudo buat pemasangan

3. Pasang pustaka python

sudo apt-get install python-rpi.gpio

TETAPAN

MICROSTEPING
Stepper motor HAT menyokong sehingga 1/32 mikrostepping. Sokong konfigurasi perisian dan perkakasan.

Konfigurasi perisian
Dalam kod demo, anda boleh mengkonfigurasi microstepping dengan SOFTWARD / softward yang boleh anda rujuk pada Analisis Kod.

Konfigurasi perkakasan
Untuk menggunakan konfigurasi perkakasan, anda perlu mengubah suai fungsinya
Drv8825_SetMicroStep (PERKAKASAN, "") di sample kod, kemudian tetapkan suis DIP (D0 ~ D5).

Konfigurasi perkakasan

D0, D1, D2 digunakan untuk mengawal motor M1 (MODW0, MODE1, MODE2), D3, D4, D5 digunakan untuk mengawal motor M2 (MODE0, MDOE1, MODE2). Hubungan mereka seperti di bawah:

Jadual

Untuk keterangan lebih lanjut, sila rujuk halaman lembar data13
【Catatan】 Sample code menggunakan tetapan langkah penuh, yang mana semua suis ditetapkan ke 0 secara lalai.

PENETAPAN SEMASA
Arus keluaran maksimum DRV8856 ialah 2.5A, anda boleh menyesuaikan arus dengan menyesuaikan
potensiometer Arus output maksimum DRV8856 ialah 2.5A, anda boleh menyesuaikan arus dengan menyesuaikan potensiometer

potensiometer

Secara amnya, arus bekerja motor stepper kurang dari 2.5A, dalam hal ini, kita perlu menyesuaikan arus yang dikeluarkan.

Untuk keterangan lebih lanjut mengenai keperluan semasa, sila rujuk halaman lembar data12.
R (isense) di atas kapal adalah 200mR, sehingga kita dapat memperoleh I (chop) = V (xref). V (xref) ialah jilidtagPotensiometer, Ichop adalah arus keluaran. Kurangkan voltage mengikut arah jam dan berlawanan arah jam untuk meningkatkan voltage.
Tetapan kilang sesuai dengan kebanyakan motor stepper. Namun, ada beberapa motor yang arus fasa minimumnya jauh lebih besar, dalam hal ini, kita perlu menyesuaikan potensiometer agar dapat berfungsi dengan baik.

【Nota】
Cip mungkin rosak sekiranya motor berfungsi dalam keadaan tidak normal untuk jangka masa panjang.
Jangan putar potensiometer berlawanan arah jam ke arah maksimum, jika tidak, cip akan rosak setelah lama digunakan.

MENJALANKAN KOD DEMO

BCM2835
cd bcm2835
sudo ./motor

WIRINGPI
cd wiringpi
sudo ./motor

PYTHON
cd python
sudo python test.py

ANALISIS KOD

Kami menyediakan kod demo Raspberry Pi di wiki.
BCM2835

ANALISIS KOD

FILES

  • tong sampah:.o files yang dihasilkan oleh makfile
  • buatfile: Penyusunan kod
  • motor: Boleh dilaksanakan file, anda boleh menjalankan perintah sudo ./motor untuk menjalankan kod
  • Obj /: folder untuk menyimpan fungsi files

Debug.h: Tajuk debug file, anda boleh menetapkan USE_DEBUG menjadi 1 untuk mencetak maklumat debug;
Konflik (h): Tentukan pin dan antara muka Raspberry Pi.
DRV8825.c (h): Kod pemandu DRV8825
utama.c: Fungsi utama
BACA.txt: Penerangan

KOD

  1.  Memulakan BCM2835 dan menetapkan pin
    jika (DEV_ModuleInit ())
    keluar(0);
  2.  Pilih Motor
    DRV8825_SelectMotor (MOTOR1);
    #Parameter: pilih motor; MOTOR1, MOTOR2
  3.  Menetapkan Microstepping
    DRV8825_SetMicroStep (HARDWARD, "fullstep");
    # Parameter 1: tetapkan jenis kawalan; PERKAKASAN, PERISIAN
    # Parameter 2: tetapkan langkah mikro; "Tahap penuh", "langkah pertama", "langkah 1/4", "langkah 1/8",
    "1/16 langkah", "1/32 langkah"
  4.  Langkah
    DRV8825_TurnStep (LATAR BELAKANG, 200, 2);
    # Parameter 1: arah kawalan; KE DEPAN, KEMBALI
    # Parameter 2: langkah
    # Parameter 2: kelewatan untuk setiap langkah (ms)
  5.  Berhenti berpusing
    DRV8825_Hentikan ();
  6.  Pengendalian Pengecualian
    isyarat (TANDATANGAN, Pengendali);

Sekiranya anda menggunakan CTRL + C untuk menghentikan kodnya, cip DRV8825 mungkin tidak dilumpuhkan, jadi fungsi ini digunakan untuk menangani casing tersebut. Ctrl + C menghasilkan isyarat SIGINT, fungsi Handler () dijalankan ketika isyarat dihasilkan.
Pengendali () berfungsi dengan pernyataan berikut:

DRV8825_SelectMotor (MOTOR1);
DRV8825_Hentikan ();
DRV8825_SelectMotor (MOTOR2);
DRV8825_Hentikan ();

WIRINGPI

WIRINGPI

FILES
Mirip dengan BCM2835, perbezaannya adalah:
DEV_Config.c (h): Perpustakaan yang dipanggil berbeza
buatfile: menghubungkan perpustakaan adalah berbeza

PYTHON

FILES

FILES
DRV8825.py adalah kod pemacu DRV8825, yang digunakan untuk mengawal motor stepper.
test.py: kod ujian
KOD
test.py:

  1. Instantiate DRV8825 perpustakaan

Motor1 = DRV8825 (dir_pin = 13, step_pin = 19, enable_pin = 12, mode_pins = (16,
17, 20))

2. Tetapkan microstepping
Motor1.SetMicroStep ('softward', 'fullstep')
# Parameter 1: jenis kawalan, 'perisian', 'perkakasan'
# Parameter 2: microstepping, 'fullstep', 'halfstep', '1 / 4step',
‘1/8step’, ‘1/16step’, ‘1/32step’

3. langkah
Motor1.TurnStep (Dir = 'maju', langkah = 200, stepdelay = 0.005)
# Parameter 1: arah kawalan, 'maju' 、 'ke belakang'
# Param3ter 2: langkah
# Parameter 3: kelewatan (ms)

4. Berhenti
Motor1.Hentian ()
#Mesti digunakan untuk mematikan chip

Soalan Lazim

  1. Mengapa motor dan cip pada modul menjadi panas?
    Kecekapan tenaga motor stepper sangat rendah, hanya mempunyai 20% ~ 30% kerja berguna, yang lain menjadi panas. Jadi, motor stepper akan menjadi sangat panas setelah lama berjalan. Jangan sentuh!!! By the way, periksa sama ada anda menggunakan fungsi DRV8825_Stop () untuk mematikan cip
  2. Modul ini dapat digunakan untuk menggerakkan motor yang arus kerjanya kurang dari
    1.5A tanpa heat sink. Biasanya, ia menyokong sehingga 2.5A.
  3.  Mengapa motor tidak berfungsi dan hanya menggegarkan kiri dan kanan?
    Goncangan motor ketika fasa kekurangan, cuba sambungkan motor dengan talian Dupont jika kedua-dua antara muka modul tidak dapat berfungsi dengan baik.
  4. Mengapa motor tidak disegerakkan?
    Arus fasa berdasarkan kilasan motor stepper. Anda boleh menyesuaikan potensiometer biru jika motor tidak diselaraskan.
  5. Mengapa motor berbunyi “si si” ketika berhenti?
    Ia adalah perkara biasa.
  6. Bagaimana cara menukar jenis kawalan?
    Anda boleh mengubah tetapan pada kod, "Perkakasan" atau "Perisian".
    Secara lalai menggunakan kawalan perkakasan. Sekiranya anda ingin menukar ke kawalan perisian, anda perlu mengimpal perintang di bahagian belakang PCB dan mengubah semua suis ke 1.

Dokumen / Sumber

PDF thumbnailStepper Motor Stepper
User Manual · Stepper Motor HAT

Rujukan

Tanya Soalan

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Tanya Soalan

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.