Como fazer um braço robótico barato

Cómo hacer un brazo robótico barato

REQUISITOS:

1. Servomotores CC (2)

2. Disco compacto (para base de brazo)

3. Palo de escoba (para el brazo)

4. Lápiz/Bolígrafo

5. AtMega 16 IC

DESCRIPCIÓN:

Recientemente participé en un MOOC sobre Introducción a la Robótica en la Universidad Tecnológica de Queensland, Australia. Para aquellos que no saben qué es MOOC, significa M agresivo oh pluma Oh en línea C nuestro. Profesor Peter Corke Fue el mentor al introducirme en el mundo de la robótica. Además de la parte de aprendizaje de este curso, había un proyecto opcional sobre la construcción de su propio brazo robótico que podía seguir un camino determinado proporcionado por ellos. Aquí hay un vistazo a la hoja de cálculo que necesitaba trabajo:

Imagem típica de planilha robótica

Fig. 1: Imagen típica de una hoja de cálculo robótica

La tarea era sencilla; el brazo robótico debe poder sostener un bolígrafo o lápiz y seguir la ruta de puntos desde las coordenadas (X1,Y1) a (X5,Y5). La base del robot debe caber dentro de la caja gris (20 mm X 20 mm), mientras que el brazo debe tener solo dos articulaciones para moverse.

Para solucionar este problema, decidí optar por los servomotores, ya que tienen movimientos de alta precisión en comparación con los motores paso a paso y los motores CC normales. En mi opinión, este proyecto involucró dos partes principales a trabajar: estructura mecánica y codificación del microcontrolador. Las siguientes fotos muestran el brazo robótico que creé:

Imagem mostrando a configuração do motor para braço robótico simples

Fig. 2: Imagen que muestra la configuración del motor de un brazo robótico simple

Imagem mostrando o teste de braço robótico simples para desenho na planilha robótica

Figura 3: Imagen que muestra la prueba simple del brazo robótico para dibujar en la hoja de cálculo de robótica

Imagem mostrando o braço robótico posicionando a ferramenta Lápis em uma coordenada fixa na área de trabalho

Figura 4: Imagen que muestra el brazo robótico posicionando la herramienta Lápiz en una coordenada fija en el área de trabajo

Imagem mostrando o braço robótico movendo a ferramenta Lápis sobre a planilha robótica

Figura 5: Imagen que muestra el brazo robótico moviendo la herramienta Lápiz sobre la hoja de cálculo robótica

Imagem mostrando o movimento do braço robótico para uma coordenada fixa na planilha robótica

Figura 6: Imagen que muestra el movimiento del brazo robótico hasta una coordenada fija en la hoja de cálculo robótica

Imagem de planilha robótica com braço robótico colocado sobre ela

Figura 7: Imagen de una hoja de cálculo robótica con un brazo robótico colocado sobre ella

Imagem mostrando o movimento da ferramenta Lápis pelo braço robótico para uma coordenada fixa na planilha

Figura 8: Imagen que muestra el movimiento de la herramienta Lápiz por parte del brazo robótico a una coordenada fija en la hoja de cálculo

Como puedes ver, mi brazo robótico construido contiene dos servomotores, uno para la base (negro) y otro para mover el brazo (azul) conectado al lápiz. Ahora viene la parte de codificación que puedes consultar en la sección de códigos. Para informarte sobre lo mismo, déjame decirte que he utilizado temporizadores para operar estos servomotores. Uno de 16 bits parecía una buena opción. En la MCU AtMega 16, el temporizador1 es de 16 bits y tiene dos pines PWM de salida independientes (OC1APD5 y OC1BPD4).

Sabemos que los servos necesitan un ciclo de 20 ms con un pulso alto de 1 ms a 2 ms para su funcionamiento, por lo que elegí la frecuencia de reloj de 1 MHz, lo que resulta en 1 us por cada ciclo de reloj. Por lo tanto, necesitamos un total de 20.000 incriminaciones para hacer 20 ms. Esto se puede lograr inicializando el registro ICR1 con un valor de 20.000, esto permitirá que el valor TOP sea 20.000, exactamente lo que queremos. Ahora lo que queda es simplemente actualizar los valores de OCR1A y ​​OCR1B para un pulso alto de 1 ms -2 ms.

Simplemente te digo que me puse a trabajar investigando los valores de OCR1A y ​​OCR1B para 5 puntos de coordenadas y todo estaba correcto y probado. Una vez que las obtuve, pasé a una transición suave entre dos coordenadas consecutivas. Seguramente podrás ver esto en mi sección de codificación.

Código fuente del proyecto

###

#incluir

#incluir

vacío principal

