Índice:
- Etapa 1: Componentes necessários
- Etapa 2: Introdução ao Dynamixel 12A
- Etapa 3: Comunicação / controle do Dynamixel 12A
- Etapa 4: Escrevendo a posição da meta no motor Dynamixel
- Etapa 5: CÓDIGO DE PYTHON
Vídeo: Controlando Dynamixel 12A enviando pacotes em série: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
DYNAMIXEL 12A
Etapa 1: Componentes necessários
HARDWARE:
1. Dinamixel 12A ou qualquer motor Dynamixel
2. USB para Dynamixel.
PROGRAMAS:
1. Assistente Robotis Dynamixel.
2. Python --- Pacote serial instalado
Etapa 2: Introdução ao Dynamixel 12A
Os motores Dynamixel são altamente precisos e usados principalmente em robótica. Cada motor Dynamixel tem um microcontrolador STM dentro. Você pode ler o torque atual, a tensão, o consumo de corrente, a temperatura, a posição, etc., dos motores Dynamixels.
Especificações do Dynamixel 12A:
Tensão operacional - 12v
Peso - 55g
Corrente máxima - 900mA
Torque de parada - 15,3 Kg.cm
Etapa 3: Comunicação / controle do Dynamixel 12A
- Dynamixel 12A não é como servo motores normais que têm 3 pinos GND, PWM, VCC, fornecem fonte de alimentação e sinal PWM e controlam o motor.
- Podemos controlar motores Dynamixel usando o protocolo de comunicação UART Half Duplex.
O que é o protocolo de comunicação Half Duplex?
A transmissão de dados half-duplex significa que os dados podem ser transmitidos em ambas as direções em uma portadora de sinal, mas não ao mesmo tempo.
Agora aprendemos sobre o Protocolo 1.0 para Dynamixels da Robotis para controlar os motores Dynamixel.
- Você pode se comunicar com motores Dynamixel enviando pacotes de seu laptop / microcontrolador como Arduino, r-pi, etc., para o microcontrolador que está presente dentro dos motores Dynamixel.
- Todos os Dynamixels possuem IDs que podem ser modificados.
- Um pacote nada mais é que um conjunto de bytes.
No caso do protocolo Dynamixel 1.0 você terá dois tipos de pacotes
- Pacotes de instrução
- Pacotes de status
Pacote de instruções são os dados de comando enviados ao dispositivo.
O pacote de instruções é parecido com este:
Cabeçalho1, Cabeçalho2, ID, Comprimento, Instrução, Parâmetro 1 … Parâmetro, NChecksum
0xFF, 0xFF, ID, Comprimento, Instrução Param 1… Param, NCHKSUM
O byte de instrução informa o que fazer, seja ler dados ou gravar no motor Dynamixel.
TABELA DE CONTROLE DE UM MOTOR DINAMIXEL.-A Tabela de controle é uma estrutura que consiste em vários campos de dados para armazenar o status ou para controlar o dispositivo.
Leia mais sobre a tabela de controle HereControl Table Robotis.
Podemos acessar dados na tabela de controle a partir de seu endereço e também podemos escrever.
Etapa 4: Escrevendo a posição da meta no motor Dynamixel
Pacote de instruções para escrever a posição da meta
cada pacote começa com um cabeçalho
H1 H2 ID LEN INST P1 P2 P3 CKSM
0xFF, 0xFF, 0x01, 0x05, 0x04, 0x1E, 0xF4, 0x01, 0xE2
Byte de instrução LEN + p1 + p2 + p3 + chk sum = 5 bytes
ID = ID do motor Dynamixel 1 - você pode definir a id do dynamixel usando o software do assistente do dynamixel do robotis
INST = reg write - especificando que você está escrevendo no motor.
P1 = Endereço inicial do Data-In na tabela de controle A posição objetivo é ter um endereço 30 (0x1E em hexadecimal).
P2 = byte inferior de dados
P3 = byte superior de dados
O cálculo da soma de verificação será explicado em breve ………………….
Se você enviar o pacote acima para Dynamixel Serially usando USB2Dynamixel, a posição da meta do motor Dynamixel será definida como 500.
Etapa 5: CÓDIGO DE PYTHON
# Desenvolvido por Madhu. Última atualização em 2019-07-19
importar série
tempo de importação
ser = serial. Serial ('com36', '57142')
#change com port em conformidade, minha taxa de bauds dos motores dynamixel é 57142, você pode configurá-la usando o software assistente Dynamixel.
enquanto (1):
gp1 = input ('insira a posição da meta ID1 (0-1023)')
l = gp1 e 255 #byte lento
h = (gp1 >> 8) e 255 # byte alto
li = [0xff, 0xff, 0x01, 0x05, 0x04, 0x1e, l1, h1]
#check soma cálculo
crc = soma (li [2:])
low1 = crc & 255
chksum = 255-low1
li.append (chksum) #adding check sum
a = bytearray (li) #convertendo lista em bytearray
ser.write (a) #Serially Send using usb2dynamixels.
tempo.sono (0,5)
#Copie o código e cole no IDE do python. Instale o pacote pyserial. conecte o lado USB do usb2dynamixel à porta USB do laptop e a outra extremidade ao motor Dynamixel. Forneça uma alimentação externa de 12 V ao USB2DYNAMIXEL.
EXECUTE o código e insira o valor da posição da meta. Veja motor funcionando.
Recomendado:
Enviando SMS se detectar fumaça (Arduino + GSM SIM900A: 5 etapas
Enviando Sms Se Detectar Fumaça (Arduino + GSM SIM900A: Olá a todos! No meu primeiro instrutível estarei fazendo um alarme de gás que enviará mensagem ao usuário se for detectada poluição. Este será um protótipo simples usando Arduino, módulo GSM e eletroquímico sensor de fumaça. No futuro, isso pode ser estendido para
Enviando SMS com Arduino -- Módulo TC35 GSM: 5 etapas
Enviando SMS com Arduino || Módulo TC35 GSM: Neste pequeno projeto vou mostrar como usar um módulo TC35 GSM corretamente e como usá-lo com um Arduino Uno para enviar um SMS com ele
Enviando dados do sensor de temperatura e umidade sem fio para o Excel: 34 etapas
Enviando Dados do Sensor Wireless de Temperatura e Umidade para Excel: Estamos usando aqui o sensor NCD de Temperatura e Umidade, mas as etapas permanecem iguais para qualquer um dos produtos ncd, então se você tiver outros sensores wireless ncd, fique à vontade para observar ao lado. Por meio da parada deste texto, você precisa
Enviando dados de sensor de temperatura e vibração sem fio para o Excel usando Node-RED: 25 etapas
Envio de dados de sensor de temperatura e vibração sem fio para o Excel usando o Node-RED: Apresentando o sensor de vibração e temperatura industrial de IoT de longo alcance da NCD, ostentando um alcance de até 2 milhas com o uso de uma estrutura de rede de malha sem fio. Incorporando um sensor de vibração e temperatura de 16 bits de precisão, este dispositivo trans
Enviando dados de vibração e temperatura sem fio para planilhas do Google usando Node-RED: 37 etapas
Enviando dados de vibração e temperatura sem fio para o Google Sheets usando Node-RED: Apresentando o sensor de vibração e temperatura industrial de IoT de longo alcance da NCD, ostentando um alcance de até 2 milhas com o uso de uma estrutura de rede mesh sem fio. Incorporando um sensor de vibração e temperatura de 16 bits de precisão, este dispositivo trans