Mostrando entradas con la etiqueta robótica. Mostrar todas las entradas
Mostrando entradas con la etiqueta robótica. Mostrar todas las entradas

Pruebas Realizadas con el Software Editor de Movimientos "Motion Editor" del Robot Plen 2.

Pruebas  con software editor de movimientos "Motion Editor". Robot Plen 2.

Introducción.

Hay diferentes maneras de conectarnos con la placa ViVi. Puede ser a través del puerto USB (PL2303) ó por Wifi según el software que utilicemos.

Este software, que ahora comentamos, es por WiFi .

El propósito del software Motion Editor es la creación, modificación y corrección de movimientos del robot Plen2. A parte de esto, nos sirve para que la posición del robot coincida con el robot del software.
Podemos cargar archivos de movimiento .json que ya vienen con el propio programa, o bien, crearlos desde el principio.
Una vez estemos satisfecho con el movimiento lo podemos guardar, para luego cargarlo al robot.


Software Motion Editor Plen2
Fig.1 Software Motion Editor.

Observaciones.

Tras el montaje del Robot Plen2 con la placa ViVi(el chino es Miniplan), he tenido serios problemas a la hora de conseguir movimientos suaves y controlados. 

He conseguido que no se descontrole quitando las tensiones de alimentación y poniéndolas directa a la batería, dejando libre de esta sobrecarga a la placa control VIVI de doit.com.

Ahora sólo controla las señales de los servos quedando libre de alimentar a los servos.

Hecho esto, ya se queda en la posición inicial y no descontrola los movimientos, aunque sigue dando problemas cuando nos conectamos a la App ViVi Robot. 😔
Con la App nos conectamos al wifi del robot, y una vez hecho esto, pasar a colocar la posición del robot desde el menú Develop

App vivirobot Plen2
Fig.2 Development Plen2

He hecho multitud de pruebas de ajustar los servos y luego probarlos ejecutando los movimientos, no son correctos, produciendo movimientos descontrolados con colisiones y perdiendo la posición inicial creada. Estas colisiones son fundamentales evitarlas, pues si se bloquea por tropezar y recibe señal, querrá seguir hacia adelante, y esto produce descontrol de la placa.

Da la impresión de que se debe a los archivos json. , parecen ser incorrectos en velocidad y en los movimientos. 
Por este motivo he decidido editar cada movimiento con este programa y una vez probado con el robot guardarlos y descargarlo en éste. 👊


Creación de movimientos más pausados y suaves sin colisión

Conclusiones.

Arduo trabajo, pero que si sale bien será gratificante. 🤗
Una vez realizado este paso de transformación viene la tarea de descargarlo en el Robot Plen2.
Para ello tengo pensado varios métodos que tengo aún que probar. Será cuestión de "machacar" las tablas de movimientos que ya tiene, por las nuevas.

Os espero para poderos pasar este último paso, esperando que sea exitoso.

Otra cuestión que habrá que abordar será la batería final con la que trabaje,  ya que de momento trabaja con una fuente de alimentación ATX de ordenador.

Os espero! 🤖🖖



 

Comandos del software ROBOIDE para placa control SSC-32.

  Utilizando placa SSC32. Roboide

Fig. 1 Distintos tipos de placas SSC-32


Comandos SSC32

Esta placa de control, la SSC32, es un dispositivo auxiliar que sólo puede aceptar comandos o ejecutar comandos preestablecidos. 
Usa protocolo de comunicación con el exterior: comunicación en serie (nivel TTL), velocidad en baudios 9600 (por defecto 9600, puede configurar otras velocidades en baudios a través del software de PC), sin bit de paridad, 8 bits de datos y 1 bit de parada. 
Los comandos tienen una cosa en común, todos tienen \ r \ n , este es el final del comando, debe estar presente. Otro dato a tener en cuenta es que no hay espacios en los comandos. 

ejemplos:

Los comandos específicos son los siguientes: (para mejorar) 
  
# 1 P 1500 T 100 \ r \ n  comando simple.

El dato 1 es el canal de placa de control. El dato 1500 es la posición del servo y el rango es 500-2500. El dato 100 es el tiempo de ejecución, que indica la velocidad. Grado, el rango es 100-9999 

# 1 P 600 # 2 P 900 # 8 P 2500 T 100 \ r \ n  comando Múltiple 

 Los datos 1, 2, 8 son los canales del servo. Los datos 600, 900 y 2500 son 3 respectivamente posiciones de canales de la placa de control  . El dato 100 es el tiempo de ejecución, que es de 3 timones. La velocidad de la máquina, independientemente de cuál es el número de servos. El tiempo solo puede ser uno, es decir, solo puede haber una T. Los comandos se ejecutan simultáneamente, es decir, todos los servos se mueven todos juntos.

