İçindekiler:
- Adım 1: Gerekli Bileşenler
- Adım 2: Dynamixel 12A'ya Giriş
- Adım 3: Dynamixel 12A ile iletişim/kontrol etme
- Adım 4: Dynamixel Motor'a Hedef Konumu Yazma
- Adım 5: PYTHON KODU
Video: Dynamixel 12A'yı Seri Olarak Paket Göndererek Kontrol Etme: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
DİNAMİKSEL 12A
Adım 1: Gerekli Bileşenler
DONANIM:
1. Dynamixel 12A veya herhangi bir Dynamixel motor
2. USB'den Dynamixel'e.
YAZILIM:
1. Robotis Dynamixel sihirbazı.
2. Python ---Seri paket yüklendi
Adım 2: Dynamixel 12A'ya Giriş
Dynamixel motorlar oldukça hassastır ve çoğunlukla Robotikte kullanılır. Her Dynamixel motorun içinde STM mikrodenetleyici bulunur. Dynamixels Motors'dan akım torku, voltaj, akım çekimi, sıcaklık, konum vb. bilgileri okuyabilirsiniz.
Dynamixel 12A'nın Özellikleri:
Çalışma Gerilimi --12v
Ağırlık--55g
Maksimum akım --900mA
Durak Torku - -15.3 Kg.cm
Adım 3: Dynamixel 12A ile iletişim/kontrol etme
- Dynamixel 12A, 3pin GND, PWM, VCC'ye sahip, güç kaynağı ve PWM sinyali veren ve motoru kontrol eden normal servo motorlar gibi değildir.
- Dynamixel motorları Half Duplex UART haberleşme protokolü ile kontrol edebiliyoruz.
Yarım Dubleks İletişim Protokolü Nedir?
Yarım çift yönlü veri iletimi, verilerin bir sinyal taşıyıcı üzerinde her iki yönde iletilebilmesi, ancak aynı anda iletilemeyeceği anlamına gelir.
Şimdi Robotis'ten Dynamixel motorlarını kontrol etmek için Dynamixels için Protokol 1.0'ı öğreniyoruz.
- Dynamixel motorların içinde bulunan mikrodenetleyiciye Arduino, r-pi vb. gibi laptop/mikrodenetleyicilerinizden paketler göndererek Dynamixel motorlar ile haberleşebilirsiniz.
- Her Dynamixel'in değiştirilebilen kimlikleri vardır.
- Bir paket, bayt kümesinden başka bir şey değildir.
Dynamixel protokolü 1.0 durumunda, iki tür paketiniz olacaktır.
- talimat paketleri
- Durum paketleri
Talimat Paketi, Cihaza gönderilen komut verileridir.
Talimat paketi şöyle görünür:
Header1, Header2, ID, Length, Instruction, Param 1…Param, NChecksum
0xFF, 0xFF, ID, Uzunluk, Komut Param 1…Param, NCHKSUM
Komut baytı, Dynamixel motoruna veri okumak veya yazmak için ne yapılacağını söyler.
BİR DİNAMİKSEL MOTORUN KONTROL TABLOSU.-Kontrol Tablosu, durumu saklamak veya cihazı kontrol etmek için birden fazla Veri alanından oluşan bir yapıdır.
Kontrol tablosu HereControl Table Robotis hakkında daha fazla bilgi edinin.
Adresinden kontrol tablosundaki verilere ulaşabilir ve ayrıca yazabiliriz.
Adım 4: Dynamixel Motor'a Hedef Konumu Yazma
Hedef pozisyonunu yazmak için talimat paketi
her paket bir başlık ile başlar
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
LEN komut baytı+p1+p2+p3+chk toplam=5 bayt
ID=Dynamixel motor ID 1-dynamixel kimliğini robotis dynamixel sihirbaz yazılımını kullanarak ayarlayabilirsiniz
INST=reg yazma-motora yazdığınızı belirtir.
P1=Kontrol tablosundaki Verilerin başlangıç adresi Hedef konumu 30(onaltılık olarak 0x1E) adresine sahip.
P2=alt veri baytı
P3=daha yüksek veri baytı
Checksum hesaplaması birazdan anlatılacaktır………………….
Yukarıdaki paketi USB2Dynamixel kullanarak Seri olarak Dynamixel'e gönderirseniz, Dynamixel motor hedef konumu 500 olarak ayarlanır.
Adım 5: PYTHON KODU
#Madhu tarafından geliştirildi. 2019-07-19 tarihindeki son güncelleme
seriyi içe aktar
ithalat zamanı
ser=serial. Serial('com36', '57142')
#com portunu buna göre değiştirin, dynamixel motorlarımın baud hızı 57142, Dynamixel sihirbaz yazılımı kullanarak ayarlayabilirsiniz.
süre(1):
gp1=input('ID1 hedef konumunu girin(0-1023)')
l=gp1&255 #düşük bayt
h=(gp1>>8)&255 #yüksek bayt
li=[0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#kontrol toplamı hesaplaması
crc=toplam(li[2:])
low1=crc & 255
chksum=255-düşük1
li.append(chksum) #kontrol toplamı ekleme
a=bytearray(li) #listeyi bytearray'e dönüştürme
ser.write(a) #usb2dynamixels kullanarak seri olarak gönder.
zaman.uyku(0.5)
#python IDE'de kod yapıştırmasını kopyala. pyserial paketini kurun. usb2dynamixel'in USB tarafını dizüstü bilgisayarın USB bağlantı noktasına ve diğer ucunu Dynamixel motoruna bağlayın. USB2DYNAMIXEL'e harici bir 12v besleme verin.
Kodu ÇALIŞTIRIN, hedef konum değerini girin. Motorun çalıştığını görün.
Önerilen:
ISP Olarak Arduino -- AVR'de Hex Dosyası Yaz -- AVR'de Sigorta -- Programcı Olarak Arduino: 10 Adım
ISP Olarak Arduino || AVR'de Hex Dosyası Yaz || AVR'de Sigorta || Arduino As Programmer:……………………………Daha fazla video için lütfen YouTube kanalıma ABONE OLUN……..Bu makale isp olarak arduino ile ilgili. Hex dosyası yüklemek istiyorsanız veya sigortanızı AVR'ye ayarlamak istiyorsanız, bir programlayıcı satın almanıza gerek yok, yapabilirsiniz
Arduino İle Python Kullanarak MySQL Sunucusuna RFID Verisi Göndererek Katılım Sistemi: 6 Adım
Arduino İle Python Kullanarak MySQL Sunucusuna RFID Verisi Göndererek Katılım Sistemi: Bu projede arduino ile RFID-RC522 arayüzünü kurdum ve ardından RFID verilerini phpmyadmin veritabanına gönderiyorum. Önceki projelerimizden farklı olarak bu durumda herhangi bir ethernet kalkanı kullanmıyoruz, burada sadece ar'dan gelen seri verileri okuyoruz
LED'lerin Doğru Seri Bağlanması - Seri Vs Paralel Bağlantı: 6 Adım
LED'leri Doğru Seri Vs Paralel Bağlantıya Bağlama: Bu talimatta, LED - Işık Yayan Diyotlardan ve birden fazla ünitemiz varsa bunları nasıl bağlayabileceğimizden bahsediyoruz. Bu, keşke en başından bilseydim dediğim bir ders çünkü elektronik devrelerle uğraşmaya başladığımda birkaç tane inşa ettim
UDP Üzerinden RC Servoları Kablosuz Olarak Kontrol Etme: 3 Adım
UDP Üzerinden RC Servoları Kablosuz Olarak Kontrol Etme: Bu projede RC servoları kontrol etmek için iPhone'umu kullanmak istiyorum. UDP bağlantısı üzerinden iki servoyu kontrol etmek için ivmeölçer kullanacağım. Bu, bir iPhone ile çevre birimi arasındaki bağlantının yüksek seviyelere ulaşabileceğini doğrulamaya yönelik bir Kavram Kanıtı projesidir
Epe Kordonunu Test Etme ve Tamir Etme: 9 Adım (Resimlerle)
Bir Epe Bodycord'un Test Edilmesi ve Onarılması: Modern, Olimpik tarzdaki eskrim sporunda, puanlama elektrikle yapılır. Elektrik sinyalinin silahınızdan puanlama makinesine gitmesi için, sinyalin silahınızdaki bir tel aracılığıyla (kılıç hariç) kolunuzdan yukarı ve aşağı hareket etmesi gerekir