Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Panduan Pemasangan Pi Servo Hat

Pengantar

The SparkFun Pi Servo Hat memungkinkan Raspberry Pi Anda mengontrol hingga 16 motor servo melalui koneksi I2C. Ini menghemat GPIO dan memungkinkan Anda menggunakan GPIO onboard untuk tujuan lain. Selain itu, Pi Servo Shield menambahkan koneksi terminal serial yang memungkinkan Anda membuka Raspberry Pi tanpa harus menghubungkannya ke monitor dan keyboard.

Bahan yang Diperlukan

Inilah yang perlu Anda ikuti bersama dengan tutorial ini. Kami menyarankan untuk membeli kartu microSD kosong daripada kartu siap NOOBS, karena kartu siap NOOBS mungkin tidak memiliki OS yang cukup baru untuk mendukung Pi Zero W.



Selain itu, Anda perlu semacam motor servo untuk menguji penyiapan. Coba uji contoh yang diberikan nanti dalam tutorial dengan servo submikro generik terlebih dahulu.


Alat yang Diperlukan

Tidak ada alat khusus yang diperlukan untuk mengikuti perakitan produk ini. Anda memerlukan besi solder, solder, dan aksesori solder umum.


Ikhtisar Perangkat Keras

Hanya ada beberapa item menarik di papan, karena ini adalah topi yang dirancang agar tidak sulit digunakan.

Konektor USB Mikro B – Konektor ini dapat digunakan untuk menyalakan motor servo saja, atau untuk memberi daya pada motor servo serta Pi yang terhubung ke topi. Ini juga dapat digunakan untuk terhubung ke Pi melalui koneksi port serial untuk menghindari keharusan menggunakan monitor dan keyboard untuk menyiapkan Pi.

Jumper isolasi catu daya – Jumper ini dapat dihapus (ditutup secara default) untuk mengisolasi rel daya servo dari rel daya Pi 5V. Mengapa Anda ingin melakukan itu? Jika ada beberapa servo, atau servo besar dengan beban berat, kebisingan yang dibuat pada rel catu daya oleh motor servo dapat menyebabkan operasi yang tidak diinginkan di Pi, hingga reset atau shutdown total. Perhatikan bahwa, selama Pi diberi daya, antarmuka serial akan tetap berfungsi terlepas dari status jumper ini.

Header pin motor servo – Header ini diberi jarak untuk memudahkan pemasangan motor servo ke sana. Mereka disematkan dalam urutan yang benar untuk sebagian besar konektor motor servo tipe hobi.

Perakitan Perangkat Keras

Kami menyarankan untuk menyolder header pria ke Pi Zero W.

Trik favorit saya untuk jenis situasi ini adalah menyolder satu pin, lalu melelehkan solder pada pin itu dengan besi dipegang di tangan kanan saya dan gunakan tangan kiri saya untuk mengatur header sampai duduk rata seperti yang ditunjukkan di bawah ini. Pastikan Anda menyolder dengan sisi header yang lebih pendek dan pin yang lebih panjang berada di sisi komponen. Setelah memasang satu pin, selesaikan penyolderan semua pin ke Pi Zero W.

Ulangi langkah-langkah dengan header perempuan dan Pi Servo Hat.

Pastikan untuk memasukkan pin pendek dari bagian bawah papan dan menambahkan solder ke sisi komponen sehingga Pi Servo Hat menumpuk di atas pin header pria Pi Zero W. Anda juga perlu memastikan bahwa header berada pada posisi yang sama sebelum menyolder semua pin.

Setelah header disolder, susun Pi Servo Hat pada Pi Zero W. Kemudian sambungkan servo hobby ke saluran “0” berdasarkan servo yang Anda gunakan. Coba lihat lembar data servo hobby atau lihat beberapa pinout konektor servo standar yang tercantum dalam tutorial ini. Dengan menggunakan adaptor dinding 5V yang memadai, kita dapat memberi daya pada Pi Zero W. Colokkan adaptor dinding ke stopkontak di dinding untuk daya dan sambungkan konektor mikro-B yang diberi label sebagai port “PWR IN” pada Pi Zero W.

Perangkat Lunak – Python

Kami akan membahas beberapa detail di sini cara mengakses dan menggunakan topi servo pi dengan Python.

Kode contoh lengkap tersedia di repositori GitHub produk.

Menyiapkan Akses ke Sumber Daya SMBus

Poin pertama:di sebagian besar interaksi tingkat OS, I 2 C bus disebut sebagai SMBus. Jadi kita mendapatkan baris kode pertama kita. Ini mengimpor modul smbus, membuat objek bertipe SMBus, dan melampirkannya ke bus “1” dari berbagai SMBuses Pi.
import smbus
bus =smbus.SMBus(1)