# 1 GC 2 \ r \ n  Grupo de acción Simple

El dato 1 es el número del grupo de acción. El dato C2 es el número de ciclos llevado a cabo 

 # 1 G # 3 G # 1 GC 2 \ r \ n  Grupo de acción Múltiple 

Ejecuta el grupo de acción 1 primero, luego ejecute el grupo de acción 3, luego realice el grupo de acción 1, luego reinicia Repite otra vez. (Ejecutar el grupo de acción 1, ejecutar el grupo de acción 3, Ejecutar el grupo de acción 1, ejecutar el grupo de acción 1, ejecutar Grupo de acción 3, grupo de acción de ejecución 1) Los datos 1 y 3 son los números del grupo de acción El dato C2 es el número de ciclos Un comando solo puede tener un número de ciclo llevado a cabo 

 # 1 G # 3 G # 1 G # 1 G # 1 GC 1 \ r \ n  Grupo de acción Múltiple

Realice el grupo de acción 1, realice el grupo de acción 3, realice Grupo de acción 1, ejecutar grupo de acción 1, ejecutar Grupo de acción 1 Los datos 1 y 3 son los números del grupo de acción El último dato C1 es el número de ciclos Un comando solo puede tener un número de ciclo.

 #STOP \ r \ n  Detener todas las acciones actuales 

