martes, 27 de febreiro de 2024

Arranxos no brazo robótico CompluArm. Curso 2023-2024.

Nunha entrada anterior comentamos os trocos que tivemos que realizar para resolver algúns problemas xurdidos durante a montaxe do brazo robótico. Nesta entrada comentaremos algunhas melloras realizadas para acadar un mellor funcionamento do brazo robótico.

Problema: Os parafusos se afloxan debido ao movemento e as tensións producidas polos movementos (ás veces bastante bruscos) do brazo robótico. Isto obrigaba a un contínuo repaso e apriete de moitos dos seus parafusos.

Solución: Utilizamos un fixador para parafusos de forza media, que solucionou o problema satisfactoriamente.

Problema: O peso de todo o brazo robótico é soportado polo cabezal do servo 0. Polo tanto, a articulación do servo 0 se convirte no punto máis feble do brazo CompluArm. Isto produce unha forte inestabilidade nos movementos laterais do brazo robótico, pois todo o peso recae sobre o cabezal do servo 0. De seguido se mostra un breve vídeo que ilustra o problema:

Solución: Imos a adoptar unha solución similar á utilizada por un brazo robótico que tiñamos no taller. O servo 0 está insertado na base circular inferior, e o resto do brazo robótico está unido a unha plataforma circular superior que ten varios soportes que permiten repartir o esforzo.


Para deseñar as que chamaremos, base inferior e superior do servo 0, utilizamos o programa FreeCAD.

Na seguinte foto vese un instante da instalación da base inferior.


Os arquivos que conteñen ambos deseños son os seguintes:

De seguido se mostra como quedan as 2 bases no brazo robótico:


Problema: O servo 5 (o que acciona a pinza dos dedos) se estropeou.

Co uso continuado do brazo robótico vimos que o servo 5 (o que controla a apertura e peche dos dedos) se quentaba moito e, finalmente, se acabou estropeando, producindo un mal funcionamento (perdía a alimentación, o movemento dos outros servos se veía afectado, etc).

Solución: Localizamos o problema nas seguinte liñas do programa "Control_4_potenciometros_4_pulsadores.ino":

  if (estadoBoton2 == HIGH) {
    pos5=pos5+10;
    if (pos5>540) pos5=540;
    control_servos.setPWM(5, 0, pos5); // Incrementa a posición do servo 6
  }
  if (estadoBoton3 == HIGH) {
    pos5=pos5-10;
    if (pos5<150) pos5=150;
    control_servos.setPWM(5, 0, pos5); // Decrementa a posición do servo 6
  }

Dímonos conta que, ao contrario de como funcionaban os outros servos, non nos bastaba con limitar os valores entregados ao servo5 entre o valor mínimo e o máximo, pois a pinza dos dedos realmente se pecha ou abre totalmente moito antes de chegar a eses valores. Isto producía que se forzara o servo5, provocando que se estropeara.

Substituímos o servo por outro da mesma serie (MG 996-R), e reducimos os valores máximo e mínimo de movemento para evitar forzalo, solucionando o problema, pero obrigándonos a volver a calibrar os valores mínimo e máximo de movemento do servo5.

Recomendamos estar moi atentos a este servo, pois polo seu xeito de funcionamento é o que presenta maiores posibilidades de estropearse (debemos comprobar a temperatura do servo tocando na súa carcasa e evitar que estea demasiado tempo en posicións forzadas de peche ou apertura).