Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
DINAMIS 12A
Langkah 1: Komponen Diperlukan
PERANGKAT KERAS:
1. Dynamixel 12A atau motor Dynamixel lainnya
2. USB ke Dynamixel.
PERANGKAT LUNAK:
1. Robotis Dynamixel wizard.
2. Python --- Paket serial diinstal
Langkah 2: Pengenalan Dynamixel 12A
Motor Dynamixel sangat presisi dan banyak digunakan dalam Robotika. Setiap motor Dynamixel memiliki mikrokontroler STM di dalamnya. Anda dapat membaca torsi saat ini, tegangan, penarikan arus, suhu, posisi, dll., dari Dynamixels Motors.
Spesifikasi Dynamixel 12A:
Tegangan Operasi --12v
Berat--55g
Arus maks --900mA
Torsi Kios--15,3 Kg.cm
Langkah 3: Mengkomunikasikan/mengendalikan Dynamixel 12A
- Dynamixel 12A tidak seperti motor servo pada umumnya yang memiliki 3pin GND, PWM, VCC, memberikan power supply dan sinyal PWM dan mengontrol motor.
- Kita dapat mengontrol motor Dynamixel menggunakan protokol komunikasi Half Duplex UART.
Apa itu Protokol Komunikasi Half Duplex?
Transmisi data half-duplex berarti bahwa data dapat ditransmisikan dalam dua arah pada pembawa sinyal, tetapi tidak pada waktu yang sama.
Sekarang kita belajar tentang Protokol 1.0 untuk Dynamixel dari Robotis untuk mengontrol motor Dynamixel.
- Anda dapat berkomunikasi dengan motor Dynamixel dengan mengirimkan paket dari laptop/mikrokontroler Anda seperti Arduino, r-pi, dll., ke mikrokontroler yang ada di dalam motor Dynamixel.
- Setiap Dynamixels memiliki ID yang dapat dimodifikasi.
- Sebuah paket tidak lain adalah Kumpulan byte.
Dalam kasus protokol Dynamixel 1.0 Anda akan memiliki dua jenis paket
- Paket instruksi
- Paket status
Paket Instruksi adalah data perintah yang dikirim ke Perangkat.
Paket instruksi terlihat seperti ini:
Header1, Header2, ID, Panjang, Instruksi, Param 1…Param, NChecksum
0xFF, 0xFF, ID, Panjang, Instruksi Param 1…Param, NCHKSUM
Byte instruksi memberitahu apa yang harus dilakukan, apakah membaca data atau menulis ke motor Dynamixel.
TABEL KONTROL MOTOR DINAMIS.-Tabel Kontrol adalah struktur yang terdiri dari beberapa bidang Data untuk menyimpan status atau untuk mengontrol perangkat.
Baca lebih lanjut tentang tabel Kontrol Di Sini Tabel Kontrol Robotis.
Kita dapat mengakses data dalam tabel kontrol dari alamatnya dan juga kita dapat menulis.
Langkah 4: Menulis Posisi Sasaran ke Dynamixel Motor
Paket Instruksi untuk Menulis posisi Tujuan
setiap paket dimulai dengan header
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
byte instruksi LEN+p1+p2+p3+chk sum=5 byte
ID=Dynamixel motor ID 1-anda dapat mengatur id dynamixel menggunakan software robotis dynamixel wizard
INST=reg write-menentukan bahwa Anda sedang menulis ke motor.
P1=Alamat awal Data-Dalam tabel kontrol Posisi sasaran memiliki alamat 30(0x1E dalam heksadesimal).
P2 = byte data yang lebih rendah
P3=byte data yang lebih tinggi
Perhitungan checksum akan dijelaskan segera………………….
Jika anda mengirimkan paket diatas ke Dynamixel Serially menggunakan USB2Dynamixel, posisi motor goal Dynamixel akan di set menjadi 500.
Langkah 5: KODE PYTHON
#Dikembangkan oleh Madhu. Pembaruan terakhir pada 2019-07-19
impor Serial
waktu impor
ser=serial. Serial('com36', '57142')
#ubah port com sesuai, baud rate motor dynamixel saya adalah 57142, Anda dapat mengaturnya menggunakan perangkat lunak wizard Dynamixel.
sementara (1):
gp1=input('masukkan posisi tujuan ID1 (0-1023)')
l=gp1&255 #byte rendah
h=(gp1>>8)&255 #byte tinggi
li=[0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#cek perhitungan jumlah
crc=jumlah(li[2:])
rendah1=crc & 255
chksum=255-rendah1
li.append(chksum) #menambahkan jumlah cek
a=bytearray(li) #mengubah daftar menjadi bytearray
ser.write(a) #Kirim serial menggunakan usb2dynamixels.
waktu.tidur(0.5)
#Copy paste kode di python IDE. Instal paket pyserial. sambungkan sisi USB usb2dynamixel ke port USB laptop dan ujung lainnya ke motor Dynamixel. Berikan suplai 12v eksternal ke USB2DYNAMIXEL.
RUN kode, masukkan nilai posisi tujuan. Lihat motor berjalan.