Académique Documents
Professionnel Documents
Culture Documents
Controlado por Arduíno
Rick Jones M. Ferreira 1 , Francisco Januário1 , Davi C. M. Barreto1, Antônio
Ralyson de S. Ferreira1
Laboratório de Robótica Aplicada – Fundação Centro de Análise, Pesquisa e Inovação
Tecnológica (FUCAPI)
Manaus – AM – Brasil
rickjones.rf@gmail.com, francisco.januario@fucapi.br,
davi.cmbarreto@gmail.com,ralyson_astec@hotmail.com
Abstract. The article discusses the analysis and construction of a humanoid
robotic arm with similar human characteristics. The robotic arm structure
was built using 3D printer. The control is performed through a controller
board equipped with a Nano Arduino, Hbridge, regulator and voltage
doublers. The obtained results showed that the humanoid robotic arm
performed satisfactorily movements similar to the human arm.
1. Introdução
Os recentes desenvolvimentos de protótipos robóticos humanoide com interfaces com o
usuário, mostram que há um crescente interesse em robôs assistentes e até mesmo
robôs pessoais. As áreas de aplicação atingem desde o atendimento a pessoas idosas,
auxílio à área médica, até executam trabalhos domésticos entre outras utilidades. Em
comparação com as áreas de aplicação citadas, o projeto do braço robótico humanoide
leva a requisitos que se diferem em comparação aos robôs tradicionais e industriais, um
exemplo seria os graus de liberdade que o membro humano é capaz de alcançar.
Atualmente, os robôs executam vários trabalhos diferentes em vários campos e a
quantidade de tarefas delegada aos robôs está aumentando exponencialmente. Na
primeira aparição dos robôs industriais durante a década de 1960, os conceitos para o
uso dos robôs eram apenas para executar comandos prédefinidos [BERNS, 1998].
À medida que a tecnologia e a interface física dos robôs melhoram, os seres
humanos passaram a se relacionar com os robôs e com isso surgiu à necessidade de criar
equipamentos mais parecidos com os humanos.
Há uma grande dificuldade em modelar os movimentos do braço humano devido
à alta complexidade das tarefas que ele executa, o projeto do braço robótico terá
habilidades para que o mesmo possa ter um comportamento e executar alguns
movimentos e tarefas semelhantes ao braço humano.
Este trabalho apresenta o desenvolvimento de um braço robótico servo
controlado, sendo capaz de executar tarefas como segurar objetos e executar
movimentos na direção frontal com grau de liberdade limitado a 27° para a região do
ombro e 90° para a região do cotovelo, estes movimentos citados são semelhantes aos
graus de liberdade executados pelos humanos.
Este artigo está organizado da seguinte forma: a Seção 2 apresenta os diagramas
de funcionamento do braço robótico humanoide e seus componentes utilizados no
projeto. A Seção 3 apresenta trabalhos relacionados com o projeto. A Seção 4 apresenta
modelagem 3D e a estrutura de funcionamento do braço robótico e seus respectivos
componentes. Na Seção 5 é apresentado o software de controle dos atuadores do braço
robótico. Na Seção 6 são apresentados os testes realizados e os resultados obtidos. Na
Seção 7 são apresentados a conclusão e os trabalhos futuros.
2. Metodologia
O protótipo do braço robótico humanoide foi desenvolvido e construído através da
técnica de impressão 3D. Entre os itens utilizados para controle do sistema estão o
arduíno nano, servomotores para controle de todos os dedos da mão e dois motores DC
que se comportam como motores servocontrolados. O protótipo é controlado pelo
Arduíno Nano, codificado na linguagem C, para executar os movimentos do braço
robótico.
O software de controle foi desenvolvido na linguagem C, e tem como objetivo
manipular os graus de liberdade do braço robótico humanoide para que o mesmo
execute todos os movimentos prédeterminados no firmware, podendo executar
movimentos de forma autônoma, quando os outros módulos do projeto robô humanoide
estiverem concluídos.
Computador Servo
Motores
Comunicação Arduíno
Serial
Motores DC
Figura 1. Diagrama de funcionamento do braço robô humanoide [Fonte: O
próprio autor]
2.1 Modelagem 3D
O braço robótico foi modelado em 3D, utilizando a ferramenta SOLIDWORKS,
permitindo acelerar o processo de designer, economizando tempo e custos no
desenvolvimento do produto, tornandoo mais produtivo.
A impressão 3D permite criar objetos sólidos tridimensionais a partir de um
arquivo digital, através sucessivas camadas de material até o objeto ser criado
[BARRETO,2017]. A impressão 3D permite a produção de peças complexas usando um
material chamado PLA (do inglês, Polylactic Acid ), esse tipo de material é considerado
termoplástico, o que significa que ele entra em estado moldável quando aquecido e
depois retorna a um estado sólido quando resfriado. Através do processo de
aquecimento o material é derretido e em seguida é extrudado através de um bico
iniciando o processo de criação da peça.
2.2 Driver de potência Ponte H
Em geral a ponte H, mostrada na Figura 2, é um circuito bastante simples, contendo
quatro elementos de comutação, com carga no centro, uma configuração semelhante à
letra H [Barreto, 2017).
Figura 2. Ponte H [Fonte: O próprio autor]
Os elementos de comutação Q1 a Q4 são geralmente transistores bipolares ou
FET, sendo em algumas situações de alta potência. Os diodos D1 a D4 são chamados de
diodos de captura e são geralmente do tipo Schottky.
Para inverter um motor de corrente contínua é necessário reverter a direção da
corrente do motor, e o componente responsável por este procedimento é a ponte H.
O modo de operação de uma ponte H é bastante simples, se Q1 e Q4 estiverem
saturados, o fio esquerdo do motor será ligado a fonte de alimentação e o fio direito será
conectado ao terra. Se Q2 e Q3 estiverem ligados, o reverso acontecerá, o motor fica
energizado e gira no sentido inverso.
2.2.1 Ponte H controlada por pulsos PWM
O PWM (do inglês, pulse width modulation) consiste em um método de saída digital
com uma tensão equivalente variável, tomando como média um sinal ao longo do tempo
ele tem um nível analógico variável, sendo assim em um curto espaço de tempo o sinal
é digital.
Conforme a Figura 3, o controle de uma ponte H se dá através de quatro sinais
para controlar os quatro transistores, e para controlalo com pulsos PWM você precisa
de dois sinais PWM e dois sinais digitais simples.
2.2.3 Arduíno Nano
O Arduíno é uma plataforma de código aberto usado para a construção de projetos
eletrônicos. O Arduíno consiste em uma placa de circuito programável física
(microcontrolador), mostrada na Figura 4, e uma IDE (Integrated Development
Environment) que é executado em um computador e permite carregar uma sequência de
instruções que são escritas na linguagem de programação C++ podendo ser carregado
em uma placa física [SPARKFUN, 2016]. A estrutura do Arduíno nano possui um
micro controlador ATMega328P, 2 kB de memória SRAM (do inglês, Static Random
Access Memory), 16 kB de memória Flash e um clock de 16 MHz. O Arduíno nano
pode ser alimentado através da conexão USB (Universal Serial Bus) mini, fonte de
alimentação externa ajustável que não ultrapasse os limites de 7V a 12V ou fonte de
alimentação externa regulada para 5V.
2.2.4 Servomotor
Os servos são motores que devem ser usados quando o movimento requerido requer um
alto grau de controle e precisão. Seu funcionamento consiste em um dispositivo
codificador, em forma de disco, que informa a posição atual e a velocidade na qual o
motor se encontra.
O Servomotor SG90, da Figura 5, e utilizado neste projeto, possui um grau de
liberdade de 180° e uma um torque de 1,8 Kgf/cm, podendo ser alimentado e operado
na faixa de 3 V até 7,2 V [FILIPEFLOP, 2013].
Figura 5. Servomotor SG90 [FILIPEFLOP, 2013]
3. Trabalhos Relacionados
Houdges (2012) descreve a abordagem para dimensionar o movimento humano e
capturar dados para descrever a capacidade de movimento do robô humanoide, sendo
que os limites de velocidade foram incorporados no movimento usando algoritmos de
escala, segundo ela a maior limitação dessa abordagem é que ampliar os graus de
liberdade torna o produto instável. Virgala (2013), aborda o estudo da cinemática do
braço humano, e uma das variáveis de impacto foi a transmissão dos dados para o
software Matlab através das matrizes de rotação onde a integridade de cada dado
influenciava no resultado final do projeto.
4. Desenvolvimento do protótipo
4.1 Seleção do Material
A seleção do material foi uma das partes importantes na construção de cada componente
do braço robótico humanoide. O objetivo foi coletar materiais de produtos não
utilizados, como motores e componentes de equipamentos eletrônicos descartados.
Uma das características importantes observadas foi a necessidade de utilizar
materiais que agregassem no peso final do produto. Logo o peso total do braço teria que
ser compatível com o peso do braço humano. A ideia foi utilizar impressões 3D para
fabricação das peças do braço utilizando uma resina chamada PLA. Uma característica
importante foi a utilização de materiais de baixo custo como madeira e tubos PVC.
Estes materiais foram utilizados para dar uma melhor sustentação ao ombro e auxiliar,
reduzindo o peso final do produto. A utilização de motores DC, de vidro elétrico de
carro, foi necessário para conseguir torque suficiente para levantar o braço e o ante
braço. O comportamento do motor DC foi adaptado para funcionar como um
servomotor controlado.
4.2 Modelagem 3D
4.2.1 Braço Robótico Humanoide
A estrutura de cada componente do protótipo foi desenvolvida com o auxílio do
software SOLIDWORKS, capaz de dimensionar cada componente separadamente em 2
e 3 dimensões. O software também proporciona a montagem de todos os componentes
em um único produto final. A modelagem final do braço robótico humanoide é
demonstrada na Figura 6.
A estrutura do antebraço é composta por seis servomotores ligados a cabos que
simulam os tendões humanos e são acionados por pulsos PWM que são enviados
através do Arduíno nano, sendo responsáveis por dar movimento à mão robótica. A
estrutura da articulação do cotovelo e do ombro é composta por motores DC, com
comportamento adaptado para funcionar como um motor servocontrolado> O motor DC
é responsável por dar movimentos de 0 a 90° na direção frontal. Seu acionamento
ocorre na medida em que recebe sinais de comando da placa controladora composta por
um Arduíno nano.
4.3 Esquemático do protótipo
4.3.1 Hardware
O diagrama elétrico da Figura 7 representa o módulo de funcionamento e de
controle dos graus de liberdade do braço robótico. Este esquema recebe os sinais
oriundos do Arduíno e os envia até a placa controladora composta por duas
pontes H, regulador e dobradores de tensão. A ponte H se encarrega de realizar o
controle de rotação do motor DC.
O circuito, da Figura 7, é constituído por duas pontes H que realizam o
controle de rotação dos motores DC da estrutura correspondente às juntas do
cotovelo e do ombro do braço robótico. Os transistores FET que compõem a
ponte H necessitam de uma alimentação de 24V no dreno, de forma que supere a
alimentação recebida no gate, sendo necessário implementar um circuito
dobrador de tensão para que os transistores saturem e funcionem no modo
normal.
O layout do circuito foi elaborado com o auxílio do software Proteus
Professional 8, permitindo a confecção do circuito impresso e a visualização em
3D da placa, como mostrado na Figura 8.
Figura 8. Placa de circuito impresso do Braço robótica [Fonte: O
próprio autor]
5. Software de Controle
O software desenvolvido para o Arduíno Nano é responsável pelo comportamento e
funcionamento dos motores servocontrolado do motor DC.
1 #include <ControleMotorDC.h>
2 ControleMotorDC ombro(8, 9, 10, A0, 0, 270);
3 void setup() {
4 Serial.begin(115200);
5 }
6 void loop() {
7 ombro.atualizarLeitura();
8 if(Serial.available()){
9 int angulo = Serial.readString().toInt();
10 ombro.moverMotor(angulo);
11 }
12 }
Figura 9. Trecho de código do controle do Motor DC [Fonte: O próprio
autor]
6.1 Ambiente de Teste
Este protótipo foi testado em ambiente laboratorial, obtendo os resultados desejados
dentro do esperado. Foi utilizado a fonte de alimentação externa 1672 Precision, que
fornece duas saídas variáveis e uma saída fixa com tensão variável de 0 a 12V e uma
corrente de 0 a 3A. Estes valores foram suficientes para suprir a necessidade de
consumo do protótipo.
6.2 Testes e Resultados
O protótipo do braço robótico foi testado em dois cenários diferentes. O primeiro
cenário de teste realizado foi para movimentar os motores do cotovelo e do ombro,
sendo que o objetivo foi determinar a quantidade força que cada motor exercia em seu
eixo. Na Figura 10 (a), é mostrado o comportamento da rotação do antebraço em
ângulo de 90°. A Figura 10 (b), demonstra o comportamento do antebraço segurando o
objeto em um ângulo de 0°. A Figura 10 (c), demonstra o comportamento do antebraço
segurando um objeto em um ângulo de 75°.
(a) (b)
(c)
Os testes detectaram que o torque do motor DC é insuficiente para uma
abertura superior ao ângulo de 27° no dispositivo, uma solução viável foi a implantação
de engrenagens multiplicadoras de torque na região.
Tabela 1. Tabela de Forças, Tensões e Correntes Aplicadas [Fonte: O
próprio autor]
Motor Motor
do do Tensão Corrente
Ombro Cotovelo
Situação 1 1,09 Kgf 1,8 Kgf 3 V 0 A
Situação 2 1,09 Kgf 1,8 Kgf 3 V 3 A
Como mostrado na Tabela 1, na primeira situação o braço robótico está
alimentado, mas permanece em repouso e não há consumo de corrente na fonte de
alimentação. Na segunda situação (Figura 9.a) houve um deslocamento de 27° na região
do ombro ocasionando um consumo máximo de corrente. As Figuras 9.b e 9.c mostram
o protótipo foi submetido à força de agarrar e segurar um objeto entre às mãos, até
receber o comando para soltar o objeto.
Os resultados experimentais mostram que o braço robótico pode agarrar e
manter um objeto, desde que não ultrapasse o torque máximo do motor, que é de 93Kgf.
7. Conclusões e Trabalhos Futuros
Neste artigo foi apresentado a implementação e o desempenho de um braço robótico
humanoide com funcionamento baseado em servos motores e motor DC controlado por
Arduíno. Para trabalho futuro, este braço robótico será acoplado ao humanoide
completo que já está em desenvolvimento.
8. Bibliografia
BERNS, K. et al. Design and Control Architecture of an Anthropomorphic Robot Arm.
The 3rd International Conference on Advanced Mechatronics, v. 35, p. 945–962,
1998.
BARRETO, D. C. M.; JANUÁRIO, F.; FAÇANHA, E. Protótipo de uma Mão Robótica
Controlada Remotamente por Luva Sensorial.
SILVEIRA, Cristiano Bertulucci. Servo Motor: Veja como funciona e quais os tipos.
Citisystems, 2016. Disponível em: <https://goo.gl/mrO74U>. Acesso em: 29 Setembro
2017.
SPARKFUN. Flex Sensor 4.5'' SEN08606 SparkFun Electronics. Sparkfun, 2015.
Disponível em: <https://goo.gl/Zv7em2>. Acesso em: 29 Setembro 2017.
FILIPEFLOP. Micro servo motor 9G SG90 com arduino uno. Filipeflop, 2013.
Disponível em: <https://goo.gl/jOEhh1>. Acesso em: 7 Outubro 2017.