
Topi Motor Stepper WAVESHARE
Manual Pengguna

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

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

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

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 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

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.

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).

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:

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

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

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
- Memulakan BCM2835 dan menetapkan pin
jika (DEV_ModuleInit ())
keluar(0); - Pilih Motor
DRV8825_SelectMotor (MOTOR1);
#Parameter: pilih motor; MOTOR1, MOTOR2 - 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" - Langkah
DRV8825_TurnStep (LATAR BELAKANG, 200, 2);
# Parameter 1: arah kawalan; KE DEPAN, KEMBALI
# Parameter 2: langkah
# Parameter 2: kelewatan untuk setiap langkah (ms) - Berhenti berpusing
DRV8825_Hentikan (); - 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

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

DRV8825.py adalah kod pemacu DRV8825, yang digunakan untuk mengawal motor stepper.
test.py: kod ujian
KOD
test.py:
- 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
- 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 - Modul ini dapat digunakan untuk menggerakkan motor yang arus kerjanya kurang dari
1.5A tanpa heat sink. Biasanya, ia menyokong sehingga 2.5A. - 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. - Mengapa motor tidak disegerakkan?
Arus fasa berdasarkan kilasan motor stepper. Anda boleh menyesuaikan potensiometer biru jika motor tidak diselaraskan. - Mengapa motor berbunyi “si si” ketika berhenti?
Ia adalah perkara biasa. - 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
![]() | Stepper Motor Stepper |
Rujukan
- test.pytest.py
- Manual Penggunamanual.tools