La placa de servo control no puede aceptar el comando de parada (#STOP \ r \ n) durante la ejecución del comando del grupo de acción Cualquier orden exterior. Si configura un comando fuera de línea, entonces también está ejecutando el grupo de acción, luego el panel de control del servo en este proceso no puede aceptar otros comandos. 

 Zumbador para panel de control del mecanismo de dirección

El zumbador solo sonará cuando la placa de control de arrancar o no está encendido o no tiene suficiente energía.

Dado que el la placa de control necesita mucha corriente, si la fuente de alimentación de ésta, no es buena, en el momento en que empiece a funcionar, causará el voltaje de la fuente de alimentación se baje mucho y el zumbador sonará en este momento para indicar suministro de energía insuficiente.

Si cree que el timbre es ruidoso, puede cancelarlo mediante el propio software de PC.

Una fuente de alimentación insuficiente hará que los servos se muevan al azar o que la placa de control esté fuera de control. (Sentido común: medios de suministro de energía insuficientes

La corriente tiene que ser buena, no es que el voltaje no sea suficiente. Incluso si le das 100A , tomará solo la que necesita por ejemplo, 1A. Tomará 1A, no tomará más, controlará el consumo.

Verifique el método para una fuente de alimentación insuficiente: use un multímetro para probar el VS y GND del terminal azul en el tablero de control

Mida el valor de voltaje instantáneo de la placa de control. Si el voltaje instantáneo cae mucho, o es menor que el rango normal de la fuente de alimentación significa que su fuente de alimentación o batería no es buena.

NOTAS

 ¿Se puede establecer un retraso entre grupos de acción o entre cada comando?

En primer lugar, debe comprender que hay un tiempo T después de cada comando, T significa tiempo, luego repita el anterior

¿Puede entenderse que una orden está esperando?

 Sí, repite el último comando, el servo no se moverá, pero el tiempo corre, por lo que se puede entender que se trata de un retraso. (En la actualización posterior, puedes agregar un comando dedicado al retraso)

 Establecer las acciones iniciales del robot

En el momento en que se enciende el panel de control de los servos, el robot puede moverse aleatoriamente, lo cual puede deberse al reinicio del servo al encenderlo.
También puede deberse a la salida de señal inestable en el momento en que se enciende el tablero de control del mecanismo de dirección. El usuario puede configurar la acción para establecer un grupo de acción inicial para el robot.
 Primero, descargue un grupo de acción simple (estado inicial del robot), y luego configure el grupo de acción para que se ejecute fuera de línea. Después de la configuración, cada vez que se abre el panel de control esta acción se ejecutará cuando se encienda el interruptor de encendido. Si establece la postura de pie del robot,
Cuando el robot enciende el interruptor de encendido, se parará primero.

Algunas instrucciones para la alimentación del servo

El uso normal de los servos requiere una fuente de alimentación de alta potencia, un servo de metal con un par de 13 KG.CM, cuando no hay carga la corriente requerida es casi CERO, pero la corriente puede ser tan alta como 3A a plena carga. 

Un robot con 10 de estos servos instalados, Requiere una fuente de alimentación capaz de generar una corriente de aproximadamente 5 A para garantizar el funcionamiento correcto.

Comprueba que todos los servos funcionan. Por supuesto, si se requiere que todos los servos funcionen a plena carga, entonces 5A también está lejos de ser suficiente

Placa 32 canales SSC-32 servo motor control Joystick PS2

Placa 32 canales SSC32 servo motor control Joystick PS2

Os presento una placa de control fácil de utilizar y que es capaz de gestionar hasta 32 salidas. 


         Fig.1 Disposición de conexionado

En la figura podéis ver las entradas de alimentación de Vs,  que corresponde a la tensión que suministramos a los servos, tiras led´s o lo queramos. La tensión Vss, va de 6,5 a 12v. Estas dos tensiones tienen su negativo o tierra en GND. Tiene dos  puertos series con los que podrás comunicarte e incluso conexión inalámbrica para mandos PS2. Observamos la conexión para música MP3, la cual aún no puedo daros información. Si os puedo decir que en el mismo software de control se elige los MP3. Indagaremos... 😉. Por lo que véis es bastante completa y ha funcionado bastante bien en el banco de pruebas. Si es cierto que el software es demasiado simple y debería dar más funciones. Se ve algo escaso. 

Hablemos un poco más de la tensión Vs.

Servomotor
Fig.2 Servo Motor
Os pongo por ejemplo motores servos.

Siempre que el voltaje de la fuente de alimentación cumpla con los requisitos, se puede usar una batería para alimentar VSS y VS al mismo tiempo.

Si usamos los servos MG995 o MG996 la tensión Vs sería de entre 4.8v a 6.8v.
Si son los TR213, TR223, 1501MG sería la tensión de 4,8v a 7v.

Tened en cuenta que si no conoces la tensión nominal del servos debes de aplicar una Vss de 5 a 6v, ya que el 95% de los servos usan este rango.

Instalando DRIVERS en el PC.


Lo primero que tienes que hacer es instalar los drivers en tu ordenador. Para ello descarga el siguiente enlace e instálalo.


Mediante el software que os pongo más abajo y la instalación de los drivers podrás manipular dichas salidas a tu antojo. 
Como dije, fácil e intuitiva, se puede guardar los movimientos en sus propias memorias interiores. Dichos movimientos se realizan individualmente o por grupos, según así los guardes.


Movimientos de Servos

Formato: # <ch> P <pw> ... # <ch> P <pw> T <time> \ n \ r


<ch> = número de servo, rango 1 ~ 32 (número decimal)
<pw> = Ancho de pulso (posición del servo), rango: 500 ~ 2500. Unidad: us (microsegundos)
<time> = Tiempo utilizado para moverse a la posición, efectivo para todos los servos.
\ n \ r = Número binario 0x0d, 0x0a (retorno de carro), el terminador del comando

Ejemplo:

# 3P250T1000 \ n \ r
Mueva el servo N.3 a un ancho de pulso de 250us, usando un tiempo de 1000 microsegundos 

# 10P2000 # 30P2500T1500 \ n \ r
Mueva el servo N.10 al ancho de pulso 2000us, el servo N. 30 al ancho de pulso 2500us, usando el tiempo
1500ms. La velocidad del servo depende de la ubicación de la dirección de la vez anterior. N.10 y
Los servos N.30 llegaron al lugar designado al mismo tiempo.

Instrucciones de acción en grupo 
Ejecutar acción en grupo 

Formato de comando: # <AG> G… # <AG> G <pw> C <Ciclo> \ n \ r

<m>: número de grupo de acción
 <AG> = número de grupo de acción, rango 1 ~ n (número decimal, n es el máximo fáctico
número)
 <Ciclo> = tiempos de bucle, rango 1 ~ 999 (número decimal)
 \ n \ r = 0x0D, 0x0A en hexadecimal, significa el final del comando

Ejemplo: 

# 1GC99 \ n \ r
Realiza el grupo de acción 1 y repite 99 veces

# 1G # 2G # 4G # 2GC1 \ n \ r
Realice el grupo de acción en orden 1, 2, 4, 2 y repita solo una vez.
la instrucción se puede repetir como # 2G en este ejemplo)
Cuando finalice la instrucción, devolverá #AGF como indicación.


Funcionando sin conexión

Formato de comando: # ENABLE # <AG>… # <AG> C <Ciclo> \ n \ r

Ejemplo:

# HABILITAR # 1GC5 \ n \ r
La placa de servocontrol realizará el grupo de acción 1 y hará un bucle 5 veces cuando se encienda.

#DISABLE \ n \ r falla de ejecución sin conexión

Conexión del mando PS2 a SSC-32

Mire el lado del receptor del mango, la parte superior es grande, la parte inferior es pequeña, la siguiente forma, 9 pines, solo es necesario conectar los pines 1 2, 4, 5, 6  y 7.

Conexión mando PS2 en SSC-32
Fig3. Conexión del mando PS2

Si tienes conectada la fuente de alimentación, las dos luces del receptor del mango siempre estarán encendidas. 

Configuración PS2

Abra el software de computadora ROBOIDE, el menú superior del software, herramientas-mango PS2.

Configuración mando PS2 a Software ROBIDE
Fig.4 Configuración PS2 con ROBOIDE

Luego ingrese el comando del grupo de acción que se ejecutará con el botón en el cuadro de entrada cerca del botón de control de PS2 a la derecha.

(formato: # 1GC1 , 1G es el primer grupo de acción, C1 se ejecuta una vez en un bucle)

    Después de la configuración, presione "OK" para confirmar la configuración. Luego reinicie el tablero de control de los servos (vuelva a encender el tablero de control) y luego puede controlar el grupo de acciones con los botones del mango.

Observaciones: 

    1. Después de que el receptor del  mando y el tablero de control estén conectados normalmente, si la fuente de alimentación está conectada, las luces indicadoras en el receptor del mando estarán encendidas, si parpadea, debe verificar si el mango está encendido o si el interruptor de encendido está encendido. 

    2. El mando tiene una función de suspensión. Si encuentra que las luces indicadoras en el mando están todas apagadas, es posible que esté en hibernación. Se restablece el botón INICIO.

Finalizando

    Esto ha sido la breve descripción del hardware a algo de comandos para los inicios del software. Más adelante, haré una nueva entrada de los diferentes software que se pueden usar.
Espero que haya sido útil para vosotros. Saludos 👋👋

Crea tu propio Robot. ¿ Cómo controlo un robot?

 Instalación firmware de la placa VIVI  para Robot Plen2 /Robot Miniplan.



 Carga el firmware a la placa VIVI para el famoso robot plen2 y aprende como nos conectamos.  Se realizar también con el Robot Miniplan. 
Puedes encontrar fácilmente las piezas para imprimir y os aconsejo motores servos que tolere alrededor de 1,5 kg a 2 kg mínimamente.
La app de doit.com para vivi robot se encuentra en Play Store y se conecta introduciendo el password 123456798xyz o 123456789.
Nos vemos en los próximos vídeos de como ensamblar correctamente el  robot Plen2 


Robot Plen2
Robot Plen2

Montaje de Brobot Evo2 de jjrobots.

Como instalar nuestro robot balancín Brobot.

Introducción

 Aquí podéis ver como se hizo el montaje del robot balancín Brobot Evo2 de jjrobots.

Deciros que está compuesto por dos motores paso a paso sacados de una impresora Epson. Estos motores están administrados por controladores (drivers) DRV8825, un controlador por motor, que son comandados finalmente por el microcontrolador Arduino Leonardo.


Placa BRobot jjrobot
Imagen: Placa original de jjrobots donde se integra los drivers de los motores y el módulo wifi ESP8266.


Por otro lado, tenemos el módulo wifi ESP8266Mod que está programado para enviar y recibir la información al Arduino Leonardo por mediación de la app de jjrobots que encontrarás fácilmente en PlayStore. Por último, y no menos importante, está el módulo giroscópico MPU-6050 que es quien proporciona el ángulo en el que se encuentra el robot y con la variable de formulación del péndulo invertido consigue la estabilidad deseada.


Esquema B-Robot  jjrobot
Imagen del esquema electrónico general.



Para las piezas imprimibles:

jjrobots: https://www.jjrobots.com

Ver también:

B-Robot Evo2 de jjrobot.

  Saludos 👋




B-Robot Evo2 de jjrobot.

Pruebas B-Robot Evo2 de jjrobot.

Prueba de Evo2 de JJRobot. Trás muchos problemas con la protoboard, ya que hice el esquema con arduino nano y tuve problemas con los timers, decidí pasarlo a Arduino Leonardo. Al hacer esto cableé desde el zócalo del Nano al Leonardo, dándome muchos problemas de interferencias por el cableado afectando al MPU6050. Hice de nuevo el esquema en otra protoboard para insertar directamente al Leonardo. Utilicé los drivers DRV8825  configurando en el placa los pines M0, M1 Y M2 a 16 microstepping y la  aceleración en el sketch  de arduino.

 

Finalmente y realizando unos pequeños ajustes de electrónica para el servo del brazo ya queda terminado Evo2. 

Articulo relacionado:

Montaje de Brobot Evo2 de jjrobots.

Espero que os guste!





Creación con Impresión 3d de Robot Plen2

  Construcción del Robot Plen2. 

Podéis ver que en el momento de activar la placa Vivi se coloca en la posición inicial la pierna.  Este paso es crucial ya que cada servo motor no debe chocar con ningún elemento para que no se bloquee la placa, y no se descontrole. Hay que estar seguro de esto. Más tarde, cuando se ensamble completamente, se realizará un ajuste fino. 



Aún no terminado por dar problemas la placa base de 18DOF ViVi RC. Debo adaptar otra placa. Los fallos de la placa Vivi son inestabilidad de los movimientos.