Isi kandungan:
- Langkah 1: Komponen Diperlukan
- Langkah 2: Pengenalan kepada Dynamixel 12A
- Langkah 3: Berkomunikasi / mengawal Dynamixel 12A
- Langkah 4: Menulis Kedudukan Matlamat ke Dynamixel Motor
- Langkah 5: KOD PYTHON
Video: Mengawal Dynamixel 12A dengan Menghantar Paket Serial: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
DYNAMIXEL 12A
Langkah 1: Komponen Diperlukan
PERKAKASAN:
1. Dynamixel 12A atau mana-mana motor Dynamixel
2. USB ke Dynamixel.
PERISIAN:
1. Ahli sihir Robotis Dynamixel.
2. Python --- Pakej bersiri dipasang
Langkah 2: Pengenalan kepada Dynamixel 12A
Motor Dynamixel sangat tepat dan kebanyakannya digunakan dalam Robotik. Setiap motor Dynamixel mempunyai mikrokontroler STM di dalamnya. Anda boleh membaca tork semasa, voltan, tarikan semasa, suhu, kedudukan, dan lain-lain, dari Dynamixels Motors.
Spesifikasi Dynamixel 12A:
Voltan Operasi - 12v
Berat - 55g
Arus maksimum --900mA
Tork Stall - 15.3 Kg.cm
Langkah 3: Berkomunikasi / mengawal Dynamixel 12A
- Dynamixel 12A tidak seperti motor servo biasa yang mempunyai 3pin GND, PWM, VCC, memberikan bekalan kuasa dan isyarat PWM dan mengawal motor.
- Kita boleh mengawal motor Dynamixel menggunakan protokol komunikasi Half Duplex UART.
Apa itu Protokol Komunikasi Half Duplex?
Penghantaran data separuh dupleks bermaksud bahawa data dapat dihantar ke kedua arah pada pembawa isyarat, tetapi tidak pada masa yang sama.
Sekarang kita belajar mengenai Protokol 1.0 untuk Dynamixels dari Robotis untuk mengawal motor Dynamixel.
- Anda boleh berkomunikasi dengan motor Dynamixel dengan menghantar paket dari komputer riba / mikrokontroler anda seperti Arduino, r-pi, dll., Ke mikrokontroler yang terdapat di dalam motor Dynamixel.
- Setiap Dynamixels mempunyai ID yang boleh diubah suai.
- Satu paket tidak lain adalah Set bait.
Sekiranya terdapat protokol Dynamixel 1.0, anda akan mempunyai dua jenis paket
- Paket arahan
- Paket status
Instruction Packet adalah data arahan yang dihantar ke Peranti.
Paket arahan kelihatan seperti ini:
Header1, Header2, ID, Panjang, Instruksi, Param 1… Param, NChecksum
0xFF, 0xFF, ID, Panjang, Arahan Param 1… Param, NCHKSUM
Petunjuk arahan memberitahu apa yang harus dilakukan, sama ada membaca data atau menulis ke motor Dynamixel.
JADUAL KAWALAN MOTOR DYNAMIXEL.-Jadual Kawalan adalah struktur yang terdiri daripada pelbagai medan Data untuk menyimpan status atau untuk mengawal peranti.
Baca lebih lanjut mengenai Robotis Table Control HereControl Table.
Kami dapat mengakses data dalam jadual kawalan dari alamatnya dan juga kami dapat menulis.
Langkah 4: Menulis Kedudukan Matlamat ke Dynamixel Motor
Petunjuk Arahan untuk Menulis kedudukan Matlamat
setiap paket bermula dengan pengepala
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
Bait arahan LEN + p1 + p2 + p3 + jumlah chk = 5 bait
ID = Dynamixel motor ID 1-anda boleh menetapkan id dynamixel menggunakan perisian wizard robotis dynamixel
INST = reg tulis-tentukan bahawa anda menulis ke motor.
P1 = Alamat permulaan Data-Di jadual kawalan Posisi gol mempunyai alamat 30 (0x1E dalam heksadesimal).
P2 = bait data yang lebih rendah
P3 = bait data yang lebih tinggi
Pengiraan Checksum akan dijelaskan sebentar lagi ………………….
Sekiranya anda menghantar paket di atas ke Dynamixel Serial menggunakan USB2Dynamixel, kedudukan matlamat motor Dynamixel akan ditetapkan ke 500.
Langkah 5: KOD PYTHON
#Dibangunkan oleh Madhu. Kemas kini terakhir pada 2019-07-19
import bersiri
masa import
ser = bersiri. Siri ('com36', '57142')
#change com port sesuai, kadar baud motor dynamixel saya adalah 57142, anda boleh menetapkannya menggunakan perisian wizard Dynamixel.
sementara (1):
gp1 = input ('masukkan kedudukan gol ID1 (0-1023)')
l = gp1 & 255 # rendah bait
h = (gp1 >> 8) & 255 # bait tinggi
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#semak pengiraan jumlah
crc = jumlah (li [2:])
rendah1 = crc & 255
chksum = 255-rendah1
li.append (chksum) # tambah jumlah cek
a = bytearray (li) #menukar senarai menjadi bytearray
ser.write (a) # Hantar secara bersiri menggunakan usb2dynamixels.
masa. tidur (0.5)
# Salin pasta kod dalam python IDE. Pasang pakej bakteria. sambungkan bahagian USB usb2dynamixel ke port USB komputer riba dan hujung lain ke motor Dynamixel. Berikan bekalan 12v luaran ke USB2DYNAMIXEL.
JALANKAN kod, masukkan nilai kedudukan gol. Lihat motor berjalan.
Disyorkan:
Menghantar Data Dari Arduino ke Excel (dan Memplotnya): 3 Langkah (dengan Gambar)
Menghantar Data Dari Arduino ke Excel (dan Memplotnya): Saya telah mencari secara menyeluruh cara yang saya dapat merancang pembacaan sensor Arduino saya dalam masa nyata. Bukan hanya plot, tetapi juga memaparkan dan menyimpan data untuk eksperimen dan pembetulan lebih lanjut. Penyelesaian paling mudah yang saya dapati adalah menggunakan excel, tetapi dengan
Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: 6 Langkah
Cara Menghantar E-mel Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: Di sini saya ingin menerangkan versi 2 perpustakaan saya EMailSender, evolusi besar berkaitan dengan versi 1, dengan sokongan untuk Arduino dengan perisai ethernet w5100, w5200 dan w5500 dan enc28J60 peranti klon, dan sokongan untuk esp32 dan esp8266. Kini anda boleh mengiklankan
Menghantar Maklumat Dengan Helium Atom: 3 Langkah
Menghantar Maklumat Dengan Helium Atom: Helium adalah platform tanpa wayar yang lengkap untuk internet, menyediakan perkakasan bersepadu, antara muka perisian, dan infrastruktur yang dibina untuk menghubungkan objek ke internet dengan mudah, cekap dan selamat. Terdapat dua komponen perkakasan
Sistem Kehadiran dengan Menghantar Data RFID ke Pelayan MySQL Menggunakan Python Dengan Arduino: 6 Langkah
Sistem Kehadiran dengan Menghantar Data RFID ke Pelayan MySQL Menggunakan Python Dengan Arduino: Dalam Projek ini saya telah menghubungkan RFID-RC522 dengan arduino dan kemudian saya menghantar data RFID ke pangkalan data phpmyadmin. Tidak seperti projek sebelumnya kami tidak menggunakan perisai ethernet dalam kes ini, di sini kami hanya membaca data bersiri yang berasal dari
Menghantar sms dengan suhu tepat pada waktunya: 5 langkah (dengan gambar)
Menghantar sms dengan suhu tepat pada waktunya: Ideanya adalah untuk mendapatkan sms temperatur dari rumah ayah saya. Tidak ada yang menarik hanya dengan menyatukan bahagian. Bahagiannya adalah: Geekcreit ® ATmega328P Nano V3 Controller Board Compatible ArduinoDIY NANO IO Shield V1.O Expansion Board Untuk ArduinoDS130