{int i=0,j=0,small_time=50,big_time=1000;

TCNT1=0;

TCCR1A =(1<

TCCR1B =(1<

DDRD =(1<<5) (1<<4); //inicializando los pines OC1A y OC1B como salida

ICR1=19999;

OCR1A=1050;

OCR1B=695;

_delay_ms(big_time);////////////(X1,Y1)////////////////////////

para(i=1050,j=695;i>450&&j<1425;i-=5,j+=6)

{OCR1A=yo;

OCR1B=j;

_delay_ms(small_time);

}

OCR1A=450;

OCR1B=1425;

_delay_ms(big_time);////////////(X2,Y2)/////////////////////////

para(i=450,j=1425;i<1000&&j>700;i+=10,j-=7)

{OCR1A=i;

OCR1B=j;

_delay_ms(small_time);

}

OCR1B=1050;

para(i=1000;i<1600;i+=10)

{OCR1A=yo;

_delay_ms(small_time);

}

para(j=1050;j<1200;j+=10)

{OCR1B=j;

_delay_ms(small_time);

}

para(i=1600,j=1200;i>1350&&j<1475;i-=10,j+=10)

{OCR1A=i;

OCR1B=j;

_delay_ms(small_time);

}

OCR1A=1350;

OCR1B=1475;

_delay_ms(big_time);////////////(X3,Y3)/////////////////////////

para(i=1350,j=1475;i<2300&&j>500;i+=10,j-=7)

{OCR1A=i;

OCR1B=j;

_delay_ms(small_time);

}

OCR1A=2400;

OCR1B=800;

para(i=2400;i<2650;i+=10)

{OCR1A=yo;

_delay_ms(small_time);

}

para(j=800;j<1300;j+=10)

{OCR1B=j;

_delay_ms(small_time);

}

para(i=2600,j=1300;i>1825&&j<2225;i-=10,j+=12)

{OCR1A=i;

OCR1B=j;

_delay_ms(small_time);

}

OCR1A=1825;

OCR1B=2225;

_delay_ms(big_time);////////////(X4,Y4)////////////////////////

para(i=1825,j=2225;i<2500&&j>1000;i+=7,j-=10)

{OCR1A=i;

OCR1B=j;

_delay_ms(small_time);

}

OCR1A=2550;

para(j=1200;j>1100;j-=10)

{OCR1B=j;

_delay_ms(small_time);

}

para(i=2550;i>2100;i-=10)

{OCR1A=yo;

_delay_ms(small_time);

}

para(i=2100,j=1100;i>895&&j<2125;i-=12,j+=10)

{OCR1A=yo;

OCR1B=j;

_delay_ms(small_time);

}

OCR1A=895;

OCR1B=2125;

_delay_ms(big_time);////////////(X5,Y5)/////////////////////////

}

###

Diagramas de circuito

Diagrama de circuito-AVR-ATMega16-Circuito-de-control-basado-brazo-robótico-simple

Vídeo del proyecto

Conteúdo Relacionado

¿Cuál es el papel de los sensores automotrices en los vehículos modernos?
En cada vehículo hay una red de sensores integrada...
Cómo elegir un controlador de bicicleta eléctrica
El controlador del motor es uno de los componentes...
Cómo solucionar problemas comunes de ESP32-CAM
ESP32-CAM es un módulo de cámara compacto que combina...
Una guía de estándares USB desde 1.0 hasta USB4
La evolución de los estándares USB ha sido fundamental...
Schurter mejora la serie de selectores de voltaje con revestimiento de plata
SCHURTER anuncia una mejora de su popular serie SWZ...
Los versátiles tubos de luz rígidos de 3 mm de VCC, que se ofrecen en versión de montaje inverso
Visual Communications Company (VCC) ha anunciado sus nuevos tubos...
A interface serial PCI fornece conectividade confiável em ambientes extremos
A Sealevel Systems anuncia o lançamento da Interface Serial...
STMicroelectronics expande portfólio de conversão de energia com diodos Trench Schottky de 100 V
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
O que são Sistemas Globais de Navegação por Satélite (GNSS) e como são usados?
Determinar uma localização precisa é necessário em várias indústrias...
O conversor GaN de 50 W da STMicroelectronics permite projetos de energia de alta eficiência
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
Samsung e Red Hat farão parceria em software de memória de próxima geração
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
Primeiro MPU single-core com interface de câmera MIPI CSI-2 e áudio
O mercado embarcado tem uma necessidade de soluções de...
Decodificación fluida en motor de inducción para mejor rendimiento.
Probablemente se haya encontrado con el término " resistencia...
Comprensión de los aisladores de soporte en sistemas eléctricos
Probablemente tenga un aislante de soporte si ha notado...
Explore Stay Insulator: seguridad, instalación y mantenimiento
Probablemente haya visto un aislante colocado en postes de...
Más seguridad y eficiencia con el aislador de grilletes
Probablemente hayas visto aisladores de grillete entronizados en postes...
Descubra el poder de los relés de enclavamiento para lograr eficiencia energética y más
Probablemente hayas experimentado situaciones en las que controlar un...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.