Kami harus memberi tahu program alamat bagian tersebut. Secara default, ini adalah 0x40, jadi tetapkan variabel untuk digunakan nanti.

addr =0x40

Selanjutnya, kita ingin mengaktifkan chip PWM dan memerintahkannya untuk secara otomatis menambah alamat setelah penulisan (yang memungkinkan kita melakukan operasi tunggal penulisan multi-byte).

bus.write_byte_data(addr, 0, 0x20)bus.write_byte_data(addr, 0xfe, 0x1e)

Tulis Nilai ke Register PWM

Itu semua pengaturan yang perlu dilakukan. Mulai saat ini, kita dapat menulis data ke chip PWM dan mengharapkannya merespons. Ini contohnya.

bus.write_word_data(addr, 0x06, 0)bus.write_word_data(addr, 0x08, 1250)

Penulisan pertama adalah ke register "waktu mulai" untuk saluran 0. Secara default, frekuensi PWM chip adalah 200Hz, atau satu pulsa setiap 5ms. Register waktu mulai menentukan kapan pulsa menjadi tinggi dalam siklus 5ms. Semua saluran disinkronkan ke siklus itu. Umumnya, ini harus ditulis ke 0. Penulisan kedua adalah ke register "waktu berhenti", dan ini mengontrol kapan pulsa harus turun. Rentang untuk nilai ini adalah dari 0 hingga 4095, dan setiap hitungan mewakili satu irisan dari periode 5 md (5 md/4095), atau sekitar 1,2 us. Jadi, nilai 1250 yang tertulis di atas mewakili sekitar 1,5 mdtk waktu tinggi per periode 5 md.

Motor servo mendapatkan sinyal kontrolnya dari lebar pulsa tersebut. Secara umum, lebar pulsa 1,5 ms menghasilkan posisi "netral", di tengah-tengah antara ekstrem jangkauan motor. 1.0ms menghasilkan sekitar 90 derajat dari pusat, dan 2.0ms menghasilkan -90 derajat dari pusat. Dalam praktiknya, nilai tersebut mungkin sedikit lebih atau kurang dari 90 derajat, dan motor mungkin mampu bergerak sedikit lebih atau kurang dari 90 derajat di kedua arah.

Untuk mengatasi saluran lain, cukup tambahkan alamat dari dua register di atas dengan 4. Jadi, waktu mulai untuk saluran 1 adalah 0x0A, untuk saluran 2 adalah 0x0E, saluran 3 adalah 0x12, dll. dan alamat waktu berhenti untuk saluran 1 adalah 0x0C, untuk saluran 2 adalah 0x10, saluran 3 adalah 0x14, dll. Lihat tabel di bawah ini.

Saluran # Alamat Awal Alamat Berhenti
Ch 0 0x06 0x08
Bab 1 0x0A 0x0C
Bab 2 0x0E 0x10
Bab 3 0x12 0x14
Bab 4 0x16 0x18
Bab 5 0x1A 0x1C
Bab 6 0x1E 0x20
Bab 7 0x22 0x24
Bab 8 0x26 0x28
Bab 9 0x2A 0x2C
Bab 10 0x2E 0x30
Bab 11 0x32 0x34
Bab 12 0x36 0x38
Bab 13 0x3A 0x3C
Bab 14 0x3E 0x40
Bab 15 0x42 0x44

Jika Anda menulis 0 ke alamat awal, setiap derajat offset dari 90 derajat memerlukan 4,6 hitungan yang ditulis ke alamat berhenti. Dengan kata lain, kalikan jumlah derajat offset dari netral yang ingin Anda capai dengan 4,6, lalu tambahkan atau kurangi hasilnya dari 1250, tergantung pada arah gerakan yang Anda inginkan. Misalnya, offset 45 derajat dari pusat akan menjadi 207 (45×4.6) dihitung lebih atau kurang dari 1250, tergantung pada arah gerakan yang Anda inginkan.

Baca Info Selengkapnya…

Panduan Penyambungan Pi Servo Hat


Proses manufaktur

  1. Panduan untuk Pembuatan Prototipe CNC
  2. Panduan Sambungan FLIR Lepton
  3. Panduan Sambungan Kit Pemula Raspberry Pi 3
  4. Panduan Penghubung Qwiic HAT untuk Raspberry Pi
  5. Panduan Sambungan Pi Wedge 40-pin yang telah dirakit sebelumnya
  6. Robot Pi Sederhana
  7. Panduan untuk Power Hammer
  8. Panduan untuk Menempa Pandai Besi
  9. Panduan Pengecoran Presisi
  10. Panduan Cepat Untuk Paralelisme GD&T