Orodha ya maudhui:

Kudhibiti Dynamixel 12A kwa Kutuma Pakiti mfululizo: Hatua 5
Kudhibiti Dynamixel 12A kwa Kutuma Pakiti mfululizo: Hatua 5

Video: Kudhibiti Dynamixel 12A kwa Kutuma Pakiti mfululizo: Hatua 5

Video: Kudhibiti Dynamixel 12A kwa Kutuma Pakiti mfululizo: Hatua 5
Video: Что заставило братьев Менендес убить своих родителей?... 2024, Novemba
Anonim
Kudhibiti Dynamixel 12A kwa Kutuma Pakiti mfululizo
Kudhibiti Dynamixel 12A kwa Kutuma Pakiti mfululizo

DYNAMIXEL 12A

Hatua ya 1: Vipengele vinahitajika

Vifaa Vikuu:

1. Dynamixel 12A au motor yoyote ya Dynamixel

2. USB kwa Dynamixel.

SOFTWARE:

1. Mchawi wa Robotis Dynamixel.

2. Python --- Serial package imewekwa

Hatua ya 2: Utangulizi wa Dynamixel 12A

Motors za Dynamixel ni sahihi sana na hutumika zaidi katika Robotiki. Kila gari ya Dynamixel ina mdhibiti mdogo wa STM ndani. Unaweza kusoma torque ya sasa, voltage, sare ya sasa, joto, msimamo, nk., Kutoka kwa Dynamixels Motors.

Maelezo ya Dynamixel 12A:

Uendeshaji Voltage -12v

Uzito - 55g

Max ya sasa - 900mA

Stall Torque - 15.3 Kg.cm

Hatua ya 3: Kuwasiliana / kudhibiti Dynamixel 12A

  • Dynamixel 12A sio kama motors za kawaida za servo ambazo zina 3pin GND, PWM, VCC, hutoa usambazaji wa nguvu na ishara ya PWM na kudhibiti motor.
  • Tunaweza kudhibiti motors za Dynamixel kwa kutumia itifaki ya mawasiliano ya Nusu Duplex UART.

Itifaki ya Mawasiliano ya Nusu Duplex ni nini?

Uhamisho wa data ya nusu-duplex inamaanisha kuwa data inaweza kupitishwa kwa pande zote mbili kwenye mbebaji wa ishara, lakini sio wakati huo huo.

Sasa tunajifunza juu ya Itifaki 1.0 ya Dynamixels kutoka Robotis kudhibiti motors za Dynamixel.

  • Unaweza kuwasiliana na motors za Dynamixel kwa kutuma pakiti kutoka kwa laptop yako / microcontroller kama Arduino, r-pi, n.k., kwa mdhibiti mdogo aliyeko ndani ya motors za Dynamixel.
  • Kila Dynamixels zina vitambulisho ambavyo vinaweza kubadilishwa.
  • Pakiti sio chochote isipokuwa Seti ya ka.

Incase ya Dynamixel itifaki 1.0 utakuwa na aina mbili za pakiti

  • Pakiti za mafundisho
  • Pakiti za hali

Pakiti ya Maagizo ni data ya amri iliyotumwa kwa Kifaa.

Pakiti ya maagizo inaonekana kama hii:

Kichwa1, Kichwa2, Kitambulisho, Urefu, Maagizo, Param 1… Param, NChecksum

0xFF, 0xFF, kitambulisho, urefu, maelekezo Param 1… Param, NCHKSUM

Baiti ya maagizo inaambia nini cha kufanya, ikiwa ni kusoma data au kuandika kwa gari ya Dynamixel.

JEDWALI LA KUDHIBITI YA DUNNAMIXEL MOTOR.-Jedwali la Udhibiti ni muundo ambao una sehemu nyingi za Takwimu kuhifadhi hali au kudhibiti kifaa.

Soma zaidi juu ya Jedwali la Kudhibiti Hapa Udhibiti wa Robotis.

Tunaweza kupata data kwenye meza ya kudhibiti kutoka kwa anwani yake na pia tunaweza kuandika.

Hatua ya 4: Kuandika Nafasi ya Lengo kwa Magari ya Dynamixel

Pakiti ya Maagizo ya Andika msimamo wa Lengo

kila pakiti huanza na kichwa

H1 H2 ID LEN INST P1 P2 P3 CKSM

0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2

LEN-maelekezo byte + p1 + p2 + p3 + chk sum = 5 ka

Kitambulisho = Kitambulisho cha gari cha Dynamixel 1-unaweza kuweka kitambulisho cha baruti kwa kutumia programu ya mchawi wa roboti ya baruti

INST = reg kuandika-kubainisha kuwa yako ni kuandika kwa motor.

P1 = Anwani ya kuanza ya Takwimu-Katika jedwali la kudhibiti Nafasi ya Lengo ina anwani 30 (0x1E katika hexadecimal).

P2 = chini ya data

P3 = data ya juu zaidi

Hesabu ya Checksum itaelezewa muda mfupi ………………….

Ikiwa utatuma pakiti hapo juu kwa Dynamixel mfululizo kutumia USB2Dynamixel, nafasi ya lengo la gari la Dynamixel itawekwa 500.

Hatua ya 5: KODI YA PYTHON

#Imeendelezwa na Madhu. Sasisho la mwisho mnamo 2019-07-19

kuagiza Serial

muda wa kuagiza

ser = mfululizo. Serial ('com36', '57142')

#badilisha com bandari ipasavyo, kiwango cha baud cha motors yangu ya baruti ni 57142, unaweza kuiweka kwa kutumia programu ya mchawi wa Dynamixel.

wakati (1):

gp1 = pembejeo ('ingiza nafasi ya lengo la ID1 (0-1023)')

l = gp1 & 255 #biti ya chini

h = (gp1 >> 8) & 255 # juu byte

li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]

#hakiki hesabu ya jumla

crc = jumla (li [2:])

chini1 = crc & 255

chksum = 255-chini1

li.append (chksum) #kuongeza jumla ya hundi

a bytearray (li) # kubadilisha orodha kuwa bytearray

ser.write (a) #Sually send using usb2dynamixels.

saa. kulala (0.5)

# Nakili kuweka nambari katika chatu IDE. Sakinisha kifurushi cha vifaa. unganisha upande wa USB wa usb2dynamixel kwenye bandari ya USB ya mbali na mwisho mwingine kwa gari ya Dynamixel. Toa usambazaji wa 12v wa nje kwa USB2DYNAMIXEL.

Kimbia msimbo, weka nafasi ya lengo. Tazama mbio za magari.

Ilipendekeza: