Automação de Sistemas e Robótica Prólogo Automação de Sistemas e Robótica é um livro orientado a introduzir o leitor numa área da tecnologia de crescente importância e aplicação na indústria moderna. Efetivamente, hoje em dia é impensável uma indústria de manufatura que não esteja total ou parcialmente automatizada, mesmo que o nível de automação seja apenas o controle do ponto eletrônico dos funcionários. É possível observar uma aplicação da automação industrial em empresas que fabricam produtos totalmente diversos, de montadoras de carros e outros tipos de indústrias metalúrgicas até fábricas de brinquedos, de papel, de bebidas, de embalagens, produtoras de alimentos, e inclusive em empresas de serviços como bancos, por exemplo. Na Engenharia moderna, a área de Robótica, intimamente relacionada com a de Automação e Controle de Sistemas, é uma área que cada vez mais vai aumentando seu campo de estudo e aplicação. Tal foi o crescimento nas últimas décadas da automação nas indústrias, e das pesquisas nessa área, que hoje não é exagerado afirmar, por exemplo, que a Engenharia eletrônica se divide em três grandes áreas: em eletrônica analógica, que inclui processamento de sinais, tecnologia das telecomunicações, eletrônica de potência, etc., em eletrônica digital, que inclui microeletrônica, microprocessadores, computadores, etc., e em Controle de sistemas, que inclui Automação e Robótica. O estudo da Robótica compreende outras áreas relacionadas, como física mecânica, cálculo numérico e álgebra linear, eletrônica digital e analógica, e também informática, esta última necessária para a elaboração dos programas de controle dos robôs. O profissional da Robótica, portanto, deve estar familiarizado com diversas áreas da Engenharia moderna. A teoria da Robótica vai se aprofundando a cada dia, conforme novos algoritmos de controle estão sendo implementados e novos sistemas vão surgindo com a conseqüente necessidade de terem um comportamento controlado. Dentro dessa profusa teoria, este livro visa tratar principalmente da Robótica aplicada à indústria, estudar a estrutura dos sistemas automatizados, seu comportamento, suas componentes básicas, elementos e dispositivos utilizados, e programas simples de controle de sistemas. Entretanto, deixamos de lado, por fugir do escopo pretendido, toda a teoria matemática que compreende cálculo diferencial, álgebra linear, e teoria de controle. Esta matemática é utilizada na Engenharia de Controle, tanto para a modelagem dos sistemas como para a elaboração dos algoritmos de controle, e diversos livros e cursos de Engenharia tratam dela; mas consideramos que não tem maior aplicação num nível técnico, isto é, quando o intuito é o de atingir os conhecimentos necessários para utilizar e até projetar robôs de aplicação industrial, e para a compreensão do funcionamento e comportamento deles. Este livro, portanto, está orientado a técnicos e profissionais industriais, que trabalham com algum grau de automação nas suas empresas, assim como também a estudantes de cursos técnicos e de Engenharia, tanto das áreas elétrica, mecânica, química, entre outras. A estrutura do livro é a seguinte:
No capítulo 1 apresenta-se uma introdução à Robótica, sua definição, campo de aplicação, além de diversos conceitos sobre automação industrial, e são classificados os diferentes tipos de robôs. É realizado um breve histórico da Robótica e também é colocada uma visão pessoal do autor sobre as conseqüências sociais da automação industrial. No capítulo 2 é realizada uma introdução ao estudo de sistemas. São definidas as grandezas físicas básicas que caracterizam o comportamento de um sistema e são classificados os diferentes tipos de sistemas, com ênfase nos sistemas lineares e invariantes no tempo. É feita uma breve introdução à teoria de controle e são focalizados os diferentes dispositivos utilizados em qualquer sistema físico controlado. Finalmente são apresentados alguns algoritmos de controle básicos. O capítulo 3 apresenta uma ampla revisão das interfaces de comunicação entre controladores digitais e sistemas físicos a serem controlados. São incluídos nessa revisão interfaces para transdutores, drivers e acionadores de dispositivos atuadores, diversos tipos de placas de interface de computador e conversores analógico-digital e digital-analógico. No capítulo 4 são estudados os diferentes tipos de sensores mais utilizados nos robôs e na automação industrial em geral, assim como suas características funcionais principais. Sensores de temperatura, de presença, de posição, força ou aceleração, entre outros, são abordados. O capítulo 5 trata dos diversos tipos de atuadores, utilizados para dar a energia necessária para o funcionamento do sistema físico. O ênfase é dado para os motores elétricos, abordando-se também os atuadores hidráulicos e pneumáticos. O capítulo 6 trata dos diversos sistemas mecânicos que servem para transmitir ou transformar um movimento ou energia mecânica desde um atuador até seu ponto de aplicação. Esses dispositivos são utilizados em qualquer sistema físico que possua algum tipo de movimento. Também é explicado como projetar um sistema de transmissão de potência mecânica, através de sistemas de polias, engrenagens, eixos roscados, parafusos de acionamento, entre outros dispositivos. Finalmente, uma aplicação prática num robô industrial é apresentada a modo de exemplo. No capítulo 7 é estudado amplamente o tema dos robôs manipuladores, por serem os tipos de robôs industriais mais utilizados. São definidas suas características fundamentais e é feita uma classificação segundo as coordenadas de movimento deles. Seguidamente, são estudados os diferentes dispositivos atuadores e sensores que utilizam e é apresentada uma breve introdução ao tipo de controle de manipuladores. Um breve estudo da cinemática e dinâmica desses robôs é apresentada, e finalmente são mencionados os diversos dispositivos efetuadores que utilizam os robôs industriais. No capítulo 8 são estudados os sistemas de visão, cada vez mais utilizados como sensores em diversos campos de aplicação. É definida a imagem digital e suas características, e são estudados diversos métodos de pre-processamento e processamento das imagens digitais. Finalmente são apresentados dois apêndices. O primeiro é uma referência rápida à linguagem de programação Pascal, com os principais comandos e estruturas explicados e exemplificados. O segundo apêndice trata do projeto de software, ou método para idear um programa de computação. Estes apêndices foram adicionados por entendermos que é necessário um certo conhecimento de programação, devido à que a maioria dos controladores de sistemas utilizados são computadores pessoais.
Agradecimentos Quero agradecer especialmente ao Engenheiro Lisandro Lovisolo, por colaborar na elaboração e revisão deste livro e destacar sua autoria do texto que serviu como base para o Capítulo 3. Também agradeço a meu assistente no Laboratório de Robótica do Instituto de Tecnologia ORT, João Paulo Leônidas Dias da Silva, sem cuja boa vontade e disposição permanente para “quebrar galhos” o desafio tivesse sido bem mais difícil, À Magna Monteiro, pelo entusiasmo e capacidade com que fez os desenhos; a meu amigo Júlio, por permitir a utilização da foto da sua linda filhinha Nayla; aos meus professores e colegas da COPPE, à direção do Instituto de Tecnologia ORT por seu permanente apoio, e finalmente a todos os colegas e amigos que colaboraram e incentivaram este trabalho.
Engenheiro Fernando Pazos, M.Sc. Coordenador do Laboratório de Robótica Instituto de Tecnologia ORT
Sobre o autor Fernando Pazos é Engenheiro Eletrônico formado pela Universidade de Buenos Aires. Fez mestrado na COPPE, UFRJ, no programa de Engenharia Elétrica, área de Controle de Sistemas, Automação e Robótica. Trabalhou no laboratório de Tecnologia Integrada do Instituto ORT de Buenos Aires entre os anos 91 e 93. Desde então é o coordenador do Laboratório de Robótica do Instituto ORT do Rio de Janeiro. Desde Junho de 2000, é professor convidado do curso de pós-graduação em Engenharia Mecatrônica da UERJ.
Índice Capítulo 1: Robótica 1.1) Automação e robótica 1.2) Breve histórico da robótica 1.3) Definição e robô 1.4) Razões para a utilização de robôs 1.5) Conseqüências sociais do uso da robótica
Capítulo 2: Sistemas automáticos 2.1) Introdução 2.2) Classes de plantas 2.2.1) Sistemas lineares e não lineares 2.2.2) Sistemas SISO e MIMO 2.2.3) Sistemas estáveis e instáveis 2.2.4) Sistemas variantes e invariantes no tempo 2.3) Sistemas lineares e invariantes no tempo 2.3.1) Sistemas de ordem 0 2.3.2) Sistemas de ordem 1 2.3.3) Sistemas de ordem 2 2.4) Controle de sistemas 2.4.1) Especificações técnicas 2.4.2) Controladores 2.4.3) Sistemas em malha aberta 2.4.4) Sistemas em malha fechada 2.4.5) Equação geral dos sistemas realimentados negativamente 2.4.6) Controladores digitais 2.4.7) Sinais analógicos e sinais digitais 2.4.8) Sensores e atuadores 2.4.9) Interfaces 2.4.10) Estratégias de controle 2.4.10.1) Controle ON – OFF 2.4.10.2) Controle proporcional (tipo P) 2.4.10.3) Controle proporcional – integral - derivativo (controle PID)
Capítulo 3: Interfaces 3.1) Introdução 3.2) Um sistema genérico 3.3) Interfaceando com sensores 3.4) Circuitos condicionadores de sinal 3.4.1) Amplificadores condicionadores de sinal 3.4.2) O conceito de buffer 3.4.2.1) Tristate buffer 3.4.3) Ponte de Wheatstone 3.4.4) Amplificador diferencial e amplificador de instrumentação 3.5) Interfaceando com atuadores
3.5.1) o conceito de driver 3.5.1.1) Um driver simples transistorizado 3.5.1.2) Um driver para relay 3.5.2) Estágio de saída Totem – Pole 3.5.3) Amplificador de corrente 3.6) Interface paralela 3.6.1) PIO 3.6.1.1) Os chips PIA 6820 e PPI 8255 3.6.2) Os sinais TTL 3.6.3) Modelo da porta de entrada 3.6.4) Modelo da porta de saída 3.7) Interface serial 3.7.1) Características da comunicação serial 3.7.2) UART’s e USART’s 3.7.3) Interfaces seriais com padrões TTL 3.7.3.1) Registrador de deslocamento 3.8) Conversor Digital / Analógico 3.8.1) Um conversor D/A simples 3.8.2) A precisão e o erro de conversão. Gráfico em degraus. 3.8.3) Características dos conversores D/A 3.8.4) Tecnologia de conversores D/A 3.9) Conversor Analógico / Digital 3.9.1) O teorema de Nyquist 3.9.2) Características dos conversores A/D 3.9.3) Tecnologia de conversores A/D
Capítulo 4: Sensores 4.1) Transdutores e sensores 4.2) Sensores analógicos e sensores digitais 4.3) Características dos sensores 4.3.1) Faixa 4.3.2) Resolução 4.3.3) Sensibilidade 4.3.4) Linearidade 4.3.5) Histerese 4.3.6) Exatidão ou erro 4.3.7) Relação sinal / ruído 4.3.8) Resposta em freqüência 4.4) Sensores de temperatura 4.4.1) Par bimetálico 4.4.2) Sensores de resistência elétrica 4.4.3) Termistores 4.4.4) Junção semicondutora 4.4.5) Termocuplas ou termopares 4.5) Sensores de presença 4.5.1) µ Switches 4.5.2) Reed switches 4.5.3) Sensores óticos
4.5.3.1) Sensores de barreira 4.5.3.2) Sensores de reflexão 4.5.3.3) Sensores de reflexão difusa 4.5.4) Sensores indutivos 4.5.5) Sensores capacitivos 4.6) Sensores de posição 4.6.1) Sensores potenciométricos 4.6.2) Transformador linear diferencial variável (LVDT) 4.6.3) Sensores capacitivos 4.6.4) Encoders 4.6.5) Sensores de ultra som 4.6.6) Sincros e resolvers 4.7) Sensores de força 4.8) Sensores de velocidade 4.9) Sensores de luz 4.10) Sensores de pressão 4.11) Sensores de som 4.12) Acelerômetros 4.13) Sensores de gases 4.14) Outros tipos de sensores
Capítulo 5: Atuadores 5.1) Definição 5.2) Motores elétricos 5.2.1) Grandezas físicas envolvidas 5.2.2) Motores de corrente contínua. Princípio de funcionamento. 5.2.3) Diferentes tipos de motores de corrente contínua 5.2.3.1) Motores série 5.2.3.2) Motores paralelo 5.2.3.3) Motores compostos (compound) 5.2.3.4) Motores com ímã permanente 5.2.4) Modelo matemático do motor de corrente contínua 5.2.5) Motores de passo 5.2.6) Servo – motores 5.3) Atuadores hidráulicos 5.3.1) Princípio de funcionamento 5.3.2) Pistões hidráulicos 5.3.3) Motores hidráulicos 5.3.4) Vantagens e desvantagens dos dispositivos hidráulicos 5.4) Atuadores pneumáticos 5.5) Outros tipos de atuadores 5.5.1) Resistores 5.5.2) Eletroímãs 5.5.3) Lâmpadas e alarmes sonoros
Capítulo 6: Mecanismos de transmissão de potência mecânica 6.1) Introdução 6.2) Polias
6.3) Engrenagens 6.4) Sistema de engrenagens harmônicas 6.5) Correias dentadas e correntes 6.6) Guias dentadas 6.7) Parafusos de acionamento 6.8) Cames 6.9) Aplicação em robôs reais
Capítulo 7: Robôs manipuladores 7.1) Introdução 7.2) Características construtivas e funcionais 7.2.1) Estrutura dos robôs manipuladores 7.2.2) Coordenadas generalizadas 7.2.3) Graus de liberdade 7.2.4) Espaço de trabalho 7.2.5) Anatomia dos manipuladores 7.2.5.1) Coordenadas cartesianas 7.2.5.2) Coordenadas cilíndricas 7.2.5.3) Coordenadas esféricas 7.2.5.4) Coordenadas de revolução 7.2.6) Acionamento do manipulador 7.2.7) Controle de manipuladores 7.2.8) Precisão e repetibilidade 7.3) Cinemática 7.4) Dinâmica 7.5) Efetuadores 7.5.1) Garras 7.5.1.1) Dedos acionados mecanicamente 7.5.1.2) Garras a vácuo 7.5.1.3) Eletroímãs e garras magnéticas 7.5.1.4) Ganchos 7.5.1.5) Garras adesivas 7.5.2) Ferramentas
Capítulo 8: Sistemas de visão 8.1) Introdução 8.2) Aplicações 8.3) Imagem 8.3.1) Imagem analógica 8.3.1.1) Digitalização da imagem 8.3.2) Imagem digital 8.3.2.1) CCD 8.3.2.2) CID 8.4) Pre-processamento da imagem 8.4.1) Eliminação de ruído 8.4.2) Redução de dados da imagem 8.4.2.1) Redução dos níveis de cinza 8.4.2.2) Diferenciação
8.4.2.3) Enquadramento 8.4.2.4) Crescimento de região 8.4.3) Detecção de borda 8.5) Processamento da imagem 8.5.1) Determinação da posição e orientação do objeto 8.5.2) Reconhecimento 8.5.2.1) Casamento com modelo 8.5.2.2) Especificação de parâmetros 8.5.2.3) Outras técnicas de reconhecimento
Apêndice 1: Programação em Turbo Pascal A1.1) Introdução A1.1.1) Iniciação ao ambiente A1.1.2) Edição de textos A1.1.3) Compilação no Pascal A1.1.4) Execução de programas no Pascal A1.1.5) Salvar um arquivo A1.1.6) Abrir um arquivo A1.1.7) Menu de ajuda A1.2) Variáveis A1.2.1) Tipos de variáveis A1.3) Comandos de entrada e saída A1.3.1) WRITE (parâmetros) A1.3.2) WRITELN (parâmetros) A1.3.3) READLN (variável) A1.3.4) CLRSCR A1.3.5) GOTOXY (coluna , linha) A1.3.6) DELAY (tempo) A1.3.7) READKEY A1.3.8) KEYPRESSED A1.4) Estruturas de controle A1.4.1) Repeat sentenças until condição A1.4.2) If condição then sentença [else sentença] A1.4.3) For repetição do sentença A1.5) Procedimentos A1.6) Funções A1.7) Procedimentos e funções com parâmetros
Apêndice 2: Programação A2.1) Introdução A2.2) Fluxogramas A2.2.1) Desenhos dos fluxogramas A2.2.2) Exemplo de um fluxograma completo A2.3) Edição de um programa A2.4) Exemplos A2.4.1) Fluxograma do exemplo A2.4.2) Edição do programa do exemplo
Capítulo 1: Robótica. 1.1) Automação e robótica
Figura 1.1: Desenho de um robô PUMA 560 Automação de sistemas e robótica são duas áreas da ciência e da tecnologia intimamente relacionadas. Num contexto industrial pode se definir a automação como a tecnologia que se ocupa da utilização de sistemas mecânicos, eletro-eletrônicos e computacionais na operação e controle da produção. Diversos exemplos de automação de sistemas de produção podem ser observados nas linhas de produção industrial chamadas de “transfer”, nas máquinas de montagem mecanizadas, nos sistemas de controle de produção industrial realimentados, nas máquinas ferramentas dotadas de comandos numéricos e nos robôs de uso industrial. Portanto, a robótica é uma forma de automação de sistemas. É possível classificar as diferentes formas de automação industrial em três áreas não claramente delimitadas: a automação fixa, a automação programável, e a automação flexível. A automação fixa está baseada numa linha de produção especialmente projetada para a fabricação de um produto específico e determinado. Ela é utilizada quando o volume de produção deve ser muito elevado, e o equipamento é projetado adequadamente para produzir altas quantidades de um único produto ou uma única peça em forma rápida e eficiente, isto é, para ter uma alta taxa de produção. Um exemplo de automação fixa é encontrado nas indústrias de automóveis, nas quais são utilizadas
1
linhas transfer integradas, que consistem em estações de trabalho que realizam operações de usinagem em componentes de motores, da transmissão e nas diferentes peças que conformam a mecânica automotiva, para serem montadas posteriormente. O equipamento é, em geral, de um custo elevado, devido a sua alta eficiência e produtividade. Porém, devido à alta taxa de produção, o custo fixo é dividido numa grande quantidade de unidades fabricadas, sendo os custos unitários resultantes relativamente baixos comparados com outros métodos de produção. O risco que se enfrenta com a automação fixa é que, devido a que o investimento inicial é alto, se o volume de vendas (e portanto de produção) for menor que o previsto, então os custos unitários serão maiores que o previsto, e conseqüentemente a taxa interna de retorno do investimento será menor. Uma outra dificuldade existente ao adotar um sistema de automação fixa é que o equipamento é especialmente projetado para produzir um produto ou peça específica, e se o ciclo de vida do produto fabricado acabar, por mudanças de projeto ou modelo, por exemplo, o equipamento pode se tornar obsoleto. Portanto, a automação fixa não é adequada para produtos com ciclo de vida breve ou para produções de baixo ou meio volume. A automação programável está baseada num equipamento com capacidade para fabricar uma variedade de produtos com características diferentes, segundo um programa de instruções previamente introduzido nele. Esse tipo de automação é utilizado quando o volume de produção de cada produto é baixo, inclusive para produzir um produto unitário especialmente encomendado, por exemplo. O equipamento de produção é projetado para ser adaptável às diferentes características e configurações dos produtos fabricados; essa adaptabilidade é conseguida mediante a operação do equipamento sob controle de um programa de instruções preparado para o produto em questão. Esse programa freqüentemente pode ser introduzido no sistema através de um teclado numérico, por meio de um programa de computador, com cartões perfurados, entre outras possibilidades. Mas a operação do equipamento operatriz sempre dependerá das instruções indicadas por esse programa de controle. Em termos de economia, o custo do equipamento pode ser diluído num grande número de produtos, mesmo que eles possuam diferentes configurações ou, em alguns casos, sejam até completamente diferentes. Devido às características de programação e adaptabilidade, vários produtos diferentes podem ser fabricados em pequenos lotes ou inclusive em forma unitária. A terceira classe de automação industrial é a automação flexível, que pode ser entendida como uma solução de compromisso entre a automação fixa e a automação programável. A automação flexível também é conhecida como sistema de manufatura integrada por computador (CIM), e, em geral, parece ser mais indicada para um volume médio de produção. Os sistemas de produção baseados na automação flexível possuem algumas das características da automação fixa e outras da automação programável. O equipamento deve ser programado para produzir uma variedade de produtos com algumas características ou configurações diferentes, mas a variedade dessas características ou configurações é normalmente mais limitado que aquela permitida pela automação programável. Assim, por exemplo, um sistema de manufatura flexível pode ser projetado para produzir uma única peça, mas com diferentes dimensões, ou diferentes materiais, entre outras variações certamente limitadas. Os sistemas flexíveis automatizados consistem, em geral, em estações de trabalho autônomas com um alto grau de integração. Essas estações estão interligadas por um sistema de manuseio, transporte e armazenamento do material. Um computador central é utilizado para controlar e monitorar as diversas atividades que ocorrem no sistema, determinando a
2
rota das diversas partes para as estações apropriadas e controlando as operações previamente programadas nas diferentes estações. Uma das características que distinguem a automação programável da automação flexível, embora esta distinção nem sempre possa ser estabelecida com precisão nos casos práticos, é que nos sistemas que utilizam a primeira os produtos são fabricados em lotes. Quando a fabricação de um lote é completada o equipamento é re-programado para processar o próximo lote. Nos sistemas de produção baseados na automação flexível, diferentes produtos podem ser fabricados ao mesmo tempo no mesmo sistema de fabricação, é só programar o computador central para desviar as diferentes peças e materiais para as estações de trabalho adequadas. Essa característica permite um nível de versatilidade que nem sempre é possível encontrar na automação programável tal como foi definida aqui. A potência computacional do controlador é o que torna essa versatilidade possível. Dentre os três tipos de automação industrial definidos, a robótica coincide mais estritamente com a automação programável, utilizando-se nesta equipamentos, ou robôs, que precisam ser programados para ter seu acionar determinado segundo as características do produto a ser fabricado. Posteriormente, quando for definido o conceito de robô, ficará explicitada a razão.
1.2) Breve histórico da robótica A humanidade sempre mostrou certo fascínio, desde tempos pré-históricos, por seres extraordinários, homens mecânicos, e outras criaturas que, em geral, nunca passaram de fantasias. Antigos sacerdotes egípcios construíram os primeiros braços mecânicos, os quais eram colocados em estátuas de deuses que pretendiam estar atuando sob a direta inspiração do deus representado por ela, sem dúvida para impressionar o povo com o poder desse deus. O interesse em homens mecânicos, robôs, e outras criaturas continua até nossos dias. Na civilização grega, vários séculos depois, existiam estátuas operadas hidraulicamente. Heron de Alexandria construiu mecanismos simples para ilustrar a utilização dessa nova ciência que era a hidráulica. Esses mecanismos não tinham a intenção de duplicar um ser humano, apenas como exercícios didáticos e entretenimento. Na época medieval, relógios montados no topo das igrejas e catedrais tinham uma figura humana de tamanho natural, geralmente a representação de um anjo ou um demônio, que se movimentava para, com um martelo, bater num sino, marcando dessa maneira as horas. Essas figuras, que no início eram simples e com um único movimento de rotação, foram se sofisticando e adquirindo cada vez maior complexidade. Em 1770 foi inventado o primeiro órgão mecânico. Um dispositivo de cames e polias controladas por um mecanismo de relógio movimentava peças, cordas, martelos e sinos. Também operava válvulas e pistões para gerar sons de ventos. Em 1738, Jacques de Vaucanson fabricou um “tocador de flauta” automatizado. Um cilindro com relevo (uma verdadeira memória de CDROM), ao girar movimentava uma série de cames que controlavam pistões de diferentes comprimentos, gerando assim os diferentes tons de uma flauta. Em 1805 Henri Maillardet construiu, em Londres, uma boneca capaz de escrever e desenhar com admirável precisão. Levava uns cinco minutos para executar uma tarefa, e possuía vários itens no seu repertório (armazenados numa memória mecânica) que
3
podiam ser selecionados. Atualmente, essa relíquia é exibida no Franklin Institute de Pensilvánia, Estados Unidos. Estas criações mecânicas de forma humana devem ser observadas como invenções isoladas que refletem o gênio de homens que estavam bem na frente do seu tempo. Houve outras invenções mecânicas durante a revolução industrial, criadas por mentes de igual genialidade, muitas das quais foram direcionadas para o negócio da produção têxtil. Elas incluem a fiandeira de fusos múltiplos de Hargreaves (1770), a máquina de fiar de Cromptom (1779), o tear mecânico de Cartwright (1785), o tear de Jacquard (1801) e outras. Mais recentemente, foram desenvolvidas duas tecnologias que podem se denominar como o antecedente imediato da robótica: o comando numérico e o telecomando. O comando numérico é uma tecnologia desenvolvida no final da década de 40 e início de 50, baseando-se no trabalho original de John Parsons. Ela é utilizada para controlar as ações de uma máquina operatriz, a qual é programada por meio de números, os quais podem ser introduzidos através de um teclado ou pela leitura de um cartão perfurado. Esses números podem especificar, por exemplo, as diferentes posições das ferramentas da máquina para efetuar uma usinagem adequada numa peça. O telecomando trata do uso de um manipulador remoto controlado por um ser humano. O manipulador é um dispositivo, em geral eletro-mecânico, que pode ser uma garra, um braço mecânico ou ainda um carro explorador, que reproduz os movimentos indicados por um operador humano localizado num local remoto. Esses movimentos podem ser indicados pelo operador através de um joystick ou algum outro tipo de dispositivo adequado. O telecomando é especialmente útil no manuseio de substâncias perigosas, tais como materiais radiativos, a altas temperaturas, tóxicos ou explosivos. O operador pode ficar num lugar situado a uma distância segura e manipular o material observando e guiando os movimentos do manipulador através de uma janela ou de um circuito fechado de televisão. Os primeiros dispositivos de telecomando eram inteiramente eletro-mecânicos, mas sistemas mais modernos hoje em dia utilizam sistemas mecânicos com realimentação eletrônica e controle digital. Os primeiros trabalhos sobre projetos de teleoperadores para o manuseio de material radiativo remontam à década de 40. Dispositivos de telecomando foram utilizados pela Comissão Nacional de Energia Atômica mais ou menos a partir dessa época. Uma aplicação recente do telecomando são as operações cirúrgicas que devem ser realizadas em órgãos pequenos, por exemplo a córnea ou o ouvido. O cirurgião pode observar e guiar os movimentos de uma ferramenta movimentada por um robô manipulador através de um monitor que reproduz na sua tela a imagem captada por um microscópio eletrônico, permitindo assim uma maior precisão de movimentos. Uma combinação de telecomando e comando numérico formam a base do robô moderno. Deve-se a dois cientistas a confluência dessas duas tecnologias e as vantagens conseguidas nas aplicações industriais práticas. O primeiro foi o inventor britânico Cyril Walter Kenward, que foi o primeiro a patentear um dispositivo robótico em março de 1954. O segundo cientista é o inventor norte-americano George C. Devol, a quem devem ser creditadas duas invenções que tiveram por conseqüência o desenvolvimento dos robôs tal como os entendemos hoje em dia; a primeiro invenção de Devol consiste num dispositivo utilizado para registrar sinais elétricos magneticamente e reproduzi-los para controlar uma máquina, tal dispositivo data de 1946; a segunda invenção denomina-se “transferência programada de artigos” e data de 1961.
4
Mas o conceito do moderno robô industrial foi criado por Joseph Engelberger. Em 1962, junto com Devol, desenvolveu o primeiro protótipo de robô, chamado de Unimate, a ser utilizado em aplicações industriais diversas concretas. A primeira instalação registrada do robô Unimate aconteceu na Ford Motor Company para descarregamento de uma máquina de fundição sob pressão. A mesma empresa que criou o Unimate desenvolveu, em 1974, um outro robô chamado PUMA. Este rapidamente se tornou de uso industrial popular e é altamente utilizado até nossos dias. O PUMA é um robô relativamente pequeno, com um braço articulado, cujo projeto estava baseado em estudos de automação de montagem realizados na General Motors. Justamente, PUMA são as iniciais de Programmable Universal Machine for Assembly (isto é, máquina universal programável para montagem). Posteriormente, a maioria dos desenvolvimentos em robótica basearam-se no desenvolvimento da tecnologia de computadores e microprocessadores em geral. Embora os computadores estivessem disponíveis comercialmente desde o início da robótica, não foi até meados da década de 70 que, com seu aumento de velocidade e capacidade, se tornaram adequados como controladores de operações de robôs. Hoje em dia, praticamente todos os robôs industriais utilizam como controlador um computador pessoal ou algum outro tipo de controlador digital programável, como pode ser um CLP (controlador lógico programável). Eis a razão pela qual freqüentemente o campo da robótica é considerado como uma combinação de diversas ciências, entre elas eletromecânica e informática. Embora, como foi observado, máquinas automáticas, freqüentemente com formas humanas e em muitos casos com objetivos de entretenimento, foram ideadas desde tempos remotos, o termo robô e sua conceição tal como se entende hoje em dia é mais recente. O criador dessa palavra foi o escritor tcheco Karel Capek. Nessa língua, a palavra robota significa trabalhador que exerce um serviço em forma compulsória. Quando traduzida para o inglês, o termo virou robot. Em 1921, Capek escreveu uma peça de teatro chamada R.U.R., iniciais de “Rossum’s Universal Robots”. A peça conta a história de um cientista brilhante, chamado Rossum, que desenvolve uma substância química similar ao protoplasma. Ele utiliza essa substância para a construção de humanoides, com o intuito de que eles sejam obedientes e realizem todo o trabalho físico. Rossum continuou a fazer aperfeiçoamentos no projeto do robô, eliminando órgãos desnecessários, melhorando diversas partes, até que finalmente chega a um ser que ele considerou “perfeito”. O plano toma um rumo amargo quando os robôs “perfeitos” começam a não gostar do seu papel subserviente e rebelam-se contra os seus senhores, destruindo toda vida humana. Issac Asimov, um dos melhores escritores de ciência ficção, é considerado como o primeiro em ter usado a palavra robótica para descrever a ciência que trata com robôs. Suas histórias com respeito a robôs tratam em muitos casos de situações praticamente impossíveis de acontecerem, tais como greves, revoltas, sublevações, entre outras, mas de um ponto de vista apenas teórico, quem conhece as fronteiras desta ciência nova e que ainda tem muito para se desenvolver? Eis a razão pela qual ele estabeleceu as “três leis fundamentais da robótica”, que são: 1) Um robô não deve prejudicar nunca um ser humano nem através da ação direta, nem através da inação.
5
2) Um robô deve sempre obedecer os seres humanos, a menos que isso entre em conflito com a primeira lei. 3) Um robô deve sempre se proteger de danos a menos que isso entre em conflito com a primeira ou a segunda lei. Existem muitas outras histórias na ficção científica sobre os robôs, algumas levadas ao cinema, tais como “O dia em que a Terra parou”, de 1951, “2001: Uma odisséia no espaço”, o genial filme de Stanley Kubrick de 1968, e também a famosa saga “Guerra nas estrelas”, três filmes estreados em 1977, 1980 e 1983, que popularizaram os robôs R2D2 e C3P0.
1.3) Definição de robô Mencionou-se até aqui diversas vezes a palavra robótica, foi detalhado como nasceu essa ciência, os interesses que a originaram e como povoou o imaginário popular. Explicou-se um breve conceito de automação industrial e uma classificação dela. Mas, afinal, o que se entende exatamente por robô? Existem muitas definições diferentes, dependendo do ponto de vista e, em geral, da área na qual se trabalhe com os robôs. Por exemplo, de um ponto de vista industrial com certeza a definição difere daquela dada de um ponto de vista científico, a qual deve ser diferente também da adotada pelo foco dado pela teoria de controle. Uma definição supostamente “oficial” do termo robô foi estabelecida pela Associação das Indústrias da Robótica (RIA): Um robô industrial é um manipulador reprogramável, multifuncional, projetado para mover materiais, peças, ferramentas ou dispositivos especiais em movimentos variáveis programados para a realização de uma variedade de tarefas. Será analisado posteriormente que, do ponto de vista de uma conceição ampla do termo robô, essa definição corresponderia apenas a uma classe específica de robôs, precisamente os robôs manipuladores. Mas no presente texto será ampliada essa definição. Primeiramente, para entender a definição de robô deve-se começar por definir alguns conceitos básicos, começando pelo conceito de máquina. O que se entende exatamente quando se fala em máquina? Muitas definições podem ser dadas aqui também, de uma definição de dicionário até uma mais especificamente científica. Será focalizado esse conceito do ponto de vista da utilidade, e para isso será definida máquina como qualquer dispositivo capaz de transformar energia em trabalho útil. Que energia? Qualquer uma, sem distinção da fonte; pode ser energia elétrica, térmica, nuclear, solar, química, magnética e até energia proveniente da força humana. Todas elas podem ser quantificadas e expressadas numa unidade física chamada Joule. O que se entende por trabalho útil? O conceito de trabalho do ponto de vista físico, isto é, a aplicação dessa energia, por exemplo, numa força que se desloca uma determinada distância. Esse trabalho também pode ser quantificado e expressado em unidades de N.m. (Newton – metro).
6
Figura 1.2: Transformação de energia em trabalho útil
Observe-se que atendendo essa definição, muitas coisas podem se entender por máquina, de objetos simples de uso quotidiano, até complexos dispositivos eletrônicos e/ou mecânicos. Por exemplo, uma alavanca, um plano inclinado, uma polia, uma engrenagem, um alicate, são máquinas simples. Um motor, um computador, uma lavadora de roupas, são máquinas mais complexas. É possível também estabelecer diferentes classificações das máquinas focalizando diversos pontos de vista, por exemplo discriminando-as segundo o tipo de energia empregada para gerar esse trabalho, o que as dividiria em máquinas elétricas, térmicas, manuais, etc. A classificação que será utilizada aqui está baseada na origem da fonte de energia, isto é, se a fonte de energia for proveniente da força humana ou externa à ação do operador. Assim, serão divididas as máquinas em automáticas e não automáticas ou manuais. Por máquina automática entende-se toda aquela cuja energia provem de uma fonte externa, por exemplo energia elétrica, térmica, etc., e são os casos das máquinas elétricas, de combustão, a vapor, entre outras fontes possíveis. Por máquina não automática ou manual entende-se toda aquela que precisa da energia permanente do operador para efetuar o trabalho. Observe-se que foi especificado energia permanente e não controle permanente do operador. Por exemplo, uma furadeira é manual se o operador precisa estar virando o tempo todo uma manivela para fazer a broca girar, mas é automática se ela é ligada na tomada e pressionando um botão a broca começa a girar com um determinado torque adequado, mesmo que o operador precise de apertar o botão permanentemente para a broca continuar girando. Dentre as máquinas automáticas também é possível fazer diversas classificações, segundo tipo de energia, características construtivas, ou peso e tamanho também. Mas visando os objetivos deste texto será estabelecida a seguinte classificação: serão divididas as máquinas automáticas em programáveis e não programáveis. Por máquina automática não programável entende-se toda aquela que, ao receber a energia da fonte, efetua sempre o mesmo trabalho. É exemplo disso a furadeira automática mencionada anteriormente, que só faz girar a broca. Por máquina automática programável entendese toda aquela cujo trabalho depende em certa medida de instruções previamente dadas pelo operador, seja qual for o meio pelo qual foram introduzidas essas instruções na máquina e o formato delas. Essas instruções serão chamadas genericamente com o nome de programa. Imagine-se uma máquina que possui uma série de chaves ou switches, e que ao receber energia, o trabalho que efetua depende da posição desses switches. Estamos na presença de uma máquina automática programável. É claro que uma máquina
7
controlada por um computador ou algum outro tipo de processador eletrônico digital, cuja tarefa também vai depender do programa que execute o processador, também é uma máquina automática programável. Mas uma máquina automática com um controle de tempo, efetuado através de um temporizador que o usuário pode ajustar e assim determinar o período de funcionamento, não é uma máquina automática programável, devido a que o ajuste de tempo não pode ser considerado um programa. A tarefa é sempre a mesma, apenas muda a duração dela. São exemplos dessas máquinas automáticas não programáveis a lavadora de roupas, a televisão, etc. Também não podem ser consideradas máquinas automáticas programáveis aquelas que possuem um controle de intensidade, que o usuário pode regular. Aqui também a tarefa é sempre a mesma, não depende de programa nenhum, apenas muda a intensidade dela. Exemplos disso são os condicionadores de ar, que possuem um termostato, as lâmpadas com reguladores de intensidade de luz, etc. Neste ponto já existem condições de definir o termo robô, pelo menos do ponto de vista do interesse do presente texto. Será definido robô justamente como máquina automática programável. Muitos dos exemplos mencionados na seção anterior poderiam se corresponder com esta definição. Por exemplo o tocador de flauta, que ao girar um cilindro com relevo fazia mover um conjunto de cames, que por sua vez movimentavam pistões de diferentes comprimentos para gerar os diferentes tons de uma flauta, poderia ser considerado robô se a fonte de energia que fazia o cilindro girar fosse automática (por exemplo através de um motor elétrico). O programa está justamente nos relevos do cilindro, e embora um cilindro não possa ser modificado (como é o caso das memórias ROM), é possível mudar o cilindro por outro contendo um outro programa, de maneira tal que podem ser programadas as músicas tocadas pelo instrumento. Também podem se classificar de diversas maneiras os diferentes tipos de robôs, o que será feito do ponto de vista das suas diferentes utilidades. A primeira classe a considerar é a dos robôs manipuladores, já definidos anteriormente. São exemplos de robôs manipuladores os braços mecânicos, ou qualquer sistema que, em geral, tenha por objetivo deslocar material de um ponto a outro do espaço ou acompanhando uma trajetória dentro de um volume de trabalho. Serão distinguidos também os robôs exploradores, ou robôs que têm como objetivo explorar um determinado ambiente, o qual pode não ser necessariamente uma superfície plana, mas também pode ser um determinado espaço ou inclusive um objeto fixo, e relevar através de sensores características físicas dele. Um claro exemplo dessa classe é o robô enviado a Marte para monitoramento da superfície do planeta. A terceira classe a considerar aqui será a das máquinas ferramenta, ou robôs que têm por objetivo processar uma determinada matéria prima, aumentando o valor agregado. São exemplos disso os robôs de solda, nos quais devem ser programados os movimentos da ponta de solda para acompanhar os contornos das peças a soldar, as furadeiras de controle numérico, onde no programa figuram as coordenadas e diâmetros dos furos a serem realizados, os tornos de controle numérico, entre muitas outras máquinas de uso comum na indústria metalúrgica. Finalmente, serão considerados os outros tipos de robôs que não entram nas definições anteriores como de uso geral. Um exemplo disso é um controlador de temperatura programável, que tem por objetivo manter a temperatura de um ambiente ou sistema num determinado nível ou percorrendo uma determinada excursão térmica,
8
segundo um programa previamente indicado ao controlador. Observe-se que, segundo a definição especificada aqui, este controlador de temperatura é considerado um robô, mesmo que não possa efetuar movimento algum.
Figura 1.3: Classificação de máquinas
1.4) Razões para a utilização de robôs Existem muitas razões óbvias para a utilização de robôs na produção industrial ou em outras aplicações. Algumas dessas razões serão analisadas na presente seção. - Custo: O custo de um robô amortizado ao longo da vida útil é freqüentemente bem menor que o custo de trabalho de um operário, incluindo cargas sociais e diversos benefícios que aumentam o valor da “hora – homem” de trabalho. Os robôs podem trabalhar ao redor de 98% do tempo da tarefa requerida, por enquanto os operários precisam de tempo de almoço, descansos, férias, etc., o que reduz consideravelmente o tempo que efetivamente está trabalhando com respeito àquele pelo qual é pago. Os robôs produzem com muita maior eficiência que os humanos, devido a que a repetição sem fim de uma tarefa, por monótona que ela seja, não implica nele uma perda de precisão. Nos humanos logicamente produz cansaço e falta de atenção que resultam em falhas inevitáveis, o qual, claro, incrementa os custos de produção. - Melhora da produtividade: Em algumas aplicações os robôs podem trabalhar muito mais rápido que os humanos, por exemplo em robôs de solda ou de pintura, além de utilizar material nas quantidades mínimas necessárias. Um operário sempre desperdiçará mais material e
9
demorará mais em executar uma certa tarefa, principalmente se esta requerer um pouco de precisão. O aproveitamento do material e do espaço físico é melhorado, com o qual o capital inicial necessário torna-se menor. - Melhora da qualidade do produto: A qualidade melhora por várias questões; por exemplo, um robô de soldagem pode posicionar com muita mais precisão a ferramenta de solda do que um operário. Também em alguns casos a velocidade da solda redunda em qualidade dela, e um robô pode soldar bem mais rapidamente do que um ser humano. A precisão no posicionamento da ferramenta ou do produto, no caso de uma montagem, é fundamental na qualidade dele, e nisso os robôs possuem óbvias vantagens. - Capacidade de operar em ambientes hostis ou com materiais perigosos: Uma das primeiras aplicações dos robôs na indústria foi operando metais a alta temperatura; os operários deviam fazer isso com pesados instrumentos de difícil manuseio, um robô adequado pode fazer essa tarefa sem maiores inconvenientes. Muitas tintas utilizadas na indústria são tóxicas, o que faz com que se deva tomar cuidados extremos para seu manuseio por parte dos operários, o que além do risco que isso representa para a saúde dele, incrementa o custo de produção. Elementos químicos tóxicos, tais como chumbo, também são de manuseio inadequado para o homem. O mesmo acontece com materiais radiativos, explosivos ou combustíveis. Em ambientes perigosos ou hostis para o homem também são apreciadas as vantagens do uso de robôs. Por exemplo para trabalhar no vácuo (como é o caso do espaço exterior), chegar até lugares onde o homem não poderia chegar ou seria extremadamente dificultoso (outros planetas, por exemplo), ou para solda submarina ou em ambientes de elevada pressão ou temperatura, assim como barulhentos ou que representem algum tipo de perigo à integridade física do homem. - Melhora no gerenciamento da produção: Quando uma empresa de manufatura, totalmente operada por pessoas, deseja ter um efetivo monitoramento de todas as tarefas realizadas, material empregado, tempo de tarefa utilizado, tempo de produção total, quantidade de unidades produzidas, componentes em stock, etc., não tem mais remédio que mandar os operários escreverem isso tudo, o que é demorado (e portanto caro), corre-se o risco que se apresentem erros nos relatórios, e é necessário esperar para os trabalhadores fazerem essas tarefas, em alguns casos o fim do expediente. Quando a produção é totalmente realizada por robôs controlados por computadores, eventualmente ligados a um computador central que supervisa todas as tarefas, essas informações são relevadas em forma automática, rápida e eficiente, além de que podem ser avaliadas a qualquer momento. - Utilização na medicina: A aplicação da robótica e técnicas de controle na medicina está aumentando consideravelmente nos últimos anos. Micro-cirurgias são feitas através de robôs de alta precisão telecomandados pelo médico, que fica operando joysticks, e monitorando a operação através da tela de um computador que mostra a imagem de um microscópio eletrônico. Diversos tipos de robôs ou sistemas controlados são implementados em seres
10
humanos, como marca-passos, e até órgãos humanos. É um campo onde a robótica ainda tem muito para crescer. Existem outras vantagens menores do ponto de vista da produção industrial para a utilização de robôs, mas foram expostas as principais e mais significativas.
1.5) Conseqüências sociais do uso da robótica Em muitas aplicações nas indústrias, principalmente as metalúrgicas e de montagem de componentes ou partes em geral, a vantagem da automação é evidente. Como foi explicitado na seção anterior, a redução de custos, melhora na produtividade, melhora na quantidade de unidades produzidas e na qualidade do produto final, quando utilizados robôs no processo de fabricação, são indiscutíveis. Mas isso estabelece uma questão fundamental. O que fazer com a mão de obra? É evidente, pelo colocado até aqui, que a automação nas indústrias gera desemprego. Milhares de tarefas, principalmente nas linhas de produção, que antes eram executadas por operários de certa qualificação, agora são executadas por robôs. Alguma parte dessa mão de obra pode ser capacitada e re-aproveitada na própria indústria, pois é evidente que, mesmo que a tarefa seja automatizada, alguém tem que controlar a produção, programar os robôs, relevar os dados, etc., tarefas estas que devem ser feitas por humanos. Mas também é evidente que a mão de obra necessária para fazer essas tarefas todas é muito menor que a empregada antigamente, quando utilizados métodos de produção manuais. Hoje em dia vemos o desemprego nas grandes cidades crescer aceleradamente. Na maioria dos casos, questões econômicas como altas taxas de juros, diminuição de alíquotas de importação (que fazem inviável a competência com produtos subsidiados ou produzidos com benefícios fiscais e mão de obra barata em outros países), desaquecimento da economia e recessão, são os responsáveis por esse desemprego. E quase sempre a desculpa que os governos dão é que o uso da tecnologia está deixando de lado a mão de obra humana. Mas mesmo que isso não seja verdade na maioria dos casos, não pode se negar que a utilização da tecnologia, se utilizada massivamente, geraria um certo nível de desemprego. Será que a solução é ficar no passado, negar ou desconsiderar os avanços tecnológicos, rejeitar a possibilidade de melhorar a produção em qualidade e quantidade, em prol de uma distribuição maciça de empregos? Achamos que não é essa a solução. Desde o início dos tempos, o homem teve que trabalhar duro para ganhar seu sustento. Desde a expulsão de Adão e Eva do Jardim do Éden, carregando com eles a sentença Bíblica que obrigou o homem “ganhar o pão com o suor da frente”, que a humanidade procura se livrar dessa “maldição”, ou pelo menos, diminuir seus efeitos o máximo possível. Estamos, tal vez pela primeira vez na História da Humanidade, nas portas de atingir tal objetivo. Robôs poderiam fazer todo o trabalho pesado, plantar, colher, fabricar eletrodomésticos e aparelhos eletrônicos, fazer tarefas domésticas e até fabricar as máquinas que farão outros trabalhos, deixando para o homem apenas as tarefas de criação, organização e controle. O homem só deveria utilizar sua imaginação para idear em quê os robôs podem aumentar ainda mais o conforto das pessoas. Muito mais tempo livre, para dedicar ao lazer, à cultura, às artes, à educação e ao pensamento poderia beneficiar à sociedade.
11
Mas é claro que para que esse paraíso seja apenas imaginável, é necessário que as riquezas geradas pelo uso da tecnologia sejam justamente distribuídas. Que todas as pessoas tenham acesso a esses benefícios, e não apenas os donos das empresas que vêem reduzidos seus custos de produção e aumentado seus lucros, por enquanto o operário desempregado fica sem possibilidade de acesso a bem nenhum. Hoje, mais do que nunca, a questão da justa distribuição das riquezas exige um amplo debate por parte de toda a sociedade, e hoje mais do que nunca os governos têm o dever de dar a seus povos respostas.
Referências [1] Arthur Critchlow: Introduction to robotics. Macmillan publishing company. USA. 1985. [2] Shimon Y. Nof: Handbook of industrial robotics. John Wiley and sons. USA. 1985. [3] Mikell Groover, Mitchell Weiss, et.al.: Robótica. Tecnologia e programação. Mc Graw – Hill. São Paulo. 1989. [4] Roberto Ullrich: Robótica, uma introdução. Editora Campus. Rio de Janeiro. 1983. [5] Michael Salant: Introdução à Robótica. Mc Graw – Hill. São Paulo. 1991. [6] World ORT Union Professional Seminar: Robotics. ORT Israel – Technical pedagogical department. Jerusalem. 1982. [7] Viviane Forrester: O horror econômico. Editora UNESP. São Paulo. 1997. [8] Issac Asimov: O homem bicentenário. Editora L&M Pocket. 1996.
12
Capítulo 2: Sistemas automáticos 2.1) Introdução Em primeiro lugar, para poder entender o conceito dos termos robô, sistema automatizado, linhas de produção, inteligência artificial, e a razão pela qual esses conceitos estão sendo cada vez mais aplicados na indústria, colocando o engenheiro projetista na obrigação de acompanhar os avanços desta ciência e de estar imbuído deste novo mundo que vai ganhando continuamente mais espaço, deve-se começar com algumas definições básicas. Inicialmente será definido o conceito de sistema: entende-se por sistema todo conjunto de elementos interrelacionados, onde o comportamento de cada um deles afeta o comportamento dos outros elementos e do sistema como um todo. Observe-se que se fez referência a elementos e não a objetos ou peças. Efetivamente, um sistema não tem por que ser necessariamente físico, tangível, pode muito bem estar conformado por unidades de informação, leis abstratas, entre outros muitos “elementos” não físicos. Por exemplo, poderia-se falar em sistema biológico para se referir a um ser vivo, tanto animal como vegetal. Cada órgão neste sistema cumpre uma função; o acionar de outros órgãos e de outros componentes em geral estão determinados pelo comportamento de cada um deles. Assim, o funcionamento do sistema como um todo dependerá do funcionamento de cada elemento no sistema. É possível falar também em sistemas ecológicos ou ecossistemas. Cada espécie, animal ou vegetal, dentro de um determinado ambiente natural mais ou menos isolado do resto cumpre uma função dentro desse ambiente, se reproduz, depreda e é depredado a um ritmo adequado para manter estável o número de indivíduos de cada espécie dentro desse sistema. Tal relação conforma um equilíbrio altamente delicado. Qualquer alteração artificial que se produza dentro dele (por exemplo, um aumento no número de mortes de uma espécie), desequilibra o comportamento de todo o sistema e rapidamente se produz uma mudança no número de indivíduos de outras espécies, até chegar ao extremo da aniquilação de uma ou algumas delas. Poderia ser citado o exemplo de sistemas legais também. Cada lei é um elemento dentro de um código legal, e cada uma delas deve se relacionar com as outras enquanto a seus alcances e limitações. Por exemplo, dentro de uma mesma sociedade não é possível conceber a existência de duas leis em vigência ao mesmo tempo e contraditórias entre elas. Pode-se falar também em sistemas econômicos, entendendo aqui as leis que governam o comportamento da economia como elementos de um sistema econômico no qual se baseia uma determinada sociedade, tanto nos aspectos macroeconômicos quanto nos microeconômicos. Finalmente, cabe citar o caso dos sistemas físicos, entendendo por tal conceito um conjunto de objetos físicos ou inorgânicos que conformam um determinado aparelho, e cujo comportamento depende do comportamento de cada um dos objetos do sistema, como seria o caso de uma máquina qualquer.
13
Enfim, o conceito é muito amplo, e dentro dessa definição pode se pensar em inúmeros exemplos de outras classes de sistemas (químicos, sociais, políticos, de informática, etc.). Obviamente, nossa atenção se concentrará no estudo dos sistemas físicos. Todo sistema físico denomina-se com o nome genérico de planta. Toda planta tem um determinado comportamento, isto é, faz uma determinada ação. Observe-se que não necessariamente essa ação representa um movimento, muito bem o sistema físico pode ser estático, sem qualquer elemento móvel, como seria o caso de um sistema térmico, por exemplo. Esse comportamento denomina-se como resposta do sistema. Essa resposta está caracterizada, em geral, por uma grandeza física que pode ser medida (temperatura, ângulo de giro, distância de deslocamento, velocidade linear ou angular, luminosidade, pressão, entre outras), ou ainda por uma combinação delas. A resposta do sistema será portanto uma grandeza física mensurável, em cujo caso se trata de uma resposta escalar, ou um conjunto de grandezas físicas mensuráveis, em cujo caso a resposta será vetorial, isto é, será caracterizada por um vetor de grandezas escalares. Sem perda de generalidade, é possível afirmar que essa resposta muda com o tempo, isto é, é uma função do tempo. Mesmo que permaneça constante, não se deve esquecer que uma constante constitui também uma função temporal. Tratando-se de respostas escalares, serão denominadas genericamente com a função y(t), explicitando a dependência da variável temporal; e se tratando de respostas vetoriais, a denominação genérica será y(t). A negrita explicita a característica vetorial de uma variável. Também se denomina a resposta de um sistema com o nome de sinal de saída desse sistema. Muitas plantas, para funcionar, isto é, para gerar uma determinada resposta, precisam de uma ação concreta aplicada nelas. Essa ação pode ser uma força, uma energia elétrica, calor, ou qualquer outro tipo de energia aplicada. Em geral, essa ação também estará caracterizada por uma grandeza física mensurável, ou bem por um conjunto delas. Essa ação aplicada no sistema, necessária para seu funcionamento, se denomina como excitação do sistema. A excitação também é, genericamente, uma variável temporal; essa grandeza física muda com o tempo. Também pode se tratar de uma grandeza só, em cujo caso fala-se em excitação escalar, ou um conjunto de ações, em cujo caso se trata de uma excitação vetorial. No primeiro caso se denomina a excitação escalar genericamente como u(t), e a excitação vetorial, u(t), onde também aqui fica explicitada sua dependência da variável temporal. Também se denomina a excitação do sistema com o nome de sinal de entrada do sistema. Genericamente, representa-se a planta, sua resposta e excitação com o seguinte diagrama de blocos:
14
Figura 2.1: Excitação e resposta de uma planta
Uma planta pode ser um sistema muito simples ou altamente complexo. Mas sempre deve cumprir a regra que a resposta ou saída y(t) é função da excitação ou entrada u(t), seja qual for a relação de dependência entre uma e outra variável. Observese que se essa relação não existir, então não estaríamos na presença de um sistema, pois quer dizer que tem elementos (dos quais dependem as variáveis de saída) cujo comportamento independe de outros (aos quais estão ligados as variáveis de entrada). Nesse caso, não há correspondência com a definição de sistema dada anteriormente. Considere-se o exemplo de um sistema térmico. Um determinado volume de um líquido está contido num recipiente. Quando se coloca uma fonte de energia térmica suficientemente perto dele, uma fonte de calor que pode ser gerado com fogo, com uma resistência elétrica, etc., o líquido esquenta, começa aumentar sua temperatura. Se trata de um sistema estático, não há qualquer movimento nele. A resposta dele está caracterizada pela temperatura do líquido, que vai aumentando exponencialmente com o tempo, uma resposta escalar cuja dimensão pode ser expressada em °C. A excitação seria a energia térmica aplicada no sistema, também escalar, que pode ser expressada em calorias. Obviamente, há uma relação entre a saída e a entrada do sistema, isto é, entre a quantidade de energia térmica aplicada e a temperatura do sistema. Suponha-se agora que o líquido está contido num recipiente isolado termicamente em forma ideal. Nessa situação, a temperatura dele independe da energia térmica aplicada, manteria-se constante seja qual for a variação dessa energia térmica aplicada pela fonte de calor. Nesse caso não estaríamos na presença de um sistema como tal. Um sistema físico pode ser também uma simples alavanca, onde há uma relação entre o torque de saída e o torque de entrada, relação que depende da posição do ponto de apoio na alavanca. Essa relação é constante, e as grandezas físicas, tanto da entrada quanto da saída, são as mesmas, torque, expressado em [N.m]. Uma polia, um alicate, um circuito elétrico, ou um complexo robô controlado por computador são exemplos de sistemas também. Muitas vezes a relação entre a saída e a entrada de um sistema se explicita mediante um gráfico em coordenadas cartesianas, com a grandeza de entrada como variável independente e a de saída como variável dependente; ou também se graficam ambas como variáveis dependentes em função do tempo. No caso do sistema térmico, se for aplicada uma energia térmica constante, a temperatura dele aumenta exponencialmente. O gráfico que representa esse comportamento seria:
15
Figura 2.2: Comportamento de um sistema térmico
Tenha-se em conta que as grandezas físicas das variáveis dependentes são diferentes, num caso sendo expressadas em calorias (ou pode ser também Joules), e no outro em °C. No caso da alavanca, o torque de saída será n vezes o torque de entrada, sendo esse número n um valor real maior ou menor do que 1, dependendo da posição do ponto de apoio. O gráfico que representa esse comportamento poderia ser:
16
Figura 2.3: Relação entre torques de entrada e saída numa alavanca
Às vezes é possível expressar a relação entre a resposta e a excitação em forma matemática. Isto é, é possível achar uma função matemática, escalar ou vetorial segundo seja o caso, que relacione a variável y(t) com a variável u(t). Às vezes essa função é um sistema de equações algébricas; às vezes uma equação (ou um sistema de equações) diferencial. Isso depende do sistema. É importante destacar que nem sempre é possível encontrar essa relação analiticamente. Encontrar essa relação matemática entre a saída e a entrada chama-se modelar o sistema; a relação matemática é o modelo que descreve o comportamento do sistema. Cabe destacar que esse modelo matemático pode não ser único, podendo-se expressar a relação entre a resposta e a excitação do sistema através de diferentes expressões matemáticas. Genericamente, é possível expressar essa relação matemática na forma y(t)=h[u(t)], onde fica evidente que a saída é função da entrada, independentemente da forma dessa função h. Às vezes é possível também achar o quociente entre a saída e a entrada, independentemente que esse quociente seja uma constante ou uma função do tempo, ou ainda de outras variáveis (como pode ser freqüência, por exemplo). Nesses casos descreve-se a relação entre excitação e resposta como: y( t ) =T u(t) Essa relação T, que como foi antecipado não tem por quê ser constante, denominase transferência do sistema, e nos casos que seja possível chegar a esse valor, ele oferece uma importante contribuição à descrição do comportamento do sistema. Por
17
exemplo, no caso da alavanca, a relação entre o torque de saída e o torque de entrada era uma constante n, essa constante é a transferência do sistema.
2.2) Classes de plantas Existem muitas classificações diferentes de plantas, algumas estão baseadas no comportamento delas, outras em características físicas próprias, segundo a potência dos sinais de entrada, saída e internos com que trabalha, entre outras. Focalizaremos nossa análise sobre plantas definindo as classificações mais importantes e mais utilizadas. 2.2.1) Sistemas lineares e não lineares Esta é, com certeza, a mais importante característica de uma planta. Determinar se um sistema é linear ou não linear muda a análise matemática e a estratégia de controle (posteriormente será abordado esse conceito); o comportamento da planta é absolutamente determinado por essa característica. Em seguida, as definições: Suponha-se um sistema cujo comportamento está caracterizado pela função y(t)=h[u(t)] (modelo do sistema). Quando é aplicada como entrada uma excitação que responde a uma função que será chamada de u1(t), o sistema tem uma resposta determinada que será caracterizada genericamente pela função y1(t); quando é aplicada uma outra entrada caracterizada por uma função u2(t), ele apresentará uma outra resposta que será denominada y2(t), sejam quais forem as formas dessas quatro funções do tempo. Muito bem, se define o sistema como linear, se quando é aplicada uma entrada u(t) = α u1(t) + β u2(t) , sendo α e β constantes escalares quaisquer, a resposta é y(t) = α y1(t) + β y2(t). Caso isso não aconteça, o sistema se diz não linear. Observem-se os seguintes exemplos. Suponha-se um amplificador de áudio cuja saída tem uma amplitude igual a K vezes a amplitude do sinal de entrada. Nesse caso pode-se afirmar que o modelo matemático do sistema é y(t) = K u(t). Se for aplicada uma entrada u1(t) obtém-se uma saída de igual forma mas de amplitude K vezes maior, isto é, y1(t) = K u1(t). O mesmo acontece quando aplicado um sinal u2(t), a saída será y2(t) = K u2(t). Se agora for aplicado um sinal u(t) = α u1(t) + β u2(t), então a saída será K vezes a entrada, isto é:
y( t ) = Ku ( t ) = K[αu 1 ( t ) + β u 2 ( t )] = αKu 1 ( t ) + β Ku 2 ( t ) = αy1 ( t ) + β y 2 ( t ) Devido a que o produto é associativo e comutativo. Conclui-se, portanto, que o sistema é linear. Suponha-se agora um sistema caracterizado pelo modelo y(t) = sen[u(t)]. Se for aplicada uma entrada u1(t) obtém-se uma saída y1(t) = sen[u1(t)]; ao aplicar uma entrada u2(t) obtém-se uma saída y2(t) = sen[u2(t)]. Se for aplicada agora uma entrada u(t) = αu1(t) + βu2(t), a saída estará caracterizada pela função:
y( t ) = sen[u ( t )] = sen[αu 1 ( t ) + β u 2 ( t )] ≠ α sen[u 1 ( t )] + β sen[u 2 ( t )] = αy1 ( t ) + βy 2 ( t ) A condição para esse sistema ser linear não é cumprida, a função seno não é distributiva, portanto o sistema não é linear. Um exemplo clássico de sistema não linear é o pêndulo, onde a aceleração angular depende do coseno do ângulo de deslocamento com respeito ao eixo vertical. Como dica para reconhecer se um sistema é linear ou não, pode-se observar o gráfico que representa o comportamento da saída do sistema em estado estável em
18
função da entrada dele. Se esse gráfico é uma reta, então estamos na presença de um sistema linear, caso contrário, o sistema é não linear. 2.2.2) Sistemas SISO e MIMO Uma outra classificação de plantas refere-se ao número de entradas e saídas do sistema. Um sistema com um único sinal de excitação como entrada, e um único sinal de resposta como saída (não necessariamente caracterizados pela mesma grandeza física), denomina-se sistema SISO (single input – single output). Um exemplo de sistema SISO é o sistema térmico já descrito anteriormente. O modelo matemático dos sistemas SISO é sempre uma função escalar, isto é, uma função que relaciona duas variáveis escalares. Um sistema com várias entradas, estejam elas caracterizadas pelas mesmas grandezas físicas ou não, e várias saídas, que também podem ser de diversas grandezas físicas, denomina-se sistema MIMO (multi input – multi output). Um exemplo de sistema MIMO é um braço mecânico, que possui várias juntas e vários motores para movimentar cada uma delas, as tensões elétricas entregues a cada motor constituem as variáveis de entrada, e os ângulos de deslocamento de cada junta, as variáveis de saída. O modelo matemático dos sistemas MIMO é sempre um sistema de equações; às vezes esse sistema pode se representar em forma matricial. Repare-se que no caso de um sistema com várias saídas, mas que cada uma delas depende exclusivamente de uma entrada, e sempre independe das outras, na realidade não se trata de um sistema MIMO, mas de um conjunto de sistemas SISO desacoplados entre eles. Observe-se que os sistemas tanto SISO quanto MIMO podem ser lineares ou não, é só aplicar na definição do ponto anterior grandezas escalares ou vetoriais como entrada e saída do sistema segundo seja o caso, que a definição deve ser observada da mesma maneira para o sistema ser linear. 2.2.3) Sistemas estáveis e instáveis Esta é também uma das características mais importantes de um sistema. O fato de um sistema ser estável ou não caracteriza absolutamente o comportamento dele. Em seguida, as definições: Um sistema se diz estável, ou BIBO estável (bounded input – bounded output), se para qualquer entrada de amplitude limitada a saída será sempre de amplitude limitada. Se existir uma função de excitação de amplitude limitada, que gere uma resposta tendendo para infinito (no caso ideal), então o sistema é instável. É claro que em muitos sistemas reais, a resposta não pode tender para infinito porque isso exigiria uma fonte infinita de energia, a resposta vai se estabilizar num valor de amplitude alto mais finito, que dependerá do nível de energia que o sistema pode entregar, da saturação de alguns elementos (motores, por exemplo), entre outras possibilidades. A pesar disso, nesses casos os sistemas são considerados instáveis. Esta definição se aplica tanto a sistemas lineares como não lineares, e tanto a sistemas SISO como MIMO. Observe-se que, segundo a definição, se num sistema em análise for aplicada uma entrada limitada e ele gerar uma resposta limitada, não é possível afirmar que estamos na presença de um sistema estável, para isso é preciso testar todas as entradas limitadas possíveis (que obviamente são infinitas). Se para todas elas a saída se mostra limitada, aí sim pode se confirmar a estabilidade do sistema. Também, se num sistema for aplicada uma excitação que tende para infinito ao longo do tempo, por exemplo uma função exponencial crescente, e a resposta também tende para infinito, é claro que não
19
pode se afirmar que o sistema seja instável. O único teste válido seria aplicar um sinal de amplitude limitada como entrada, e se a saída tende para infinito, então aí sim pode se afirmar que estamos na presença de um sistema BIBO instável. O estudo do modelo matemático do sistema, em geral, é suficiente para determinar se o sistema é estável ou instável. Por exemplo, no caso do amplificador mencionado anteriormente, que tem como transferência uma constante finita K, é obvio que é possível concluir que o sistema é estável sem necessidade de realizar teste algum, devido a que qualquer entrada de amplitude limitada gerará uma saída de igual forma mas amplificada K vezes. Observe-se que também não é possível denominar a um sistema como “estável para uma determinada entrada” e instável para outras. O sistema é BIBO estável ou BIBO instável, sem qualquer outra possibilidade. No caso dos sistemas lineares a observação anterior é procedente, mas no caso dos sistemas não lineares podem existir “pontos de equilíbrio” nos quais o sistema se comporta em forma estável, e outros nos quais o sistema se comporta em forma instável. No exemplo do pêndulo mencionado anteriormente, que é um sistema altamente não linear, quando ele se encontra na posição de repouso vertical para baixo, ante qualquer impulso ou força aplicada nele limitada, ele tenderá voltar a essa posição de repouso. Essa posição se diz então que é estável (ou “ponto de equilíbrio estável”). O ângulo que descreve será sempre de amplitude limitada. Imagine-se agora o pêndulo na posição vertical para cima. Sem nenhuma excitação, ele, teoricamente, poderia permanecer nessa posição indefinidamente, mas ante qualquer impulso, por menor que seja, ele tenderá a sair dessa posição para não mais voltar; e embora o ângulo não tenda para infinito, tende para uma outra posição suficientemente afastada para considerar, assim, que nesse ponto o sistema se comporta de maneira instável. Essa posição do pêndulo caracteriza o chamado “ponto de equilíbrio instável”. Cabe reiterar que nos sistemas lineares, o comportamento é instável ou estável para qualquer sinal de entrada e para qualquer valor das variáveis de energia internas. 2.2.4) Sistemas variantes e invariantes no tempo Esta característica dos sistemas diz respeito à resposta temporal deles. A definição de sistemas variantes ou invariantes no tempo é a seguinte: se num sistema é aplicada uma entrada u(t), se obtém uma resposta qualquer denominada y(t); se agora é aplicada a mesma entrada, só que deslocada no tempo, isto é u(t+δ), sendo δ uma constante positiva qualquer, e se obtém a mesma resposta deslocada a mesma quantidade de tempo, isto é y(t+δ), então estamos na presença de um sistema invariante no tempo, caso contrário se diz que o sistema é variante no tempo. Isto quer dizer, falando em termos concretos, que num sistema invariante no tempo a mesma entrada gerará a mesma resposta seja qual for o momento em que é aplicada; se a resposta muda com a mesma entrada aplicada antes ou depois, isto é, se a resposta não somente depende da entrada aplicada mas também do momento em que ela for aplicada, então o sistema é variante no tempo. Esta definição se aplica a todas as classes de sistemas vistas anteriormente.
2.3) Sistemas lineares e invariantes no tempo
20
Uma importante e amplamente estudada classe de sistemas são os sistemas lineares e invariantes no tempo, também conhecidos como sistemas LIT. Esses sistemas podem ser tanto SISO como MIMO. Efetivamente, na natureza se encontra uma grande variedade de organismos e ambientes cujo comportamento pode se assemelhar, sem muita perda de precisão, a um sistema LIT. Eles são classificados segundo a ordem do modelo matemático que representa seu comportamento, o qual é representado por uma equação diferencial a coeficientes constantes (ou um sistemas de equações diferenciais, dependendo do sistema ser SISO ou MIMO). Essa equação diferencial pode ser de ordem 0, 1 ou 2, o que determina a classe de sistema LIT. Sistemas LIT de ordem maior do que 2 não são freqüentemente encontrados em situações reais. A ordem da planta determina o comportamento dela. Seguidamente se apresentará, em forma qualitativa, o comportamento característico de cada tipo de sistema LIT. 2.3.1) Sistemas de ordem 0 As plantas cujo comportamento se corresponde com um sistema LIT de ordem 0 têm um modelo matemático da forma y(t) = K u(t), sendo K uma constante qualquer. Quer dizer que a saída será uma constante vezes a entrada. Obviamente, um sistema de ordem 0 é sempre estável. No caso de sistemas MIMO, as variáveis de excitação e resposta serão vetoriais e o ganho do sistema K será uma matriz, não necessariamente diagonal. Um exemplo típico de um sistema LIT, SISO de ordem 0 é um circuito elétrico conformado por um divisor resistivo. Por exemplo:
Figura 2.4: Sistema LIT de ordem 0
Observa-se aqui que tanto a grandeza física do sinal de entrada como a do sinal de saída são as mesmas, tensão elétrica [V], e o modelo matemático dessa planta é y(t) = 1/10 u(t). O gráfico que representa o comportamento dessa planta é, se for aplicada uma entrada em degrau de amplitude 1:
21
Figura 2.5: Comportamento de um sistema LIT de ordem 0
2.3.2) Sistemas de ordem 1 Os sistemas LIT de ordem 1, ou de primeira ordem, se caracterizam por ter como modelo matemático uma equação diferencial (ou um sistema de equações diferenciais) de ordem 1. Seu comportamento está caracterizado por, ante uma entrada em degrau, apresentar uma resposta exponencial. Se essa resposta for uma exponencial decrescente que tende para um valor constante, então estamos na presença de um sistema estável, se for crescente, o sistema é instável. Um exemplo de um circuito elétrico que conforma um sistema LIT de ordem 1 é um divisor resistor – capacitor:
22
Figura 2.6: Sistema LIT de ordem 1
Os sinais de entrada e saída são da mesma grandeza física, tensão elétrica [V]. O gráfico que representa o comportamento desse sistema é, supondo como excitação um sinal em degrau de amplitude unitária:
Figura 2.7: Comportamento de um sistema LIT de ordem 1 estável
23
Como foi mostrado na figura 2.2, o sistema térmico mencionado é um sistema LIT de ordem 1 estável. Um sistema LIT de ordem 1 instável caracteriza-se por, ante uma excitação em degrau, apresentar uma resposta em forma de uma exponencial crescente, como mostra o seguinte gráfico:
Figura 2.8: Comportamento de um sistema LIT de ordem 1 instável
2.3.3) Sistemas de ordem 2 Os sistemas LIT de ordem 2 se caracterizam por ter como modelo matemático uma equação (ou sistema de equações) diferencial de segunda ordem. Dependendo do valor das constantes do modelo matemático, um sistema LIT de segunda ordem pode ser subamortecido, criticamente amortecido, o sobre-amortecido. Não será especificada a diferença entre esses três tipos de sistema por fugir do escopo deste livro. Apenas será mencionado que, no caso do sistema ser sub-amortecido, a resposta dele será, ante uma entrada em degrau, uma função senoidal com uma envolvente exponencial. Se essa envolvente for de amplitude decrescente, o sistema é estável, se for de amplitude crescente, estamos na presença de uma sistema instável. Um exemplo clássico de sistema LIT de ordem 2 estável é o circuito elétrico formado por uma resistência, um capacitor e um indutor em série, como o seguinte:
24
Figura 2.9: Sistema LIT de ordem 2
O grĂĄfico representativo do comportamento deste sistema, supondo uma entrada em degrau ĂŠ:
Figura 2.10: Comportamento de um sistema LIT de ordem 2 estĂĄvel sub-amortecido
25
Um outro exemplo de sistema LIT de ordem 2 estável mecânico é um sistema formado por uma massa, uma mola e um amortecedor, cujo modelo matemático é o mesmo que o do circuito RLC, isto é, uma equação diferencial de segunda ordem.
Figura 2.11: Sistema massa – mola - amortecedor
Não é difícil encontrar exemplos na natureza de sistemas de segunda ordem estáveis sub-amortecidos. Imagine-se por exemplo o galho de uma árvore; quando ele é entortado e solto, voltará a sua posição de repouso exibindo oscilações de freqüência constante e amplitude decrescente, exatamente como ilustrado na figura 2.10. Se o sistema LIT de segunda ordem for instável, ante uma entrada em degrau, o gráfico que representa o comportamento dele é (também no caso do sistema ser subamortecido):
26
Figura 2.12: Comportamento de um sistema LIT de ordem 2 instável sub-amortecido
Onde a envolvente do sinal senoidal correspondente à resposta do sistema é uma exponencial de amplitude crescente.
2.4) Controle de sistemas Controle é uma área da engenharia que vai ganhando espaços em forma assombrosamente acelerada nos últimos anos até ter se convertido, sem nenhuma dúvida, na área de maior crescimento da engenharia moderna. Efetivamente, é aplicado em muitas especialidades diversas, desde eletrônica, robótica, mecatrônica, mecânica, até biologia, química, matemática e inclusive economia. Em todas essas disciplinas a teoria de controle é utilizada com sucesso. Mas, que se entende exatamente por “controlar um sistema”?. Controlar um sistema físico qualquer é, simplesmente, conseguir que ele tenha a resposta desejada. Isso que parece tão simples, pode ser enormemente complexo, dependendo da complexidade do comportamento, representado pelo modelo matemático, do sistema a controlar. Um sistema não linear MIMO, como pode ser o caso de um braço mecânico com várias juntas, por exemplo, exige, em geral, uma estratégia de controle bem mais complexa que aquela que pode ser aplicada num sistema linear. Um pêndulo, que como foi dito configura um sistema não linear, é extremadamente difícil de ser controlado para mantê-lo na posição vertical para cima, principalmente diante da presença de distúrbios e forças exteriores que pretendam derrubá-lo. Seguidamente serão apresentados alguns conceitos básicos sobre controle de sistemas, em geral em forma qualitativa.
27
2.4.1) Especificações técnicas Entende-se por tal conceito o conjunto de requerimentos ou exigências especificadas pelo usuário do sistema com respeito ao comportamento dele, ou como ele quer que se comporte o sistema a controlar. Em geral, uma primeira especificação técnica mínima exigida é que o sistema seja estável; se o sistema não for naturalmente, o controle do sistema deverá procurar que se comporte como tal. Uma outra especificação pode ser o percentual de overshoot, ou relação entre o valor máximo da resposta por cima do seu valor final, e o valor final dela (valor quando t→∞). Por exemplo, no gráfico do sistema de 2° ordem estável (figura 2.10), observa-se que ele tem um overshoot considerável. O usuário pode desejar que esse valor não ultrapasse um determinado limite máximo para não danificar o sistema total. Inclusive pode desejar que o sistema não tenha overshoot nenhum, em cujo caso, se for de 2° ordem, o controle deve providenciar que se comporte como um sistema de 1° ordem (ou “amortecer” o sistema, isto é, que a resposta não apresente uma forma senoidal mas exponencial decrescente). Uma outra especificação pode estar referida ao tempo de estabelecimento da resposta, ou tempo no qual a resposta vai demorar para se estabelecer dentro do 10% ao redor do valor final. Também o tempo de crescimento da resposta pode estar dentro das especificações técnicas, ou tempo em que a resposta vai demorar em chegar de um 10% até um 90% do seu valor máximo. O usuário pode querer que esse tempo não ultrapasse um determinado limite, pois no caso contrário a resposta seria lenta demais para os requerimentos necessários para uma determinada aplicação.
Figura 2.13: Especificações técnicas
28
A velocidade de resposta e a estabilidade são duas características importantes do desempenho dinâmico relacionado com o projeto de sistemas de controle. A velocidade de resposta refere-se à capacidade do sistema de atingir um estado estável desejado num curto período de tempo. Está relacionado com o tempo de crescimento e o tempo de estabelecimento dos sinais de saída, e depende, em geral, do sistema de controle. A estabilidade é geralmente definida como uma medida das oscilações que ocorrem no sistema durante o movimento de uma posição para a outra, ou mais genericamente, durante a passagem de um estado estável para um outro determinado. Está relacionado com o percentual de overshoot da resposta do sistema. Um sistema com boa estabilidade apresentará pouca ou nenhuma oscilação durante a passagem de um estado para outro ou no término dessa passagem. Uma estabilidade pobre estaria indicada por uma grande amplitude de oscilação. É geralmente desejável no projeto de sistemas de controle que o sistema tenha boa estabilidade e um tempo de resposta rápido. Infelizmente, estes são geralmente objetivos concorrentes, devendo o projetista chegar a uma solução de compromisso entre as especificações técnicas. Ambos conceitos caracterizam o que se conhece como desempenho transitório do sistema, ou comportamento da resposta antes de atingir seu estado estável. Por exemplo, imagine-se o caso de um avião que voa a uma determinada altitude. O piloto deseja elevar o avião a uma altitude superior. É claro que essa passagem de um estado (altitude) a outro deve ser relativamente rápida, mas principalmente realizada de maneira “suave”, isto é, sem exibir oscilações de altitude ao redor da posição final, o que ocasionaria óbvio desconforto entre os passageiros. 2.4.2) Controladores Entende-se por controlador o dispositivo, que pode ser eletrônico, mecânico, ou combinação de ambos, que tem por objetivo controlar um sistema. Em geral, o controlador é conectado na entrada da planta e é responsável pela geração do sinal de excitação u(t) (seja qual for a grandeza física desse sinal) que vai produzir a resposta y(t) desejada dentro das especificações técnicas. Geralmente, o controlador tem uma entrada chamada de sinal de referência r(t). Essa referência, que também está caracterizada por uma função do tempo e que pode estar constituída por um sinal de qualquer grandeza física, tem por objetivo indicar ao controlador como é a resposta y(t) desejada da planta. Assim, o objetivo do controlador, idealmente, é gerar uma excitação u(t) tal que a resposta da planta y(t) seja igual a essa referência r(t).
Figura 2.14: Sistema planta - controlador O sinal de referência r(t) pode ser uma constante, em cujo caso fala-se em controle “ponto a ponto”, ou pode ser uma função de amplitude variante no tempo, em cujo caso fala-se em controle de “rastreamento de trajetória”. Um exemplo desses dois tipos de
29
controle pode ser observado no caso de um braço mecânico, o controle ponto a ponto pretende levá-lo até uma determinada posição fixa e deixá-lo ali estacionado com velocidade nula, o rastreamento de trajetória pretende que descreva uma determinada trajetória contínua dentro do espaço de trabalho, trajetória que pode ser descrita como uma função contínua no tempo para cada junta do braço. Observe-se que o controlador é um sistema em si mesmo, com entrada ou excitação r(t) e saída ou resposta u(t), e cuja transferência é Tc = u(t) / r(t). A pergunta é, qual deveria ser a transferência do controlador para atingir o objetivo desejado, isto é y(t) = r(t). Obviamente, deveria ser a inversa da transferência da planta, de maneira tal que a transferência total do sistema planta - controlador seja: y( t ) y( t ) u ( t ) 1 = = Tp Tc = 1 ⇒ Tc = Tp r(t) u(t) r(t) Em plantas caracterizadas como sistemas LIT de ordem 0, tal objetivo é muito fácil de conseguir: se a transferência da planta for uma constante K, seja esse valor maior ou menor do que 1, é só implementar um controlador cuja transferência seja 1/K para que a saída y(t) seja igual à referência r(t). Isto implica que a transferência do controlador também seria uma constante; o controlador mesmo seria um sistema LIT de ordem 0. Mas em plantas caracterizadas como sistemas LIT de ordem maior, onde a relação entre a resposta e a excitação está representada por uma equação diferencial (ou um conjunto de equações diferenciais, dependendo do sistema ser SISO ou MIMO), isto não é possível fisicamente, devido a que o controlador deveria ser um sistema de ordem –1 ou –2, o qual é impossível na prática, sejam quais forem as grandezas físicas que caracterizam as variáveis de entrada e saída do controlador, pois seriam sistemas cuja resposta se antecipa à excitação, o qual, claro, é impossível na prática. Por essa razão é que para uma planta LIT de ordem 1 ou 2, ante uma entrada em degrau, não é possível obter uma saída em degrau (o que significaria sistema total controlador – planta de ordem 0). O máximo que pode se pretender nas especificações técnicas, é um determinado overshoot, um determinado tempo de crescimento, etc., isto é, um desempenho transitório adequado para uma determinada aplicação. 2.4.3) Sistemas em malha aberta O sistema controlador - planta representado pelo diagrama de blocos mencionado anteriormente (figura 2.14) apresenta algumas desvantagens. Por exemplo, que aconteceria se durante o processo de controle, um distúrbio externo mudasse artificialmente o valor da resposta y(t)?. Este distúrbio pode ser gerado por ações físicas do meio ambiente, externas à planta (vento, calor, pressão, etc., no caso de sistemas mecânicos, ou ruído, no caso de sistemas elétricos). O controlador continuaria gerando um sinal u(t) determinado pela referência r(t) achando que a resposta da planta y(t) continua sendo a desejada, quando na realidade pode ter se afastado do estabelecido. Uma representação clássica de tal situação é exemplificada pelo caso de uma pessoa cega (planta) que tem por objetivo caminhar até um determinado ponto (referência). Ele pode saber em que direção deve caminhar, e o cérebro (controlador) ordenar às pernas para caminhar nessa direção (excitação). Poderia atingir esse objetivo sem problemas, mas suponha-se que no caminho tropeça e cai (distúrbio). Ao levantar, perde o senso da direção, já não sabe mais para onde é que estava caminhando. Acredita
30
numa direção certa e retorna a caminhar. Mas na verdade o cálculo estava levemente errado, o que provoca que a cada passo (resposta) vá se afastando cada vez mais do caminho certo, quer dizer, a distância entre a trajetória percorrida e o caminho certo é monotonamente crescente, e portanto o sistema é instável. Este é um exemplo de como um distúrbio pode instabilizar um sistema, o qual é comum acontecer em sistemas cuja estrutura de controle responde ao diagrama de blocos visto anteriormente. Retomando o exemplo do controlador de temperatura, suponha-se que se deseja controlar um sistema térmico consistente num recipiente com um volume conhecido de líquido (planta). A referência é a ordem de manter o sistema numa temperatura constante de 40°C. O controlador deveria para isso ligar os aquecedores durante uma quantidade de tempo previamente calculada para levar o sistema a essa temperatura. O controlador consistiria, em definitiva, num dispositivo temporizador de tempo regulável com a referência mais um aquecedor. Mas se a temperatura ambiente mudar?. Obviamente, esse tempo de aquecimento pode ser insuficiente ou excessivo, e a temperatura final do sistema ser maior ou menor do que a desejada. O controle não é realizado eficientemente. Por isso esses sistemas são chamados de sistemas em malha aberta ou sistemas não inteligentes. No caso do controlador ser algum tipo de processador digital programável, por exemplo um computador, no algoritmo de controle não poderiam existir “perguntas”, tal como seriam implementadas com estruturas de repetição indeterminada ou estruturas de alternativa, devido a que o programa não teria donde obter as respostas a essas “perguntas” (ou condições dependentes da planta a controlar). O algoritmo deveria ser apenas uma seqüência de ações, no máximo com alguma repetição um número determinado de vezes como única estrutura possível. 2.4.4) Sistemas em malha fechada Nos sistemas em malha fechada o controlador recebe dois sinais, a referência r(t) e a resposta y(t). Dessa maneira, ele pode ir comparando se a resposta está de acordo com o que o sinal de referência especifica ou não. Caso acontecer um distúrbio que afaste a resposta da referência, ele pode gerar um sinal de excitação à planta u(t) no sentido de compensar os efeitos desse distúrbio, de maneira de corrigir a ação da planta até retornar ao comportamento desejado. Esse segundo sinal que recebe o controlador chama-se sinal de realimentação ou feedback e é um conceito extremadamente importante na teoria de controle de sistemas. Quase todos os sistemas controlados possuem esse laço de realimentação, e esses sistemas recebem o nome de sistemas em malha fechada.
Figura 2.15: Sistema em malha fechada
31
Retomando o exemplo da pessoa que deseja caminhar até um determinado ponto, suponha-se agora que seu cérebro (controlador) recebe além da ordem de caminhar até esse ponto (referência) a informação constante sobre seus passos efetuados (resposta), o que deveria ser feito através do sentido da visão (realimentação). Nesse caso, se ele tropeçar e cair (distúrbio), agora o sentido da visão devolve ao controlador a informação sobre a posição exata onde ele está, e portanto ele pode ir corrigindo a trajetória (excitação) até atingir o objetivo desejado. Observa-se que é o sentido da vista o que dá essa realimentação da situação do meio ambiente ao cérebro. No caso do sistema térmico, assuma-se que agora o controlador recebe a informação correspondente à temperatura do sistema. O controlador de temperatura já não precisa mais ser um temporizador de tempo controlado pela referência, que ativa um aquecedor, agora pode simplesmente aquecer até chegar à temperatura de referência desejada, seja qual for o tempo de aquecimento necessário para isso. Se a temperatura cair depois de ter atingido o valor desejado, ele simplesmente volta ligar os aquecedores. Dessa maneira o controlador de temperatura pode até acompanhar uma excursão de temperaturas variáveis no tempo. O controle de temperatura é realizado com maior eficiência. No caso do controlador ser um processador digital programável, agora o algoritmo de controle pode ter “perguntas”, ou condições cujas respostas serão dadas pelo sinal realimentado. Quer dizer que agora os programas não precisam ser apenas uma seqüência de ações, podem existir repetições indeterminadas (repetir uma ação até uma determinada condição da planta se cumprir) ou alternativas baseadas em condições determinadas pela resposta da planta. Por exemplo, aquecer até a temperatura for igual à referência, ou até o erro ser igual a zero. Por essa faculdade de “tomar decisões” que têm os programas de controle de sistemas em malha fechada, é que esses sistemas são chamados também de sistemas inteligentes. Uma outra alternativa ao diagrama visto anteriormente dos sistemas em malha fechada, é que o controlador não receba dois sinais, mas apenas um: a diferença entre a referência e a resposta. Esse sinal de diferença chama-se sinal de erro e(t). Perceba-se que com a informação fornecida por ele é suficiente para controlar o sistema eficientemente; se o objetivo é que a resposta acompanhe à referência, isto é, y(t) = r(t), é o mesmo que dizer que o objetivo é que e(t) = 0. Portanto, se o controlador recebe um erro positivo (referência maior do que a resposta), gera uma excitação de maneira tal de aumentar o valor da resposta até atingir o valor da referência novamente (e(t) = 0); se recebe um valor de erro negativo (resposta maior do que a referência), faz o contrário, gera uma excitação u(t) de maneira tal de diminuir a resposta y(t) até igualar a referência.
32
Figura 2.16: Sistema com realimentação de erro
Este tipo de realimentação chama-se “realimentação negativa”, o erro é o resultado da referência menos a resposta. No caso da realimentação positiva, ou erro igual à referência mais a resposta, o controlador não gera uma excitação em sentido contrário ao desvio da resposta, mas em igual sentido. Dessa maneira, se por exemplo um distúrbio aumenta a resposta por cima da referência, o controlador gera uma excitação que a faz aumentar mais ainda. Esses sistemas realimentados positivamente costumam ser instáveis. 2.4.5) Equação geral dos sistemas realimentados negativamente Nesta seção será deduzida a equação geral dos sistemas realimentados. Para isso a transferência da planta será chamada de G, e a transferência do controlador de H, não esquecendo que: G = y(t) / u(t) H = u(t) / e(t) e(t) = r(t) – y(t)
Figura 2.17: Variáveis de um sistema em malha fechada
Então: y(t) = G u(t) = G H e(t) = G H (r(t) – y(t)) = G H r(t) – G H y(t) ⇒ y(t) + G H y(t) = G H r(t) ⇒ y(t) (1 + G H) = G H r(t) ⇒ y(t) = G H / (1 + G H) r(t) ⇒ transferência total do sistema T = y(t) / r(t) = G H / (1 + G H)
33
Observe-se que, segundo a equação, se G H >>>1, então T ≅ 1, o que implica que y(t) = r(t), que é o objetivo do controle. Em conseqüência, quanto maior o ganho (transferência) do controlador, melhor a resposta acompanhará a referência. 1 Muitas vezes é comum colocar o controlador no laço de realimentação, da seguinte maneira:
Figura 2.18: Sistema com controlador na realimentação
O sinal realimentado agora não é mais a resposta, mas a saída do controlador, sinal que será chamado de f(t), e a transferência do controlador é dada por H = f(t) / y(t). O sinal do erro é a referência menos essa saída, isto é: e(t) = r(t) – f(t). Então, as equações desse novo sistema ficam: y(t) = G e(t) = G (r(t) – f(t)) = G (r(t) – H y(t)) = G r(t) – G H y(t) ⇒ y(t) + G H y(t) = G r(t) ⇒ y(t) (1 + G H) = G r(t) ⇒ y(t) = G / (1 + G H) r(t) ⇒ transferência total do sistema T = y(t) / r(t) = G / (1 + G H) Observe-se que se G H >>> 1, então T ≅ 1 / H. Este tipo de esquemas é muito utilizado quando o ganho (ou transferência) da planta é muito alto e muito instável, por exemplo nos amplificadores operacionais integrados. Aqui, quanto maior a transferência do controlador, menos a transferência total do sistema depende da planta; controla-se o ganho total apenas com a realimentação. Seguidamente será apresentado o exemplo da transferência de um amplificador operacional realimentado negativamente à luz da teoria de controle:
1
Na prática, controladores de alto ganho provocam outro tipo de inconvenientes que não serão analisados no presente texto.
34
Figura 2.19: Amplificador operacional realimentado negativamente
As equações são: A resposta do sistema é a tensão de saída v0 = A ve = A ie Re Pode se considerar aqui como saída da planta v0 e como entrada a corrente ie, de maneira tal que o ganho da planta é G = A Re (onde A é o ganho do operacional e Re a resistência interna da entrada do operacional). O sinal realimentado é a corrente if = v0 / R , devido a que pode se considerar a entrada inversora do operacional como massa virtual. Dessa maneira, o controlador está conformado apenas pelo resistor de realimentação, cuja transferência é H = f(t) / y(t) = if / v0 = 1 / R. Como sinal de referência pode ser adotada a entrada de corrente ir = vi / Ri. Dessa maneira, aplicando as equações deduzidas anteriormente: Transferência do sistema v0 / ir = G / (1 + G H) = A Re / (1 + A Re /R). Por ser A Re / R >>>1 , pode se considerar v0 / ir ≅ 1 / H = R. Se se deseja colocar o sinal de referência em função da tensão de entrada, o qual não é imprescindível, devido a que nessa configuração o amplificador se comporta como amplificador de transresistência (amostra tensão e realimenta corrente): ir = vi / Ri ⇒ v0 / vi ≅ R / Ri. Observe-se que é a mesma equação à que se chegaria aplicando a teoria de circuitos. 2.4.6) Controladores digitais Em muitos sistemas automatizados se utilizam controladores mecânicos (por exemplo em alguns sistemas com auto-regulagem de velocidade), ou circuitos eletrônicos, ativos ou passivos, como no caso do amplificador operacional analisado na seção anterior, onde o controlador é apenas um resistor. Mas o mais comum, pelo menos em sistemas de alguma complexidade, é utilizar algum tipo de processador digital como controlador. Os controladores podem ser microprocessadores, microcontroladores, computadores ou controladores industriais mais específicos como é o caso dos controladores lógicos programáveis ou CLP.
35
Os diferentes tipos de controladores têm características próprias que os fazem adequados para diferentes tipos de aplicação. Por exemplo, no caso do amplificador operacional do exemplo anterior, obviamente não faz sentido controlar o ganho dele com um µprocessador; em muitos sistemas eletrônicos simples, em geral, o controlador também é um circuito eletrônico, como por exemplo nos reguladores de tensão. Mas controladores digitais são cada vez mais utilizados, principalmente quando é necessário controlar sistemas complexos (como a trajetória de um braço mecânico), sistemas de alta precisão (como é o caso do controle do movimento de um avião), ou sistemas MIMO com uma grande quantidade de entradas e saídas (como é o caso de muitas linhas de produção industrial). Em geral, nos controladores digitais, a entrada de referência não é um sinal externo, mas uma referência estabelecida por software ou introduzida através de um dispositivo periférico. A informação sobre a amplitude da referência ou a variação dessa função com o tempo pode estar determinada pelo programa de controle, ou bem introduzida pelo usuário através de algum dispositivo de entrada de informação (mouse, teclado, joystick). Nos casos em que a entrada do controlador é o sinal de erro, é introduzida no controlador a resposta da planta realimentada e a referência (caso ela deva ser introduzida externamente), que o processador calcula por software o valor do erro, e processa também por software esse sinal para calcular o valor do sinal de excitação que deverá entregar para ser aplicado na planta.
Figura 2.20: Sistema controlado digitalmente
36
A pergunta agora é, como é que um controlador digital consegue trabalhar com sinais, sejam eles de qualquer grandeza física, que são funções contínuas no tempo, se ele só trabalha com bits de informação, 0 e 1, que podem mudar com o tempo ou não? Para responder essa questão, primeiro deve se entender os conceitos de sinais contínuos no tempo, ou sinais analógicos, e sinais digitais. Seguidamente será abordado esse ponto. 2.4.7) Sinais analógicos e sinais digitais Por sinal analógico, entende-se um sinal de qualquer grandeza física que se comporta como uma função contínua no tempo. Exemplos de grandezas físicas analógicas são: temperatura, pressão, umidade, força, distância, ângulo, torque, vazão, luminosidade, etc. Os gráficos mostrados até agora neste capítulo correspondem todos a sinais dessa categoria. Sinais digitais são funções que, ao longo do tempo, só podem adquirir dois valores arbitrários. Cada um desses valores são denominados, genericamente, como 0 e 1, independentemente das suas amplitudes. Embora não existem na natureza, estritamente falando, grandezas físicas que se correspondam com sinais digitais, é comum encontrar características de uma planta que respondem a essa definição. Um exemplo dessa “grandeza física digital” é a presença de um objeto: ele está ou não está num determinado local, só tem dois estados possíveis. Um outro exemplo é o estado de um pulsador, ou ele está pressionado ou não.
Figura 2.21: Sinal analógico em função do tempo
37
Figura 2.22: Sinal digital em função do tempo
O controlador digital tem capacidade para operar com sinais digitais, em definitivo, ele trabalha com 0 e 1. Eles podem ser introduzidos no controlador através de uma entrada externa do processador e podem ser entregues através de uma saída externa. Posteriormente será analisado com mais detalhe como isso pode ser feito. Mas, como trabalha um processador digital com sinais analógicos? Para poder faze-lo, deve se aplicar um processo chamado de discretização do sinal analógico. Um sinal discreto é um sinal que não tem um valor definido em todo instante de tempo, mas apenas em instantes discretos de tempo; em geral esses instantes estão separados a intervalos regulares. Em cada um desses instantes fixos se toma uma amostra do sinal analógico, o intervalo entre cada instante chama-se período de amostragem.
38
Figura 2.23: Amostragem de um sinal analógico
O tratamento algébrico das funções discretas é totalmente diferente daquele adotado para as funções contínuas; por exemplo, a condição para que uma planta discreta, ou planta cujos sinais de entrada e saída foram discretizados, seja estável é diferente da condição de estabilidade para a mesma planta contínua. O projetista do controle deve estar familiarizado com as ferramentas matemáticas utilizadas para o processamento de sinais discretos. Mas ainda um sinal discreto não é um sinal digital, segundo a definição dada anteriormente. Isto é mais fácil de solucionar. Cada uma dessas amostras tem um valor de amplitude (representado pela altura de cada uma delas no gráfico anterior). É só entregar ao processador digital esses valores de amplitude escritos em forma de números binários. Assim, foi “digitalizado” um sinal analógico. Cada um desses números binários entregues ao controlador representa a amplitude de cada amostra e podem ser processados adequadamente. Este procedimento é realizado por dispositivos chamados conversores analógico – digitais (conversores A / D). O processo inverso, isto é, quando o controlador digital deve entregar um sinal analógico, é similar. Um circuito integrado eletrônico reconstitui as amostras a partir de números binários entregues pelo processador e que representam as alturas delas. Esse dispositivo é chamado de conversor digital – analógico (conversor D / A). O tema de conversores D/A e A/D será tratado no capítulo 3, referente a interfaces, onde serão abordados detalhes construtivos deles e alguns dispositivos disponíveis no mercado.
39
Figura 2.24: Planta analógica e controlador digital
Na figura 2.24 apresenta-se o diagrama de blocos do sistema controlador digital – planta analógica, onde os sinais u[n] e y[n] se especificam dessa maneira para explicitar que são sinais discretos e não contínuos; a variável n é um número inteiro (que denota o número de amostra) e não uma variável contínua como é o caso do tempo. Muitas vezes os conversores A/D e D/A são montados numa mesma placa de circuito impresso, normalmente pronta para ser inserida num slot do computador. Essas placas chamam-se placas de aquisição de dados (placas DAS). 2.4.8) Sensores e atuadores Uma pergunta óbvia que o leitor deve ter feito nessa altura do capítulo é: os diferentes tipos de controladores (analógicos ou digitais, isto é, que trabalham com sinais contínuos ou sinais discretos), em geral trabalham com sinais elétricos de resposta e excitação, mas a planta nem sempre é um sistema elétrico como no exemplo do amplificador operacional, e sim um sistema que trabalha com outro tipo de grandezas físicas (térmicas, mecânicas, etc.); como é que se traduz um sinal elétrico num sinal térmico, por exemplo? A resposta a essa pergunta é dada pelo conceito de atuadores e sensores, que será abordado a continuação. Um atuador é um dispositivo que traduz uma energia elétrica em algum outro tipo de energia. São exemplos de atuadores: motores (que entregam energia mecânica), resistores (térmica), lâmpadas (energia luminosa), pistões (mecânica), eletroímã (mecânica), etc. Os atuadores geralmente ficam dentro da estrutura física da planta, e lhe fornecem tanto movimento, calor ou um outro tipo de energia, possibilitando seu funcionamento. Alguns atuadores precisam um sinal elétrico analógico para funcionar, é o caso dos resistores, cujo calor dissipado é proporcional ao quadrado da tensão elétrica entregue, ou dos motores de corrente contínua, cuja velocidade de rotação é proporcional à tensão elétrica entregue. Esses atuadores são chamados de atuadores analógicos. Mas outros podem funcionar com sinais digitais, como é o caso dos eletroímãs, os quais, em geral, se alimentam com uma tensão de 0V para desativá-los, e com uma tensão de 5V ou 12V
40
para ativá-los. Esse tipo de atuadores são chamados de atuadores digitais, e não precisam de um conversor D/A na saída do controlador digital para serem utilizados. O conceito de sensores, ou transdutores, é o oposto. Sensor é um dispositivo que entrega um sinal elétrico proporcional a uma grandeza física mensurada. Existem sensores de posição, temperatura, umidade, pressão, vazão, presença, força, torque, corrente, cor, altura, velocidade, proximidade, luminosidade, aceleração, campo magnético, sistemas de visão, e até sensores de cheiro. Observe-se que a maioria dessas grandezas físicas são analógicas, e portanto se o controlador for digital será necessário um conversor A/D na entrada dele; mas a presença de um objeto, por exemplo, é uma grandeza digital, como foi observado anteriormente. Portanto a saída desse tipo de sensores (que podem ser diversos tipos de sensores óticos, capacitivos, indutivos, ou até um simples switch ou pulsador), pode ser entregue diretamente à entrada de um controlador digital. Observe-se que quase todo sistema em malha fechada (com realimentação) precisa algum tipo de sensor, a não ser que o controlador e a planta trabalhem com as mesmas grandezas físicas, como é o caso do amplificador operacional realimentado, ou dos sistemas mecânicos com regulagem mecânica de velocidade. É por isso que o que caracteriza os sistemas inteligentes é a presença de sensores nele. Os temas de sensores e atuadores serão abordados nos capítulos 4 e 5, respectivamente. 2.4.9) Interfaces Uma outra pergunta óbvia que deve ter surgido no leitor é a seguinte: como introduzir ou tirar sinais elétricos de um processador digital, por exemplo um computador pessoal? Para isso são necessários circuitos conhecidos com o nome de interfaces. Num sistema digital, o µprocessador, quando está executando um programa, está quase permanentemente acessando a memória RAM através dos barramentos do computador. Esses barramentos são os de endereço, dados e controle. Só em algumas poucas sentenças de um programa o processador fica processando dados dentro dele, sem acessar qualquer dispositivo externo através dos barramentos (por exemplo, quando a unidade aritmética lógica executa uma operação). Para poder exteriorizar um determinado sinal digital do computador, é preciso que esse dado, em forma de bits binários, permaneça fixo na saída durante um tempo, o que não acontece com os dados que circulam pelo barramento de dados, e essa saída deveria estar ligada a um conector externo. Com esse objetivo é que são utilizadas as chamadas interfaces de saída. Tais interfaces consistem num circuito eletrônico chamado latch, o qual é acessado através de um determinado endereço correspondente a uma porta de entrada / saída (I/O Port). Quando o processador escreve uma informação nesse endereço, esse dado fica fixo nesse latch, cuja saída fica disponível através de um conector externo, e o processador pode continuar executando o programa sem que esse dado sofra qualquer alteração. Nesse conector externo, em princípio, poderiam ser ligados os atuadores. Assim, o sinal de excitação fica disponível na saída do computador até o processador escrever novamente nesse endereço, o que fará a intervalos regulares de tempo, gerando assim o sinal u[n]. Se os atuadores forem analógicos, nessa interface de saída deve ser conectado um conversor D/A, embora a maioria desses conversores já têm um circuito de latch interno e vêm prontos para serem acessados num endereço de entrada / saída determinado. Quer dizer, estritamente
41
falando, só é preciso uma interface de saída para tirar dados digitais quando os atuadores forem digitais. Quando os atuadores forem analógicos, com o conversor D/A é suficiente, devido a que o próprio conversor já tem a sua interface de saída interna. Tais interfaces de saída digital são utilizadas também para a conexão de dispositivos periféricos no computador. Por exemplo, para a conexão da impressora, é preciso uma interface de saída, conhecida como porta de impressora, onde ela deve ser conectada. O computador vai escrevendo periodicamente no endereço correspondente dessa interface os caracteres e a impressora os vai lendo simultaneamente. Para poder introduzir dados digitais dentro do controlador digital, é necessário um circuito conhecido como interface de entrada. Essas interfaces estão constituídas por um circuito integrado que, para cada entrada, contém apenas um buffer para separar os dados dos barramentos internos do computador. Esse buffer também pode ser acessado num determinado endereço de porta de entrada / saída. Assim, quando o processador precisa ler a resposta da planta y[n], a intervalos regulares acessa esse endereço e lê a saída desse buffer, lendo assim a resposta dos sensores digitais. Caso existam sensores analógicos, conversores A/D deveriam ser ligados numa interface de entrada, embora a maioria deles também vêm com seu próprio buffer e prontos para serem lidos num endereço de entrada / saída determinado. Portanto, estritamente falando, só é necessária a interface de entrada para introduzir dados digitais provenientes de sensores digitais, quando os dados forem analógicos, com o conversor A/D é suficiente, devido a que eles já têm internamente a sua própria interface de entrada. Às vezes a interface de entrada precisa também condicionar o sinal que entra no computador, em geral devido a que o sinal elétrico entregue pelos sensores pode não ter as características necessárias para ser lido por ele. Por exemplo, um sinal pode ser digital mas ter uma amplitude de 0V e 30V nos seus estados de 0 e 1, respectivamente. Nesse caso, a interface de entrada deve também condicionar esse sinal para entregar 0V e 5V, que são os níveis TTL com os quais os computadores (e a maioria dos sistemas digitais) trabalham. Isto implica que uma interface de entrada estará formada por um circuito condicionador de sinal e um buffer acessível num determinado endereço de entrada / saída do computador. Em geral, a interface de entrada e a interface de saída vêm num mesmo circuito integrado, onde inclusive existe num determinado endereço um registro de controle que permite programar qual porta desse circuito será de entrada de dados, e qual será de saída de dados. Esses circuitos serão analisados com mais detalhe no capítulo 3, onde também serão abordados os diferentes circuitos integrados utilizados. Finalmente, concluindo esta introdução a interfaces, deve se apresentar o tema de interfaces de potência. Algumas vezes a planta a controlar está constituída por um sistema eletrônico cujos níveis de tensão e corrente são compatíveis com os sinais elétricos entregues pelo processador digital, ou mais especificamente, pela interface de saída. Mas a maioria das vezes as plantas são sistemas eletromecânicos, que possuem motores ou algum outro tipo de atuadores cuja potência é muito superior àquela que pode ser fornecida pelo circuito integrado das interfaces. Nesses casos deve-se colocar uma outra interface ligada à de saída, cuja função é entregar a potência necessária para o funcionamento dos atuadores, sejam eles do tipo que for; essa outra interface é chamada genericamente de interface de potência. Quando o atuador é analógico, por exemplo um motor de corrente contínua ou um resistor de potência, o circuito integrado do conversor D/A, em geral, não é capaz de entregar a energia suficiente. A interface de potência seria, nesse caso, um simples
42
amplificador analógico, que pode ser de tensão ou de corrente, e que puxa essa energia de uma fonte de alimentação externa. Quando o atuador é digital, por exemplo um eletroímã, um motor de passo ou ainda um motor D.C utilizado em forma digital (liga – desliga), a interface de saída digital também não pode entregar a energia suficiente. Precisa-se, nesse caso, como interface de potência um circuito conhecido com o nome de driver digital. A configuração dele dependerá do tipo de atuador. Por exemplo, para poder ativar um eletroímã, uma configuração simples com um transistor de potência, que trabalhe em corte e saturação, ativando e desativando a bobina do eletroímã com um diodo de clamp, e tirando a energia de uma fonte de alimentação externa seria suficiente. Para um motor de passo, a interface de potência deveria ser um circuito capaz de gerar a seqüência de bits necessária para a rotação do eixo do motor, a não ser que essa seqüência já seja gerada pelo controlador ou por uma outra interface de saída, em cujo caso com drivers digitais como os descritos anteriormente seria suficiente. Se o atuador for pneumático, ou hidráulico, o driver deveria ser uma eletroválvula, também comandada por um transistor de potência configurado para trabalhar em corte e saturação, e a fonte de alimentação seria um compressor de ar, que entregaria o ar comprimido ao pistão pneumático, ou uma bomba que entregaria líquido para o pistão ou motor hidráulico. Enfim, o tipo e configuração do driver digital dependerá do tipo de atuador que deve alimentar, assim como a fonte de alimentação deverá fornecer o tipo de energia (elétrica, ar comprimido, líquido) necessária para o funcionamento adequado do atuador. O tema de interfaces de potência será analisado em detalhe no capítulo3, onde também serão abordadas diversas configurações típicas deles. Em resumo, o diagrama de blocos completo para um sistema de planta com atuadores digitais e analógicos, controlado por um processador digital seria:
43
\
Figura 2.25: Diagrama de blocos completo
2.4.10) Estratégias de controle Seguidamente serão apresentadas brevemente, e em forma mais qualitativa que quantitativa, algumas das estratégias mais comuns de controle de sistemas. Entende-se por estratégia o algoritmo de controle a ser implementado pelo controlador num sistema em malha fechada. Em malha aberta já foi especificado que a estratégia mais comum, conhecida a transferência da planta, é implementar a transferência inversa, quando isso for possível. 2.4.10.1) Controle ON – OFF: Esta estratégia de controle caracteriza-se por funcionar em forma inteiramente digital, isto é, a saída do controlador será sempre um sinal digital. A estratégia consiste simplesmente em, segundo o estado dos sensores, ativar ou não os atuadores. Uma aplicação típica desta estratégia é numa esteira transportadora movimentada por um motor D.C de torque e velocidade adequadas, com um sensor de presença de fim de curso inicial e um outro de fim de curso final, os quais podem ser sensores óticos digitais, por exemplo. O controlador deveria monitorar periodicamente o estado dos sensores, lidos através da interface de entrada digital. Quando se ativa o sensor de fim de curso inicial (indicando que foi depositada uma peça no início da esteira), o controlador ativa a saída digital da interface de saída onde está ligado o motor; quando se ativa o sensor de fim de curso final (indicando que a peça chegou no final da esteira),
44
o controlador desativa a saída digital onde está ligado o motor, detendo assim o movimento da esteira. Um outro exemplo é um controlador de temperatura com aquecedores digitais. O controlador deveria ficar monitorando o estado do sensor de temperatura. Quando o valor entregue por ele ultrapassa o valor da referência, simplesmente o controlador desliga o aquecedor, começando assim o esfriamento do sistema. Quando o valor de temperatura entregue pelo sensor cair por baixo do valor da referência, o controlador ativa o aquecedor, mantendo dessa maneira uma excursão no valor de temperatura do sistema cujo valor médio é o valor da temperatura de referência. Este tipo de controle pode ser implementado tanto por processadores digitais integrados (µprocessadores, µcontroladores, computadores, etc.) quanto por sistemas eletrônicos simples. Por exemplo, para o controle de temperatura descrito anteriormente, o controlador poderia ser um comparador analógico baseado num amplificador operacional, que recebe numa das suas entradas um sinal proporcional ao valor de referência, e na outra o valor entregue pelo sensor de temperatura. A saída do comparador deveria ser ligada a um driver digital baseado num transistor de potência configurado para trabalhar em corte e saturação, que teria como carga o aquecedor digital. O controle da esteira transportadora também pode ser implementado tanto por processadores digitais integrados, como por sistemas digitais conformados por portas lógicas ou flip – flops, e um driver transistorizado para ativar o motor, ou inclusive por um sistema de relays. Os controladores lógicos programáveis, ou CLP, muito utilizados na indústria, implementam em geral esta estratégia de controle, embora nos modelos mais avançados seja possível implementar estratégias mais complexas.
Figura 2.26: Sistema de controle de temperatura Se o controlador de temperatura, com controle ON – OFF, for implementado com um controlador digital, o programa de controle, na linguagem Pascal, poderia ser:
45
Uses sistema, crt; const ref = 40; Tamostragem = 50; var temp : integer;
{units com os comandos utilizados} {temperatura de referência} {período de amostragem} {variável para guardar temperatura lida do conversor A/D}
begin repeat temp := ReadAD; {leio temperatura} if temp< ref then LigarAquecedor; {é menor?, liga aquecedor} if temp> ref then DesligarAquecedor; {é maior?, desliga aquecedor} delay(Tamostragem) {espera 1 período de amostragem} until keypressed {saio ao pressionar uma tecla} end. 2.4.10.2) Controle proporcional (tipo P): Esta estratégia de controle consiste simplesmente em entregar na saída do controlador um sinal de excitação proporcional ao sinal de erro (referência menos resposta). Dessa maneira, o controlador em si mesmo é um sistema de ordem 0, cuja transferência é uma constante. Esta estratégia de controle pode ser implementada tanto por processadores digitais integrados quanto por circuitos eletrônicos simples baseados em amplificadores operacionais.
Figura 2.27: Controlador de ordem 0 y(t) / r(t) = K Tp / (1 + K Tp) ≅ 1
se K Tp >>> 1
É possível aplicar esta estratégia de controle num controlador de temperatura com aquecedores analógicos, por exemplo resistores de potência, onde a potência dissipada será proporcional ao quadrado da tensão elétrica aplicada. No caso do controlador ser analógico, poderia ser implementado com um simples amplificador diferencial que recebe numa das entradas o sinal da temperatura de referência, e na outra o sinal de resposta vindo do sensor de temperatura. Quanto maior for essa diferença, que é quando o sistema está frio, maior será a excitação entregue pelo controlador e portanto mais rapidamente aquecerá o sistema. Na medida que o erro vai diminuindo, também vai diminuindo a amplitude da excitação entregue pelo controlador, e portanto a potência dissipada pelos resistores, até a temperatura do sistema alcançar à de referência, em cujo caso a excitação é nula e portanto o sistema pára de aquecer.
46
Também é comum aplicar esta estratégia de controle no controle de posição de uma articulação mecânica, por exemplo na junta de um braço mecânico. Este tipo de sistemas podem ser implementados utilizando como atuador um motor D.C. de velocidade e torque adequados, e como sensor um potenciômetro resistivo linear, cujo cursor está ligado mecanicamente ao eixo do motor. Dessa maneira, o sinal entregue pelo potenciômetro é proporcional à posição do eixo do motor. Estes sistemas chamamse servo motores. Se o controlador utilizado for analógico, este pode estar constituído por um amplificador diferencial, que recebe numa das suas entradas o sinal da posição de referência e na outra a resposta da posição entregue pelo potenciômetro. O ganho do amplificador deve ser proporcional à transferência desejada para o controlador. Assim, quando a referência estiver por cima da posição do motor, o amplificador entregará um sinal de excitação positivo na saída que fará o motor girar no sentido adequado até alcançar a referência. Quando a posição do motor estiver por cima da referência, o amplificador entregará uma excitação para o motor negativa, de maneira tal que o motor girará em sentido contrário, diminuindo a resposta entregue pelo potenciômetro até alcançar a referência. Este tipo de configurações para servo motores freqüentemente encontram-se já prontas numa caixa fechada, com apenas uma entrada para o sinal de referência, além das entradas de alimentação.
Figura 2.28: Esquema de um servo motor analógico Se o controle proporcional for implementado com um controlador digital, o programa de controle, na linguagem Pascal, poderia ser: Uses crt, sistema; const
{units com os comandos Pascal utilizados}
47
K = 100; Tamostragem = 50; ref = 5;
{ganho do controlador} {período de amostragem} {nível de referência (constante neste caso)}
e, y, u : integer;
{sinais de erro, resposta e excitação}
var
begin repeat y := ReadAD; e := ref – y; u := K * e; WriteDA(u); delay(Tamostragem) until keypressed
{leio resposta do conversor A / D} {calculo erro} {calculo excitação} {escrevo sinal de excitação no conversor D/A} {espero um período de amostragem} {o controle termina ao pressionar uma tecla}
end. 2.4.10.3) Controle proporcional – integral – derivativo (controle PID): Neste tipo de controle a estratégia consiste em aplicar na planta um sinal de excitação proporcional ao erro, mais a função derivada dele, mais a função integral dele. Dessa maneira, a equação de controle resulta: u ( t ) = K p e( t ) +
Kp Ti
∫ e(t )∂t + K p Td
∂e( t ) ∂t
onde Kp, Ti, e Td são constantes de proporcionalidade. O diagrama de blocos do sistema total realimentado é:
Figura 2.29: Sistema controlado por um PID
O controle P I D é a estratégia de controle mais genérica e provavelmente uma das mais utilizadas. Fornece resposta rápida, bom controle de estabilidade do sistema e baixo erro de regime permanente. Tais vantagens acontecem devido a que o controle PID permite adaptar o sistema realimentado geral (sistema planta – controlador), quase que idealmente seja qual for o modelo da planta, sendo portanto adequado para satisfazer especificações técnicas exigentes mesmo com plantas de ordem superior, até maior do que 2.
48
Também este tipo de controle pode ser implementado em forma analógica, através de amplificadores operacionais que forneçam respostas proporcional, integral e derivativa, ou pode ser implementado através de processadores digitais integrados. Referências [1] Fu, González, Lee: Control, sensing, vision and intelligens. Mc. Graw – Hill. New York. 1997. [2] Spong, M. e Vidyasagar, M.: Robot dynamic and control. Wiley. New York. 1989. [3] Craig, J. J.: Introduction to robotics, mechanics and control. Addison – Wesley publishing company. 1955 [4] Arthur Critchlow: Introduction to robotics. Macmillan publishing company. New York. 1985. [5] Aström K. e Wittenmark B.: Computer – controlled systems. Theory and design. Prentice – Hall. USA. 1990. [6] Kuo, B. C.: Automatic control systems. Prentice – Hall, Englewood Cliff, 4° ed. NJ. 1982. [7] Coiffet, Philippe: Robot technology. Modelling and control. Vol. 1. Prentice – Hall. Englewood Cliffs. NJ. 1983. [8] Pazos, Fernando: Controle adaptativo/robusto em modo dual para robôs manipuladores. Tese de M.Sc., COPPE/UFRJ. Rio de Janeiro, RJ, Brasil. 2000.
49
Capítulo 3: Interfaces 3.1) Introdução Sejam dois sistemas que precisam trocar informação; sem perda nenhuma de generalidade, estes sistemas poderiam ser um computador e um ser humano, constituindo o primeiro um sistema eletrônico relativamente pouco complexo e o segundo um sistema biológico altamente complexo. Quando o ser humano fornece alguma informação ao computador ou tem acesso a alguma informação fornecida pelo computador, sem questionar como a informação chega ao computador, pode se afirmar que está havendo uma comunicação entre o computador e o homem. A forma como se apresenta esta informação é chamada de interface homem – máquina (ver figura 3.1). São exemplos desta interface as telas dos sistemas orientados a linhas de comando, prompts, janelas e telas de ambientes dos diferentes programas orientados a usuários, assim como os diferentes dispositivos utilizados para a introdução da informação no computador por parte do usuário. É trivial notar a importância de uma boa interface homem – máquina nos sistemas, devido a que esta interface é a fronteira entre o homem e o computador, e quanto mais intuitiva e mais clara seja a maneira como o computador fornece ou solicita uma informação, mais eficiente será o uso do programa por parte do usuário.
Figura 3.1: Interface homem - máquina É interessante notar os avanços tecnológicos dos dispositivos utilizados pela interface homem – máquina. Um exemplo desses avanços pode ser observado pelo surgimento no mercado dos think-pad’s, onde tentou-se criar uma interface que pareça mais natural para o homem. Nos think-pad’s escreve-se como se faz normalmente no
50
papel e o computador entende essa escrita. É claramente uma maneira bastante mais fácil e agradável de comunicar-se com a máquina. O mesmo princípio apresentado no primeiro parágrafo pode ser estendido à comunicação entre dois sistemas quaisquer. Entretanto, deve se observar que o conceito de interface não se atém somente aos sistemas eletrônicos, mas permeia muitas outras áreas da ciência, por exemplo a biologia. Uma interface define a forma como a informação é passada de um sistema para outro. Por exemplo, no computador pessoal existem, a princípio, as interfaces serial e paralela, além daquelas destinadas à comunicação com o usuário, às quais se somaram outras de tecnologia mais recente como a interface USB (Universal Serial Bus), que tende a ser a tecnologia padrão de comunicação entre a CPU e os diversos dispositivos periféricos. A interface serial é utilizada para a comunicação com vários dispositivos, notadamente o mouse; a interface paralela é utilizada normalmente para a comunicação com impressoras e scanners. Qualquer impressora que se adquira pode ser usada com o mesmo computador sem necessidade de modificá-lo. Isto acontece porque está definida uma forma de comunicação que é padrão para a transferência de dados entre um computador e uma impressora. Pelo tratado até aqui, pode se concluir que uma interface é uma forma de se comunicar, ou de transferir informação, além dos dispositivos que fazem essa comunicação possível. Referindo-se especificamente à comunicação de um robô, Critchlow define da seguinte maneira o conceito de interfaces: “Interfaces são as conexões do robô com o mundo externo para todos os propósitos.” Deve-se reparar que há casos em que as interfaces servem só para fornecer informação ou só para receber informação para e do mundo externo. As primeiras são chamadas de interfaces de saída e as segundas de interfaces de entrada. Exemplos delas são os casos de uma tela de computador e um mouse numa interface homem - máquina. Mas também existem interfaces que podem receber e fornecer informações: estas são chamadas de bidirecionais. Um exemplo de interface bidirecional pode ser encontrado nas placas de rede. Efetivamente, um computador ligado em rede fornece e recebe informações através da mesma interface, constituída pela placa de rede.
3.2) Um sistema genérico A comunicação de um sistema computacional genérico com o mundo externo pode ser exemplificada com o diagrama apresentado na figura 3.2.
51
Figura 3.2: Comunicação de um sistema genérico com o mundo externo Na figura apresentam-se duas interfaces, uma de entrada e outra de saída. Deve-se observar que tal classificação se corresponde com as funções das interfaces, e não com o lugar físico onde elas se encontram. Por exemplo, elas poderiam encontrar-se dentro do sistema genérico (como poderia ser uma placa inserida no slot de um computador), porém suas funções ainda assim estariam bem delimitas ou como entrada ou como saída de informação. Repare-se também num detalhe particular deste diagrama de blocos: as setas largas indicam energia e as finas informação. Serão diferenciados esses dois conceitos da seguinte maneira: entende-se por informação um sinal (em geral elétrico) que de alguma maneira contém dados úteis, os quais podem ser digitais ou analógicos, mas são sempre sinais de baixa potência; por energia entende-se um fluxo de algum tipo de energia (em geral elétrica, mas também poderia ser mecânica, como no caso de um fluido pressurizado que se desloca através de um duto), e que é utilizado principalmente para alimentação de atuadores. Será utilizado este padrão no restante do capítulo. Existem então duas representações definidas:
Para representar energia utilizam-se setas largas. Para representar informação utilizam-se setas finas. Observe-se que não foi afirmado que toda interface de saída fornece exclusivamente energia, o apresentado foi apenas um exemplo, existindo interfaces de saída que fornecem informações (como no caso da interface de impressora já mencionado).
52
Em determinados casos, para permitir a comunicação, as interfaces também devem condicionar os sinais que recebem de um sistema para que possam ser entendidos por um outro sistema. Colocando como exemplo o caso das portas serias; existem diversos padrões de comunicação serial, entre os quais podem ser mencionados o RS-232, ou o RS-485. Mas para que a comunicação seja bem sucedida ambos os sistemas devem utilizar o mesmo padrão. É o mesmo caso de uma linguagem, os sistemas devem ser capazes de se entender. E é essa a função de uma interface. Por exemplo, seja um sensor digital que quando ligado entregasse 15V na saída, e quando desligado –15V, este sinal não poderia ser tratado diretamente por um computador, devido a que os níveis de tensão com os quais o computador trabalha são completamente diferentes; para isso é necessário condicionar o sinal, e esta é uma das funções das interfaces.
3.3) Interfaceando com sensores Os sensores são ligados às interfaces de entrada no caso do sistema genérico proposto. Como foi especificado, elas devem ser capazes de traduzir o sinal do sensor para um sinal que o computador possa interpretar. É interessante analisar a razão da necessidade da tradução. Suponha-se que se deseja monitorar a temperatura de uma caldeira. Pode se colocar algum sensor de temperatura e monitorar sua saída. A questão é que nesse caso, a grandeza mensurada é analógica, e o sensor provavelmente forneça uma resposta analógica. Se o objetivo for monitorar a temperatura com um computador, então será necessário um circuito que converta o sinal analógico em digital. Este último circuito é conhecido como um conversor A/D, analógico para digital e será tratado posteriormente. Um digrama do sistema descrito neste parágrafo pode ser observado na figura 3.3.
Figura 3.3: Caldeira com sensor de temperatura Este é apenas um exemplo de conversão necessária. É comum que os sensores comerciais estejam equipados com saídas nas condições adequadas para o sistema, isto é, podem vir com conversores internos eliminando a necessidade de converter o sinal na interface de entrada. Mas na ocorrência disto, em geral eles são comercializados com determinado tipo de interface de comunicação, muitas vezes nos padrões RS-485 e RS232.
53
3.4) Circuitos condicionadores de sinal Um circuito condicionador de sinal é um dispositivo, em geral eletrônico, que tem como função transformar o sinal entregue por um sensor para fornecer um outro sinal nas condições adequadas para ser lido pelo controlador (ou por uma outra interface) e que contém a mesma informação. 3.4.1) Amplificadores condicionadores de sinal Suponha-se um sensor que entrega na sua saída um sinal analógico, de amplitude mínima 0V e amplitude máxima 30V, que é um caso bastante comum. Para que esse sinal possa ser entendido por um controlador digital, deve ser conectado a um conversor A/D, como já foi mencionado. Agora suponha-se que a amplitude máxima de entrada do conversor é 5V e a mínima de 0V; nesse caso, antes do sensor ser ligado ao conversor A/D, deve passar por um circuito condicionador de sinal, que tem como função reduzir a amplitude do sinal fornecido. Obviamente, neste exemplo um simples divisor resistivo de transferência 1/6 e com impedâncias de entrada e saída adequadas resolve o problema. Mas suponha-se agora o caso de um sensor analógico que entrega na sua saída um sinal com amplitudes que podem variar entre –15V e +15V. Nesse caso, além de reduzir a amplitude, deve-se elevar o nível do mínimo para 0V, para poder ser conectado no conversor A/D do exemplo anterior. Um circuito ativo conformado por um amplificador operacional, tal como o mostrado na figura seguinte, condicionaria o sinal adequadamente.
Figura 3.4: Circuito ativo condicionador de sinal
54
Considerando sempre o amplificador operacional como ideal, isto é, ganho infinito, impedância de entrada infinita, e impedância de saída nula, chega-se aos seguintes resultados: Tensão na entrada inversora é de V- = 15V * 5R / 35R = 2.14V, A tensão de saída Vout = V- + (V- - Vin) * 1R / 6R Assim, quando a tensão de entrada é de –15V, a tensão de saída será Vout = 5V. Quando a tensão de entrada é de 15V, a tensão de saída será Vout = 0V. Para qualquer outro valor, a relação entre a tensão de saída e a tensão de entrada é linear. Observe-se que este amplificador é inversor, quer dizer que para tensão de entrada mínima o sinal de saída apresentará seu valor máximo, e para tensão de entrada máxima, o sinal de saída apresentará seu valor mínimo. Isto pode ser corrigido por software no controlador, invertendo a leitura do conversor A/D, ou na saída do circuito condicionador pode ser ligado um buffer inversor antes de entrar no conversor A/D. Seguidamente será apresentado o conceito de buffer. 3.4.2) O conceito de buffer O buffer é um circuito eletrônico utilizado para amplificar pequenas correntes mantendo o nível de tensão. São circuitos com ganhos de tensão unitário, porém com ganhos de corrente maiores que 1. Além disso, são utilizados para adaptar impedâncias, devido a que apresentam uma alta impedância de entrada e uma baixa impedância de saída, não carregando assim os estágios anterior e posterior. Um circuito básico para realizar esta função é apresentado na figura 3.5.
Figura 3.5: Buffer de ganho unitário. Seu ganho de tensão é dado por: Vo = A(Vi − Vo) Vo + AVo = AVi ViA Vo = ≈ Vi 1+ A Vo ≈1 Vi Devido a que se considera o ganho do amplificador operacional A >>1.
55
No caso de querer inverter o sinal de entrada, como era necessário no exemplo anterior, pode ser utilizada a seguinte variação do buffer anterior:
Figura 3.6: Buffer inversor O qual possui ganho igual a –1. Os buffers das figuras 3.5 e 3.6 podem ser utilizados com entradas tanto analógicas quanto digitais. Existem buffers exclusivamente digitais conhecidos com o nome de buffer tristate, ou de três estados. 3.4.2.1) Tristate buffer: O buffer tristate é um buffer digital que possui, em geral, as mesmas características daquele descrito no item anterior. Sua peculiaridade é uma linha de controle que permite que não forneça sinal nenhum na sua saída, isto é, não apresente nem um estado “0” nem um estado “1”, mas apenas uma alta impedância, estado chamado de “Z”. Um símbolo e sua tabela de verdade podem ser observados na figura 3.7.
Figura 3.7: Símbolo do buffer tristate e sua tabela de verdade Isto possibilita que sejam ligados vários circuitos digitais num mesmo barramento, como é feito nos computadores. O buffer só entregará algum sinal na saída quando for habilitado através da linha output enable, se isto não acontecer, ele não entrega sinal
56
nenhum apresentando alta impedância na saída e funcionando como se não estivesse conectado no barramento. 3.4.3) Ponte de Wheatstone Em muitos casos, os sensores não entregam na sua saída um sinal elétrico analógico, o qual, como foi mencionado, pode ser condicionado adequadamente para ser lido por um conversor A/D, mas apresentam apenas uma característica física de leve mudança com respeito à grandeza física mensurada. Esta característica física pode ser uma resistência, uma capacidade, entre outras. É o caso dos sensores de temperatura de resistência de platina, por exemplo, que para grandes variações de temperatura apresentam pequenas variações lineares de resistência. Os amplificadores condicionadores de sinal não são adequados para tratar esse “sinal”, a variação da resistência. O circuito mais utilizado para converter uma pequena variação de resistência (ou ainda de capacidade) numa variação de tensão é o circuito conhecido como ponte de Wheatstone. O esquema dele é o seguinte:
Figura 3.8: Ponte de Wheatstone A tensão de saída V0 estará dada por
Vo =
R 1R 3 − R 2 R 4 V (R 1 + R 2 )(R 3 + R 4 ) in
admitindo a tensão de entrada Vin constante.
57
Se agora se admitisse que o valor de três desses resistores são iguais e de um valor genérico R, e o quarto desses resistores, por exemplo R1, possui uma pequena variação ao redor desse valor R, o que pode ser expressado como R1 = R + ∆R, podendo ser esse ∆R positivo ou negativo, mas sempre assumindo que ∆R<<R, se obtém:
V0 =
∆R Vin 4R + 2∆R
Observa-se que a variação de V0 com ∆R não é linear. Essa relação não linear é ilustrada no seguinte gráfico:
Figura 3.9: Relação entre a variação da tensão de saída e a variação da resistência sobre o braço ativo Mas aceitando que o valor ∆R<<R, o qual implica uma excursão sobre a curva anterior de pequena amplitude ao redor do ponto ∆R=0, pode se assumir:
V0 = ∆R
Vin 4R
Concluindo que a tensão de saída é proporcional à variação da resistência sobre o braço ativo, no qual, obviamente, encontra-se o sensor cuja variação deseja ser medida.
58
3.4.4) Amplificador diferencial e amplificador de instrumentação O sinal de saída de uma ponte de Wheatstone, em geral é de pequena amplitude, como pode ser deduzido da fórmula anterior, devido a que ∆R<<R. Em muitos casos, antes de enviar o sinal analógico à entrada de um conversor A/D, este deve ser amplificado. Uma característica importante que deve observar o amplificador utilizado, é que o sinal de entrada não está referido a terra, como pode ser observado na figura 3.8. Para tal fim é utilizado um amplificador diferencial, cujo esquema é mostrado na figura seguinte:
Figura 3.10: Amplificador diferencial O ganho do amplificador estará dado pela relação entre a tensão de saída com respeito à terra e a tensão de entrada diferencial, isto é, a diferença entre as tensões das duas entradas com respeito à terra, que na figura 3.10 foi denominado Vin.
V0 = - R2 / R1 Vin O amplificador de instrumentação é um tipo de amplificador diferencial que possui as seguintes características:
Alta impedância de entrada. Baixa impedância de saída. Alta taxa de rejeição ao ruído. Entrada diferencial.
Este circuito amplifica o sinal fornecido pelo sensor, ou por uma ponte de Wheatstone, e o entrega ao sistema, normalmente a um conversor A/D. Uma configuração típica de um amplificador de instrumentação pode ser vista na figura 3.11.
59
Figura 3.11: Amplificador de instrumentação Seu ganho é dado por:
G=
R4 R3
2R 2 1 + R1
Deve ser ressaltado que estes circuitos não são muito utilizados em sistemas de robótica, porém são amplamente utilizados em sistemas de instrumentação de laboratório e de instrumentação médica. Amplificadores de instrumentação também existem em circuitos integrados, tal como mostrado na figura seguinte:
60
Figura 3.12: Amplificador de instrumentação integrado
3.5) Interfaceando com atuadores Suponha-se agora que, além de monitorar a temperatura de uma caldeira, se desejasse controlá-la, isto é, fazer com que apresente uma temperatura desejada. Necessitaria-se fornecer à caldeira mais ou menos calor conforme o caso. Isto evidentemente envolve o fornecimento de energia térmica para a caldeira através de um atuador adequado, no caso um aquecedor. Os sistemas de controle são projetados para operar com baixas potências, pois isto os torna mais econômicos e estáveis. Então é necessário antes de aplicar os sinais de controle ou de comando sobre os atuadores, para que estes atuem sobre o sistema, amplificá-los. Amplificar os sinais significa aumentar sua potência, a taxa de transmissão de energia. Para realizar a função de amplificar os sinais utilizam-se circuitos chamados interfaces de potência. Sua função é amplificar a potência dos sinais provenientes da interface de saída para aplicá-los sobre os atuadores que acionarão a planta – sistema que se deseja controlar. As características da interface de potência a ser utilizada depende das características do atuador. É importante salientar que uma interface de potência nem sempre está conformada por um circuito eletrônico, podendo ser um dispositivo que trabalha com outros tipos de energia. Por exemplo, para acionar um atuador hidráulico poderia ser necessária uma eletroválvula, que é um dispositivo eletromecânico. Na figura 3.13 observa-se um diagrama que inclui os três tipos de interfaces até aqui mencionadas.
61
Figura 3.13: Função das diversas interfaces Cabe ressaltar que as posições das interfaces na figura não são representativas de seu lugar físico mas sim de sua função no sistema. Pode se modificar assim o sistema da figura 3.3 para incorporar o aquecimento da caldeira.
Figura 3.14: Caldeira com sensor de temperatura e controle da mesma Os fatos fundamentais até agora discutidos a respeito das características genéricas das interfaces são: Interfaces de potência fornecem energia. Interfaces de saída e de entrada lidam com informação. Seguidamente, serão apresentadas algumas das interfaces de potência mais utilizadas para o fornecimento de energia aos atuadores.
62
3.5.1) O conceito de driver Um driver é um circuito digital que amplifica um sinal digital de baixa potência, permitindo ativar ou desativar um atuador digital, mas que trabalha com maiores níveis de energia do que a interface de saída pode fornecer.
Figura 3.15: A função do driver. Pode se observar nesta figura a padronização que vem sendo utilizada até o presente momento de setas finas para informação e largas para energia. 3.5.1.1) Um driver simples transistorizado: Será apresentado nesta seção um exemplo de um projeto de driver conformado por um estágio transistorizado, o qual recebe como entrada um bit com níveis de tensão TTL compatíveis, e entrega a tensão e corrente adequadas para o funcionamento do atuador. Este driver é utilizado no controle do tipo ON-OFF. Seu objetivo é que quando existir um estado ‘1’, ou 5V, na saída da interface, seja ligado o atuador, e quando a saída da interface apresentar um estado ‘0’, ou 0V, o atuador seja desligado.
Figura 3.16: Driver simples transistorizado Na figura 3.16 observa-se o circuito deste driver simples. Coloca-se para a carga uma lâmpada só a título de exemplo, poderia estar carregado com um motor ou algum outro tipo de atuador. O transistor Q funcionará em corte e saturação, ficando em corte quando na entrada tiver 0V, e em saturação quando na entrada tiver 5V, ativando assim a lâmpada. As equações básicas são as seguintes:
Il =
(Vcc − Vcesat ) Rl
63
onde Vcesat é a queda de tensão de coletor a emissor na saturação, Rl é a resistência do atuador, e Vcc é a tensão de alimentação, que deve ser de amplitude suficiente para alimentar o atuador. Sabendo que as correntes do transistor são relacionadas pela equação:
I c = βI b E a corrente no coletor do transistor é a mesma que na carga, conclui-se que Rb deve ser dimensionado de acordo com:
Rb =
β(Vi − Vbe ) Ic
Como a tensão de entrada do circuito (Vi) é a tensão de saída de um porta TTL, pode ser considerada como sendo 5V, e a queda de tensão de base para emissor (Vbe) é aproximadamente 0,7V; então Rb:
Rb =
β(5 − 0.7) Ic
3.5.1.2) Um driver para relay: O circuito apresentado anteriormente só pode se utilizar para alimentar atuadores de corrente contínua (como era o caso da lâmpada). No caso de utilizar um atuador de corrente alternada, mesmo que ele exija tensão de linha (110V) para funcionar, este pode ser ativado através de uma chave eletromagnética, também conhecida como relay.
Figura 3.17: Driver para relay Observe-se que o circuito é basicamente o mesmo que o anterior. Apenas foi colocado um diodo inversamente polarizado em paralelo com o relay. Tal procedimento é utilizado para proteger o transistor quando o relay é desligado, assim a energia armazenada nele descarrega pelo diodo.
64
Este diodo é chamado de diodo de clamp e deve ser utilizado sempre que for colocada uma carga indutiva no coletor do transistor, tal como exemplificado na figura 3.18.
Figura 3.18: Circuito para ativar um motor, mostrando o diodo de clamp 3.5.2) Estágio de saída Totem-Pole Os drivers apresentados até aqui, apresentam dois estados possíveis na sua saída, estado ‘1’, ou VCC (quando o transistor está saturado), e alta impedância (quando o transistor está em corte). Mas em caso nenhum ligam o atuador à terra, como pode ser necessário que aconteça em alguns casos. Seguidamente, será apresentado um típico estágio de saída de amplificadores que, efetivamente, fornece na sua saída VCC ou GND, dependendo do estado da sua entrada.
Figura 3.19: Saída totem-pole
65
Deseja-se que quando a entrada for ‘1’, o transistor Q1 esteja saturado e o transistor Q2 cortado, ligando assim a saída a VCC. Quando a entrada for ‘0’, o caso contrário, o qual ligaria a saída a GND ou 0V. Observe-se a presença dos diodos de clamp na estrutura acima. Tal saída pode ser implementada na sua totalidade com um circuito como o apresentado na figura 3.20.
Figura 3.20. Interface de potência totem-pole A estrutura da figura 3.20 realiza o proposto. Seguidamente serão mostradas algumas das utilidades da saída totem-pole. Se o objetivo for controlar o sentido de rotação de um motor DC podem ser utilizadas duas saídas totem-pole, fazendo circular pelo motor correntes de sentidos diferentes, invertendo assim o sentido de rotação, tal como ilustrado na figura 3.21. Este estágio de saída é conhecido também com o nome de ponte H.
66
Figura 3.21. Controlando o sentido de rotação de um motor DC com duas saídas totem-pole Através dos bits aplicados nas entradas dos amplificadores de potência pode se escolher o sentido de rotação do motor, ou ainda fazer com que ele fique parado, no caso em que ambas entradas estejam no mesmo estado. O seu sentido de rotação dependerá da direção da corrente que passa pelo mesmo que por sua vez depende da diferença de potencial aplicada no motor. 3.5.3) Amplificador de corrente Nos circuitos para interfaces de potência vistos até agora percebe-se claramente que as funções básicas são: • Chavear (ligar ou desligar) uma certa tensão. • Amplificar a corrente de forma a fornecer a corrente necessária ao atuador. Nas interfaces de potência para atuadores analógicos, existe o mesmo princípio, após o conversor D/A é preciso colocar um amplificador de corrente a fim de fornecer a energia necessária ao atuador. Não serão analisados detalhes a respeito deste circuito, mas apenas apresentado um esquema representativo dele e suas equações.
67
Figura 3.22: Símbolo do amplificador de corrente Seus ganhos são dados por:
Av =
Vo =1 Vi
Ai =
Io ≥1 Ii
Onde: Av = Ganho de tensão Ai = Ganho de corrente
3.6) Interface paralela A interface paralela constitui a forma mais usual do computador se comunicar com o mundo externo. Ela é, portanto, a primeira interface para entrada e saída de dados do computador. Numa interface paralela os bits de informação fluem simultaneamente. Para cada bit existe um canal independente, ao contrário do que acontece numa interface serial onde um mesmo canal é utilizado para vários bits. Assim, por exemplo, quando se utiliza uma interface paralela para transmitir um byte de informação existem oito linhas de dados, e por cada uma delas transmite-se um bit. Tal característica ilustra-se no digrama dos sinais no tempo para os bits de uma interface paralela apresentado na figura 3.23.
68
Figura 3.23: Diagrama de tempo para os canais de uma porta paralela Portanto, a cada instante de tempo existem os seguintes bytes na saída (tabela 1): tn t1 t2 t3 t4 t5
b7 b6 b5 b4 b3 b2 b1 b0 0 1 0 0 1
0 0 1 0 0
1 1 0 0 1
1 0 1 0 1
1 0 0 1 1
1 0 1 0 0
0 1 0 1 1
1 0 1 1 0
Tabela 1 – Valores dos bytes nos instantes de tempo para a figura 3.23 Neste exemplo, observa-se que a cada instante de tempo há 8 bits (1 byte) de informação presentes na porta paralela. As portas paralelas podem ser de saída, de entrada, ou bidirecionais (saída e entrada); é o caso da porta de impressora nos computadores, que pode ser utilizada tanto para leitura como para escrita de dados. Ao escrever um dado, a porta funciona como saída, que é o que acontece quando é enviado um caracter à impressora, ao ler um dado, a porta funciona como entrada, como acontece ao ler a informação de um scanner. Seguidamente serão apresentados os circuitos integrados mais freqüentemente utilizados nas portas paralelas.
69
3.6.1) PIO A indústria eletrônica fornece vários dispositivos capazes de realizar a comunicação ou interface através de portas paralelas; são os chamados PIO – parallel input/output ou programmable input/output. Eles possuem algumas características básicas, a saber: 1. As funções da lógica de controle são programáveis para cada porta. Ex.: é possível especificar a linha que se deseja utilizar para realizar o handshaking de comunicação, a direção da porta, sua função, além de outras características. 2. Uma PIO possui linhas de dados programáveis, isto é, pode-se especificar individualmente a direção de uma linha de dados, como entrada ou como saída. Isto às vezes não é possível individualmente, mas sim como grupos de linhas de dados (por exemplo, programar cada byte de dados individualmente). Existem diversas PIO’s na indústria; alguns exemplos são Motorola 6820 PIA – Peripherical Interface Adapter, e INTEL 8255 PPI – Programmable Peripherical Interface. Entretanto, é possível especificar uma estrutura interna geral para as diversas PIO’s, a pesar das diferentes características particulares de cada uma. Esta estrutura é apresentada na figura 3.24. As funções dos principais blocos são: 1. Registro de buffer de dados – data-buffer register – Este registro acumula os dados de entrada/saída das oito linhas (caso cada porta seja de 1 byte) de E/S. 2. Registro de direção – direction register – Um “1” ou “0” escrito na posição de um bit deste registro identificará a linha correspondente como entrada ou saída. 3. Registro de controle – control register – Este registro armazena os bits de controle enviados pelo microprocessador para a porta. Estes bits especificam os diversos modos de operação possíveis. 4. Registro de endereços – address register – Utiliza-se para selecionar os diferentes registros a serem acessados pelo microprocessador, os quais se localizam em diferentes endereços de entrada / saída do computador. Antes de utilizar uma PIO para transmissão de dados, o microprocessador deve configurá-la, realizando duas operações básicas: 1. Especificar o modo: carregar o registro de controle especificando o modo em que os sinais de controle operarão ou serão gerados. 2. Especificar a direção da linha: armazenar no registro de direção das portas se as mesmas funcionarão como entradas ou como saídas.
70
Figura 3.24: Estrutura interna de uma PIO genérica 3.6.1.1) Os chips PIA 6820 e PPI 8255: Seguidamente serão apresentados, em forma conceitual, os circuitos integrados mencionados, com ênfase no segundo por ser da linha INTEL, compatível com os computadores da linha IBM PC; mais detalhes podem ser encontrados nas folhas de dados específicas. Seus esquemas podem ser observados nas figuras 3.25 e 3.26, respectivamente.
71
Figura 3.25: A PIA Motorola 6820
72
Figura 3.26: PPI INTEL 8255 A PIA 6820 possui duas portas de 8 bits, programáveis bit a bit como entrada ou saída de informação, e a possibilidade de ser programada para ativar interrupções dado um certo bit de entrada ativo. A PPI 8255 possui três portas de 8 bits cada, chamadas de A, B e C. As portas A e B podem ser programadas como entrada ou saída de informação, e a porta C pode ser programada por metades, isto é, um nibble como entrada e o outro como saída. Existem três modos básicos de operação, incluindo handshaking. A tabela 2 mostra os endereços relativos de cada registro da PPI.
Porta A – End. Base + 00H Porta B – End. Base + 01H Porta C – End. Base + 02H Registro de controle PPI – End. Base + 03H Tabela 2 – Endereço dos registros das PPI’s
73
Para programar o registro de controle deve ser escrito um dado específico em cada bit dele, de forma de programar o modo de operação das portas. Existem 3 modos de operação 0,1,2 (modo 0 – entrada/saída básico; modo 1 – entrada/saída controlada; modo 2 – bidirecional). A porta A pode funcionar em qualquer um dos três modos, mas a porta B só nos modos 0 e 1. A porta C pode ser dividida também em duas portas de quatro bits, podendo-se programar cada um dos nibbles para funcionar numa direção (entrada ou saída). A seguinte figura ilustra o conteúdo do registro de controle:
Figura 3.27: Registro de controle do 8255 Pode-se utilizar também os bits da porta C para gerar interrupções. Para mais informações sobre os diferentes modos de funcionamento de cada porta, ver a folha de dados específica. 3.6.2) Os sinais TTL Os computadores da linha IBM PC trabalham com sinais digitais, como já foi mencionado. Seus circuitos reconhecem como um estado ‘1’ uma tensão elétrica de 5V, e um estado ‘0’, uma tensão de 0V. Porém, diante de outros níveis de tensão elétrica, eles podem reconhecer algum dos dois estados, segundo um padrão previamente adotado, que define os níveis TTL (lógica transistor – transistor). Os circuitos integrados TTL são uma família de circuitos lógicos digitais, que se popularizou devido a seu baixo custo de produção e versatilidade. Devido à sua popularidade os níveis de referência desta família de circuitos integrados viraram padrão para várias aplicações. Como foi mencionado, as entradas e saídas da PPI 8255 correspondem a estes níveis de tensão, assim como as da porta paralela de qualquer PC. Os níveis de referência para entrada de informação são ilustrados na figura 3.28.
74
Figura 3.28: Níveis de entrada para portas TTL Pode-se observar que acima de 2V de entrada a porta considera o sinal como sendo de valor lógico “1” e abaixo de 0.8V como sendo de valor lógico 0. Entre estas duas faixas existe o que pode se denominar como zona proibida, pois o circuito não será capaz de identificar o seu valor lógico. As tensões de saída que podem entregar as portas TTL estão ilustradas na figura 3.29. Cabe salientar que estes níveis correspondem aos piores casos possíveis.
Figura 3.29: Níveis de saída para portas lógicas TTL 3.6.3) Modelo da porta de entrada Cada bit de entrada de uma porta paralela entra num circuito que pode ser representado através do seguinte esquema:
75
Figura 3.30: Latch e tristate buffer para uma linha de entrada da porta paralela Um latch é um circuito capaz de armazenar por tempo indeterminado um dado existente na sua linha de entrada, assim como uma memória de 1 bit; fisicamente, eles são construídos com flip-flop’s, e a linha de controle que habilita o armazenamento do dado é chamada de gate ou strobe. Em muitos casos, na saída de um latch é colocado um driver, com a função de incrementar a potência do sinal transmitido. Através do gate armazena-se na porta o valor presente na entrada, e através do select apresenta-se o resultado disponível no bus do microcomputador. Este circuito com latch poderia ter sido exemplificado com qualquer flip-flop. Outro detalhe é que o latch normalmente é projetado para realizar o armazenamento de informação nas bordas de subida ou de descida do pulso de gate. Por tal razão esses circuitos são chamados de edge-triggered, ou disparados na borda. 3.6.4) Modelo da porta de saída Nas portas de saída existe um circuito semelhante, tal como apresentado na figura 3.31, onde invertem-se a entrada e a saída do circuito.
Figura 3.31: Circuito para um bit de saída de uma porta paralela
76
3.7) Interface Serial Numa porta serial, a diferença do que acontece na porta paralela, existe apenas um canal de informação, por onde os bits são enviados em série, um atrás do outro, daí o nome de interface ou porta serial. Um diagrama de tempo dos sinais dela pode ser visto na figura 3.32. Observe-se que os bits fluem através do canal um após o outro, e lendo seqüencialmente os bits pode se recuperar a mensagem enviada.
Figura 3.32: Diagrama de tempo dos bits numa porta serial No exemplo apresentado, foi transmitido pelo canal o byte: 01011010. Percebe-se facilmente que os 8 canais da porta paralela descrita anteriormente possuem a mesma capacidade da porta serial, mas a anterior seria oito vezes mais rápida que esta, por transmitir os 8 bits à vez. Porém, o empecilho se apresenta no fato de que a porta paralela necessita mais meios físicos para transportar os dados que a serial, ficando assim mais cara. 3.7.1) Características da comunicação serial O tempo de duração de um bit no canal é definido pelo período T. Está é uma medida importante pois determina a velocidade de transmissão, que pode ser especificada em bits/seg., e é dada por: Vel =
1 T
É importante não confundir esta medida com bauds por segundo (BPS), muito utilizada atualmente para quantificar velocidades de comunicação em redes. Bauds por segundo indica o número de símbolos transmitidos num segundo e não o número de bits. A diferença está em que um símbolo pode ser representado por mais de um bit. As duas medidas só serão iguais quando um símbolo for equivalente a um bit, nesse caso, o conjunto composto destes símbolos é chamado de binário. Caso um símbolo corresponda a dois bits então teremos um alfabeto de quatro símbolos e este é chamado de quaternário. No exemplo da figura 3.32 são considerados os 8 bits como fazendo parte de uma mesma palavra, isto equivale a considerar palavras de oito bits. Mas, dependendo do código da informação transmitida, é possível ter palavras de 5, 6, 7 ou 8 bits. O comprimento da palavra recebe o nome de word length, e este é normalmente configurável nas diversas portas, ou interfaces, seriais.
77
Mas surge um problema: suponha-se que dois sistemas desejam se comunicar via porta serial como é mostrado na figura 3.33. Quando um sistema sabe que o outro está enviando informação?
Figura 3.33: Dois computadores comunicando-se via porta serial. Para indicar o início ou fim de uma palavra utilizam-se os chamados start-bit e stop-bit, respectivamente bit de início e bit de fim. Com eles o sistema que está recebendo a informação pode identificar quando alguma palavra está chegando e quando a mesma acabou. Isto serve para realizar a sincronização dos dois sistemas que estão conectados possibilitando assim a comunicação entre eles. Assim, ao ser enviada uma palavra, o sinal teria uma forma como a representada na figura 3.34. O tempo de duração dos start-bit e do stop-bit normalmente são um múltiplo inteiro do tempo de duração de um bit mais uma fração do mesmo, de forma tal que o receptor possa identificá-los como tais e não como mais um bit da palavra. Sua duração também é configurável, assim como os bits de dados.
Figura 3.34: Start bit e stop bit Existe ainda uma outra característica nas comunicações via portas seriais que é importante mencionar, é o chamado bit de paridade. Este é uma redundância acrescentada à palavra a transmitir para facilitar a detecção de erros na transmissão e, caso eles ocorram, fazer com que a palavra seja retransmitida. É importante enfatizar que este é um esquema detetor de erros e não corretor. Seu princípio é muito simples: fazer com que o número de bits “1” (em nível lógico “1”) da palavra transmitida seja sempre par, ou sempre ímpar. Esses esquemas são chamados, respectivamente, de paridade par e paridade ímpar. Nas tabelas 3 e 4 são mostrados exemplos do valor que deve receber esse bit de paridade.
78
b 7 b6 b5 b4 b3 b2 b1 b0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0
bp 1 1 0 1 0
Tabela 3. Exemplos para paridade par – bp = bit de paridade par b 7 b6 b5 b4 b3 b2 b1 b0 bi 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1
Tabela 4. Exemplos para paridade ímpar – bi = bit de paridade ímpar O princípio do bit de paridade ou da paridade é muito utilizado em sistemas digitais e não só em comunicações via portas seriais. Para gerar o bit de paridade (no caso de paridade par), é só implementar o seguinte algoritmo: 1. 2.
Contar o número de “1”’s (uns) na palavra a ser transmitida. Se o número acima for par o bit de paridade é “0” se for ímpar é “1”.
No caso de paridade ímpar devem-se inverter os valores do bit de paridade acrescentado. Seguidamente será apresentado um exemplo ilustrativo de como o receptor pode identificar o erro, no caso de adotada a paridade par. Suponha-se que o transmissor enviou a seguinte palavra: b 7 b6 b5 b4 b3 b2 b1 b0 bp 0 0 1 1 1 1 0 1 1 e o receptor recebeu: b 7 b6 b5 b4 b3 b2 b1 b0 bp 0 0 0 1 1 1 0 1 1 Ao receber esta palavra o receptor conta o número de ‘1’, se ele for par, conclui que a palavra foi correta, se ele for ímpar, conclui que houve um erro de transmissão, como acontece no exemplo apresentado. Observe-se que essa contagem não é conclusiva, devido a que se dois bits estiverem errados, o método fracassa porque o receptor vai supor o dado transmitido como certo, o mesmo acontecendo se apenas o bit de paridade for o errado, nesse caso o receptor vai supor o dado errado estando ele certo.
79
Logo, conclui-se que esta não constitui uma solução definitiva para detectar e corrigir erros nas transmissões, há esquemas mais modernos e complexos. Mas a paridade é implementada em hardware nos dispositivos responsáveis por comunicações seriais, e é o princípio para entender os outros esquemas. As interfaces seriais normalmente são utilizadas para fazer a comunicação entre equipamentos, sistemas, robôs, etc. Há diversos padrões que são utilizados como o RS232, RS-170, RS-485, RS-423, RS-422, IEEE 488. O RS-232 normalmente é utilizado para comunicação de dados e o IEEE 488 para instrumentação. 3.7.2) UART’s e USART’s São circuitos integrados dedicados para a realização de interfaces seriais. UART é composto das iniciais de Universal Asyncronous Receiver Transmitter e USART vem de Universal Syncronous-Asyncronous Receiver Transmitter. Tais circuitos têm como função converter uma entrada paralela numa saída serial. A UART é uma interface assíncrona, e é normalmente usada para baixas a médias velocidades de operação, a USART é utilizada em alta velocidade de transmissão. Um exemplo destes circuitos integrados, um diagrama da USART 8251, é mostrado na figura 3.35.
Figura 3.35: Entradas e saídas da USART 8251 3.7.3) Interfaces seriais com padrões TTL Os circuitos anteriormente descritos possuem facilidades de programação e de lógica que permitem implementar interfaces seriais de maneira simples. Mas, os níveis
80
de tensão adotados pelo padrão RS-232 são diferentes dos níveis TTL. A tabela 5 mostra uma comparação entre esses diferentes níveis de tensão. Lógico 0 1
TTL 0V 5V
RS-232 +12V -12V
Tabela 5. Comparação entre níveis lógicos TTL e da RS-232C Portanto, caso se deseje projetar uma interface de comunicação serial padrão RS232, sem utilizar os chips mencionados na seção anterior, precisa-se de drivers que convertam os níveis de tensão TTL para os níveis de tensão RS-232 e vice-versa. O circuito com os drivers para a RS-232 pode ser visto na figura 3.36. Cabe salientar que cada padrão possui uma peculiaridade quanto aos níveis de tensão com que trabalham, os quais não serão tratados aqui.
Figura 3.36: Interface TTL→RS232C e RS232C→TTL A linha RS-232 oferece um caminho unidirecional de transmissão de dados, portanto, para fazer comunicações bidirecionais são necessários pelo menos dois fios de transmissão, ponto a ponto, para uma distância máxima de pouco mais de 15 metros e taxas de 20Kb/s. 3.7.3.1) Registrador de deslocamento: O microprocessador escreve num determinado endereço de entrada / saída todos os bits ao mesmo tempo, em paralelo. Para poder transmitir esses dados em forma serial, isto é, seqüencial, pode ser utilizado também um registrador de deslocamento. Um registrador de deslocamento é um circuito eletrônico no qual os bits podem ser escritos em paralelo e apresentados em forma serial na sua saída, ou escritos em forma serial e apresentados em paralelo; o primeiro caso é mostrado na figura 3.37. Dessa
81
forma, é possível projetar interfaces tanto de transmissão como de recepção de dados em forma serial de e para um computador que os escreve e lê em forma paralela.
Figura 3.37: Registrador de deslocamento
3.8) Conversor Digital/Analógico Foi mencionado no capítulo 2 que para um controlador digital, por exemplo um computador, poder acionar atuadores analógicos, os dados em forma digital por ele fornecidos devem ser convertidos em sinais analógicos, os que devem ser amplificados adequadamente para entregar a energia necessária ao atuador. Tal conversão é realizada por circuitos chamados conversores D/A, ou digital – analógico. A principal característica desta conversão, é que os números binários (representantes de sinais elétricos digitais de padrões TTL) que são escritos na sua entrada, são convertidos num sinal contínuo, porém de diversas amplitudes possíveis entre um valor mínimo e um valor máximo determinados. A quantidade de amplitudes possíveis do sinal analógico de saída do conversor não são infinitas, devido à quantidade finita de números representados em binário entre o mínimo e o máximo que são convertidos. Assim, se a entrada digital do conversor for de 8 bits, por exemplo, é possível representar 256 (28) valores diferentes, e portanto a saída do conversor só apresentará sinais contínuos de uma amplitude determinada entre 256 possíveis; a saída do conversor D/A apresentará um número discreto de amplitudes possíveis. Como os dados de entrada são escritos pelo computador a intervalos regulares de tempo (chamado período de amostragem), o sinal contínuo de saída permanecerá sem variação de amplitude até a seguinte escrita na sua entrada. A forma do sinal fornecido pelo conversor será assim parecida com um gráfico em degraus, de discontinuidades menores quanto menor seja o período de amostragem. Na figura 3.38 é mostrado um exemplo de um sinal senoidal na saída de um conversor D/A, com um intervalo de amostragem exagerado.
82
Figura 3.38: Sinal senoidal na saída de um conversor D/A 3.8.1) Um conversor D/A simples O conversor digital - analógico mais simples que existe é composto por um circuito comparador e somador. O objetivo do circuito é converter cada bit num valor de corrente ponderado segundo o peso do bit, somando-se todas as correntes para serem convertidas em tensão através de um resistor. Na figura 3.39, apresenta-se um conversor de 4 bits. Note-se que a tensão de saída do comparador será dada por:
2B 4B 2 8B3 B Vo = −R f 0 + 1 + + R R R R Sendo Bi uma tensão de 5V ou 0V, dependendo do estado lógico de cada bit. Deve-se observar que poderia se aumentar o número de bits na medida que for necessário, acrescentando mais entradas no comparador, dividindo sempre por dois para cada uma das entradas acrescentadas. Note-se que isto não implica no aumento do fundo de escala, ou valor máximo de saída do circuito, mas sim na resolução do mesmo. Esta resolução é chamada de precisão. Para utilizar um sinal destes no mundo analógico seria necessário fazer com que o sinal fosse pelo menos contínuo no tempo, o que pode ser conseguido com um circuito de latch em cada bit de entrada do conversor, como foi explicado anteriormente neste mesmo capítulo.
83
Figura 3.39: Conversor D/A de 4 bits e sua saída. 3.8.2) A precisão e o erro de conversão. Gráfico em degraus. O erro de conversão é uma medida da confiabilidade do conversor; é um conceito oposto ao de precisão. Normalmente, o erro de conversão é indicado em função da menor variação possível na amplitude do sinal de saída. Como foi mencionado, a saída do conversor apresenta um número discreto de amplitudes de sinais possíveis. Essa variação está dada pela mudança do bit menos significativo do número binário da entrada, ou LSB – least significant bit – pois está determinada pelo incremento ou a diminuição de tensão conseguido com a ativação ou desativação do bit menos significativo. A figura 3.40 reproduz um outro gráfico em degraus de forma de facilitar a fixação do conceito.
84
Figura 3.40: Gráfico em degraus. 3.8.3) Características dos conversores D/A Serão apresentadas nesta seção as características mais importantes dos conversores D/A, as quais devem ser consideradas para um projeto adequado para uma determinada aplicação. Resolução: É determinada pelo número de bits de entrada do D/A. Por exemplo, um conversor de 8 bits aceita 256 valores, combinações diferentes de entrada, com o que possui 256 valores diferentes de saída. Portanto sua resolução é de 1 parte em 256, que é o intervalo do LSB, ou a precisão do conversor. Não-Linearidade: É a diferença entre o valor real na saída do conversor D/A e o ponto correspondente da rampa analógica ideal. Normalmente é expresso em porcentagem com respeito ao fundo de escala. Erro do ganho e erro de offset: Ambos se devem às características de construção do conversor D/A; o primeiro é um desvio do ganho devido à polarização do circuito operacional, e o segundo é um desvio do valor de zero, quer dizer que a saída não apresenta um valor igual a 0V quando o número binário na entrada é zero. Tempo de conversão (settling time): é o tempo necessário para que o valor de saída do conversor A/D fique entre ±1/2 LSB do valor final da conversão. Precisão: Já foi mencionado mas é definido como ±1/2 LSB, pois essa é a pior situação na qual se pode garantir estar próximo do valor que se deveria ter idealmente. 3.8.4) Tecnologia de conversores D/A O conversor D/A apresentado em 3.8.1 é muito simples, podendo ser montado com componentes discretos. Na prática, é comum utilizar conversores integrados, monolíticos, que podem fornecer saídas como fontes de tensão ou de corrente, ou ainda
85
ambas. Um dos conversores D/A integrados mais utilizados é o DAC0808, com um canal de saída e resolução de 8 bits. Existem diversas técnicas de confecção de conversores D/A. Dentre essas técnicas podemos mencionar: divisores resistivos, divisores capacitivos, redistribuição de cargas, divisores de correntes, algorítmicos, entre outros.
3.9) Conversor Analógico/Digital Foi mencionado no capítulo 2 que para que um sistema digital, por exemplo um computador, possa ler um sinal analógico entregue por um sensor, adequadamente condicionado, este deve ser convertido a digital. Essa função é realizada por um circuito conhecido com o nome de conversor analógico – digital, ou conversor A/D. Portanto, sua função é converter o sinal do mundo analógico para o digital de forma a que se possa processar, monitorar ou armazenar o sinal analógico numa máquina digital. Na figura 3.41 apresenta-se esquematicamente essa função.
Figura 3.41: Funções dos conversores A/D e D/A 3.9.1) O teorema de Nyquist O teorema de Nyquist estabelece um princípio básico a ser obedecido quando são convertidos sinais analógicos em sinais digitais. Ele postula que dado um sinal analógico, o qual apresenta uma freqüência máxima fmax, para que possa ser amostrado, processado e posteriormente recuperado convertendo-o novamente em analógico, a freqüência de amostragem mínima (inversa do período de amostragem) deve ser o dobro de fmax. Este princípio, que deve ser rigorosamente observado em processamento de sinais, em digitalização de sinais de imagem ou de som (como é empregado no armazenamento digital de sinais de som, por exemplo CD’s), não tem fundamental importância em automação, devido a que a rapidez de variação das grandezas físicas medidas pelos sensores (que determina a freqüência do sinal analógico), normalmente é muito pequena, e portanto é comum amostrar esse sinal analógico a freqüências muito superiores ao dobro da máxima.
86
3.9.2) Características dos Conversores A/D O conversor A/D converte o sinal analógico num sinal digital, fazendo a função inversa do conversor D/A. Portanto, é lógico esperar que possua características duais ao conversor D/A. Existe o mesmo problema do step size que ocorre no conversor D/A devido à resolução binária (digital finita). Isto deriva no problema da resolução, que está definida pelo número de bits e pela faixa de valores de entrada que pode-se aplicar na entrada do conversor A/D. Por exemplo, um conversor A/D de 16 bits, com valores de tensão de entrada analógica entre –5V e +5V, terá um passo de tamanho 10V / (216 –1), enquanto o mesmo conversor com faixa de entrada de 0 a 5V terá um step size de 5V / (216 –1). Observe-se que o número de passos (ou valores possíveis entregues na sua saída) é dado por 2 (dois) elevado ao número de bits menos 1 (um). Uma característica da resposta operacional de um A/D a um sinal na forma de uma rampa na entrada é ilustrada na figura 3.42. Observe-se a forma de saída, de acordo com a forma de entrada, e o step size. O sinal de saída discreto apresentado na figura 3.42 posteriormente deve ser convertido em bits para ser processado por uma máquina digital.
Figura 3.42: Operação do conversor A/D Existem outras características importantes nos conversores A/D. O tempo de conversão é um fator crítico, devido a que delimita o menor tempo de amostragem possível do sinal de entrada, e, segundo o teorema de Nyquist, a maior freqüência possível do sinal de entrada. Assim, por exemplo, se se deseja digitalizar um sinal de som (que tem freqüência máxima de 20KHz), o tempo de amostragem, e portanto de conversão, deverá ser menor a 25µseg. Existe também o problema da não linearidade acarretado porque nem sempre consegue-se implementar um step size estritamente igual em todos os passos.
87
Deve-se observar também a sensibilidade do A/D em relação à fonte de alimentação dele, e o erro de zero-offset que é a diferença entre o primeiro nível de transição e 0.5 LSB, exatamente como explicado anteriormente. 3.9.3) Tecnologia de conversores A/D Existem diversas tecnologias de fabricação e implementação de conversores A/D, que fogem ao escopo deste texto; serão mencionadas a título de curiosidade. Existem conversores A/D monolíticos e híbridos, entrelaçados, em pipeline (cascata), mas as tecnologias principais são: Flash, aproximações sucessivas, em rampa, e folding. Para serem implementados conversores com essas tecnologias podem ser utilizados capacitores, resistores, fontes de corrente, entre outras possibilidades.
Referências [1] Critchlow, Arthur: Introduction to Robotics. Macmillan Publishing Company. New York. 1985. [2] Zelenovsky, Ricardo e Mendonça, Alexandre: Um Guia Prático de Hardware e Interfaceamento. Editora Interciência. Rio de Janeiro. 1996. [3] Derenzo, Stephen E.: Interfacing – a laboratory approach using the microcomputer for instrumentation, data analysis, and control. Prentice-Hall; International Editions. 1990. [4] Maloberti, F: A/D and D/A Converters. Apostila do IEEE CAS-TOUR. 1998. [5] Zaks, Rodnay: From Chips to Systems: An Introduction to Microprocessors. Sybex. 1981. [6] Texas Instruments. Linear and Interface Applications. Volumes 1 and 2. 1985. [7] Texas Instruments. Linear and Interface Applications. Volume 3. 1987. [8] Gayakwad, Ramakant A.: Op-Amps and Linear Integrated Circuits. Second edition, Prentice-Hall International Editions. 1988. [9] Telles Ribeiro, José G.: Instrumentação e Controle de Processos. Apostila do curso de especialização em Engenharia Mecatrônica. Laboratório de Engenharia Elétrica. Universidade do Estado do Rio de Janeiro. Julho 1999.
88
Capítulo 4: Sensores 4.1) Transdutores e sensores Um transdutor é um dispositivo que transforma uma forma de energia numa outra adequada para fins de medida. Ele mede uma forma de energia que está relacionada a outra através de uma relação conhecida. Por exemplo, pode se medir pressão utilizando um transdutor que transforma a força exercida pela pressão numa tensão elétrica proporcional à pressão. O transdutor é um sistema completo que produz um sinal elétrico de saída que representa a grandeza física sendo medida. O sensor, por outro lado, é apenas a parte sensitiva do transdutor, que se completa em muitos casos com um circuito eletrônico para a geração desse sinal elétrico que depende do nível de energia da grandeza física que afeta o dispositivo sensitivo. Continuando com o exemplo anterior, no caso do transdutor de pressão, o sensor seria apenas o diafragma sensitivo sobre o qual é exercida a pressão que se deseja medir. No entanto, para os fins deste texto, será utilizado genericamente o termo sensor para se referir tanto à parte sensitiva do transdutor como a todo o sistema que em geral produz esse sinal elétrico proporcional à grandeza física medida. No capítulo 2 foi estudado o conceito de sistemas em malha aberta e em malha fechada. Num sistema em malha aberta, o controlador só pode enviar sinais de excitação à planta, através dos atuadores, sem ter certeza do comportamento dela. Chamam-se esse tipo de sistemas não inteligentes por não ser o controlador capaz de tomar decisões em função da resposta da planta. Quando o controlador é realimentado com sinais que refletem o comportamento da planta, fechando a malha, ele torna-se capaz de tomar decisões em função desse comportamento. Esses sistemas são chamados de inteligentes. Se o controlador e a planta trabalharem com as mesmas grandezas físicas, por exemplo sinais elétricos, então o sistema pode ser facilmente realimentado. Um claro exemplo foi mostrado no capítulo 2, o caso do amplificador operacional como planta realimentado com um resistor. Mas, se o controlador e a planta forem dispositivos que trabalham com diferentes grandezas físicas, torna-se necessária a presença de sensores para traduzir esses sinais físicos. É o caso de um sistema térmico controlado por um dispositivo eletrônico. Conclui-se assim que nos sistemas físicos cujo comportamento pretende ser controlado por um dispositivo eletrônico é necessária a presença de sensores.
Figura 4.1: Os sensores transformam efeitos físicos em sinais elétricos
89
4.2) Sensores analógicos e sensores digitais No capítulo 2 foi mencionado que existem grandezas físicas que podem tomar qualquer valor ao longo do tempo, são as chamadas grandezas físicas analógicas. Exemplos delas são pressão, temperatura, umidade, vazão, força, ângulo, distância, velocidade, luminosidade, altitude, torque, entre muitas outras. Porém, embora estritamente falando não se trate propriamente de grandezas físicas, existem outras variáveis ou características num sistema físico que, ao longo do tempo, só podem tomar dois valores possíveis, os quais são denominados arbitrariamente como 0 e 1. Essas variáveis serão chamadas grandezas físicas digitais. Um exemplo delas é a presença de um objeto num determinado local. Os sensores medem uma grandeza física e entregam um sinal elétrico como saída. Se esse sinal puder tomar qualquer valor dentro de certos limites ao longo do tempo, esse sensor é chamado de analógico. Se esse sinal elétrico só puder tomar dois valores ao longo do tempo, sejam eles de qualquer amplitude, esse sensor é chamado de digital. Se o sensor for analógico e o controlador destinado a receber esses sinais for digital, por exemplo um computador ou um microcontrolador, será necessária a presença de um conversor A/D, como foi tratado no capítulo 3. Se o sensor for digital é possível entregar o sinal, diretamente ou através de um circuito condicionador, numa interface de entrada digital. Observe-se que não foi definido sensor analógico como aquele que mede grandezas físicas analógicas, e sensor digital como aquele que mede grandezas físicas digitais, pois, como ficará claro posteriormente, é possível medir grandezas físicas analógicas com sensores digitais. Por exemplo, eles podem entregar uma série de sinais elétricos digitais que conformam um número que, num determinado código que pode ser o sistema binário, representam a amplitude da grandeza física analógica mensurada num determinado momento. Dessa maneira, o próprio sensor “digitalizou” a grandeza física analógica, fazendo desnecessária a presença de conversores A/D no sistema.
4.3) Características dos sensores Seguidamente serão apresentadas algumas das principais características e especificações dos sensores, tanto digitais como analógicos. 4.3.1) Faixa Define-se como faixa ou range (do inglês) a todos os níveis de amplitude da grandeza física medida nos quais se supõe que o sensor pode operar dentro da precisão especificada. Assim, por exemplo, um sensor de pressão pode ser fabricado para operar de 60 mmHg até 300 mmHg. A amplitude dessa escala é definida como faixa. Em alguns casos, esta faixa depende do dispositivo sensitivo, por exemplo num sensor de pressão capacitivo, pode depender do máximo deslocamento da membrana flexível que é pressionada. Em outros casos de sensores analógicos, pode depender do circuito eletrônico encarregado de gerar o sinal elétrico de saída. A amplitude desse sinal necessariamente vai ter um valor máximo e um valor mínimo, que vão determinar por correspondência os limites máximo e mínimo da grandeza física mensurada, determinando assim a faixa do sensor.
90
4.3.2) Resolução Define-se como resolução o menor incremento da grandeza física medida que provoca uma mudança no sinal de saída do sensor. Por exemplo, no caso dos sensores digitais, a resolução vai estar dada pelo menor incremento na grandeza física medida que provoca uma mudança de 1 bit na leitura de saída do sensor digital. Esta definição é a mesma aplicada aos conversores A/D, tratados no capítulo 3. A diferença é que nestes conversores o sinal de entrada, embora analógico, era elétrico; no caso dos sensores é uma grandeza física, mas de qualquer forma ao ser digitalizada, se produz um erro de conversão e se perde resolução. No caso dos sensores analógicos, a resolução costuma ser próxima de zero. 4.3.3) Sensibilidade A sensibilidade é a transferência do sensor, quer dizer, a relação entre o sinal elétrico entregue na saída e a grandeza física medida. Por exemplo, um sensor de pressão poderia ter uma sensibilidade de 3 mV/mmHg, o qual significa que por cada mmHg que mude a pressão medida, o sinal elétrico entregue na saída mudará 3mV. 4.3.4) Linearidade Dado um determinado sensor, se para variações iguais da grandeza física medida obtém-se variações iguais do sinal entregue, então define-se o sensor como linear, caso contrário, define-se como não linear. Note-se que esta definição de linearidade é a mesma aplicada nos sistemas, o que foi tratado no capítulo correspondente. Quer dizer, chamando u(t) à grandeza física medida, e y(t) ao sinal entregue pelo sensor, então, medindo um sinal físico de entrada qualquer, ao que chamamos de u1, o sensor entrega um sinal elétrico de saída que chamamos y1; e medindo um sinal físico qualquer u2, obtém-se um sinal elétrico y2 na sua saída. Se agora a grandeza física valer α u1 + β u2, sendo α e β duas constantes escalares quaisquer, e o sinal de saída for α y1 + β y2, então o sensor é linear, caso contrário é não linear. Uma outra forma de chegar à mesma conclusão é afirmando que se a sensibilidade (transferência do sensor) é constante para qualquer grandeza física medida dentro da faixa, então o sensor é linear. No seguinte gráfico mostra-se a resposta de um sensor linear em comparação com a de um não linear. A coordenada horizontal representa a grandeza física medida e a vertical o sinal de saída entregue pelo sensor.
Figura 4.2: Resposta de um sensor não linear 91
Evidentemente, o caso ideal é que o sensor seja linear, mas, caso o sensor seja não linear, uma forma de determinar quão grave é essa não linearidade é medir o máximo erro do sinal de saída dividido pela faixa de valores possíveis. Essa relação pode ser expressada em termos percentuais e define-se como linearidade. 4.3.5) Histerese O fenômeno da histerese pode ser explicado da seguinte maneira: se o estímulo de entrada, que excita o sensor, crescer até um determinado valor u1, o sensor entregará um determinado sinal de saída y1. Mas se o estímulo começar num valor mais elevado e decrescer até o mesmo valor anterior u1, o sinal fornecido poderá ter um valor y2 diferente daquele entregue anteriormente, y1. Nesse caso, se diz que há uma histerese. Ela pode ser produzida por diversas razões. Por exemplo se o sensor tiver um dispositivo sensitivo magnético, o qual já possui uma histerese magnética. Outro exemplo poderia ser o caso de sensores de posição que tiverem engrenagens com folga entre os dentes ou backslash. Também pode se dar em circuitos de controle do dispositivo sensitivo, ou em circuitos condicionadores de sinal, compostos por smith – trigger.
Figura 4.3: O sinal elétrico de saída possui um laço de histerese em função da grandeza física medida 4.3.6) Exatidão ou erro Dada uma determinada grandeza física a ser medida, exatidão é a diferença absoluta entre o valor real do sinal de saída entregue pelo sensor e o sinal ideal que este deveria fornecer para esse valor da grandeza física. Este erro poderia se representar em termos percentuais dividindo essa diferença pela faixa. 4.3.7) Relação sinal / ruído É a relação entre a potência de um sinal qualquer entregue na saída do instrumento e a potência do sinal de ruído, medida como o sinal de saída com informação de entrada
92
nula; isto é, se a amplitude da grandeza física medida for igual a zero, e o sensor entregar um sinal de uma amplitude determinada, esse sinal é considerado como ruído. Esta relação pode ser expressada também em termos percentuais ou em dB (decibéis), unidade que representa vinte vezes o logaritmo da relação sinal / ruído. S S[V] [dB] = 20 log N N[V]
4.3.8) Resposta em freqüência Qualquer sistema eletrônico que manuseia sinais elétricos tem suas limitações em freqüência, isto é, sinais em determinadas freqüências são reproduzidos e em outras não. Não é diferente no caso dos sensores. Se a grandeza física medida variar sua amplitude com uma determinada freqüência, é possível que o sinal elétrico entregue pelo sensor reproduza essas mudanças com a amplitude adequada, mas se a freqüência dessas mudanças na grandeza física aumentar, é possível que o sinal de saída entregue pelo sensor diminua sua amplitude em função da freqüência dessas mudanças. Desta forma, define-se a resposta em freqüência de um sensor como a faixa do espectro que este consegue reproduzir. O diagrama de Bode é usualmente utilizado para representar essa informação. Pela teoria de Bode, define-se a faixa de passagem, ou largura da faixa, como o intervalo de freqüências em que, para uma determinada amplitude de entrada, a potência do menor sinal de saída é maior ou igual à metade da potência do maior sinal. Por conseqüência, a relação entre as amplitudes do menor sinal e o maior sinal é 0,707 (1/√2), ou, expressado em decibéis, -3 dB.
Figura 4.4: Resposta em freqüência de um sensor
93
4.4) Sensores de temperatura Existem muitas operações num processo de fabricação de algum produto que exigem a medição e controle da temperatura. Isto pode acontecer, por exemplo, por razões de segurança, para garantir que não haverá superaquecimento (devido à necessidade de controlar a temperatura de um material, por exemplo plástico numa máquina injetora), ou simplesmente pela necessidade de controlar a temperatura do sistema, por exemplo num processo químico onde o resultado depende da temperatura do processo. Existem diversos tipos de sensores que podem medir ou detectar mudanças na temperatura e produzir um sinal elétrico em função dessa medição ou mudança. Seguidamente serão apresentados os principais deles. 4.4.1) Par bimetálico Este é um dispositivo muito simples que consiste em duas faixas compridas de diferentes tipos de metal, soldadas juntas ao longo da sua extensão. Quando são aquecidas, como o coeficiente de dilatação de uma é diferente do coeficiente da outra, a diferença de tamanho produzida fará com que o par se curve. Se um contato elétrico estiver fixo num dos extremos do par, e quando este curvar fazer contato no outro extremo com outro contato elétrico, um circuito elétrico pode ser fechado. Dessa maneira, o dispositivo conforma um “switch térmico”. Observe-se que este sensor não serve para medir temperatura, apenas para fechar um circuito quando a temperatura ultrapassa um determinado limite; trata-se, portanto, de um sensor digital. Muitos termostatos caseiros, assim como pisca-alerta de luzes nos carros, utilizam este sistema. A temperatura de contato pode ser alterada ajustando a relação entre as larguras das duas fitas de metal. 4.4.2) Sensores de resistência elétrica Estes sensores estão baseados no princípio que a resistividade de um material depende da temperatura. Assim, uma resistência elétrica mudará seu valor com a temperatura à qual está sendo submetida. Para uma barra em forma de paralelepípedo, a resistência é dada por: R =ρ
L S
onde L é o comprimento da peça, S é a seção reta do dispositivo e ρ é a resistividade intrínseca do material, que varia com a temperatura, em geral, segundo a equação:
ρ = ρ 0 (1 + a 1δT + a 2 δT 2 ) onde δT=T-T0 , sendo T0 a temperatura ambiente, ρ0 é a resistividade a temperatura ambiente, e a1 e a2 são coeficientes que dependem do material. No caso dos resistores convencionais, pretende-se que sejam estáveis com a temperatura, por isso são escolhidos materiais (tais como carbono) onde esses coeficientes a1 e a2 são baixos e, portanto, a resistividade muda pouco com a
94
temperatura. No caso dos sensores, o objetivo é uma mudança de resistência sensível com a temperatura. Outra característica dos resistores, como fica claro na fórmula anterior, é que a variação não é linear. Quanto menor for o coeficiente a2, mais linearmente varia a resistividade do material com a temperatura. Um dos materiais mais utilizados para este tipo de sensores resistivos de temperatura é a platina, que apresenta algumas vantagens com respeito a outros materiais. Uma delas é sua linearidade; efetivamente, os coeficientes da platina são a1 = 3,96x10-3 e a2 = 5,38x10-6. Como pode se observar, o termo de segundo grau e desprezível com respeito ao termo de primeiro grau, resultando assim numa variação quase linear da resistência com a temperatura. Uma outra vantagem deste material é seu alto ponto de fusão (1773°C), o que o faz adequado para medições de precisão de temperaturas elevadas. A grande desvantagem é, claro, seu custo, provocando que este tipo de sensores seja utilizado apenas quando uma alta precisão é exigida.
Figura 4.5: Curva de resistividade da platina em relação com a temperatura 4.4.3) Termistores Aproveitando a característica da variação da resistividade dos materiais com a temperatura, é que os termistores foram inventados. Na realidade, eles são resistores feitos de alguns óxidos metálicos que apresentam coeficientes de variação da resistividade com a temperatura altos, embora a transferência seja altamente não linear. A resistência elétrica desses materiais com a temperatura está dada pela seguinte fórmula:
R = Ae B / T onde A e B são constantes que dependem do tipo de óxido utilizado. Uma característica dos termistores é que, dependendo do sinal do coeficiente B na fórmula anterior, a resistividade do material poderá aumentar ou diminuir com a
95
temperatura. Caso esse coeficiente seja positivo, a resistividade aumentará com a temperatura; este tipo de termistores são conhecidos com o nome de PTC (coeficiente de temperatura positivo). Se o sinal do coeficiente B for negativo, então a resistência diminuirá com a temperatura. Esses resistores são conhecidos com o nome de NTC (coeficiente de temperatura negativo), e é o caso da maioria dos termistores disponíveis no mercado. Existem diversos tipos de termistores, cujos nomes se relacionam com o tipo de encapsulado, entre os quais podemos citar: do tipo conta (bead), termistor do tipo ponta de prova de vidro, termistores de disco, de arruela, e em barras. Cada um desses tipos se aplica a uma faixa de temperatura e apresenta uma curva de variação da resistência em função da temperatura características, o que faz com que cada um seja adequado para uma aplicação específica. 4.4.4) Junção semicondutora Estes dispositivos aproveitam a característica da junção semicondutora de mudar a sua corrente de saturação em função da temperatura. Efetivamente, a corrente que atravessa uma junção polarizada em direta está dada pela fórmula:
I = I sat (e Vd / VT − 1) onde: VT = kT/q , sendo k a constante de Boltzmann (1,38x10-23 J/C), q é a carga do elétron (1,67x10-19 C), e T é a temperatura expressada em graus Kelvin. Vd é a tensão aplicada sobre a junção. Isat é a corrente de saturação da junção (normalmente 1,87x10-14 A). É importante destacar que a temperatura não somente aparece no termo exponencial, mas Isat também é fortemente dependente da temperatura. Em geral, podese afirmar que para uma tensão fixa, a corrente varia exponencialmente com a temperatura. A dificuldade de conhecer com precisão num diodo comercial a corrente de saturação, assim como a alta não linearidade da relação corrente – temperatura, faz com que este tipo de sensores não seja muito utilizado na prática, apenas para detectar valores limites de temperatura e assim mesmo em aplicações que não exigem muita precisão. Contudo, é possível utilizar alguns tipos de transistores cuja tensão VBE varia linearmente com a temperatura, em circuitos estabilizados termicamente, para conseguir sensores de uma precisão maior. 4.4.5) Termocuplas ou termopares Se forem colocados dois metais diferentes em contato elétrico, haverá uma diferença de potencial entre eles que é função da temperatura dos metais. Este fenômeno tem o nome de efeito termoelétrico e é utilizado para medir temperaturas num espectro bastante amplo. A junção é feita soldando dois fios dos metais em questão sem utilizar nenhum outro tipo de material. Podem se utilizar inclusive duas junções de metal, a primeira colocada no local de teste e a segunda a temperatura ambiente. Assim, a diferença entre o potencial gerado pelas duas junções é proporcional à diferença da temperatura entre o
96
local de teste e a temperatura ambiente. Ambas junções costumam ser colocadas como um braço ativo e um braço passivo numa ponte de Wheatstone. Os metais utilizados variam segundo a faixa de temperatura que se deseja medir, segundo se o coeficiente de temperatura requerido precisa ser alto ou baixo (para medir grandes variações ou pequenas variações de temperatura), segundo a temperatura máxima a medir (que obviamente não pode ultrapassar a temperatura de fusão de nenhum dos metais do termopar), segundo a necessidade de medir linearmente (alguns pares apresentam uma variação mais linear do que outros), entre outras especificações. Os fabricantes fornecem uma curva da tensão gerada em função da temperatura, ou uma tabela com a temperatura aproximada para cada tensão possível de ser medida.
Figura 4.6: Curvas características dos principais termopares Este tipo de sensores, por sua economia e precisão, são sem dúvida os mais utilizados na medição de temperaturas.
4.5) Sensores de presença Em muitas aplicações da automação industrial e da robótica, existe a necessidade de conhecer a presença de uma peça, de uma parte do manipulador, de um efetuador de uma máquina ferramenta, entre outras possibilidades. Quer dizer, é necessário para o controlador saber simplesmente se a peça em questão está numa determinada posição ou não. Esta característica é denominada com o nome de “presença” ou “proximidade”, e obviamente existem diversos tipos de sensores aplicados a medir tal característica,
97
adequando-se às diversas aplicações. Observe-se que a “presença” trata-se de uma grandeza digital, e os sensores tratados aqui serão digitais também. 4.5.1) µ Switches Os µ switches são simplesmente pequenas chaves ou pulsadores em miniatura, com um contato que se aciona com uma alavanca muito sensível, a qual é necessário deslocar apenas alguns milímetros para fazer o contato. Elas podem ser do tipo normalmente fechado ou normalmente aberto, e dependendo da configuração ao fazer contato, o controlador lerá um 1 ou um 0. Observe-se que é necessário o contato físico da alavanca com a peça para fechar o contato. Em algumas aplicações isto é inviável, por exemplo se a peça a monitorar for muito leve e estiver apenas apoiada sobre uma esteira transportadora, não possuirá força suficiente para acionar o µ switch, mas em outras não representa um problema. Os µ switches são utilizados principalmente como sensores de fim de curso, isto é, para detectar quando uma parte do robô chega a uma posição limite, informação necessária para o controlador deter o movimento dessa parte.
Figura 4.7: Na saída se lerá um 1 quando o contato fechar, 0 se permanecer aberto 4.5.2) Reed switches Os reed switches também são switches com dois contatos, normalmente abertos, mas que não possuem alavanca nenhuma de acionamento. Esses contatos estão feitos de um material ferromagnético (em geral, ferro revestido de ouro) e são fechados quando um ímã passa por perto. Este tipo de switches tem a grande vantagem de, além de serem mecanicamente muito simples como os µ switches, são ainda menores e não precisam fazer contato físico com a peça a monitorar. A desvantagem é, obviamente, que essa peça deve ser um ímã ou pelo menos deve ter um ímã inserido nela para ativar o reed switch. 4.5.3) Sensores óticos Os sensores óticos estão baseados num raio de luz, em geral infravermelho, gerado por um emissor e recebido por um receptor. A presença do objeto permite ou impede (dependendo do tipo de sensor) a chegada do raio infravermelho ao receptor, sabendo assim o controlador se o objeto está presente no caminho da luz ou não. 98
Em geral, o emissor é simplesmente um led infravermelho polarizado adequadamente. O receptor é um fototransistor ou um fotodiodo, que polarizado adequadamente também, corta ou satura dependendo se está recebendo ou não luz, recebendo assim o controlador o 0 ou 1 correspondente. Uma versão mais precisa destes sensores é o sensor a laser, onde o emissor consiste numa fonte de raio laser e o receptor num cristal fotosensível.
Figura 4.8: Par fotodiodo – fototransistor polarizado. Quando a luz chega ao receptor, na saída se lerá um 0 Seguidamente serão analisadas as diferentes configurações dos sensores óticos. 4.5.3.1) Sensores de barreira: Neste tipo de sensores, o emissor e o receptor estão em dois dispositivos diferentes. Eles devem ser colocados em perfeito alinhamento, de maneira tal que a luz emitida chegue ao receptor. Quando um objeto se interpõe entre emissor e receptor, a luz obviamente não chega, ficando em corte o fototransistor do receptor, e entregando o estado correspondente na saída. Este tipo de dispositivos tem a grande vantagem que permitem uma distância considerável entre emissor e receptor (até 50m em alguns casos) e portanto permite detectar a presença de objetos de grandes dimensões, por exemplo, pessoas entrando num elevador, ou carros numa garagem. Às vezes emissor e receptor estão no mesmo dispositivo, enfrentados entre eles, e separados por uma fenda que permite a passagem de um objeto de espessura pequena. Esse objeto pode ser uma folha de papel, em cujo caso servirá para detectar a presença de papel, como efetivamente é utilizado nas impressoras. Também pode ser um disco furado solidário ao eixo de um motor ou uma peça giratória em geral, em cujo caso detectará a passagem dos furos e portanto o controlador poderá conhecer o ângulo de deslocamento do eixo. Pode ser também um cartão furado com um determinado código, entre outras muitas possibilidades.
99
Figura 4.9: Emissor, receptor e objeto a detectar conformam um sensor ótico de barreira 4.5.3.2) Sensores de reflexão: Neste tipo de sensores, emissor e receptor de luz ficam no mesmo dispositivo, apontando paralelamente. Para que o raio de luz infravermelha emitido pelo emissor chegue ao receptor, é necessário que ele se reflita numa superfície refletora posicionada na frente do dispositivo em forma perpendicular a este. Esta superfície tem a característica de, mesmo que não se encontre perfeitamente perpendicular ao raio emitido, refletir a luz com o mesmo ângulo que chega, enviando o raio refletido diretamente ao receptor. Dispositivos plásticos com a superfície trabalhada dessa maneira são muito utilizados em lanternas de carros e de bicicletas. Se um objeto ficar entre o sensor e a superfície refletora, a luz não chegará ao receptor, ficando em estado de corte o fototransistor dele, e entregando o estado lógico correspondente na saída. A desvantagem deste tipo de dispositivo, é que a distância entre ele e a superfície espelhada deve ser menor que a que podia existir entre emissor e receptor nos sensores de barreira, não superando, em geral os poucos metros de distância. Isto é devido a que a luz gerada por um led vai se difundindo no espaço por ter um largo de banda considerável. Assim, se a distância até chegar ao receptor for grande, o raio de luz que este receberá não terá potência suficiente para saturar o fototransistor. Isto melhora com o uso dos sensores a laser, devido a que como o raio laser emitido tem um largo de banda muito estreito, ele viaja quase sem se difundir, permanecendo o raio praticamente do mesmo diâmetro ao longo de todo o percurso e chegando ao receptor com a mesma potência com que foi emitido.
100
Figura 4.10: O raio emitido se reflete na superfície refletora e retorna ao fotoreceptor 4.5.3.3) Sensores de reflexão difusa: Neste tipo de sensores, emissor e receptor também se encontram no mesmo dispositivo, normalmente muito próximos um do outro e apontando paralelamente. Quando um objeto claro ou brilhante (que não absorva a luz) é colocado bem na frente do dispositivo, a luz emitida reflete nele e volta para ser captada pelo receptor, saturando assim o fototransistor. Aqui não é necessária a presença de uma superfície espelhada para refletir a luz, isso é feito pelo próprio objeto. A desvantagem, é claro, é que a distância de detecção é mínima (normalmente só alguns centímetros), exigindo que o objeto fique perto do dispositivo. A outra grande desvantagem, é que só serve para detectar objetos de cor clara ou brilhantes, caso contrário a luz seria absorvida por eles e não retornaria ao receptor. Estes dispositivos em geral são utilizados com uma interface dedicada, que consiste num laço enganchado em fase (PLL). Ele gera uma luz de uma determinada freqüência no emissor, e só fecha a malha se a luz recebida pelo receptor for da mesma freqüência. Isto é feito para evitar que uma fonte de luz ambiente de amplo espectro possa saturar o fototransistor do receptor mesmo sem a presença de um objeto na frente dele. Estes dispositivos também podem ser usados, polarizando o fototransistor em direta, como sensores analógicos, que devolvem um valor de tensão proporcional à claridade do objeto, observando a condição que todos os objetos monitorados fiquem à mesma distância do dispositivo. Em alguns casos pode até ser selecionada a cor do raio emitido, de maneira tal de abranger a maior quantidade de cores detectadas possíveis. A pesar de todas suas desvantagens, seu baixo custo e tamanho diminuto faz deste um sensor adequado para muitas aplicações, principalmente quando a posição do objeto a monitorar é precisa e não tem muita folga, por exemplo no movimento de um elo de um braço mecânico, numa esteira transportadora onde os objetos passam sempre na mesma posição, entre outras.
101
Figura 4.11: Sensor ótico de reflexão difusa 4.5.4) Sensores indutivos Os sensores de presença indutivos são utilizados para monitorar a proximidade de um material ferromagnético. O dispositivo consiste numa bobina alimentada por um sinal de radio freqüência; quando um objeto ferromagnético se aproxima, entrando na área de medição do dispositivo sensitivo, muda a relutância do circuito magnético, mudando o valor da corrente circulante pela bobina. Um circuito de trigger detecta essa mudança e muda o estado lógico da sua saída, que pode ser 0 ou 1 dependendo se o sensor trabalha com lógica positiva (se ativa ante a proximidade do objeto) ou lógica negativa (se desativa quando o objeto se aproxima). Em geral, a distância máxima de detecção é pequena, e embora isto dependa do material monitorado, nunca ultrapassa de uns poucos milímetros. Diferentes tipos de metal possuem uma relutância magnética diferente, e portanto, a efetividade da medição dependerá dela. Por exemplo, o alumínio tem uma relutância igual a 0,3 vezes a do ferro, para duas peças das mesmas dimensões. Isto implica que a peça de alumínio deverá estar a 0,3 vezes à distância máxima com que poderia ser detectada uma peça de ferro igual, para ela poder ser detectada. Vide tabela posterior para a efetividade na medição dos diferentes materiais. 4.5.5) Sensores capacitivos Os sensores capacitivos, quando utilizados corretamente, podem detectar a presença de qualquer tipo de material, metálico ou não metálico. Estes estão baseados no armazenamento de carga entre duas placas metálicas, entre as quais existe um determinado material dielétrico. Quando um objeto se aproxima suficientemente, em geral a uns poucos milímetros, o dielétrico do meio muda, e portanto a capacidade do capacitor. Um circuito de trigger detecta essa mudança e muda o estado lógico da sua saída, podendo também ser 0 ou 1 dependendo se o sensor trabalha com lógica positiva ou negativa. Os sensores capacitivos, como os indutivos, também têm uma distância máxima de detecção muito pequena, e isto também depende do material da peça monitorada. Na tabela posterior mostra-se a relação entre os diferentes materiais, tomando como 1 um valor padrão e expressando os outros fatores relativos a ele, quer dizer, a relação entre a
102
distância máxima de detecção de um material de fator 1.0 e outro das mesmas dimensões. material aço puro ferro aço inox bronze alumínio cobre água PVC vidro cerâmica madeira cerveja Coca cola óleo
fator indutivo 1.0 1.1 0.7 0.4 0.35 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
fator capacitivo 1.0 1.0 1.0 1.0 1.0 1.0 0.9 0.5 0.5 0.4 de 0.2 0.9 0.9 0.1
4.6) Sensores de posição A medição da posição de um objeto é muito utilizada em robótica para o controle da posição de qualquer peça móvel do robô, trate-se de um manipulador ou de uma máquina ferramenta, ou da planta como um todo, o que acontece nos casos do robô ter a possibilidade de se locomover, por exemplo nos robôs exploradores. O método empregado para o monitoramento da posição depende de uma série de fatores, destacando-se entre eles como os mais importantes, o tipo de movimento a realizar pela peça (se ele é de rotação ou de deslocamento em linha reta), a faixa de movimento possível (uma articulação pode girar sempre menos de 360° ou ter a possibilidade de dar várias voltas), e também o tipo de atuador. Por exemplo, se forem utilizados motores de passo, não é necessário medir a posição do eixo permanentemente, pois o eixo nesses motores se desloca sempre um ângulo fixo determinado, permitindo ao controlador conhecer sempre o deslocamento exato do efetuador a partir de uma determinada posição conhecida. No caso de utilizar como atuadores motores de corrente contínua ou corrente alternada, ou ainda motores hidráulicos, é impossível para o controlador conhecer a posição do eixo, pois a velocidade de rotação deles depende fortemente da carga, obviamente desconhecida. Serão tratados aqui os sensores de posição mais conhecidos e mais aplicados na robótica. 4.6.1) Sensores potenciométricos O sensor de posição mais simples que existe é o potenciômetro, cujo princípio de funcionamento se baseia na variação de resistência de um potenciômetro conectado mecanicamente a um eixo para monitorar sua posição.
103
Para monitorar movimentos de rotação de um eixo ou, em geral, de uma peça giratória, como a articulação de um braço mecânico por exemplo, são utilizados potenciômetros de rotação com um ângulo máximo de rotação de quase 360°. Estes potenciômetros, conectados como divisor resistivo, apresentam uma variação razoavelmente linear da tensão de saída com a rotação do eixo; as pequenas não linearidades apresentadas se devem a limitações da pista resistiva que é parte do dispositivo. Por tal razão, para sensores de posição devem ser usados potenciômetros que possuem uma linearidade de 0,1% a 0,5%, melhor do que nos potenciômetros comuns, onde a linearidade é de 2% a 5%. Para deslocamentos lineares de peças, podem ser utilizados potenciômetros rotativos ligados a uma polia, onde a peça que se desloca é solidária com a correia da polia. Também podem ser usados engrenagens com correias dentadas ou correntes. Este sistema tem a desvantagem de que para ter a possibilidade de medir grandes deslocamentos, é necessário utilizar polias ou engrenagens de diâmetro grande.
Figura 4.12: Medição do deslocamento linear de uma peça com um potenciômetro de rotação Uma outra possibilidade para medir deslocamentos lineares é utilizar potenciômetros lineares. Esses potenciômetros são especialmente projetados para oferecer baixo atrito e linearidade entre 0,1% e 0,5%. O problema é o curso limitado deles (nunca maior de 25cm), e que não admitem velocidades de deslocamento maiores de 1m/seg, assim como também mudanças no sentido de deslocamento de altas freqüências.
104
Figura 4.13: Potenciômetro linear 4.6.2) Transformador linear diferencial variável (LVDT) Este é um tipo de sensor indutivo cujo princípio de funcionamento está baseado na indução de tensão entre uma bobina primária e duas secundárias. Uma haste de material ferromagnético se desloca pelo centro delas, induzindo assim uma tensão nos secundários que será proporcional à posição da haste. A figura mostra o esquema construtivo e a conexão elétrica das bobinas. Quando a haste se encontra no centro, a tensão induzida nas duas bobinas é igual, e como estas estão ligadas em oposição, a tensão de saída é zero. Quando o núcleo é deslocado desta posição zero, aumenta a tensão induzida no enrolamento em cuja direção se deu o movimento, havendo um decréscimo de tensão no outro enrolamento, o que provoca uma tensão de saída diferente de zero, que é linearmente proporcional à distância deslocada pela haste.
105
Figura 4.14: Diagrama esquemático (a) e esquema elétrico (b) de um LVDT Quanto mais próximo estiver a haste dos extremos das bobinas, menos linearmente se mostrará a relação entrada - saída. Por isso é necessário que a haste se desloque distâncias pequenas ao redor do ponto de zero, onde o comportamento é mais linear. Obviamente, o primário deve ser alimentado com uma tensão alternada, e a tensão obtida no secundário, proporcional à posição da haste, será alternada também. Por isso é necessário condicionar os sinais de entrada e saída, por exemplo retificando este último para entregar uma tensão contínua proporcional à amplitude pico do sinal alternado entregue, e com um detetor de fase para determinar se o deslocamento da haste com respeito à posição zero é positivo ou negativo, pois neste último caso haverá uma desfasagem de 180° com respeito à tensão aplicada no primário, como pode se apreciar no gráfico seguinte. Este tipo de sensores são muito utilizados por possuírem diversas vantagens. Entre elas a alta precisão e linearidade para pequenos deslocamentos, o fato de que não há atrito no deslocamento da haste, e portanto a vida mecânica útil é praticamente infinita, o isolamento elétrico da haste com a saída e entrada de sinal, e uma resolução muito boa (ao redor de 0,025 mm). Como desvantagem pode-se apontar a necessidade de gerar uma tensão de entrada alternada e de retificar e identificar a fase do sinal de saída, o que exige um circuito eletrônico adicional considerável.
106
Figura 4.15: Relação entre amplitude da tensão de saída e deslocamento relativo de um LVDT. Observe-se que são lineares só para pequenos deslocamentos. Existe também uma versão rotativa dos LVDT, chamada RVDT (transformador rotativo diferencial variável), cujo princípio de funcionamento é o mesmo, consistindo a diferença em que as bobinas estão dispostas em círculo e um eixo, ao girar, introduz mais ou menos núcleo ferromagnético entre as bobinas. 4.6.3) Sensores capacitivos Os sensores capacitivos estão baseados na variação de capacidade segundo a distância relativa entre os eletrodos. A variação de capacidade do sensor pode ser observada através da equação básica: C=ε
A d
onde ε é a constante dielétrica do meio, A é a área de superposição entre as placas, e d é a distância entre elas. Mudando a área de superposição entre as placas se obtém uma variação linear da capacidade, e mudando a distância entre elas, uma variação inversamente proporcional. Esse princípio pode se aplicar tanto para a medição de ângulos, onde ao girar um eixo um conjunto de placas com forma de setor circular entra mais ou menos dentro da área de um outro conjunto, ou para medir deslocamentos lineares, onde ao deslocar uma haste um conjunto de placas cilíndricas entra mais ou menos dentro de um outro conjunto da mesma forma. Em ambos os casos o que muda é a área de superposição dos conjuntos de placas e, portanto, a capacidade em forma linear com essa área. Um circuito eletrônico pode medir a capacidade entregando um sinal de saída proporcional a ela.
107
Figura 4.16: Sensor capacitivo de distância linear e de ângulo 4.6.4) Encoders Os encoders (também chamados de codificadores) são sensores de posição que estão constituídos por um ou mais sensores óticos de barreira, que detectam a passagem de uma roda furada. Quando os sensores estiverem colocados encima de um furo, eles detectarão um estado lógico (pode ser 0 ou 1 dependendo se estiverem usando lógica positiva ou negativa), quando estiverem por cima de uma parte da roda sem furo, detectarão o estado lógico contrário. A roda está ligada mecanicamente ao eixo de um motor, ou, em geral, de uma peça giratória. Assim, na medida que o eixo girar os sensores detectarão diferentes combinações de 0 e 1 podendo o controlador calcular a posição dele. Observe-se, pelo colocado até aqui, que o encoder é um sensor digital, mas que serve para medir a posição, uma grandeza analógica. Poderia se dizer que eles já constituem um conversor A/D eletro-mecânico. Os encoders se dividem entre absolutos e incrementais. Os encoders absolutos têm um conjunto de sensores óticos alinhados, ao longo do raio da roda, e a roda furada possui um código determinado de furos. Existem encoders de código binário, Gray, ou BCD. Por isso eles sempre devolvem a posição absoluta do eixo. Obviamente, quanto maior for a resolução requerida, maior deverá ser o número de bits do código, e portanto maior o número de sensores. Por exemplo, para um encoder absoluto em código binário de 4 bits, só é possível medir 16 posições diferentes ao redor de uma circunferência, isto é, o encoder é capaz de detectar mudanças de 22,5°, uma resolução muito baixa para a maioria das aplicações. Os encoders absolutos comerciais possuem, em geral, ao redor de 10 bits.
108
Figura 4.17: Roda de um encoder em código binário (a) e em código Gray (b) Os encoders incrementais possuem apenas dois sensores óticos, e a roda furada apenas uma fileira de furos eqüidistantes entre eles, a uma determinada distância do eixo. Cada um desses sensores então devolverá um trem de pulsos na medida que a roda for girando, e a passagem entre um furo e outro estará dada por cada pulso desse trem. A razão de usar dois sensores e não um, é que se fosse colocado apenas um, poderia se medir o deslocamento relativo de uma posição para a outra, mas não seria possível saber o sentido desse deslocamento. Os dois sensores são colocados fisicamente de maneira tal que entreguem trens de pulsos desfasados um ângulo de π/4, independentemente da freqüência desse trem de pulsos (freqüência que, por sinal, é igual à velocidade angular). Segundo qual desses trens de pulsos estiver adiantado com respeito ao outro, é possível saber se o disco está girando em sentido horário o antihorário. Observe-se que este tipo de encoders incrementais servem para medir rotações de uma posição com respeito a outra, e não posições absolutas, sendo portanto necessário partir sempre de uma posição conhecida. Às vezes os encoders incrementais possuem um terceiro sensor, colocado a um raio menor do eixo, raio em cuja circunferência só tem um furo; dessa maneira, quando a roda girar, ele detectará essa posição uma vez por revolução, e entregará um pulso único nessa volta que pode ser tomado como uma posição de referência ou uma posição inicial, sempre dentro dessa volta. A pesar dessa desvantagem, eles possuem uma resolução muito maior que a dos encoders absolutos, pois ela está dada pelo número total de furos (se a roda tiver 64 furos ao redor do seu contorno, a resolução é de 5,625°), e utiliza apenas dois sensores, razão pela qual constituem o dispositivo mais utilizado para medir ângulos em robótica. Encoders incrementais comerciais possuem uma resolução de até 3600 impulsos por revolução (furos ao longo da circunferência). Um par de encoders incrementais são utilizados nos mouses de computador para saber a posição da bolinha nos eixos vertical e horizontal, respectivamente. Observe-se que neste caso não é preciso conhecer a posição absoluta do mouse (determinada arbitrariamente pelo programa no início dele) mas apenas o deslocamento dele.
109
Figura 4.18: Esquema da roda de um encoder incremental. Observe-se os dois sensores deslocados de maneira tal de gerar pulsos desfasados 45°, e o sensor de referência. 4.6.5) Sensores de ultra som Esses sensores são formados por um emissor de ultra som e um receptor. O emissor está constituído por um cristal piezoelétrico que emite pulsos de sinais senoidais em freqüência ultra-sônica (acima de 20 KHz). Esse sinal se reflete num objeto denso e retorna, onde é detectado por um receptor, que consiste simplesmente num microfone com um filtro para permitir a passagem apenas dos sinais da freqüência emitida. Esse sinal é amplificado e utilizado para desabilitar um contador de tempo, que foi disparado quando o pulso original deixou o emissor. A distância entre o sensor e o objeto é igual à velocidade do som no meio (no caso do ar é 340 m/seg), vezes a metade do tempo em que o pulso de ultra-som demorou em ir do emissor ao objeto e retornar para o sensor; tempo medido pelo contador. Esses sensores são capazes de medir distâncias de até 6 metros e detectar objetos extremadamente pequenos, de 1mm de diâmetro por exemplo. A pesar do circuito gerador de pulsos e contador de tempo que exigem, são de baixo custo e alta precisão, razões pelas quais são muito utilizados principalmente em robôs exploradores, para medir a distância dos obstáculos no percurso. 4.6.6) Sincros e resolvers Sincro é o nome genérico de transdutores de posição e de medida de ângulo de rotação de eixos de grande precisão (10 minutos de arco aproximadamente). Esses sensores estão baseados na indução de tensão alternada entre dois jogos de bobinas, um rotor e um estator, isto é, um induzido e um indutor. Fisicamente, o formato deles é similar a um motor de corrente contínua. Internamente os sincros possuem um rotor com um ou três enrolamentos (dependendo do seu tipo), capaz de girar dentro do campo do estator. Este último possui três enrolamentos ligados em forma de estrela, a 120° um do outro, como é mostrado na figura.
110
Figura 4.19: Estrutura interna de um sincro (a) e conexões elétricas (b) A bobina do rotor é excitada com uma tensão alternada de 400Hz, chamada tensão de referência. A tensão induzida em qualquer um dos rolamentos do estator terá uma amplitude proporcional ao coseno do ângulo entre o eixo da bobina do estator e o eixo da bobina do rotor. Assim, por exemplo, se o rotor for excitado com uma tensão V sen(ωt), entre os três pares de terminais do estator serão induzidas as seguintes tensões: Entre S1 e S3: V sen (ωt ) sen (θ) Entre S3 e S2: V sen (ωt) sen (θ+120°) Entre S2 e S1: V sen (ωt) sen (θ+240°) sendo θ o ângulo de rotação do sincro. Note-se que em qualquer uma das três tensões induzidas nos secundários existe a informação do ângulo de rotação. Comparando a amplitude do sinal do rotor com a amplitude de qualquer uma dessas tensões induzidas, é possível conhecer o ângulo de rotação θ. Se o eixo do rotor for solidário com o eixo de um motor ou de uma peça giratória em geral, pode-se conhecer o ângulo de giro dessa peça com respeito a uma posição predeterminada como θ = 0. O funcionamento dos resolvers é inteiramente similar ao dos sincros, com a diferença que o estator possui apenas duas bobinas conectadas a 90° entre elas. As tensões induzidas no estator serão portanto de uma amplitude proporcional ao ângulo do rotor, e terão a informação do ângulo de giro do rotor. Se no rotor se aplicar uma tensão V sen(ωt), a bobina “horizontal” terá uma tensão induzida Vsen(ωt)senθ e na bobina “vertical”, Vsen(ωt)cos(θ). Quer dizer, que ele decompõe o vetor de entrada (de amplitude V e ângulo θ) em coordenadas cartesianas. O funcionamento dos sincros e resolvers é muito preciso, combinando ambos uma grande resolução com um funcionamento simples. A desvantagem consiste no fato de ter que aplicar um sinal alternado de amplitude conhecida, e processar o sinal alternado de saída para obter o ângulo de giro, o que pode ser feito no próprio controlador, depois de introduzir o sinal retificado e convertido por um conversor A/D.
111
Muitos dos sincros e resolvers são conhecidos popularmente pelas marcas dos fabricantes, tais como “inductosyns”, “microsyns”, “selsyns”, entre outros. Existem também os sincros lineares, capazes de medir um deslocamento em linha reta e não um ângulo de giro.
4.7) Sensores de força Os sensores de força, chamados geralmente de extensômetros ou strain gauges, segundo sua denominação em inglês, servem para medir a extensão, ou deformação, que sofre uma peça quando é submetida a uma força axial ou tensão. A extensão, ou o que pode se esticar uma peça, depende da elasticidade dela, e o comprimento esticado em função da força aplicada está dada pela lei de Hooke: dl 1 F = L Y A onde dl [cm] é a quantidade alongada, L[cm] é o comprimento original da peça, Y [N/cm2] é a elasticidade do material, F [N] é a força aplicada, e A [cm2] é a seção reta da peça. Existem vários tipos de extensômetros segundo o material utilizado: resistivos, semicondutores, integrados (difundidos) e de arame vibrante. O mais comum é o resistivo, que será tratado a continuação. Os extensômetros resistivos de filme são elementos cuja resistência elétrica varia com a tração ou a compressão. O valor da resistência, como já foi colocado, é R= ρ L/S, onde ρ é a resistividade do material, L é seu comprimento e S é sua seção reta. Assim, quando muda o comprimento por esticamento ou compressão do material, segundo a lei de Hooke, também varia a resistência elétrica dele. Caso a força não ultrapasse os limites elásticos da peça em questão, o dispositivo terá uma resposta linear com a extensão. Para se obter uma resistência mecânica pequena, aliada a uma resistência elétrica total relativamente grande, os extensômetros devem ser feitos de um condutor muito fino e bem longo, como é mostrado na figura 4.20. Repare que a variação da resistência acontece só quando a força é aplicada numa direção (eixo sensitivo), pois na outra não há qualquer mudança de extensão no material resistivo e portanto não haverá mudança de resistência (eixo inerte). Na fabricação desse dispositivo, utilizam-se técnicas de circuito impresso com corrosão em ácido, imprimindo-se uma máscara sobre o material com o desenho da resistência e depositando ele num banho de corrosão. Outro detalhe construtivo dos extensômetros é que, devido à variação da resistência em função da temperatura (o que é particularmente crítico na determinação das dimensões dos extensômetros, pois o material resistivo é muito fino e comprido), utiliza-se materiais com pouca sensibilidade à temperatura, em geral constantan. Devido a que a variação de resistência, em termos percentuais, com a extensão é muito pequena, estes dispositivos exigem a conexão a um circuito condicionador de sinal adequado, por exemplo uma ponte de Wheatstone, como foi tratado no capítulo 3.
112
Figura 4.20: Estrutura básica de um strain gauge Uma outra forma de medir força linear é com um potenciômetro linear solidário com uma mola. Como é sabido, a extensão ou compressão de uma mola ideal é δx=KF, sendo δx a distância comprimida ou estendida (depende do sentido da força aplicada), F é a força aplicada e K é a constante elástica própria da mola. Dessa maneira, a distância esticada da mola, e medida pelo potenciômetro linear (ou qualquer outro sensor de distância, como pode ser um LVDT, ou um sensor capacitivo), é proporcional à força linear aplicada. No caso de utilizar potenciômetros rotacionais com uma mola ao redor deles, o ângulo esticado será proporcional ao torque aplicado, e esse ângulo é proporcional ao sinal entregue pelo potenciômetro rotacional (ou qualquer outro sensor de ângulo).
4.8) Sensores de velocidade A velocidade é uma grandeza física que muitas vezes é necessário medir durante o controle de um robô, principalmente robôs exploradores e manipuladores, para a implementação de leis de controle que dependem da velocidade de deslocamento. Em geral, o que será medido é a velocidade angular (ângulo deslocado por unidade de tempo) de uma determinada peça giratória, como pode ser uma roda ou o elo de um braço mecânico ou qualquer outro tipo de manipulador em geral. Raramente é necessário medir a velocidade linear de uma peça que se desloca em linha reta, e mesmo quando isso acontece, se esse movimento for gerado por um motor, sempre é possível medir a velocidade angular do eixo do motor que será proporcional à velocidade de deslocamento linear da peça. A velocidade é a derivada da posição, portanto, seria possível utilizar um sensor de posição, como por exemplo um encoder ótico, e o controlador simplesmente deveria efetuar a derivada para obter a velocidade. Acontece que nessa medição da posição sempre existe um ruído de baixa amplitude mas alta freqüência. Ao derivar esse sinal, a amplitude do ruído ficará incrementada pela freqüência, devolvendo uma relação sinal -
113
ruído inaceitável para a maioria dos fins práticos. É por esse motivo que as leis de controle, em geral, não derivam os sinais lidos dos sensores. O sensor de velocidade mais utilizado é o tacômetro. Ele consiste simplesmente num dínamo que gera um sinal de corrente contínua de amplitude proporcional à velocidade de rotação do seu eixo. Pelo fato desses dínamos possuírem escovas e coletores, como todo gerador de corrente contínua, o chaveamento entre coletores produzirá um ruído na saída. Em geral, essa é a principal razão pela qual tenta se evitar em robótica a medição da velocidade, a grande relação sinal - ruído dos tacômetros. Uma outra desvantagem é sua imprecisão a baixas revoluções, o que os fazem ineficientes em aplicações de relativamente baixas velocidades. Também são utilizados para medição de velocidade, sistemas digitais cujo princípio de funcionamento está baseado num contador digital e um circuito monoestável gerador de uma base de tempo. O contador conta os pulsos entregues por um encoder ótico incremental durante a base de tempo, determinando assim o ângulo girado nessa unidade de tempo, que é, no final das contas, a velocidade angular do eixo solidário com o encoder. Esse princípio de funcionamento é similar ao dos freqüencímetros digitais. A desvantagem deste sistema consiste também na sua imprecisão a baixas revoluções, devido a que o erro do contador será de no máximo um pulso, quanto mais pulsos forem contados por unidade de tempo, maior a precisão da medição. Também são utilizados, em medições de alta precisão, dispositivos sensitivos cujo princípio de funcionamento está baseado na detecção por efeito Doppler, ou alteração da freqüência de uma onda mecânica (como pode ser o som) com a velocidade.
4.9) Sensores de luz A potência luminosa de um feixe de luz, assim como a quantidade de luz num determinado ambiente, também são grandezas que, com freqüência, é necessário medir. Por exemplo, para automatizar o sistema de iluminação artificial de um determinado ambiente ou mesmo de ruas, ou num robô explorador que deve relevar dados físicos nas profundezas submarinas ou no espaço exterior. O sensor de luz mais amplamente utilizado é o LDR, ou resistor dependente da luz. Esses dispositivos estão baseados no efeito fotoelétrico, descoberto por Einstein, segundo o qual, alguns materiais geram energia elétrica quando são iluminados. Na prática, isso é equivalente a uma diminuição da resistência elétrica do material. Um desses materiais, efetivamente o mais utilizado na fabricação dos LDR, é o sulfato de cádmio. Uma pista comprida e muito fina dessa substância é depositada sobre uma base inerte. O conjunto é encapsulado numa pastilha de metal com uma janela transparente. A mudança da resistência da pista, cujos extremos são ligados a terminais elétricos, dependerá da intensidade da luz incidente sobre a janela. Para medir diferentes faixas de intensidades de luz com precisão (intensidade que pode se expressar em candelas, lumens, ou qualquer outra unidade de potência luminosa), é projetado um determinado largo e comprimento da pista, de maneira tal de mostrar uma variação linear e considerável de resistência (sensibilidade) para uma determinada faixa.
114
4.10) Sensores de pressão Em muitas aplicações industriais resulta necessário medir a pressão de um determinado gás ou um líquido, assim como também em robôs exploradores submarinos precisa-se medir a pressão d’água nas profundezas do mar. Daí a utilidade dos sensores de pressão. Mas a pressão é uma grandeza física muito ligada com a força. Efetivamente, a pressão não é mais do que força por unidade de área. Assim, se uma pressão for exercida sobre um dispositivo sensitivo de área conhecida, medindo a força pode-se obter a quantidade de pressão exercida sobre essa área do dispositivo. É por isso que são utilizados muitas vezes sensores de força, com um diafragma flexível de área conhecida como dispositivo sensitivo. A pressão será proporcional à força medida. Um dos dispositivos mais utilizados para medir pressão, é um sensor capacitivo com um eletrodo rígido e outro formado por um diafragma flexível de material condutor. Quanto maior a pressão exercida sobre o diafragma, mais ele se deformará reduzindo a distância entre eletrodos e variando assim sua capacidade, conforme foi tratado com os sensores capacitivos de distância. Um circuito eletrônico mede a variação de capacidade que será proporcional à pressão exercida sobre o diafragma.
Figura 4.21: Sensor de pressão capacitivo. Um outro método também muito utilizado é o transdutor piezoelétrico. Alguns cristais de quartzo têm a característica de produzir, quando são pressionados, uma determinada tensão proporcional à pressão aplicada. Esse princípio é conhecido como fenômeno piezoelétrico. Hoje em dia, não é utilizado quartzo e sim materiais sintéticos como PVDF, um tipo de polímero plástico que tem as mesmas propriedades, com a vantagem que pode ser fabricado em folhas de grande superfície. Esse material é colocado entre dois eletrodos conectados a dois terminais; quando sobre um deles é exercida uma pressão ou uma força, entre os terminais aparecerá uma tensão elétrica proporcional. Também são muito utilizados sensores de pressão baseados em strain gauges.
115
4.11) Sensores de som O bem conhecido microfone é o sensor de som mais simples e utilizado. Ele simplesmente traduz uma onda mecânica que se propaga no ar num sinal elétrico equivalente. Porém, embora o controlador possa ter um sistema de reconhecimento de voz para detectar comandos falados dados pelo operador do sistema, não é essa a aplicação mais comum; ela é como detetor de ultrasom em sensores de distância e sonares para robôs submarinos em geral. Também podem ser usados como sensores de ultrasom o cristal piezoelétrico, o qual funciona com o mesmo princípio do sensor piezoelétrico de pressão.
4.12) Acelerômetros Não são comuns as aplicações na robótica onde seja necessário medir a aceleração de uma peça ou um sistema. Porém, existem sensores fabricados para tal fim conhecidos com o nome de acelerômetros, e em geral são aplicados para testes de vibração de elementos. Como foi especificado na seção de sensores de velocidade, um método para obter a aceleração seria medir a posição e calcular a segunda derivada dela, mas derivar um sinal tem o inconveniente de aumentar a relação sinal – ruído até o ponto de fazer o resultado inútil para qualquer fim prático. Um dos acelerômetros mais simples que existe é o acelerômetro mecânico, que não é mais do que um sensor de força, onde essa força é aplicada numa massa conhecida. Efetivamente, pela lei de Newton sabemos que F = m a; assim, medindo a força se obtém a aceleração do sistema. Para esse sensor de força aplica-se um sensor de posição, como poderia ser um LVDT, cuja haste é solidária a uma massa conhecida sustentada por duas molas, cada uma comprimindo-se em cada sentido do eixo horizontal, como é mostrado na figura. Perceba-se que este acelerômetro só serve para medir aceleração num eixo só.
Figura 4.22: Acelerômetro mecânico básico. Ao sofrer uma aceleração, a massa distende as molas com um movimento que é monitorado pelo sensor de posição
116
Também são utilizados, com o mesmo princípio, acelerômetros que utilizam como sensor de distância um sensor capacitivo ou um cristal piezoelétrico. Também existem os baseados na medição de força com strain gauges.
4.13) Sensores de gases Toda indústria que trabalha com qualquer tipo de gás tem interesse em medir a quantidade deste na atmosfera ou em recintos fechados, para o caso de vazamento, fato que sempre ocorre em pequena escala. O princípio destes sensores está baseado na combustão do gás num pequeno recinto, dentro de um dispositivo em comunicação com o ambiente. O gás no ambiente penetra neste dispositivo, partindo da suposição que a concentração dentro dele será a mesma do que fora. Esse recinto está preenchido por um volume poroso de óxido de alumínio cristalizado (Al2 O3), que, esticado, conforma uma superfície de centenas de metros quadrados. Esse material é fundido em torno de um filamento. No interior, isto é, na superfície interna dessa esponja, é depositado um elemento catalisador por meio de um processo químico. Assim, ao aquecer o filamento por meio da circulação de uma corrente elétrica, existirá uma grande superfície do catalisador numa temperatura que propicia a reação do gás com o ar. Ele entra em combustão e aquece o ambiente, e a temperatura é medida por um filamento de platina (ver sensores de temperatura). A temperatura do filamento de platina será proporcional à concentração de gás no ambiente.
Figura 4.23: Diagrama esquemático de um sensor de gás combustível
4.14) Outros tipos de sensores Serão mencionados a continuação outros tipos de sensores menos utilizados nas indústrias automatizadas, em geral, por detectarem grandezas físicas atípicas ou por não terem simplesmente uma aplicação industrial específica.
117
O primeiro deles é o sensor de tato. Os mais rudimentares consistem simplesmente numa superfície, preenchida com pulsadores muito delicados, e cobertos por uma folha de material flexível e leve. Quando um objeto é apoiado sobre esta superfície, os pulsadores que ficarem embaixo dele se ativarão e os outros não, obtendo uma matriz de uns e zeros que reproduz digitalmente a forma do objeto apoiado. Outro tipo mais sofisticado consiste em trocar os switches por sensores óticos analógicos. Estes sensores consistem num emissor de luz e vários receptores, que podem ser fototransistores dispostos na vertical, de maneira que todos recebam a luz do emissor. Quando um objeto é apoiado sobre o pulsador, o botão descerá mais ou menos dependendo da pressão exercida sobre ele, e assim, a haste que sustenta o botão descerá mais ou menos dentro do dispositivo, interrompendo a chegada da luz a mais ou menos quantidade de fototransistores, dependendo do peso apoiado. Assim, este constitui um sensor de tato semi-analógico, onde é possível em cada ponto ter uma medida imprecisa (apenas uns poucos valores são possíveis) do peso do objeto em cada um dos pontos da matriz. Os sensores de tato constituem um método para obter uma imagem de um objeto determinado. Mas também é possível utilizar um sistema de visão, o qual consiste numa matriz de sensores óticos, cada um dos quais se ativará ou não segundo a peça se encontre embaixo dele ou não. Assim, obtém-se uma “imagem digitalizada” do objeto. Existem também sensores de direção, que devolvem o ângulo, com respeito a um eixo de referência, da direção na qual o objeto monitorado está se movimentando. Existem diversas tecnologias para a construção destes sensores, sendo a mais sofisticada a do giróscopo a laser ou a fibra ótica. Estes sensores são utilizados principalmente para a navegação, tanto de aeronaves e barcos como de naves espaciais.
Referências [1] Marcelo Martins Werneck: Transdutores e interfaces. Editora “Livros técnicos e científicos”. Rio de Janeiro. 1996. [2] Arthur Critchlow: Introduction to Robotics. Macmillan Publishing Company. New York. 1985 [3] Groover, Weiss, Nagel e Odrey: Robótica. Mc Graw Hill. São Paulo. 1989. [4] ORT Open Tech Robotics Literacy Course. Control – Interfacing (part 1). World ORT Union Technical Department. London. 1984. [5] ORT Open Tech Robotics Literacy Course. Sensors – requirements. World ORT Union Technical Department. London. 1984. [6] ORT Open Tech Robotics Literacy Course. Sensors – Implementation. World ORT Union Technical Department. London. 1984
118
[7] ORT Open Tech Robotics Literacy Course. Transducers. World ORT Union Technical Department. London. 1984. [8] OMROM. Productos de automatización industrial. Catálogo abreviado. Chile. [9] SENSOTEC Catalog. Columbus Ohio. U.S.A. 1998. [10] ISI Industrial Sensors Inc Catalog. Winchester MA. U.S.A. [11] José G. Telles Ribeiro: “Instrumentação e Controle de Processos”. Apostila do curso de especialização em Engenharia Mecatrônica. Laboratório de Engenharia Elétrica. Universidade do Estado do Rio de Janeiro. Julho 1999.
119
Capítulo 5: Atuadores 5.1) Definição Atuadores são dispositivos que transformam um determinado tipo de energia num outro tipo diferente. Eles são utilizados em robótica para entregar à planta a excitação necessária para seu funcionamento, na forma do tipo de energia adequado. Por exemplo, se o funcionamento da planta estiver baseado em algum movimento dela ou de alguma das suas partes, serão necessários atuadores que forneçam energia mecânica para gerar esse movimento. Se a planta for um sistema térmico, será necessário um atuador que forneça a energia térmica necessária para ela atingir a temperatura desejada como resposta. Existem diversas classificações de atuadores, sendo a mais usual aquela que os distingue segundo a fonte de energia consumida. Assim, os atuadores mais utilizados em robótica se dividem em hidráulicos, pneumáticos e elétricos. Os atuadores hidráulicos se caracterizam por ter como fonte de energia um líquido que se desloca por um duto de entrada com uma pressão adequada; esse líquido, em geral, é algum tipo de óleo ou simplesmente água. Os atuadores pneumáticos têm como fonte de energia um gás pressurizado, geralmente ar comprimido. Os atuadores elétricos utilizam energia elétrica para seu funcionamento. Seguidamente, serão tratados os princípios de funcionamento dos principais atuadores utilizados em robótica.
5.2) Motores elétricos Os motores são dispositivos que transformam algum tipo de energia em energia mecânica. Essa energia mecânica é desenvolvida através da rotação de um eixo que gira com uma determinada velocidade e torque; a rotação desse eixo fornece movimento à planta ou a alguma das suas partes. Por exemplo, um braço mecânico que possui 3 juntas de rotação, cada uma provocando uma rotação entre dois elos adjacentes, precisará de 3 motores para efetuar o movimento de cada junta em forma independente. Existem diferentes tipos de motores, segundo a energia que utilizam para movimentar o eixo: eles podem ser a vapor, a combustão, hidráulicos, pneumáticos ou elétricos. Em particular, os motores elétricos, que são os mais utilizados em robótica, transformam uma energia elétrica em mecânica. Também existem diferentes tipos de motores elétricos, segundo o tipo de energia elétrica utilizada. Entre os principais cabe mencionar: motores A.C., que operam com corrente alternada, motores D.C., que operam com corrente contínua, e motores de passo, cujo funcionamento está baseado numa seqüência determinada de pulsos elétricos. Os motores de corrente alternada não são muito usados em robótica. Isso deve-se a seu volume relativamente grande e a sua dificuldade para poder efetuar um controle de velocidade e torque eficiente. Porém, em aplicações industriais que exigem um torque elevado, motores trifásicos de corrente alternada são freqüentemente utilizados.
120
Os motores de corrente contínua, muito utilizados em robótica, possuem um par de terminais que devem ser ligados numa fonte de alimentação; a polaridade da fonte determina o sentido de rotação do eixo do motor. Seu movimento é suave e contínuo, e, com uma redução mecânica apropriada, são capazes de desenvolver um alto torque em volumes reduzidos. A principal desvantagem consiste na dificuldade para o controlador de conhecer exatamente a posição do eixo e a velocidade de rotação, devido a que esta última é fortemente dependente da carga. Por esse motivo, não é possível controlar o funcionamento desses motores em malha aberta, sendo portanto necessário para a maioria das aplicações, colocá-los dentro de um sistema de controle em malha fechada, com um sensor de posição e/ou de velocidade para poder determinar essas grandezas em forma precisa. Os motores de passo têm seu funcionamento baseado numa alimentação caracterizada por uma seqüência de pulsos elétricos determinada. A cada pulso da seqüência, o eixo gira um ângulo fixo muito preciso. Dessa maneira, o controlador pode conhecer exatamente a posição do eixo sem necessidade de um sensor, devido a que só deve contar a quantidade de pulsos de excitação entregues a partir de uma posição inicial conhecida. Controlando o tempo entre a entrega de um pulso da seqüência e o pulso seguinte, o controlador pode também controlar a velocidade de rotação, sem necessidade de tacômetros. A relação entre o torque desenvolvido e o volume do motor, quando ele está em movimento, é menor que nos motores de contínua, mas possuem a vantagem que quando estão parados numa determinada posição, detêm um alto torque de retenção que impede seu movimento. 5.2.1) Grandezas físicas envolvidas Na hora de projetar um robô que tem algum tipo de movimento, é necessário escolher com cuidado os motores segundo as características desse movimento. Por exemplo, para movimentar os ponteiros de um relógio, é necessário um motor que gire com velocidade constante, mas que não precisa ter muita força de rotação, devido a que o peso dos ponteiros é supostamente pequeno. Mas para movimentar um robô explorador de grande peso, já é necessário um motor de uma maior força e capaz de mudar a sua velocidade de rotação. Potência, torque e velocidade são as três grandezas físicas básicas que devem ser consideradas na hora de escolher um motor segundo as condições do movimento a ser efetuado. Essas três grandezas são interdependentes, quer dizer, não é possível modificar uma sem afetar as outras duas. A potência, denominada P, é a energia mecânica entregue pelo motor por unidade de tempo, expressa-se, portanto, em unidades de energia por unidades de tempo [Joules / segundo], ou equivalentemente, em Watts [W]. Existe uma outra unidade de potência mecânica utilizada em motores, que são os cavalos de potência [HP]. Um HP é igual a 746 W. No caso dos motores elétricos, quando é aplicada uma tensão elétrica entre seus terminais, através dele circula uma determinada corrente. O produto entre tensão e corrente (para o caso particular dos motores de corrente contínua) é igual à potência elétrica consumida pelo dispositivo (V I = P); mas esta potência elétrica, que também se expressa em Watts, não é igual à potência mecânica desenvolvida no eixo do motor, devido a que sempre existem perdas ocasionadas pela energia magnética criada nas suas bobinas e pelo calor dissipado nos condutores e contatos. Denomina-se fator de potência
121
à relação entre a potência mecânica gerada no eixo do motor e a potência elétrica entregue ao motor. Este fator, obviamente, é sempre menor do que 1. Quando se escolhe um motor para uma determinada aplicação, também é necessário saber com que força ele pode girar. Esta força de rotação é conhecida com o nome de torque (grandeza representada como τ). Sua definição é: a força exercida vezes a distância perpendicular do eixo de rotação à linha de ação dessa força, isto é, a força que ele pode exercer a uma determinada distância do eixo (na realidade, τ = r ∧ F, sendo portanto uma grandeza vetorial). A unidade, portanto, é de força vezes distância, ou Newton vezes metro [N.m].
Figura 5.1: O torque exercido pelo eixo é igual à força vezes a distância perpendicular à linha de ação da força Considere-se o seguinte exemplo: se o eixo do motor está acoplado a uma polia de 10cm de raio, e através de uma corda pretende levantar um volume de 2 kg de massa, qual deverá ser o torque exercido pelo motor para levantar esse peso? A força peso exercida é (tomando como aceleração da gravidade 10 m/seg2), F = m g = 2 kg . 10 m/seg2 = 20 m kg/seg2 = 20 N A distância do eixo de rotação à linha de ação da força é igual ao raio da polia, d = 10 cm = 0,1 m. Portanto, o torque que deverá ser exercido é τ = F d = 20 N . 0,1 m = 2 Nm. (figura 5.2.a). Mas se agora for acoplado no eixo do motor uma polia de 1m de raio, e esse motor pretender levantar o mesmo peso, o torque que deverá exercer agora é de 20 N.m. Por ter aumentado a distância, mantendo o peso constante, é que o torque entregue deve ser maior (figura 5.2.b).
122
Figura 5.2: Relação entre torque τ, força F e distância à força d Outra característica importante do motor é sua velocidade de rotação, simbolizada como ω. Esta é equivalente ao ângulo que gira o eixo por unidade de tempo, e se expressa, portanto, em unidades de ângulo sobre unidades de tempo. Assim, a velocidade angular pode ser expressada em °/seg, em rad/seg, ou ainda em revoluções por minuto ou r.p.m. Observe-se que se 360° é igual a 2π radians, então:
1° / seg = 2π
360
rad / seg = 0,0175rad / seg
E se uma revolução (1 volta), são 360° ou 2π radians, e um minuto são 60 seg., então:
1r.p.m. = 360°
60seg
= 6° / seg = 0,105rad / seg
Existe ainda uma relação entre essas três grandezas físicas estudadas, potência, torque e velocidade angular. Quando elas são expressadas segundo as unidades do sistema internacional (isto é, W, N.m, e rad/seg., respectivamente), a potência é uma constante igual ao torque vezes a velocidade. P=τω Considere-se novamente o exemplo anterior. Se a potência elétrica entregue ao motor é de 5W, e o fator de potência, ou relação entre a potência mecânica desenvolvida no eixo e a potência elétrica entregue, é de 0,8, conclui-se que a potência mecânica desenvolvida é de 4W. Como o torque exercido, no caso da figura 5.2.a, é de 2 Nm,
123
então a velocidade angular será de ω = P/τ = 4W / 2Nm = 2 rad/seg. No caso da figura 5.2.b, supondo que não foi modificada a potência elétrica entregue, é desenvolvido um torque de 20 Nm, sendo portanto a velocidade angular com que gira o eixo de ω = P/τ = 4W / 20Nm = 0,2 rad/seg. Observe-se que, ao ser o torque desenvolvido 10 vezes maior, a velocidade angular é 10 vezes menor, mantendo-se a potência desenvolvida constante. Repare-se que a velocidade linear com que se desloca o peso em sentido ascendente é a mesma em ambos casos. Efetivamente, a velocidade com que sobe a corda (e portanto o peso), é igual a velocidade linear v de um ponto tangente ao contorno da polia, e isto é igual à velocidade angular vezes o raio da polia, v = ω . r. No primeiro caso, a velocidade linear é v = 2 rad/seg . 0,1m = 0,2 m/seg. No segundo caso, essa velocidade é de v = 0,2 rad/seg . 1m = 0,2 m/seg. Conclui-se que a velocidade linear de deslocamento permanece constante, o qual coincide com uma análise intuitiva, pois se o raio da polia é maior, como no caso da figura 5.2.b com respeito à figura 5.2.a, o eixo deve girar um ângulo menor para deslocar o peso a mesma distância, e portanto a velocidade angular pode ser menor que mantém a mesma velocidade linear de deslocamento no seu contorno. Isto também indica que o trabalho mecânico (L = F . d) realizado é constante para ambos casos. 5.2.2) Motores de corrente contínua. Princípio de funcionamento. Os motores de corrente contínua estão compostos por duas partes básicas. A primeira delas é fixa (sem movimento), chamada de estator, e está destinada a produzir um campo magnético constante, seja com um eletroímã ou com um ímã permanente. A segunda parte é rotatória, e é chamada de rotor ou armadura, e possui um bobinado através do qual circula a corrente elétrica contínua. Na figura 5.3 ilustra-se o princípio de funcionamento dos motores de corrente contínua. Por simplicidade, a bobina do rotor está representada por apenas uma espira, embora na prática ele possui um bobinado de um grande número de voltas. O estator produz um campo magnético constante, como já tinha sido mencionado. Quando uma corrente circula através da bobina do rotor, se produz uma força que tende a movimentar os condutores da bobina do rotor. Esta força, segundo as leis do magnetismo, é o produto vetorial F=l.i∧B onde F é a força sobre cada segmento do condutor, l é o comprimento do condutor, i é a corrente circulante e B é o campo magnético criado pelo estator. Na figura 5.3.a, observa-se que, segundo essa fórmula, no condutor posterior se produz uma força de sentido ascendente, e no condutor anterior, por ter a corrente um sentido contrário, descendente. Assim, a bobina tende girar em sentido horário. Se o fluxo de corrente fosse constante, a bobina giraria até ficar rígida na posição vertical, depois de girar 90°. Mas, ao ultrapassar um pouco a posição vertical por efeito da inércia, a fonte de alimentação da bobina inverte o sentido de circulação de corrente. Isto é feito por meio de umas escovas, ligadas eletricamente aos terminais da fonte, que pressionam com umas molas dois coletores conectados às espiras, tal como é mostrado na figura. Assim, ao inverter o sentido de circulação de corrente (figura 5.3.b), se observa que sobre os dois segmentos condutores é exercida uma força que tende a manter o sentido de rotação horário, isto é, sobre o condutor de cima a força exercida tem sentido descendente e sobre o segmento inferior, ascendente. Isto permanece até a bobina chegar novamente à posição horizontal (figura 5.3.c) onde o processo se repete.
124
Figura 5.3: Princípio de funcionamento do motor de corrente contínua Na prática, o rotor possui um bobinado de várias espiras concêntricas deslocadas um determinado ângulo entre elas; portanto, vários pares de coletores produzem a inversão de corrente quando cada par chega à posição vertical. Isto provoca que a velocidade de rotação seja mais constante, devido a que, se o rotor tivesse apenas uma espira, a força exercida seria máxima na posição horizontal e mínima na vertical. Em definitivo, a força, e portanto também o torque entregue, seriam proporcionais ao seno do ângulo de rotação. 5.2.3) Diferentes tipos de motores de corrente contínua O campo magnético gerado pelo estator pode ser produzido de duas maneiras: ou com um ímã permanente, ou com um eletroímã, ou bobinado através do qual circula uma corrente constante. Nesse segundo caso, a fonte que alimenta o bobinado do estator pode ser a mesma que alimenta o bobinado do rotor, e estes dois bobinados podem ser conectados de diferentes maneiras, produzindo motores com diferentes características. 5.2.3.1) Motores série: Primeiramente, será analisado o caso das bobinas conectadas em série. Este tipo de motores são chamados de universais, devido a que podem trabalhar tanto com corrente contínua como com corrente alternada. Efetivamente, observe-se que com corrente alternada mudaria o sentido de circulação de corrente no rotor a uma velocidade igual à freqüência de alimentação da fonte, mas isso não afeta o funcionamento do motor, devido a que o campo magnético do estator também mudaria de sentido com a mesma freqüência e na mesma fase, provocando que,
125
embora corrente e campo magnético mudem de sentido, a força exercida sobre cada condutor do rotor continua tendo o mesmo sentido daquele analisado na seção anterior. Este tipo de motores se caracteriza por girar muito lentamente ante uma grande carga mas perigosamente rápido no vazio (sem carga nenhuma). Ao mesmo tempo, a baixas velocidades o torque que pode exercer é muito alto. Essas características o fazem adequado para movimentar grandes pesos a velocidades reduzidas. Na figura 5.4 mostra-se um esquema de conexão dos bobinados, assim como a relação torque – velocidade para uma determinada potência aplicada.
Figura 5.4: Conexão de armadura e relação velocidade – torque nos motores série 5.2.3.2) Motores paralelo: Outra maneira de conectar a bobina do estator é em paralelo com a bobina do rotor. Na figura 5.5 mostra-se um esquema da conexão e um gráfico com a relação torque – velocidade para uma determinada potência aplicada. Observe-se que este caso apresenta uma velocidade limitada no vazio, e na medida que a carga vai aumentado, a diminuição de velocidade não é tão significativa. Esta característica o faz adequado para aplicações em máquinas ferramenta. Para ajustar a velocidade neste tipo de motores, é necessário mudar a potência aplicada mudando a tensão de entrada, devido a que com mudanças no torque a velocidade permanece quase constante.
126
Figura 5.5: Conexão de armadura e relação velocidade – torque nos motores paralelo 5.2.3.3) Motores compostos (compound): Este tipo de motores está baseado numa combinação entre os motores série e paralelo. O campo magnético no estator é produzido por duas bobinas separadas, uma ao redor do pólo norte e outra ao redor do pólo sul. Uma dessas bobinas é conectada em paralelo com a bobina do rotor e a outra em série. Existem duas possibilidades de conexão, a primeira consiste em conectar as duas bobinas do estator de maneira tal que os campos magnéticos se adicionem (tenham sempre o mesmo sentido), a segunda, conectá-las de maneira tal que os campos magnéticos se oponham entre eles (tenham o sentido contrário). As figuras seguintes mostram um esquema da conexão dos bobinados e um gráfico que representa a relação torque – velocidade, sendo que a curva A corresponde aos campos magnéticos subtraídos, e a B aos campos acumulados. O primeiro tipo de motor compound, das bobinas conectadas de maneira diferencial, tem a desvantagem de que a velocidade pode ser perigosamente alta se um torque máximo de segurança é ultrapassado. O comportamento no caso do segundo tipo, as bobinas conectadas de maneira cumulativa, está entre o comportamento de um motor série e um motor paralelo, mas o comportamento exato depende do tamanho de cada uma das bobinas, as quais não têm por que ser necessariamente iguais.
127
Figura 5.6: Conexão de armadura e relação velocidade – torque nos motores compostos. A – diferencial. B - cumulativo 5.2.3.4) Motores com ímã permanente: Como seu nome o indica, neste tipo de motores o campo magnético do estator é gerado com um ímã permanente. Isto tem a grande vantagem de garantir um campo magnético constante além de um volume reduzido. Essas vantagens são suficientes para fazer deste tipos de motores os mais utilizados e praticamente os únicos de corrente contínua utilizados em robótica. A relação torque – velocidade é similar àquela dos motores paralelo. Existem diversas arquiteturas de motores com ímã permanente. A primeira delas é a do rotor com núcleo de ferro. Eles têm um rotor de ferro laminado com fendas por onde são enrolados os condutores de armadura. Devido a que os condutores são colocados em posições “discretas”, e não se apresentam em forma uniforme cobrindo toda a superfície do rotor, o movimento do eixo apresenta uma certa discontinuidade na sua rotação. O ímã permanente é colocado na periferia do rotor. Os motores deste tipo possuem alta indutância, alta inércia, e baixo custo.
128
Figura 5.7: Motor de ímã permanente com núcleo de ferro O segundo tipo é o de bobinado superficial. Neste tipo de motores os condutores de armadura não são colocados em fendas sino segurados à superfície lisa do rotor. Ele é feito de lâminas de ferro para reduzir o fluxo de correntes parasitas induzidas nele. Como não tem fendas, o movimento do eixo é contínuo e suave. Esses motores precisam de um ímã mais poderoso que no caso anterior, e possuem uma alta indutância, um custo maior, e diâmetros maiores também.
Figura 5.8: Motor de ímã permanente de bobinado superficial
129
Com o intuito de reduzir a indutância e obter pequenos momentos de inércia, foram eliminados os materiais ferromagnéticos da armadura, a qual começou ser construída com materiais tais como resina epoxi ou fibra de vidro. Por não ter materiais ferromagnéticos na armadura, a relutância do ímã permanente é aumentada, e portanto se faz necessário utilizar ímãs mais poderosos para produzir o mesmo fluxo magnético e o mesmo torque de saída. A inércia do rotor é extremadamente baixa devido à menor massa dele, apresentando assim uma resposta mais rápida ao sinal de controle. Este tipo de motores também apresenta uma baixa indutância de armadura.
Figura 5.9: Motor de ímã permanente de bobinado sobre núcleo não magnético 5.2.4) Modelo matemático do motor de corrente contínua Nesta seção será estabelecida a relação matemática entre a saída e a entrada de um motor de corrente continua, expressando-a através de um diagrama de blocos. Por sinal de entrada ou excitação do motor se entenderá a tensão de entrada aplicada entre seus terminais, que será uma grandeza variável no tempo. Por sinal de saída ou resposta do motor se entenderá a velocidade angular do eixo do motor ω, grandeza também variante no tempo. Em todos os motores de corrente contínua acontece que a força, que é gerada sobre cada segmento do condutor da armadura, é proporcional à corrente elétrica que circula por ele, tal como foi formulado na seção 5.2.2. Portanto, para um mesmo motor e supondo o fluxo magnético gerado pelo estator constante (o qual só é estritamente certo nos motores com ímã permanente), pode-se afirmar que: τ = Km Ia onde τ é o torque do motor, Ia é a corrente de armadura e Km é uma constante que depende das características construtivas do motor. Por outro lado, quando um condutor em movimento atravessa um campo magnético, é sabido pelas leis do magnetismo que é induzida uma tensão nessa espira. A polaridade dessa tensão tende se opor à polaridade da tensão que gera a corrente de armadura, produzindo-se uma tensão efetiva menor. Esta tensão induzida no bobinado
130
produto do movimento do condutor é chamada de força contra-eletromotriz, e é proporcional à velocidade de rotação da armadura: eb = Kb ω onde eb é a tensão induzida (ou força contra-eletromotriz), Kb é uma constante de tensão do motor, e ω é a velocidade angular. O efeito da força contra-eletromotriz é agir como se fosse um atrito viscoso para o motor; na medida que a velocidade aumenta, aumenta esta tensão induzida que se opõe à tensão aplicada, diminuindo assim a tensão total efetiva aplicada sobre a armadura. Se forem desprezados os efeitos indutivos da armadura, e ela for considerada como resistiva pura desde o ponto de vista elétrico, sabe-se que, pela lei de Ohm, a corrente que circula é igual à tensão total aplicada dividido por essa resistência de armadura, isto é: Vin − e b Ia = Ra onde Vin é a tensão de entrada aplicada e Ra é a resistência do bobinado de armadura. Sabe-se também, pela segunda lei de Newton, que existe uma relação entre o torque τ e a aceleração angular γ em todo corpo rígido que tem um movimento de rotação: τ=Jγ sendo J o momento de inércia do corpo que gira. Finalmente, a cinemática dos corpos rígidos indica que a velocidade angular é a integral da aceleração angular. A partir de todas estas fórmulas, é possível traçar o diagrama de blocos que representa a relação entre a entrada de tensão de um motor de corrente contínua, e a velocidade de saída.
Figura 5.10: Diagrama de blocos de um motor de corrente contínua Deve-se ter presente que este diagrama é simplificado, pois não considera o efeito indutivo do bobinado de armadura, que nem sempre é desprezível, nem atritos viscosos que, em maior ou menor medida, se apresentam no eixo em rotação de todo motor. 5.2.5) Motores de passo Os motores de passo são um tipo particular de motor muito utilizado, principalmente em periféricos de computador, tais como impressoras e drives de discos
131
rígidos e flexíveis. Eles propiciam a saída em forma de incrementos angulares discretos, controlados por impulsos elétricos do sinal de alimentação; cada pulso se corresponde com um ângulo fixo de rotação. Devido a essa característica, podem ser utilizados em malha aberta, pois o controlador pode conhecer exatamente a posição do eixo com respeito a uma referência, sendo apenas necessário fornecer a quantidade de pulsos requerida para o eixo girar uma quantidade determinada de passos. Em robótica, os motores de passo são utilizados para aplicações de serviços relativamente leves, devido a que não possuem grande torque em comparação com o volume deles. Quando o torque exigido vai além do que o motor pode suportar, o mais comum é que o eixo não gire e assim “perca passos”, fato que em malha aberta provoca a perda do conhecimento da posição do eixo por parte do controlador. Uma vantagem destes motores com respeito aos de corrente contínua, é que quando estão fixos numa determinada posição possuem um torque de retenção elevado, o que não acontece durante o movimento. O custo deles é também uma vantagem pois viu-se diminuído sensivelmente nos últimos anos. A figura 5.11 mostra um diagrama esquemático que representa o funcionamento do motor de passo. Eles possuem um estator e um rotor inserido no interior dele e solidário com o eixo de rotação. O estator possui vários pólos eletromagnéticos que podem ser polarizados de diferentes maneiras segundo o sentido da corrente que circule pelos eletroímãs. Suponha-se inicialmente que o rotor tem um ímã permanente de dois pólos e o estator possui 4 pólos eletromagnéticos. Se eles forem ativados de modo tal que o pólo 3 seja norte magnético e o pólo 1 seja o pólo sul, então o rotor se alinhará como mostra o desenho. Agora se o estator for excitado de modo que o pólo 4 seja norte e o 2 seja sul, o rotor fará um giro de 90° em sentido horário, efetuando assim o que se conhece como “um passo”.
Figura 5.11: Desenho esquemático que ilustra o funcionamento do motor de passo Na realidade, o rotor possui dois conjuntos de pólos separados em duas seções ao longo do seu comprimento. Em cada conjunto, cada pólo parece com os dentes de uma
132
engrenagem. O outro conjunto possui os pólos deslocados meio dente com respeito ao primeiro. Um conjunto tem os pólos norte do ímã permanente, e o outro os pólos sul. No estator, também existem vários eletroímãs distribuídos ao longo da sua circunferência interna. No rotor existe sempre um número ímpar de pólos e no estator um número par, de maneira que não possam estar todos os pólos do estator e do rotor alinhados à vez. Quando uma corrente circula por um conjunto de eletroímãs do estator, os pólos norte do rotor se alinharão com os pólos sul do estator, e vice-versa. Mudando a polaridade dos pólos do estator, o rotor é forçado a girar um passo de uma posição estável à outra mais próxima. O ângulo desse passo estará determinado, então, pelo número de pólos do estator (normalmente oito) e pelo número de pólos do rotor. Nos motores de passo convencionais, esse ângulo pode estar entre 1,8° e 30°, sendo o caso mais típico 7,5°. Um esquema simplificado, com três pólos no rotor e quatro no estator é mostrado na figura seguinte. A seqüência mostra uma típica polarização dos eletroímãs do estator para o rotor girar 30° por passo.
Figura 5.12: Esquema da seqüência de ativação das bobinas para um motor de passo As bobinas do estator estão conectadas normalmente em grupos de a quatro ao longo da circunferência interna dele. Assim, a primeira bobina é ligada em série com a quinta, a segunda com a sexta, a terceira com a sétima, etc. Todas elas possuem um terminal comum. Exteriormente têm cinco fios de ligação onde deve ser aplicada a
133
seqüência de sinais, sendo um o terminal comum a todas as bobinas e os outros quatro, um para cada grupo. Dois tipos de seqüências são usados em motores de passo. Elas são conhecidas como “meio passo” e “passo completo”. A seqüência de passo completo magnetiza sempre dois eletroímãs do estator à vez, é o caso que foi exemplificado anteriormente. A de meio passo, magnetiza, entre um passo e outro, apenas uma bobina (ou um grupo de bobinas), com o qual consegue que o rotor se alinhe com seus pólos entre dois pólos do estator e não apontando para um deles, provocando uma rotação da metade do passo. A vantagem do meio passo é um movimento mais suave pois o ângulo de giro se reduz à metade, a desvantagem é um torque de retenção menor. As seguintes figuras mostram tais seqüências, onde os fios terminais externos são chamados de A, B, C e D.
Figura 5.13: Seqüência de pulsos para passo completo de um motor de passo
Figura 5.14: Seqüência de pulsos para meio passo de um motor de passo Se fosse aplicada a seqüência em sentido inverso, obviamente o rotor giraria em sentido contrário. Se a corrente nas bobinas do estator for comutada rapidamente, é possível fazer parecer este movimento contínuo. Esta seqüência pode ser gerada pelo controlador, fornecendo os quatro sinais na saída de uma interface paralela (uma outra interface de potência deveria fornecer a energia necessária para polarizar as bobinas do
134
estator), ou pode existir uma interface eletrônica dedicada, que receba do controlador principal apenas os pulsos de clock e um sinal digital de controle indicando o sentido de rotação; esse circuito se encarregaria de gerar a seqüência necessária. A velocidade de rotação será estabelecida pelo controlador segundo o tempo de espera entre um passo e outro, isto é, segundo a freqüência do clock. Quanto menor for este tempo, maior será a velocidade angular, e portanto menor o torque fornecido, podendo acontecer de não ser o suficiente nem para movimentar o próprio eixo, em cujo caso o motor não consegue acompanhar as comutações da seqüência e assim “perde passos”. A relação entre torque e velocidade num motor de passo é apresentada na figura 5.15. Note-se que é graficado o torque em função da velocidade, pois, efetivamente, a velocidade de rotação do eixo é função exclusivamente do tempo entre passos determinado pelo controlador; e em função dessa velocidade será o torque máximo que o eixo pode suportar a fim de não perder passos. Observe-se também que o torque máximo é produzido quando o motor está parado, é o que foi chamado de torque de retenção.
Figura 5.15: Relação torque – velocidade de um motor de passo 5.2.6) Servo-motores Os servo-motores não constituem em si mesmos um tipo diferente de motor, mas eles serão tratados em forma particular por constituírem uma das configurações mais utilizadas em robótica. Trata-se de um motor, em geral de corrente contínua, com um sensor de posição ou de velocidade que permite ao controlador conhecer essas grandezas físicas e assim controlá-las. Em muitos casos, esse controlador é um controlador dedicado consistente num comparador e um amplificador com integrador. O controlador principal do sistema envia então, em malha aberta, o sinal de referência, que pode se referir à posição ou à velocidade desejada dependendo do tipo de servo. O comparador subtrai o sinal do sensor, que é a resposta do motor, dando o sinal de erro, o qual é amplificado e o motor é alimentado com ele. Por exemplo, se o servo for de posição, o sinal de erro será zero quando o sensor de posição, em geral um potenciômetro, devolver o mesmo sinal da referência, e nesse caso a alimentação do motor será nula e o eixo ficará parado. Se o sensor devolver um sinal diferente da referência, o erro será maior ou menor do que
135
zero e portanto o motor será alimentado com uma tensão positiva ou negativa, de maneira tal que o eixo se movimente no sentido adequado até a resposta do sensor igualar à referência. O mesmo acontece quando se controla velocidade. Em muitos casos, os servo-motores de posição comerciais exigem como entrada de referência um sinal pulsado, onde o largo do pulso é proporcional à posição desejada. Este tipo de sinal é conhecido como sinal modulado por largo do pulso (PWM). O controlador dedicado, que é constituído por um circuito integrado, possui um filtro passa baixo para determinar o valor médio desse sinal, que será proporcional ao largo do pulso, e portanto esse valor médio terá uma amplitude proporcional à posição desejada. A partir daí, é comparada com a amplitude do sinal do potenciômetro para determinar o erro.
Figura 5.16: Diagrama de blocos de um servo – motor de velocidade
5.3) Atuadores hidráulicos Os atuadores hidráulicos têm como objetivo gerar um movimento, que pode ser de deslocamento linear no caso de uma haste, ou rotativo no caso de um eixo. Esse movimento está baseado na introdução de um líquido a alta pressão num recipiente perfeitamente selado, a fim de evitar vazamentos, onde se localiza a haste ou o eixo, segundo o caso; a passagem do líquido gera a movimentação deles. No caso do elemento móvel ser uma haste que se desloca linearmente, o atuador recebe o nome de pistão, e no caso do elemento ser um eixo que gira, o atuador denomina-se motor hidráulico. Eles apresentam algumas vantagens com respeito aos dispositivos eletromecânicos e algumas desvantagens, as quais serão tratadas a continuação. Essas vantagens e desvantagens determinam aplicações muito específicas em robótica. 5.3.1) Princípio de funcionamento O princípio de funcionamento de todos os dispositivos hidráulicos está baseado na lei de Pascal. Ela parte do fato que um fluido confinado num recipiente não pode ser comprimido, mantendo sempre seu volume constante. Assim, se uma pressão externa é aplicada a esse fluido, ela é transferida a todas as superfícies em contato com o fluido sem perda de energia. Por exemplo, considere-se o dispositivo da figura 5.17. A pressão P é igual à força aplicada sobre a área de aplicação (P = F/A). Assim, se for aplicada uma força sobre o pistão B de 50N, e ele tem uma superfície de 1cm2, então a pressão sobre o fluido será de 50 N/cm2. Essa mesma pressão se efetuará sobre o pistão A, que se possuir uma
136
superfície de 10 cm2, avançará com uma força de 500N. A força obtida então é 10 vezes maior.
Figura 5.17: Pistão duplo que exemplifica a lei de Pascal Obviamente, a distância de deslocamento do pistão A com respeito ao B será 10 vezes menor, de maneira tal que o trabalho mecânico efetuado por ambos pistões, trabalho que é igual à força aplicada vezes a distância percorrida, mantém-se constante para ambos pistões; isto é, se forem desprezados os atritos, o sistema não gera nem perde energia mecânica. Li [J] = Fi [N] . di [m] = Lo [J] = Fo [N] . do [m] sendo Li e Lo o trabalho mecânico de entrada e saída respectivamente (em Joules), Fi e Fo a força aplicada e obtida (em Newton), e di e do as distâncias percorridas pelos pistões de entrada e saída. Este princípio é utilizado nos freios dos carros, onde com uma pequena força no pedal é possível obter uma força nas rodas suficiente para deter o carro. 5.3.2) Pistões hidráulicos Os pistões hidráulicos possuem um diafragma rígido com uma haste solidária dentro de um cilindro. Por um orifício é introduzido um fluido a alta pressão proveniente de uma bomba hidráulica. Este fluido então empurra ou puxa a haste com uma determinada força. Os pistões podem ser de dois tipos: de efeito simples ou de efeito duplo. Os pistões de efeito simples possuem um mola, a qual o diafragma pressiona quando é empurrado, do lado contrário à entrada do fluido, como é ilustrado na figura 5.18.
137
Figura 5.18: Pistão de efeito simples Um dos orifícios serve como entrada de líquido e o outro como saída, e sendas eletroválvulas devem controlar a passagem por eles. Assim, quando a eletroválvula ligada ao orifício de entrada, à qual está conectada a bomba, permite a entrada de líquido, e a outra eletroválvula permanece fechada, a pressão do fluido de entrada empurrará a haste. Quando a primeira eletroválvula é fechada e a segunda aberta, a mola empurrará o diafragma, puxando a haste e provocando a saída de líquido pelo orifício de saída. Este deveria ir a um reservatório onde possa ser bombeado pelo compressor novamente. Neste tipo de pistões é dificultoso controlar a posição da haste, e portanto são utilizados de maneira tal de ir de um extremo da sua extensão ao outro, se detendo apenas nas duas posições extremas; por essa razão eles são chamados de dispositivos “bang-bang”. Também é dificultoso controlar a força com que avança ou retrocede a haste, pois a força aplicada no diafragma pela pressão do líquido, é oposta à força da mola, a qual não é constante mas aumenta linearmente com a distância comprimida. Os pistões de efeito duplo não possuem mola, mas dois pares de orifícios localizados a ambos os lados do diafragma. Em cada um desses pares, um orifício será de entrada de líquido e o outro de saída. Assim, controlando a passagem do fluido pelo orifício de entrada de um par e pela saída do outro, é possível controlar melhor a força e a posição da haste. Um esquema mais simples, chamado de pistão servo-hidráulico, é mostrado na figura 5.19. Nele, a passagem do líquido é controlada por uma eletroválvula, e só tem um orifício a cada lado do diafragma, servindo tanto para entrada como para saída do líquido. A posição da haste da eletroválvula é controlada por dois solenoides. Na posição (a), a haste está detida, pois não pode nem entrar nem sair líquido do cilindro. Se a haste da eletroválvula é puxada para a esquerda como mostra a figura (b), a bomba estará ligada à entrada A e o reservatório à entrada B, e portanto o líquido que entra empurrará a haste para o exterior do cilindro. Se agora a haste da eletroválvula é puxada para a direita como mostra a figura (c), a bomba ficará ligada ao orifício B e o reservatório ao orifício A, com o qual o líquido entra agora pelo outro lado do diafragma, puxando a haste em direção do interior do cilindro.
138
Figura 5.19: Servo pistão hidráulico Em malha aberta estes dispositivos também são utilizados como “bang-bang”, movimentando-se a haste de um extremo ao outro do seu percurso. Mas se for fechada a malha colocando-se um sensor de posição linear solidário com a haste do pistão, por exemplo um LVDT, o controlador mostra-se capaz de controlar a posição do pistão com grande precisão, executando movimentos muito suaves na haste da eletroválvula. O líquido utilizado nestes sistemas em geral não é água, mas um óleo anticorrosivo. A explicação disto é que a água, embora tem a grande vantagem de ter um custo mínimo, possui um ponto de ebulição baixo (100°C) e de fusão alto (0°C), fazendo-a inadequada para muitas aplicações além destas temperaturas limites. Além disso, a água se evapora com extrema facilidade, principalmente a altas temperaturas, e por ser o vapor compressível, perde-se pressão no cilindro e portanto diminui a força do pistão. Por essa mesma razão é que se deve evitar a entrada de ar no sistema. A velocidade com que a haste é empurrada no pistão de duplo efeito está dada por: v(t) = f(t) / A sendo f(t) a vazão do líquido entrante (em [m3/seg]) e A a área do diafragma. A força da haste é igual a: F(t) = P(t) . A sendo P(t) a pressão do fluido (em [N/m2]).
139
5.3.3) Motores hidráulicos Os motores hidráulicos são dispositivos que geram um movimento de rotação num eixo. Esse movimento é provocado pela circulação de um líquido pressurizado, em geral um tipo especial de óleo. Eles possuem um estator, geralmente feito de uma aleação de alumínio, e um rotor feito de aço inoxidável. O estator tem dois orifícios que permitem a entrada e saída do líquido, e uma válvula eletro–hidráulica similar àquela utilizada nos pistões determina qual será de entrada e qual de saída, o que determina, em definitivo, o sentido de rotação do eixo. Essa eletroválvula controla também a pressão e vazão do líquido entrante, controlando assim o torque e a velocidade do eixo. O rotor possui uma espécie de hélice como é mostrado na figura 5.20. Com um potenciômetro ou um resolver é possível controlar em forma precisa a posição do eixo do motor. Este tipo de motores tem a grande vantagem de possuir um torque muito maior que os apresentados pelos motores elétricos de tamanhos similares. As expressões da velocidade angular ω e o torque de saída τ estão dadas por:
ϖ=
2f (R − r 2 )h 2
τ = ½ P h (R - r) (R + r) onde R é o raio externo da hélice, r é raio interno da hélice, ou raio do eixo dela, h é o comprimento da hélice, f é a vazão (em [m3/seg]), e P é a pressão (em [N/m2]).
Figura 5.20: Motor hidráulico 5.3.4) Vantagens e desvantagens dos dispositivos hidráulicos A principal vantagem na utilização dos dispositivos hidráulicos é que eles podem entregar uma força (no caso dos pistões) ou um torque (no caso dos motores) muito maior que seus similares eletro-mecânicos para o mesmo tamanho de dispositivo. Além
140
disso, eles não precisam de engrenagens para aumentar o torque ou a força, o que ocasiona uma perda de energia por atrito, entre outros problemas que serão analisados no capítulo seguinte. No caso dos pistões, eles podem desenvolver um movimento muito rápido. Um motor elétrico ligado a um mecanismo de transmissão que produza um movimento linear nunca poderia ser tão veloz. Em algumas linhas de produção esta é uma característica decisiva. A posição da haste do pistão pode ser controlada em malha fechada de maneira muito precisa com uma válvula servo-hidráulica, utilizando uma baixa corrente, a suficiente para movimentar a haste da eletroválvula. Outra das vantagens é que os dispositivos hidráulicos, por não terem parte elétrica, podem estar localizados em ambientes inflamáveis, onde a presença de uma corrente elétrica poderia provocar a combustão dos gases presentes nesse ambiente. Por isso são adequados em linhas de montagem onde se utilizam robôs para pintura; muitos dos compostos químicos utilizados produzem um vazamento de gases combustíveis na atmosfera. A principal desvantagem dos dispositivos hidráulicos é que eles, em primeiro lugar, têm um tamanho mínimo que para algumas aplicações delicadas é inadequado. Por outro lado, eles exigem um sistema de geração de energia (uma bomba hidráulica) e de transmissão de energia (mangueiras) que em muitos casos impossibilitam uma montagem num sistema compacto. No caso dos sistemas eletro-mecânicos, tanto a geração como a transmissão através de fios pode ser feita em volumes bem menores.
5.4) Atuadores pneumáticos Os atuadores pneumáticos são os mais simples dos atuadores e são utilizados na indústria em muitas aplicações. Existem tanto pistões quanto motores para gerar movimentos lineares e rotativos. Eles são basicamente como os dispositivos hidráulicos, com a diferença que o fluido utilizado não é líquido mas ar comprimido. O princípio de funcionamento é o mesmo, mas a grande diferença é que não é mais possível aplicar a lei de Pascal, devido a que o ar é altamente compressível, de maneira tal que o volume dentro de um recipiente fechado já não é mais constante. Essa compressão do ar gera calor, e portanto existe uma perda de energia mecânica transformada em energia térmica, isto é: Li = Lo + energia térmica dissipada onde Li é o trabalho mecânico de entrada (pressão vezes a distância deslocada, no caso de um pistão), e Lo é o trabalho mecânico efetuado na saída. Isso provoca um trabalho extra por parte da fonte de alimentação, o compressor de ar, diminuindo a eficiência do sistema. É por essa razão também que os pistões pneumáticos apresentam uma grande inércia na sua haste. Isto é, quando a válvula de entrada é fechada impedindo a entrada de mais ar, o diafragma continua se movimentando porque o ar pode ir descomprimindo até equilibrar as forças a ambos os lados do diafragma. Também acontece que pela compressibilidade do ar, quando eles transportam uma carga pesada, a haste pode se movimentar mesmo sem estar entrando ar comprimido no cilindro. Isto dificulta em grande medida o controle de posição nestes dispositivos, e é por essa razão que eles são
141
utilizados entre os topes à maneira de “bang-bang”, tanto os pistões de efeito simples como os de duplo efeito. Essa característica os fazem muito adequados em manipuladores do tipo “pick & place”, ou manipuladores cuja função é pegar um objeto numa posição fixa determinada e colocá-lo numa outra. Mas os atuadores pneumáticos apresentam grandes vantagens com respeito a seus pares hidráulicos. A primeira delas é que as válvulas pneumáticas são muito mais simples e mais econômicas do que as válvulas hidráulicas. A segunda, é que a fonte de ar é a atmosfera, e portanto não é preciso um reservatório perfeitamente selado para impedir a perda do fluido ou a entrada de ar, já que o ar que sai dos pistões é descarregado na atmosfera. Apenas o compressor de ar deve ter um reservatório para garantir a provisão permanente de ar na pressão adequada. Finalmente, os materiais utilizados são mais leves, tanto os utilizados para a construção dos pistões quanto para o sistema de transporte de ar comprimido, e os volumes dos dispositivos são bem menores do que os seus pares hidráulicos. Isto permite sistemas bem mais compactos e mais baratos, e por causa do menor peso, possuem uma resposta mais rápida do que seus pares hidráulicos. Embora não sejam capazes de serem controlados em forma tão precisa, e não possam gerar tanto torque ou força na sua saída, mesmo assim são adequados para muitas aplicações industriais. A força e velocidade na haste dos pistões, assim como o torque e a velocidade angular no caso dos motores, estão definidos pelas mesmas fórmulas que as utilizadas para os atuadores hidráulicos, pelo menos em forma ideal, isto é, desprezando atritos e desconsiderando as perdas de pressão pela compressibilidade do ar.
5.5) Outros tipos de atuadores Existem muitas aplicações em sistemas industriais que exigem outros tipos diferentes de atuadores além dos já estudados. Serão mencionados apenas alguns deles. 5.5.1) Resistores Em sistemas térmicos, isto é, sistemas cuja excitação é fornecida por uma fonte de energia térmica, e cuja resposta está caracterizada pela temperatura do sistema, já não é mais necessário um atuador que entregue movimento, mas algum tipo de energia térmica. Isto é geral, a não ser um sistema particular onde um movimento possa ser transformado em energia térmica, como acontece no caso das geladeiras. Existem diversos dispositivos capazes de serem utilizados como fonte de calor. Um dos mais utilizados em diversos sistemas pequenos, onde não se pretende alcançar altas temperaturas, são os resistores de arame de potência. Efetivamente, a potência dissipada nos resistores é dissipada na sua totalidade em forma de calor, sem outro tipo de perdas de energia. É portanto capaz de aquecer uma determinada planta. A potência dissipada num resistor como calor é igual à potência elétrica consumida, isto é P = V I. Esta potência expressa-se em Watts, e é igual a quantidade de energia dissipada por segundo. Em sistemas elétricos, essa energia expressa-se em Joules (1 W = 1 J/seg); mas em sistemas térmicos a unidade de energia mais comum é a caloria (cal), que é igual a 4,186 Joules. Assim, um resistor de, por exemplo, 5W, entrega 5 J/seg; quer dizer que por segundo entregará uma energia de 5 Joules ou 1,184 calorias. Com este valor, e supondo que o sistema está isolado termicamente (não há intercâmbio de
142
calor com o meio ambiente), é possível calcular, pelas leis da termodinâmica, o aumento de temperatura do sistema. Outras formas de providenciar energia térmica, utilizadas em plantas maiores ou em sistemas onde pretende-se alcançar maiores temperaturas, é um aquecedor a gás, onde uma válvula pneumática pode controlar a passagem do gás combustível controlando assim a chama, e portanto a quantidade de energia térmica entregue no sistema. Ambos tipos de atuadores são adequados para serem utilizados em sistemas em malha fechada, utilizando um sensor de temperatura, mas não esquecendo que os sistemas térmicos possuem uma alta inércia térmica, o que provoca respostas excessivamente lentas. Isto impossibilita o controle preciso de tais sistemas. 5.5.2) Eletroímãs Uma outra forma comum em muitos sistemas para gerar um pequeno movimento linear, além da utilização de pistões pneumáticos, é a utilização de eletroímãs. Um tipo muito comum deles está conformado por uma haste que se movimenta linearmente entre dois topes dentro de um solenoide, e uma mola o faz recuar à sua posição de repouso. Em geral, os eletroímãs são utilizados para gerar pequenos movimentos lineares, já que quanto maior é o deslocamento, maior deveria ser o comprimento do solenoide e portanto maior a energia consumida por ele. Quando uma corrente elétrica circula através do solenoide, ele se magnetiza atraindo a haste. Quando deixa de circular essa corrente, uma mola faz retornar a haste à posição original. São portanto equivalentes aos pistões de efeito simples e, como neles, não é possível o controle de posição preciso da haste, pelo que são utilizados sempre entre dois topes à maneira de “bang-bang”. Também podem ser utilizados sem haste nenhuma, como meio para segurar objetos construídos com materiais ferromagnéticos, sistema muito utilizado em robôs do tipo “pick & place”. 5.5.3) Lâmpadas e alarmes sonoros Em muitos sistemas industriais, o usuário forma parte da malha de realimentação, observando o que acontece na planta e dando as instruções ou comandos manualmente ao controlador para efetuar as operações adequadas. Assim sendo, é necessário dispositivos que informem ao usuário sobre o estado da planta. Na prática, isso acontece apenas em situações críticas, por exemplo quando um sistema térmico ultrapassa uma temperatura máxima permitida, ou em geral ante qualquer outra situação de emergência, onde o usuário deve deter o processo, por exemplo desligando a fonte de energia. Para isso podem ser utilizados led’s, lâmpadas ou alarmes sonoros. Em todo caso, segundo a definição de atuadores dada no início do capítulo, eles devem ser classificados dessa maneira.
Referências [1] Linear and Interface Circuits Applications. Volume 3. Texas Instruments. USA. 1987.
143
[2] Arthur Critchlow: Introduction to Robotics. Macmillan Publishing Company. New York. 1985. [3] Groover, Weiss, Nagel e Odrey: Robótica. McGraw – Hill. São Paulo. 1989. [4] ORT Open Tech Literacy Course. Electric rotary drives. World ORT Union Technical Department. London. 1984. [5] ORT Open Tech Literacy Course. Fluidic linear drives. World ORT Union Technical Department. London. 1984. [6] ORT Open Tech Literacy Course. Practical control systems. World ORT Union Technical Department. London. 1984.
144
Capítulo 6: Mecanismos de transmissão de potência mecânica 6.1) Introdução No capítulo anterior foi abordado o tema de atuadores. Em particular, quando é desejado imprimir um movimento à planta ou a alguma parte específica da planta, como pode ser uma junta num braço mecânico, deve-se recorrer a atuadores que entreguem energia mecânica através de um movimento. Mas os atuadores são fabricados com características padronizadas, o que provoca que em muitos casos não existam atuadores com as características exatas desejadas, por exemplo, com a velocidade angular desejada ou com o torque necessário para movimentar a carga. Em outros casos, por uma questão de estrutura do robô, por exemplo por falta de espaço físico, o atuador não pode ficar exatamente na junta ou no local da peça a ser movimentada, o que provoca que o atuador deva ser colocado num outro local, distante do ponto de aplicação da força. Também podem ocorrer situações onde o tipo de movimento desejado não seja aquele efetuado pelos atuadores disponíveis, por exemplo quando se deseja deslocar uma peça em linha reta imprimindo esse movimento com um motor. Por todas essas razões, torna-se necessário usar algum tipo de mecanismo para transmitir a potência gerada pelo atuador a um outro ponto de aplicação ou bem modificar o tipo ou as características do movimento gerado. Esses mecanismos são conhecidos com o nome de mecanismos de transmissão de potência mecânica. Seguidamente serão tratados os principais desses mecanismos e os mais utilizados em robótica.
6.2) Polias Um sistema de polias constitui uma máquina simples e talvez um dos primeiros mecanismos de transmissão utilizados. Ele consiste em duas rodas, geralmente com um canal ao longo das suas circunferências externas, chamadas de polias. Por esses canais passa uma correia fechada, com uma certa tensão, unindo as duas. Os centros das rodas são solidários com um par de eixos de maneira tal que elas possam girar livremente. Obviamente, a rotação de uma delas provocará uma rotação na outra.
145
Figura 6.1: Sistema de duas polias Se for colocado o eixo de uma das polias solidário com o eixo de um motor que gira com velocidade angular e torque constantes, o eixo da outra polia apresentará um movimento de rotação que pode ter características diferentes. A polia solidária com o eixo do motor será chamada de polia 1, e a polia que recebe o movimento através da tração da correia, será chamada de polia 2. Mas, qual a relação entre a velocidade angular numa polia e a velocidade angular na outra; e entre os torques? A primeira e óbvia conclusão é que o sinal destas grandezas é o mesmo, já que a rotação entre as duas polias sempre tem igual sentido. Para calcular essa relação, primeiramente deve ser assumida a suposição que a correia é ideal, isto é, que não se deforma se esticando ou comprimindo com o movimento, e que não escorrega ao redor da polia. Com estas condições, conclui-se que a velocidade linear de deslocamento de cada ponto da correia permanece constante. Essa velocidade pode ser calculada como a velocidade angular imprimida pelo motor à primeira polia, ω1, vezes o raio efetivo da polia, r1, isto é, v = ω1 r1. Por raio efetivo entende-se a distância entre o centro da polia e o centro da correia, como é mostrado no seguinte desenho.
146
Figura 6.2: Representação do diâmetro efetivo de uma polia Como essa velocidade linear é constante ao longo de toda a extensão da correia, será a mesma num ponto tangencial da segunda polia, a qual girará com uma velocidade angular cuja relação é a mesma que para a primeira polia, isto é ω2 r2 = v. Conclui-se assim que: Velocidade da correia = ω1 r1 = ω2 r2 Portanto, se a segunda polia for maior do que a primeira, e a correia não escorregar, existirá uma diminuição da velocidade angular. O mesmo acontece com a força com que avança essa correia. Como foi tratado na seção 5.2.1, o torque imposto à polia 1 pelo motor, gera uma força igual ao torque do motor sobre a distância de aplicação dessa força. Neste caso essa distância coincide com o raio efetivo da polia 1, isto é F = τ1 / r1. Essa força, se não existir estiramento nem compressão da correia, permanece constante ao longo de toda a sua extensão, e portanto é a força aplicada à segunda polia para gerar a rotação dela. Essa rotação imprimirá um determinado torque na segunda polia, cuja relação com a força é a mesma que para a primeira, isto é F = τ2 / r2. Conclui-se portanto: Força de avanço da correia = τ1 / r1 = τ2 / r2 Isto implica que, se a segunda polia for maior do que a primeira, e a correia não se esticar durante o movimento, haverá um aumento de torque. A potência mecânica entregue à primeira polia é, como foi tratado na seção 5.2.1, P1 = τ1 ω1, e a potência desenvolvida na segunda polia, P2 = τ2 ω2. É fácil ver que, substituindo nas equações anteriores:
147
P2 = τ2 ω2 = τ1 (r2 / r1) ω1 (r1 / r2) = τ1 ω1 = P1 Conferindo-se assim que a potência mecânica permanece constante, isto é, o sistema não gera nem perde energia. O uso das polias apresenta algumas vantagens e algumas desvantagens com respeito a outros mecanismos de transmissão de potência. Uma das vantagens é a sua simplicidade mecânica, o que ocasiona que não seja necessário utilizar peças de alta precisão para um bom funcionamento do sistema. Outra vantagem é que os eixos das polias não precisam estar perfeitamente paralelos para o sistema funcionar, não exigindo assim uma alta precisão nas peças de sustentação dos eixos; é claro que quanto maior for o ângulo de desvio entre os eixos, maior o atrito na correia e portanto maior o perigo dela se esticar ou escorregar, perdendo energia mecânica, mas um pequeno ângulo de diferença, na prática é tolerado sem problemas. A principal desvantagem de um sistema de polias é que só serve para pequenas reduções de velocidade, em geral não maior de 30%. Isto é porque se o diâmetro das polias for muito diferente, a diferença de torques entre as duas polias será muito grande e o perigo de escorregamento da correia aumenta. Outra desvantagem é que o tamanho mínimo em que pode ser montado o sistema pode ser maior do que o permitido em muitas aplicações (imagine-se, por exemplo, um relógio de pulso a corda funcionando com um sistema de polias). Muitas vezes um sistema de polias não é utilizado para reduções mecânicas, isto é, não há diferença de tamanho nas polias, apenas para transmitir um movimento de rotação desde um ponto a outro distante. Se se pretende obter uma redução maior, sempre é possível utilizar um sistema de várias polias, tal como é mostrado na figura 6.3.
Figura 6.3: Sistema de polias A primeira polia tem seu eixo solidário com o eixo do motor. A correia em volta desta primeira polia movimenta uma segunda. A segunda polia no desenho gira solidária com a terceira, por terem seus respectivos discos mecanicamente conectados. A relação entre a primeira polia e a segunda é a mesma desenvolvida anteriormente, isto é: ω2 r2 = ω1 r1
τ2 / r2 = τ1 / r1
e
A terceira polia, por ser solidária com a segunda, gira com a mesma velocidade angular e gera o mesmo torque: ω3 = ω2
e
τ3 = τ2
148
Essa terceira polia movimenta uma quarta através de uma outra correia, tal como mostrado na figura 6.3. Entre a quarta e a terceira polia, obviamente existem as mesmas relações que entre a segunda e a primeira, é um outro sistema de polias: ω4 r4 = ω3 r3
e
τ4 / r4 = τ3 / r3
Substituindo os dois primeiros pares de equações neste último: ω4 = ω3 r3 / r4 = ω2 r3 / r4 = ω1 (r3 / r4)(r1 / r2) e τ4 = τ3 r4 / r3 = τ2 r4 / r3 = τ1 (r4 / r3)(r2 / r1) Assim, conclui-se que com este sistema de dois pares de polias podem se obter reduções maiores (de até 90% da velocidade angular), sem que exista muita diferença entre os tamanhos de cada par, não existindo então tanto risco de escorregamento das correias. Finalmente, pode-se observar que o sistema como um todo também mantém a energia mecânica constante, isto é: P4 = τ4 ω4 = τ1 (r4/r3)(r2/r1) ω1 (r3/r4)(r1/r2) = τ1 ω1 = P1 Também aqui os três eixos não precisam estar perfeitamente paralelos para o normal funcionamento do sistema, não sendo necessária uma alta precisão na confecção das peças de sustentação dos eixos respectivos. Em geral, o material utilizado nas correias é algum tipo de fio de nylon ou fibras de aço.
6.3) Engrenagens Um sistema de engrenagens é um dispositivo mecânico muito utilizado na configuração de mecanismos de transmissão de potência. Consiste num par de rodas dentadas ao longo das suas circunferências externas, chamadas de engrenagens, onde os dentes de uma delas encaixam nos dentes da outra. Assim, a rotação de uma engrenagem imprimirá um movimento de rotação de sentido contrário na outra. As engrenagens possuem eixos que giram livremente. Se um deles for solidário com o eixo de um motor, a rotação dele transmitirá o movimento ao eixo da outra engrenagem, mas possivelmente com outra velocidade angular e outro torque. Existem diversas formas de dentes, eles podem ser quadrados, triangulares, semicirculares, ou com algum outro perfil. O importante, para não se travar o movimento, é que em ambas engrenagens os dentes sejam de igual forma e de igual tamanho; o que pode mudar entre uma engrenagem e a outra é o número de dentes ao longo da sua circunferência. Um esquema de duas engrenagens de diferentes diâmetros, mas de dentes iguais, pode ser observado na figura 6.4 (onde apenas foram desenhados alguns dentes). A engrenagem solidária com o eixo do motor em geral recebe o nome de pinhão, e a engrenagem que recebe o movimento, de coroa.
149
Figura 6.4: Um típico par de pinhão e coroa Em princípio, as relações entre as engrenagens não deveriam ser diferentes daquelas deduzidas para as polias. A velocidade linear tangente à circunferência efetiva da engrenagem, desenvolvida pelo dente da engrenagem 1 (pinhão) que está em contato com outro da engrenagem 2, é igual à velocidade angular vezes o raio efetivo da engrenagem, ou distância do centro até o ponto de contato do dente, v = ω1 r1. Essa velocidade tangencial é a mesma para o dente em contato da segunda engrenagem (coroa), pois no instante do contato ambos dentes se movimentam juntos, e a velocidade angular desenvolvida por ela estará relacionada a essa velocidade linear através da fórmula v = ω2 r2. Conclui-se, portanto, que a relação entre as velocidades angulares para ambas engrenagens é ω2 r2 = -ω1 r1. O sinal negativo refere-se ao fato das velocidades angulares terem sinais opostos, devido a que as engrenagens, ao contrário das polias, invertem o sentido de giro. Será ignorado esse sinal nas formulações posteriores. À mesma conclusão pode-se chegar analisando a relação entre os torques, devido a que a força exercida pelo dente da engrenagem 1 no instante em que está em contato com um dente da engrenagem 2 é a mesma para ambas as engrenagens, relacionada aos torques através dos raios. Portanto, também aqui τ1 / r1 = τ2 / r2. Mas acontece que o raio efetivo da engrenagem é a distância desde o centro dela até o ponto de contato com a outra, distância esta que pode mudar levemente aproximando
150
ou afastando as distâncias entre os eixos. É por essa razão que essa grandeza não é utilizada. Mas como os dentes são iguais em tamanho e forma para ambas as engrenagens, o número de dentes sempre será proporcional à circunferência efetiva da engrenagem, isto é: Número de dentes = 2 π raio efetivo / largo do dente (pitch ou passo frontal) Isto para ambas engrenagens. Portanto: N 1l r1 2π = N 1 = r2 N 2 l N2 2π sendo N1 e N2 os números de dentes da primeira e segunda engrenagem, respectivamente, e l o largo do dente, que é igual para as duas engrenagens. Pode-se estabelecer, então, as seguintes relações: ω1 N1 = ω2 N2
e
τ1 / N1 = τ2 / N2
Também aqui observa-se que a potência mecânica se conserva, sendo ω1 τ1 = ω2 τ2. As engrenagens possuem a vantagem com respeito às polias que, por não possuírem correias, não há estiramento ou escorregamento possível. Isso permite que num par de engrenagens possa se obter uma alta redução de velocidade. Efetivamente, é comum observar pares onde a coroa é até 10 vezes maior do que o pinhão. Uma outra vantagem é que o conjunto é geralmente menor do que um sistema de polias, podendo ser colocado num espaço mais reduzido. Uma das desvantagens é que o par de eixos deve ser perfeitamente paralelo, pelo menos para as engrenagens com dentes retos, que é o caso mais comum, para evitar o sistema travar durante o movimento. Isto exige uma maior precisão no sistema de sustentação dos eixos. Uma outra desvantagem é o erro introduzido por “backlash”. Esse erro se produz quando o pinhão gira sem a coroa girar, o que acontece quando se inverte o sentido de giro, e é provocado pela folga entre os dentes, que necessariamente deve ser maior que o largo do dente a encaixar nesse espaço. Toda vez que o sentido de giro é invertido, então, haverá um pequeno ângulo correspondente a uma “zona morta”, ou ângulo de giro na entrada sem movimentação na saída. Observe-se que isto é equivalente a um laço de histerese no movimento.
151
Figura 6.5: A folga entre os dentes provoca erro por “backlash” Também é possível obter reduções de velocidade maiores sem necessidade de grandes diferenças nos tamanhos das engrenagens. Isto consegue-se com vários jogos de pares de engrenagens, também chamado de “trem de engrenagens”, como é mostrado na figura seguinte.
Figura 6.6: Trem de engrenagens As relações entre as duas primeiras engrenagens são as anteriormente mencionadas, isto é, ω1 N1 = ω2 N2, e τ1 / N1 = τ2 / N2. A engrenagem 2 é solidária com a engrenagem 152
3, portanto tem a mesma velocidade angular e o mesmo torque: ω2 = ω3 e τ2 = τ3. As relações entre a engrenagem 3 e a engrenagem 4 também continuam sendo as mesmas: ω3 N3 = ω4 N4, e τ3 / N3 = τ4 / N4. Combinando estas equações chega-se a: ω4 = ω3 N3 / N4 = ω2 N3 / N4 = ω1 (N3 / N4)(N1 / N2) e τ4 = τ3 N4 / N3 = τ2 N4 / N3 = τ1 (N4 / N3)(N2 / N1) Observe-se que aqui também a potência mecânica se conserva: ω1 τ1 = ω4 τ4. Podese observar também que o sentido de giro do eixo de saída é o mesmo que o do eixo de entrada, pois o sentido do movimento foi invertido duas vezes. Outra observação que deve ser feita é que o erro por “backlash” é cumulativo, isto é, quanto maior o número de pares de engrenagens, maior será o ângulo de entrada que não provocará movimento no eixo de saída quando se inverte o sentido de giro. Existem diversos tipos de engrenagens, sendo o mais comum os de dentes retos, cujos eixos devem estar paralelos. Mas existem outros tipos que permitem engrenar seus dentes a 90°, e ainda num ângulo qualquer. Os seguintes desenhos ilustram algumas dessas engrenagens.
Figura 6.7: Diversos tipos de engrenagens
153
Figura 6.7: Diversos tipos de engrenagens (continuação) As relações mencionadas anteriormente entre as velocidades angulares e torques mantêm-se para todos esses pares de engrenagens, exceto para o caso do parafuso. Ali, o parafuso é solidário com o eixo do motor, e o eixo de saída é o eixo da engrenagem; resulta óbvio que não poderia ser ao contrário. Quando o parafuso gira um ângulo igual a 2π, quer dizer quando dá uma volta completa, observe-se que a engrenagem gira um ângulo cujo arco tem o comprimento igual ao passo do parafuso (ou distância entre uma volta e outra). O ângulo girado pela engrenagem então é igual ao arco de circunferência descrito sobre o raio efetivo da engrenagem. Expressado matematicamente, θp = 2π ⇒ θe = p / re sendo θe e θp os ângulos girados pela engrenagem e o parafuso respectivamente, p o passo do parafuso, e re o raio efetivo da engrenagem. Dividindo ambos membros da equação: θp θe
=
2π 2πre c e = = p p p re
sendo ce o comprimento da circunferência efetiva da engrenagem. Dividindo numerador e denominador do primeiro membro da expressão pelo tempo, conclui-se que as relações entre ângulos girados é a mesma que entre as velocidades angulares. Além disso, o comprimento da circunferência efetiva da engrenagem é igual ao número de dentes vezes o largo efetivo de cada dente (pitch). Então pode-se afirmar:
154
ωp / ωe = N le / p sendo le o largo efetivo do dente e N o número de dentes da engrenagem. Mas para o sistema não travar, é necessário que o largo efetivo do dente da engrenagem seja igual à distância que avança o parafuso entre uma volta e outra, isto é, o passo dele, sendo portanto, no caso ideal, le = p. Portanto, chega-se a ωp / ωe = N Essa expressão demonstra claramente que esse sistema obtém uma grande redução de velocidade, que considerando que o tipo de parafuso e principalmente que o tamanho do passo devem se adaptar ao tamanho do dente da engrenagem, depende exclusivamente do número de dentes dela. Quanto maior for, maior o diâmetro da engrenagem, e portanto menor sua velocidade angular para uma mesma velocidade angular do parafuso. Conclui-se então que as engrenagens servem para reduzir fortemente a velocidade angular, aumentando na mesma proporção o torque, em forma compacta e confiável. Além disso, pode se mudar o ângulo de giro entre um eixo e o outro mediante o par de engrenagens adequadas.
6.4) Sistema de engrenagens harmônicas As engrenagens harmônicas constituem sistemas de transmissão onde podem ser obtidas grandes reduções com um erro por backlash desprezível, com as vantagens adicionais de serem leves e de pequenas dimensões. Este sistema consiste em três componentes básicas. A primeira é uma peça de contorno elíptico, cujo centro é solidário com o eixo do motor. A segunda é uma correia dentada flexível e fechada, com os dentes localizados do lado externo da correia. A terceira é um cilindro dentado com os dentes na cara interna dele. A correia flexível é colocada ao redor da roda elíptica, separada por bolinhas à maneira de rolamentos, de maneira de reduzir ao máximo o atrito. Esse conjunto é colocado dentro do cilindro dentado. Os dentes do cilindro devem ser da mesma forma e tamanho que os dentes da correia, sendo que o número total de dentes no lado interior do cilindro é igual ao número total de dentes do lado exterior da correia mais 2. Quando a roda elíptica começa girar, o faz se deslizando na superfície interior da correia flexível, graças ao sistema de rolamentos. Quando a roda gira um determinado ângulo, a correia vai se deformando de maneira de encaixar seus dentes com os dentes do cilindro dentado, sendo aqueles que são pressionados os que estão localizados no raio maior da elipse da roda. Ao completar uma volta inteira a roda elíptica, a correia flexível girou um ângulo cujo arco corresponde a apenas dois dentes do cilindro rígido externo, devido a que a correia possui dois dentes a menos do que o disco ao longo da sua extensão. Observe-se que se o número de dentes fosse igual, após um giro da roda elíptica, a correia teria se deformado num movimento elíptico também mas sem girar nem 1°, pois sempre encaixaria seus dentes nos dentes do cilindro rígido, os quais se corresponderiam um a um. O fato de ter dois dentes a menos é o que faz que depois de uma volta da roda elíptica, a correia se desloque dois dentes com respeito ao cilindro rígido externo.
155
O desenho seguinte ilustra este princípio.
Figura 6.8: Princípio de funcionamento das engrenagens harmônicas Na prática, a correia flexível, em geral de alumínio, não precisa possuir exatamente dois dentes a menos que o disco externo, mas em geral possuem 1% de dentes a menos. Qualquer uma das três componentes pode ser usada como entrada e como saída do movimento rotativo, mas o normal é utilizar a roda elíptica como entrada, solidária com o eixo de um motor, e a correia flexível como saída, solidária com o eixo de saída. Observe-se que se o cilindro tem 100 dentes internos, e a correia 98, a cada volta da roda elíptica a correia girará, em sentido contrário, um ângulo correspondente ao arco de comprimento igual a dois dentes, e portanto a roda precisará dar 50 voltas para um mesmo dente da correia se deslocar ao longo dos 100 dentes do cilindro externo, completando assim uma volta. Isto implica que entre essas duas componentes existe uma redução de 50:1, muito maior da obtida com a maioria dos pares de engrenagens. A redução de velocidade (ou relação entre a velocidade de saída e a velocidade de entrada) é calculada como: (Nd – Nc) / Nd
156
sendo Nc o número total de dentes na superfície exterior da correia flexível, e Nd o número total de dentes na superfície interior do cilindro rígido. O erro por backlash também é muito pequeno devido à maior quantidade de dentes que estão em contato ao mesmo tempo. As engrenagens harmônicas requerem muito pouca manutenção e podem operar sem desgaste ao longo de toda sua vida útil. Todavia, são menos eficientes que um trem de engrenagens bem projetado.
6.5) Correias dentadas e correntes Uma correia flexível, com dentes na sua superfície interna, pode ser movimentada por um par de engrenagens paralelas distantes. O tamanho e forma dos dentes devem coincidir tanto para as engrenagens quanto para a correia. Nesse caso, a relação entre as velocidades e os torques das engrenagens coincide com as relações estudadas para as engrenagens normais, exceto pela diferença que os sentidos das velocidades nas engrenagens coincide como no caso das polias.
Figura 6.9: Esquema de uma engrenagem e uma correia dentada A vantagem deste sistema é que não há perigo de escorregamento, como no caso das polias, embora se a correia é de borracha pode se esticar caso a carga seja pesada demais para o torque resultante. O mesmo acontece no caso de uma corrente movimentada por um par de engrenagens paralelas, com a vantagem sobre o caso da correia de que não há problema de estiramento. Os furos de cada anel da corrente devem ser tais de permitir a perfeita introdução dos dentes das engrenagens. É o sistema de transmissão e redução utilizado em todas as bicicletas. Os eixos das engrenagens devem ser paralelos e não há portanto possibilidade de mudar o ângulo de rotação, embora um pequeno desvio no ângulo entre os eixos é normalmente bem tolerado, como acontece no caso das polias. O erro por backlash também é mínimo para os dois casos, devido ao maior número de dentes em contato com a correia ou com a corrente, a não ser que elas não estejam suficientemente esticadas, ou, no caso da correia, o material com que ela é feita seja elástico demais. Nesses casos, ao inverter o pinhão o sentido da rotação, haverá um 157
pequeno ângulo que gira sem movimentar a coroa, até a correia ou a corrente se esticarem totalmente e assim transladar o movimento à outra engrenagem. Perceba-se que o efeito nesses casos também é de backlash. Nas correntes, o peso delas faz quase impossível estica-las totalmente, por tal razão são utilizadas apenas correntes de pouco comprimento. Em geral, estes sistemas não se utilizam para grandes reduções de velocidade, mas para transmitir um movimento de rotação de um eixo a outro paralelo distante, sem os problemas de escorregamento que introduzem as polias, como já foi apontado. Uma outra utilização típica destes sistemas é para a transformação de um movimento de rotação, em geral produzido por um motor, num movimento linear. Efetivamente, se uma pequena peça for sustentada pela corrente ou pela correia, o deslocamento dela será linear, embora a excursão máxima dependerá da distância entre as engrenagens, que como foi especificado, deve ser pequena para diminuir o backlash. Um sistema similar é utilizado nas impressoras a jato para deslocar o cartucho de tinta linearmente. A velocidade de deslocamento linear dessa peça estará dada por v=ωr sendo r o raio efetivo da engrenagem solidária com o eixo do motor (ou distância entre o centro da engrenagem e o ponto de contato dos dentes), e ω a velocidade angular dele. A força com que se desloca essa peça será f=τ/r
Figura 6.10: Esquema de uma correia dentada ou corrente movimentando uma peça linearmente Obviamente, o sistema também serve para transformar um movimento linear num movimento de rotação, embora esse caso seja muito menos usual. Mas colocando um atuador linear solidário com a peça, um pistão por exemplo, ao se movimentar produzirá um movimento de rotação nos eixos das engrenagens.
6.6) Guias dentadas Um dos mais antigos dispositivos utilizados para transformar um movimento de rotação num movimento linear é a guia dentada. Esta consiste numa barra de perfil retangular, feita de um material rígido, com dentes numa das suas caras ao longo do seu comprimento. Uma engrenagem que faz a função de pinhão, possui seu eixo solidário
158
com o eixo de um motor. Os dentes da engrenagem devem coincidir em tamanho e forma com os dentes da guia rígida. Assim, quando eles são encaixados, a rotação do pinhão produz um movimento de translação da guia dentada. Se ela estiver solidária com uma peça, ela sofrerá um deslocamento linear.
Figura 6.11: Conjunto de guia dentada e pinhão Este sistema pode ser visto utilizado amplamente em dispositivos automáticos para abertura de portões, embora em robótica não sejam tão comuns. A velocidade de deslocamento da guia, assim como a força de deslocamento dela, estão relacionadas à velocidade angular do pinhão e ao torque aplicado nele pelas mesmas fórmulas deduzidas na seção anterior: v=ωr
e
f=τ/r
sendo r o raio efetivo do pinhão, ou distância desde o centro até o ponto de contato dos dentes. Neste sistema também existe o erro por backlash, na mesma proporção que nas engrenagens, devido a que uma pequena folga entre os dentes é necessária para evitar que a guia se trave durante o movimento. Também este dispositivo serve para transformar um movimento linear num movimento de rotação. Se for colocada a guia dentada acionada por um pistão, se obterá um movimento de rotação na engrenagem. Este caso, ao igual que nas correntes e correias dentadas, é muito pouco usual também.
6.7) Parafusos de acionamento Em robótica e em muitas outras aplicações, os parafusos de acionamento são freqüentemente usados para transformar um movimento rotativo num movimento linear. Este sistema consiste simplesmente num eixo cilíndrico roscado solidário com o eixo de um motor. Uma peça com uma rosca fêmea do mesmo tipo é roscada nele. Essa peça deve possuir uma guia para evitar sua rotação durante o movimento. Assim, quando o eixo roscado girar acionado pelo motor, a peça, incapaz de girar por causa da guia, avançará ou retrocederá dependendo do sentido de rotação do eixo. Exatamente o
159
que acontece, por exemplo, com um parafuso comum e uma porca segurada por um alicate.
Figura 6.12: Eixo roscado e parafuso Os parafusos de acionamento tem a grande vantagem de reduzir a velocidade muito mais do que a guia dentada. Além disso, permitem uma precisão muito maior no posicionamento da peça que se desloca linearmente, devido a que um pequeno giro no eixo roscado pode produzir um movimento ínfimo na peça. Quando o parafuso dá uma volta, quer dizer que gira um ângulo igual a 2π, a distância que avança a peça é igual ao passo da rosca p. Matematicamente, se θ = 2π ⇒ x = p, sendo θ o ângulo de giro da rosca, e x a distância que se desloca a peça. Dividindo ambos membros da igualdade: θ / x = 2π / p A relação entre o ângulo girado e a distância deslocada é a mesma que entre a velocidade angular e a velocidade linear de deslocamento, fato que se explicita se forem divididos ambos fatores pelo tempo. Portanto: v = ω p / 2π Aqui fica claro que, para uma mesma velocidade angular, a velocidade linear de deslocamento é muito menor do que na guia dentada, supondo uma engrenagem de dimensões normais. A relação entre o torque aplicado no eixo e a força da peça fêmea deve considerar os atritos que se produzem ao girar da rosca. Eles não são desprezíveis. Esta relação está dada por:
f =
2τ πd e − µp sec β d e p + µπd e sec β
160
onde µ é o coeficiente de atrito entre os filetes da rosca; β é o ângulo de ápice do filete, ou ângulo do filete da rosca com respeito à vertical; e de é o diâmetro efetivo da rosca (duas vezes a distância do centro do eixo até o ponto de contato). Esta equação se aplica para roscas com filetes em ângulo. Para roscas quadrangulares (com filetes de perfil quadrado), β = 0, por ser a força aplicada pela rosca do eixo na rosca fêmea paralela ao eixo, não existindo portanto ângulo de contato, sendo assim sec(β) = 1. Estes dispositivos apresentam, como já foi apontado, um alto coeficiente de atrito entre a rosca do eixo e a rosca fêmea, devido à grande superfície de contato. Por causa disso, existe um dispositivo similar conhecido como “ball screw” (ou parafuso de rolamentos), onde são colocadas pequenas bolinhas à maneira de rolamentos na rosca, a fim de facilitar o deslizamento e diminuir o atrito a valores muito menores. Ali, a porca faz girar os rolamentos quando o parafuso gira, ao invés de faze-lo diretamente sobre o próprio parafuso, diminuindo assim o atrito significativamente. Este dispositivo é muito usado em robótica. Ele consegue que a transmissão de energia mecânica chegue a 90%. Existe uma variação do parafuso de acionamento, onde o eixo roscado não é mais solidário com o eixo do motor, e sim a peça que se desloca linearmente. Pode-se observar um esquema desse dispositivo na figura 6.13.
Figura 6.13: Engrenagem roscada e eixo roscado O motor faz girar uma engrenagem com uma rosca fêmea no seu interior. O eixo roscado, impedido de girar por causa de uma guia, se desloca no interior da engrenagem linearmente. A relação entre a velocidade angular da engrenagem e a velocidade linear do eixo é a mesma apresentada anteriormente, a não ser que exista uma redução na velocidade angular da coroa com respeito ao pinhão. A relação entre a força com que avança o eixo e o torque aplicado na engrenagem também coincide com a fórmula anterior, a não ser, também, que exista um aumento de torque entre o pinhão e a coroa.
161
6.8) Cames Nalguns projetos mecânicos, às vezes existe a necessidade de gerar um movimento linear numa peça, mas com um deslocamento que descreva uma excursão periódica no tempo. Esta excursão pode ter formas simples, como por exemplo uma senoidal, onde a posição da peça que se desloca linearmente descreve uma função seno de um período determinado. Em outras ocasiões, a função descrita pela excursão da posição linear da peça pode ter formas bem mais complexas. Para essas necessidades utiliza-se um dispositivo chamado “came”, segundo sua denominação em inglês. Este dispositivo consiste numa roda com um perfil determinado solidária com o eixo de um motor. A peça a se deslocar linearmente deve estar guiada para poder efetuar apenas um movimento linear, e deve ter uma ponta em contato com o perfil da roda, pressionando ela com uma mola. Dessa maneira, quando a roda gira, o perfil irregular dela vai movimentando a peça para acima e para baixo, fazendo-a efetuar um deslocamento que depende do perfil da roda. Observe-se que este deslocamento é periódico, e esse período coincide com o tempo que demora a roda em efetuar uma volta ao longo do movimento rotatório dela, sendo portanto a freqüência do deslocamento periódico igual à freqüência de rotação do came. Um esquema de um came pode ser observado na figura 6.14.
Figura 6.14: O seguidor do came sobe e desce para acompanhar o contorno da roda (a) Movimento do came em função do ângulo de rotação (b) Conjunto de came e seguidor Observe-se que o perfil da roda deve ser projetado cuidadosamente para a peça poder efetuar a excursão desejada. Se por exemplo esse perfil for redondo, resulta óbvio que a peça não efetuará movimento nenhum. O perfil da roda não pode apresentar variações bruscas de raio, a sua mudança ao longo de toda a volta deve ser suave, o que é equivalente a afirmar que a derivada do
162
raio com respeito ao ângulo deve ser pequena. Caso isso não acontecer, corre-se o risco da peça travar e não conseguir “subir” uma pendente elevada. Dispositivos similares são utilizados nos motores de combustão para abrir e fechar as válvulas dos pistões.
6.9) Aplicação em robôs reais Os fabricantes de robôs utilizam uma grande parte dos mecanismos de transmissão estudados até agora para a movimentação deles. Em particular, quando se trata de movimentar juntas de robôs manipuladores, quase sempre é necessário transmitir o movimento de uma posição onde fica o motor, em geral a base dele, até a localização exata da junta. Além disso, também é necessário um ajuste do movimento, dado que a maioria dos motores de corrente contínua, que são os mais utilizados em robótica, possuem uma alta velocidade angular e baixo torque, características inadequadas para a movimentação de um elo de um braço mecânico, por exemplo. É por isso que complexas reduções de velocidade e sistemas transmissores de potência são projetados na maioria dos robôs fabricados pela indústria atualmente. Considere-se o caso do robô ASEA IRb-6, um braço mecânico simples e muito popular. Na figura 6.15 apresenta-se um desenho esquemático dele.
Figura 6.15: Esquema simplificado do robô ASEA IRb - 6 Este robô pode carregar 6 kg de peso, possui uma precisão de posicionamento da garra de 0.2 mm e uma repetência de 0.05 mm. As juntas são movimentadas por servo-motores de corrente contínua de armadura de disco, com resolvers para o monitoramento da posição. Os motores são de 3000 rpm.
163
e suas velocidades são reduzidas utilizando engrenagens harmônicas para a base e o pulso. No caso da base, a engrenagem tem uma redução de 158:1, e no caso do pulso, a redução é de 128:1. No caso da junta do ombro, a redução é conseguida através de um parafuso de acionamento com uma rosca de rolamentos, dispositivo estudado na seção 7. Observe-se no desenho, que ao girar o motor provoca um deslocamento linear na peça de rosca fêmea, de uma velocidade baixa graças à redução obtida pelo parafuso de rolamentos, o que também oferece um baixo coeficiente de atrito. Mas a movimentação do ombro também é rotativa. Então volta-se transformar o movimento linear num movimento de rotação através de uma simples alavanca. Como exercício, poderia-se deduzir a fórmula que expressa a relação entre a velocidade angular do motor e a velocidade angular de giro do ombro. No caso do pulso, o movimento de rotação do motor é transmitido através de duas rodas conectadas com barras excêntricas, dispositivo cujo princípio de funcionamento é similar ao das polias, só que sem o perigo da correia escorregar e portanto muito mais confiável. Para a rotação da mão, é utilizado o mesmo dispositivo de rodas conectadas, e o ângulo de giro é alterado 90° através de um par de engrenagens com dentes a 45°, as que proporcionam também um pequeno aumento na velocidade angular de rotação. O efetuador normalmente pode ser trocado com facilidade, é por essa razão que os atuadores do efetuador normalmente não estão nos robôs e sim no efetuador mesmo. O desenho 6.16 representa um esquema do robô Hitachi “Process Robot”. Observese que aqui a transmissão da rotação é feita através de correias dentadas, dos motores que estão na base do braço, até o ombro e o cotovelo. No pulso, figura 6.17, a rotação é virada 90° através de um jogo de engrenagens com dentes a 45°, o que imprime também um pequeno aumento de velocidade angular.
Figura 6.16: Desenho esquemático do robô Hitachi “ProcessRobot”
164
Figura 6.17: Detalhe do pulso do robô Hitachi “Process Robot” No capítulo seguinte, correspondente a robôs manipuladores, serão apresentados mais detalhes sobre arquitetura dos robôs, em particular de braços mecânicos, assim como projetos de efetuadores, juntas, e partes do robô em geral. Como conclusão, aponta-se a necessidade de projetar o sistema de transmissão de forma adequada para obter o máximo rendimento do robô. Uma transmissão defeituosa ou inadequada pode trazer problemas como peso excessivo do robô, backlash (o que introduz erro de posicionamento), dificuldade o impossibilidade de transportar cargas pesadas, sistemas poucos robustos, delicados ou pouco confiáveis, e problemas de custo excessivo.
Referências [1] Arthur Critchlow: Introduction to Robotics. Macmillan Publishing Company. New York. 1985. [2] Groover, Weiss, Nagel e Odrey: Robótica. Mac Graw – Hill. São Paulo. 1989. [3] Shimon Nof: Handbook of Industrial Robotics. John Wiley & sons. U.S.A 1985.
165
[4] ORT Open Tech Literacy Course. Robot drives – conversion. World ORT Union Technical Department. London. 1984. [5] ORT Open Tech Literacy Course. Robot drives – applications. World ORT Union Technical Department. London. 1984.
166
Capítulo 6: Mecanismos de transmissão de potência mecânica 6.1) Introdução No capítulo anterior foi abordado o tema de atuadores. Em particular, quando é desejado imprimir um movimento à planta ou a alguma parte específica da planta, como pode ser uma junta num braço mecânico, deve-se recorrer a atuadores que entreguem energia mecânica através de um movimento. Mas os atuadores são fabricados com características padronizadas, o que provoca que em muitos casos não existam atuadores com as características exatas desejadas, por exemplo, com a velocidade angular desejada ou com o torque necessário para movimentar a carga. Em outros casos, por uma questão de estrutura do robô, por exemplo por falta de espaço físico, o atuador não pode ficar exatamente na junta ou no local da peça a ser movimentada, o que provoca que o atuador deva ser colocado num outro local, distante do ponto de aplicação da força. Também podem ocorrer situações onde o tipo de movimento desejado não seja aquele efetuado pelos atuadores disponíveis, por exemplo quando se deseja deslocar uma peça em linha reta imprimindo esse movimento com um motor. Por todas essas razões, torna-se necessário usar algum tipo de mecanismo para transmitir a potência gerada pelo atuador a um outro ponto de aplicação ou bem modificar o tipo ou as características do movimento gerado. Esses mecanismos são conhecidos com o nome de mecanismos de transmissão de potência mecânica. Seguidamente serão tratados os principais desses mecanismos e os mais utilizados em robótica.
6.2) Polias Um sistema de polias constitui uma máquina simples e talvez um dos primeiros mecanismos de transmissão utilizados. Ele consiste em duas rodas, geralmente com um canal ao longo das suas circunferências externas, chamadas de polias. Por esses canais passa uma correia fechada, com uma certa tensão, unindo as duas. Os centros das rodas são solidários com um par de eixos de maneira tal que elas possam girar livremente. Obviamente, a rotação de uma delas provocará uma rotação na outra.
145
Figura 6.1: Sistema de duas polias Se for colocado o eixo de uma das polias solidário com o eixo de um motor que gira com velocidade angular e torque constantes, o eixo da outra polia apresentará um movimento de rotação que pode ter características diferentes. A polia solidária com o eixo do motor será chamada de polia 1, e a polia que recebe o movimento através da tração da correia, será chamada de polia 2. Mas, qual a relação entre a velocidade angular numa polia e a velocidade angular na outra; e entre os torques? A primeira e óbvia conclusão é que o sinal destas grandezas é o mesmo, já que a rotação entre as duas polias sempre tem igual sentido. Para calcular essa relação, primeiramente deve ser assumida a suposição que a correia é ideal, isto é, que não se deforma se esticando ou comprimindo com o movimento, e que não escorrega ao redor da polia. Com estas condições, conclui-se que a velocidade linear de deslocamento de cada ponto da correia permanece constante. Essa velocidade pode ser calculada como a velocidade angular imprimida pelo motor à primeira polia, ω1, vezes o raio efetivo da polia, r1, isto é, v = ω1 r1. Por raio efetivo entende-se a distância entre o centro da polia e o centro da correia, como é mostrado no seguinte desenho.
146
Figura 6.2: Representação do diâmetro efetivo de uma polia Como essa velocidade linear é constante ao longo de toda a extensão da correia, será a mesma num ponto tangencial da segunda polia, a qual girará com uma velocidade angular cuja relação é a mesma que para a primeira polia, isto é ω2 r2 = v. Conclui-se assim que: Velocidade da correia = ω1 r1 = ω2 r2 Portanto, se a segunda polia for maior do que a primeira, e a correia não escorregar, existirá uma diminuição da velocidade angular. O mesmo acontece com a força com que avança essa correia. Como foi tratado na seção 5.2.1, o torque imposto à polia 1 pelo motor, gera uma força igual ao torque do motor sobre a distância de aplicação dessa força. Neste caso essa distância coincide com o raio efetivo da polia 1, isto é F = τ1 / r1. Essa força, se não existir estiramento nem compressão da correia, permanece constante ao longo de toda a sua extensão, e portanto é a força aplicada à segunda polia para gerar a rotação dela. Essa rotação imprimirá um determinado torque na segunda polia, cuja relação com a força é a mesma que para a primeira, isto é F = τ2 / r2. Conclui-se portanto: Força de avanço da correia = τ1 / r1 = τ2 / r2 Isto implica que, se a segunda polia for maior do que a primeira, e a correia não se esticar durante o movimento, haverá um aumento de torque. A potência mecânica entregue à primeira polia é, como foi tratado na seção 5.2.1, P1 = τ1 ω1, e a potência desenvolvida na segunda polia, P2 = τ2 ω2. É fácil ver que, substituindo nas equações anteriores:
147
P2 = τ2 ω2 = τ1 (r2 / r1) ω1 (r1 / r2) = τ1 ω1 = P1 Conferindo-se assim que a potência mecânica permanece constante, isto é, o sistema não gera nem perde energia. O uso das polias apresenta algumas vantagens e algumas desvantagens com respeito a outros mecanismos de transmissão de potência. Uma das vantagens é a sua simplicidade mecânica, o que ocasiona que não seja necessário utilizar peças de alta precisão para um bom funcionamento do sistema. Outra vantagem é que os eixos das polias não precisam estar perfeitamente paralelos para o sistema funcionar, não exigindo assim uma alta precisão nas peças de sustentação dos eixos; é claro que quanto maior for o ângulo de desvio entre os eixos, maior o atrito na correia e portanto maior o perigo dela se esticar ou escorregar, perdendo energia mecânica, mas um pequeno ângulo de diferença, na prática é tolerado sem problemas. A principal desvantagem de um sistema de polias é que só serve para pequenas reduções de velocidade, em geral não maior de 30%. Isto é porque se o diâmetro das polias for muito diferente, a diferença de torques entre as duas polias será muito grande e o perigo de escorregamento da correia aumenta. Outra desvantagem é que o tamanho mínimo em que pode ser montado o sistema pode ser maior do que o permitido em muitas aplicações (imagine-se, por exemplo, um relógio de pulso a corda funcionando com um sistema de polias). Muitas vezes um sistema de polias não é utilizado para reduções mecânicas, isto é, não há diferença de tamanho nas polias, apenas para transmitir um movimento de rotação desde um ponto a outro distante. Se se pretende obter uma redução maior, sempre é possível utilizar um sistema de várias polias, tal como é mostrado na figura 6.3.
Figura 6.3: Sistema de polias A primeira polia tem seu eixo solidário com o eixo do motor. A correia em volta desta primeira polia movimenta uma segunda. A segunda polia no desenho gira solidária com a terceira, por terem seus respectivos discos mecanicamente conectados. A relação entre a primeira polia e a segunda é a mesma desenvolvida anteriormente, isto é: ω2 r2 = ω1 r1
τ2 / r2 = τ1 / r1
e
A terceira polia, por ser solidária com a segunda, gira com a mesma velocidade angular e gera o mesmo torque: ω3 = ω2
e
τ3 = τ2
148
Essa terceira polia movimenta uma quarta através de uma outra correia, tal como mostrado na figura 6.3. Entre a quarta e a terceira polia, obviamente existem as mesmas relações que entre a segunda e a primeira, é um outro sistema de polias: ω4 r4 = ω3 r3
e
τ4 / r4 = τ3 / r3
Substituindo os dois primeiros pares de equações neste último: ω4 = ω3 r3 / r4 = ω2 r3 / r4 = ω1 (r3 / r4)(r1 / r2) e τ4 = τ3 r4 / r3 = τ2 r4 / r3 = τ1 (r4 / r3)(r2 / r1) Assim, conclui-se que com este sistema de dois pares de polias podem se obter reduções maiores (de até 90% da velocidade angular), sem que exista muita diferença entre os tamanhos de cada par, não existindo então tanto risco de escorregamento das correias. Finalmente, pode-se observar que o sistema como um todo também mantém a energia mecânica constante, isto é: P4 = τ4 ω4 = τ1 (r4/r3)(r2/r1) ω1 (r3/r4)(r1/r2) = τ1 ω1 = P1 Também aqui os três eixos não precisam estar perfeitamente paralelos para o normal funcionamento do sistema, não sendo necessária uma alta precisão na confecção das peças de sustentação dos eixos respectivos. Em geral, o material utilizado nas correias é algum tipo de fio de nylon ou fibras de aço.
6.3) Engrenagens Um sistema de engrenagens é um dispositivo mecânico muito utilizado na configuração de mecanismos de transmissão de potência. Consiste num par de rodas dentadas ao longo das suas circunferências externas, chamadas de engrenagens, onde os dentes de uma delas encaixam nos dentes da outra. Assim, a rotação de uma engrenagem imprimirá um movimento de rotação de sentido contrário na outra. As engrenagens possuem eixos que giram livremente. Se um deles for solidário com o eixo de um motor, a rotação dele transmitirá o movimento ao eixo da outra engrenagem, mas possivelmente com outra velocidade angular e outro torque. Existem diversas formas de dentes, eles podem ser quadrados, triangulares, semicirculares, ou com algum outro perfil. O importante, para não se travar o movimento, é que em ambas engrenagens os dentes sejam de igual forma e de igual tamanho; o que pode mudar entre uma engrenagem e a outra é o número de dentes ao longo da sua circunferência. Um esquema de duas engrenagens de diferentes diâmetros, mas de dentes iguais, pode ser observado na figura 6.4 (onde apenas foram desenhados alguns dentes). A engrenagem solidária com o eixo do motor em geral recebe o nome de pinhão, e a engrenagem que recebe o movimento, de coroa.
149
Figura 6.4: Um típico par de pinhão e coroa Em princípio, as relações entre as engrenagens não deveriam ser diferentes daquelas deduzidas para as polias. A velocidade linear tangente à circunferência efetiva da engrenagem, desenvolvida pelo dente da engrenagem 1 (pinhão) que está em contato com outro da engrenagem 2, é igual à velocidade angular vezes o raio efetivo da engrenagem, ou distância do centro até o ponto de contato do dente, v = ω1 r1. Essa velocidade tangencial é a mesma para o dente em contato da segunda engrenagem (coroa), pois no instante do contato ambos dentes se movimentam juntos, e a velocidade angular desenvolvida por ela estará relacionada a essa velocidade linear através da fórmula v = ω2 r2. Conclui-se, portanto, que a relação entre as velocidades angulares para ambas engrenagens é ω2 r2 = -ω1 r1. O sinal negativo refere-se ao fato das velocidades angulares terem sinais opostos, devido a que as engrenagens, ao contrário das polias, invertem o sentido de giro. Será ignorado esse sinal nas formulações posteriores. À mesma conclusão pode-se chegar analisando a relação entre os torques, devido a que a força exercida pelo dente da engrenagem 1 no instante em que está em contato com um dente da engrenagem 2 é a mesma para ambas as engrenagens, relacionada aos torques através dos raios. Portanto, também aqui τ1 / r1 = τ2 / r2. Mas acontece que o raio efetivo da engrenagem é a distância desde o centro dela até o ponto de contato com a outra, distância esta que pode mudar levemente aproximando
150
ou afastando as distâncias entre os eixos. É por essa razão que essa grandeza não é utilizada. Mas como os dentes são iguais em tamanho e forma para ambas as engrenagens, o número de dentes sempre será proporcional à circunferência efetiva da engrenagem, isto é: Número de dentes = 2 π raio efetivo / largo do dente (pitch ou passo frontal) Isto para ambas engrenagens. Portanto: N 1l r1 2π = N 1 = r2 N 2 l N2 2π sendo N1 e N2 os números de dentes da primeira e segunda engrenagem, respectivamente, e l o largo do dente, que é igual para as duas engrenagens. Pode-se estabelecer, então, as seguintes relações: ω1 N1 = ω2 N2
e
τ1 / N1 = τ2 / N2
Também aqui observa-se que a potência mecânica se conserva, sendo ω1 τ1 = ω2 τ2. As engrenagens possuem a vantagem com respeito às polias que, por não possuírem correias, não há estiramento ou escorregamento possível. Isso permite que num par de engrenagens possa se obter uma alta redução de velocidade. Efetivamente, é comum observar pares onde a coroa é até 10 vezes maior do que o pinhão. Uma outra vantagem é que o conjunto é geralmente menor do que um sistema de polias, podendo ser colocado num espaço mais reduzido. Uma das desvantagens é que o par de eixos deve ser perfeitamente paralelo, pelo menos para as engrenagens com dentes retos, que é o caso mais comum, para evitar o sistema travar durante o movimento. Isto exige uma maior precisão no sistema de sustentação dos eixos. Uma outra desvantagem é o erro introduzido por “backlash”. Esse erro se produz quando o pinhão gira sem a coroa girar, o que acontece quando se inverte o sentido de giro, e é provocado pela folga entre os dentes, que necessariamente deve ser maior que o largo do dente a encaixar nesse espaço. Toda vez que o sentido de giro é invertido, então, haverá um pequeno ângulo correspondente a uma “zona morta”, ou ângulo de giro na entrada sem movimentação na saída. Observe-se que isto é equivalente a um laço de histerese no movimento.
151
Figura 6.5: A folga entre os dentes provoca erro por “backlash” Também é possível obter reduções de velocidade maiores sem necessidade de grandes diferenças nos tamanhos das engrenagens. Isto consegue-se com vários jogos de pares de engrenagens, também chamado de “trem de engrenagens”, como é mostrado na figura seguinte.
Figura 6.6: Trem de engrenagens As relações entre as duas primeiras engrenagens são as anteriormente mencionadas, isto é, ω1 N1 = ω2 N2, e τ1 / N1 = τ2 / N2. A engrenagem 2 é solidária com a engrenagem 152
3, portanto tem a mesma velocidade angular e o mesmo torque: ω2 = ω3 e τ2 = τ3. As relações entre a engrenagem 3 e a engrenagem 4 também continuam sendo as mesmas: ω3 N3 = ω4 N4, e τ3 / N3 = τ4 / N4. Combinando estas equações chega-se a: ω4 = ω3 N3 / N4 = ω2 N3 / N4 = ω1 (N3 / N4)(N1 / N2) e τ4 = τ3 N4 / N3 = τ2 N4 / N3 = τ1 (N4 / N3)(N2 / N1) Observe-se que aqui também a potência mecânica se conserva: ω1 τ1 = ω4 τ4. Podese observar também que o sentido de giro do eixo de saída é o mesmo que o do eixo de entrada, pois o sentido do movimento foi invertido duas vezes. Outra observação que deve ser feita é que o erro por “backlash” é cumulativo, isto é, quanto maior o número de pares de engrenagens, maior será o ângulo de entrada que não provocará movimento no eixo de saída quando se inverte o sentido de giro. Existem diversos tipos de engrenagens, sendo o mais comum os de dentes retos, cujos eixos devem estar paralelos. Mas existem outros tipos que permitem engrenar seus dentes a 90°, e ainda num ângulo qualquer. Os seguintes desenhos ilustram algumas dessas engrenagens.
Figura 6.7: Diversos tipos de engrenagens
153
Figura 6.7: Diversos tipos de engrenagens (continuação) As relações mencionadas anteriormente entre as velocidades angulares e torques mantêm-se para todos esses pares de engrenagens, exceto para o caso do parafuso. Ali, o parafuso é solidário com o eixo do motor, e o eixo de saída é o eixo da engrenagem; resulta óbvio que não poderia ser ao contrário. Quando o parafuso gira um ângulo igual a 2π, quer dizer quando dá uma volta completa, observe-se que a engrenagem gira um ângulo cujo arco tem o comprimento igual ao passo do parafuso (ou distância entre uma volta e outra). O ângulo girado pela engrenagem então é igual ao arco de circunferência descrito sobre o raio efetivo da engrenagem. Expressado matematicamente, θp = 2π ⇒ θe = p / re sendo θe e θp os ângulos girados pela engrenagem e o parafuso respectivamente, p o passo do parafuso, e re o raio efetivo da engrenagem. Dividindo ambos membros da equação: θp θe
=
2π 2πre c e = = p p p re
sendo ce o comprimento da circunferência efetiva da engrenagem. Dividindo numerador e denominador do primeiro membro da expressão pelo tempo, conclui-se que as relações entre ângulos girados é a mesma que entre as velocidades angulares. Além disso, o comprimento da circunferência efetiva da engrenagem é igual ao número de dentes vezes o largo efetivo de cada dente (pitch). Então pode-se afirmar:
154
ωp / ωe = N le / p sendo le o largo efetivo do dente e N o número de dentes da engrenagem. Mas para o sistema não travar, é necessário que o largo efetivo do dente da engrenagem seja igual à distância que avança o parafuso entre uma volta e outra, isto é, o passo dele, sendo portanto, no caso ideal, le = p. Portanto, chega-se a ωp / ωe = N Essa expressão demonstra claramente que esse sistema obtém uma grande redução de velocidade, que considerando que o tipo de parafuso e principalmente que o tamanho do passo devem se adaptar ao tamanho do dente da engrenagem, depende exclusivamente do número de dentes dela. Quanto maior for, maior o diâmetro da engrenagem, e portanto menor sua velocidade angular para uma mesma velocidade angular do parafuso. Conclui-se então que as engrenagens servem para reduzir fortemente a velocidade angular, aumentando na mesma proporção o torque, em forma compacta e confiável. Além disso, pode se mudar o ângulo de giro entre um eixo e o outro mediante o par de engrenagens adequadas.
6.4) Sistema de engrenagens harmônicas As engrenagens harmônicas constituem sistemas de transmissão onde podem ser obtidas grandes reduções com um erro por backlash desprezível, com as vantagens adicionais de serem leves e de pequenas dimensões. Este sistema consiste em três componentes básicas. A primeira é uma peça de contorno elíptico, cujo centro é solidário com o eixo do motor. A segunda é uma correia dentada flexível e fechada, com os dentes localizados do lado externo da correia. A terceira é um cilindro dentado com os dentes na cara interna dele. A correia flexível é colocada ao redor da roda elíptica, separada por bolinhas à maneira de rolamentos, de maneira de reduzir ao máximo o atrito. Esse conjunto é colocado dentro do cilindro dentado. Os dentes do cilindro devem ser da mesma forma e tamanho que os dentes da correia, sendo que o número total de dentes no lado interior do cilindro é igual ao número total de dentes do lado exterior da correia mais 2. Quando a roda elíptica começa girar, o faz se deslizando na superfície interior da correia flexível, graças ao sistema de rolamentos. Quando a roda gira um determinado ângulo, a correia vai se deformando de maneira de encaixar seus dentes com os dentes do cilindro dentado, sendo aqueles que são pressionados os que estão localizados no raio maior da elipse da roda. Ao completar uma volta inteira a roda elíptica, a correia flexível girou um ângulo cujo arco corresponde a apenas dois dentes do cilindro rígido externo, devido a que a correia possui dois dentes a menos do que o disco ao longo da sua extensão. Observe-se que se o número de dentes fosse igual, após um giro da roda elíptica, a correia teria se deformado num movimento elíptico também mas sem girar nem 1°, pois sempre encaixaria seus dentes nos dentes do cilindro rígido, os quais se corresponderiam um a um. O fato de ter dois dentes a menos é o que faz que depois de uma volta da roda elíptica, a correia se desloque dois dentes com respeito ao cilindro rígido externo.
155
O desenho seguinte ilustra este princípio.
Figura 6.8: Princípio de funcionamento das engrenagens harmônicas Na prática, a correia flexível, em geral de alumínio, não precisa possuir exatamente dois dentes a menos que o disco externo, mas em geral possuem 1% de dentes a menos. Qualquer uma das três componentes pode ser usada como entrada e como saída do movimento rotativo, mas o normal é utilizar a roda elíptica como entrada, solidária com o eixo de um motor, e a correia flexível como saída, solidária com o eixo de saída. Observe-se que se o cilindro tem 100 dentes internos, e a correia 98, a cada volta da roda elíptica a correia girará, em sentido contrário, um ângulo correspondente ao arco de comprimento igual a dois dentes, e portanto a roda precisará dar 50 voltas para um mesmo dente da correia se deslocar ao longo dos 100 dentes do cilindro externo, completando assim uma volta. Isto implica que entre essas duas componentes existe uma redução de 50:1, muito maior da obtida com a maioria dos pares de engrenagens. A redução de velocidade (ou relação entre a velocidade de saída e a velocidade de entrada) é calculada como: (Nd – Nc) / Nd
156
sendo Nc o número total de dentes na superfície exterior da correia flexível, e Nd o número total de dentes na superfície interior do cilindro rígido. O erro por backlash também é muito pequeno devido à maior quantidade de dentes que estão em contato ao mesmo tempo. As engrenagens harmônicas requerem muito pouca manutenção e podem operar sem desgaste ao longo de toda sua vida útil. Todavia, são menos eficientes que um trem de engrenagens bem projetado.
6.5) Correias dentadas e correntes Uma correia flexível, com dentes na sua superfície interna, pode ser movimentada por um par de engrenagens paralelas distantes. O tamanho e forma dos dentes devem coincidir tanto para as engrenagens quanto para a correia. Nesse caso, a relação entre as velocidades e os torques das engrenagens coincide com as relações estudadas para as engrenagens normais, exceto pela diferença que os sentidos das velocidades nas engrenagens coincide como no caso das polias.
Figura 6.9: Esquema de uma engrenagem e uma correia dentada A vantagem deste sistema é que não há perigo de escorregamento, como no caso das polias, embora se a correia é de borracha pode se esticar caso a carga seja pesada demais para o torque resultante. O mesmo acontece no caso de uma corrente movimentada por um par de engrenagens paralelas, com a vantagem sobre o caso da correia de que não há problema de estiramento. Os furos de cada anel da corrente devem ser tais de permitir a perfeita introdução dos dentes das engrenagens. É o sistema de transmissão e redução utilizado em todas as bicicletas. Os eixos das engrenagens devem ser paralelos e não há portanto possibilidade de mudar o ângulo de rotação, embora um pequeno desvio no ângulo entre os eixos é normalmente bem tolerado, como acontece no caso das polias. O erro por backlash também é mínimo para os dois casos, devido ao maior número de dentes em contato com a correia ou com a corrente, a não ser que elas não estejam suficientemente esticadas, ou, no caso da correia, o material com que ela é feita seja elástico demais. Nesses casos, ao inverter o pinhão o sentido da rotação, haverá um 157
pequeno ângulo que gira sem movimentar a coroa, até a correia ou a corrente se esticarem totalmente e assim transladar o movimento à outra engrenagem. Perceba-se que o efeito nesses casos também é de backlash. Nas correntes, o peso delas faz quase impossível estica-las totalmente, por tal razão são utilizadas apenas correntes de pouco comprimento. Em geral, estes sistemas não se utilizam para grandes reduções de velocidade, mas para transmitir um movimento de rotação de um eixo a outro paralelo distante, sem os problemas de escorregamento que introduzem as polias, como já foi apontado. Uma outra utilização típica destes sistemas é para a transformação de um movimento de rotação, em geral produzido por um motor, num movimento linear. Efetivamente, se uma pequena peça for sustentada pela corrente ou pela correia, o deslocamento dela será linear, embora a excursão máxima dependerá da distância entre as engrenagens, que como foi especificado, deve ser pequena para diminuir o backlash. Um sistema similar é utilizado nas impressoras a jato para deslocar o cartucho de tinta linearmente. A velocidade de deslocamento linear dessa peça estará dada por v=ωr sendo r o raio efetivo da engrenagem solidária com o eixo do motor (ou distância entre o centro da engrenagem e o ponto de contato dos dentes), e ω a velocidade angular dele. A força com que se desloca essa peça será f=τ/r
Figura 6.10: Esquema de uma correia dentada ou corrente movimentando uma peça linearmente Obviamente, o sistema também serve para transformar um movimento linear num movimento de rotação, embora esse caso seja muito menos usual. Mas colocando um atuador linear solidário com a peça, um pistão por exemplo, ao se movimentar produzirá um movimento de rotação nos eixos das engrenagens.
6.6) Guias dentadas Um dos mais antigos dispositivos utilizados para transformar um movimento de rotação num movimento linear é a guia dentada. Esta consiste numa barra de perfil retangular, feita de um material rígido, com dentes numa das suas caras ao longo do seu comprimento. Uma engrenagem que faz a função de pinhão, possui seu eixo solidário
158
com o eixo de um motor. Os dentes da engrenagem devem coincidir em tamanho e forma com os dentes da guia rígida. Assim, quando eles são encaixados, a rotação do pinhão produz um movimento de translação da guia dentada. Se ela estiver solidária com uma peça, ela sofrerá um deslocamento linear.
Figura 6.11: Conjunto de guia dentada e pinhão Este sistema pode ser visto utilizado amplamente em dispositivos automáticos para abertura de portões, embora em robótica não sejam tão comuns. A velocidade de deslocamento da guia, assim como a força de deslocamento dela, estão relacionadas à velocidade angular do pinhão e ao torque aplicado nele pelas mesmas fórmulas deduzidas na seção anterior: v=ωr
e
f=τ/r
sendo r o raio efetivo do pinhão, ou distância desde o centro até o ponto de contato dos dentes. Neste sistema também existe o erro por backlash, na mesma proporção que nas engrenagens, devido a que uma pequena folga entre os dentes é necessária para evitar que a guia se trave durante o movimento. Também este dispositivo serve para transformar um movimento linear num movimento de rotação. Se for colocada a guia dentada acionada por um pistão, se obterá um movimento de rotação na engrenagem. Este caso, ao igual que nas correntes e correias dentadas, é muito pouco usual também.
6.7) Parafusos de acionamento Em robótica e em muitas outras aplicações, os parafusos de acionamento são freqüentemente usados para transformar um movimento rotativo num movimento linear. Este sistema consiste simplesmente num eixo cilíndrico roscado solidário com o eixo de um motor. Uma peça com uma rosca fêmea do mesmo tipo é roscada nele. Essa peça deve possuir uma guia para evitar sua rotação durante o movimento. Assim, quando o eixo roscado girar acionado pelo motor, a peça, incapaz de girar por causa da guia, avançará ou retrocederá dependendo do sentido de rotação do eixo. Exatamente o
159
que acontece, por exemplo, com um parafuso comum e uma porca segurada por um alicate.
Figura 6.12: Eixo roscado e parafuso Os parafusos de acionamento tem a grande vantagem de reduzir a velocidade muito mais do que a guia dentada. Além disso, permitem uma precisão muito maior no posicionamento da peça que se desloca linearmente, devido a que um pequeno giro no eixo roscado pode produzir um movimento ínfimo na peça. Quando o parafuso dá uma volta, quer dizer que gira um ângulo igual a 2π, a distância que avança a peça é igual ao passo da rosca p. Matematicamente, se θ = 2π ⇒ x = p, sendo θ o ângulo de giro da rosca, e x a distância que se desloca a peça. Dividindo ambos membros da igualdade: θ / x = 2π / p A relação entre o ângulo girado e a distância deslocada é a mesma que entre a velocidade angular e a velocidade linear de deslocamento, fato que se explicita se forem divididos ambos fatores pelo tempo. Portanto: v = ω p / 2π Aqui fica claro que, para uma mesma velocidade angular, a velocidade linear de deslocamento é muito menor do que na guia dentada, supondo uma engrenagem de dimensões normais. A relação entre o torque aplicado no eixo e a força da peça fêmea deve considerar os atritos que se produzem ao girar da rosca. Eles não são desprezíveis. Esta relação está dada por:
f =
2τ πd e − µp sec β d e p + µπd e sec β
160
onde µ é o coeficiente de atrito entre os filetes da rosca; β é o ângulo de ápice do filete, ou ângulo do filete da rosca com respeito à vertical; e de é o diâmetro efetivo da rosca (duas vezes a distância do centro do eixo até o ponto de contato). Esta equação se aplica para roscas com filetes em ângulo. Para roscas quadrangulares (com filetes de perfil quadrado), β = 0, por ser a força aplicada pela rosca do eixo na rosca fêmea paralela ao eixo, não existindo portanto ângulo de contato, sendo assim sec(β) = 1. Estes dispositivos apresentam, como já foi apontado, um alto coeficiente de atrito entre a rosca do eixo e a rosca fêmea, devido à grande superfície de contato. Por causa disso, existe um dispositivo similar conhecido como “ball screw” (ou parafuso de rolamentos), onde são colocadas pequenas bolinhas à maneira de rolamentos na rosca, a fim de facilitar o deslizamento e diminuir o atrito a valores muito menores. Ali, a porca faz girar os rolamentos quando o parafuso gira, ao invés de faze-lo diretamente sobre o próprio parafuso, diminuindo assim o atrito significativamente. Este dispositivo é muito usado em robótica. Ele consegue que a transmissão de energia mecânica chegue a 90%. Existe uma variação do parafuso de acionamento, onde o eixo roscado não é mais solidário com o eixo do motor, e sim a peça que se desloca linearmente. Pode-se observar um esquema desse dispositivo na figura 6.13.
Figura 6.13: Engrenagem roscada e eixo roscado O motor faz girar uma engrenagem com uma rosca fêmea no seu interior. O eixo roscado, impedido de girar por causa de uma guia, se desloca no interior da engrenagem linearmente. A relação entre a velocidade angular da engrenagem e a velocidade linear do eixo é a mesma apresentada anteriormente, a não ser que exista uma redução na velocidade angular da coroa com respeito ao pinhão. A relação entre a força com que avança o eixo e o torque aplicado na engrenagem também coincide com a fórmula anterior, a não ser, também, que exista um aumento de torque entre o pinhão e a coroa.
161
6.8) Cames Nalguns projetos mecânicos, às vezes existe a necessidade de gerar um movimento linear numa peça, mas com um deslocamento que descreva uma excursão periódica no tempo. Esta excursão pode ter formas simples, como por exemplo uma senoidal, onde a posição da peça que se desloca linearmente descreve uma função seno de um período determinado. Em outras ocasiões, a função descrita pela excursão da posição linear da peça pode ter formas bem mais complexas. Para essas necessidades utiliza-se um dispositivo chamado “came”, segundo sua denominação em inglês. Este dispositivo consiste numa roda com um perfil determinado solidária com o eixo de um motor. A peça a se deslocar linearmente deve estar guiada para poder efetuar apenas um movimento linear, e deve ter uma ponta em contato com o perfil da roda, pressionando ela com uma mola. Dessa maneira, quando a roda gira, o perfil irregular dela vai movimentando a peça para acima e para baixo, fazendo-a efetuar um deslocamento que depende do perfil da roda. Observe-se que este deslocamento é periódico, e esse período coincide com o tempo que demora a roda em efetuar uma volta ao longo do movimento rotatório dela, sendo portanto a freqüência do deslocamento periódico igual à freqüência de rotação do came. Um esquema de um came pode ser observado na figura 6.14.
Figura 6.14: O seguidor do came sobe e desce para acompanhar o contorno da roda (a) Movimento do came em função do ângulo de rotação (b) Conjunto de came e seguidor Observe-se que o perfil da roda deve ser projetado cuidadosamente para a peça poder efetuar a excursão desejada. Se por exemplo esse perfil for redondo, resulta óbvio que a peça não efetuará movimento nenhum. O perfil da roda não pode apresentar variações bruscas de raio, a sua mudança ao longo de toda a volta deve ser suave, o que é equivalente a afirmar que a derivada do
162
raio com respeito ao ângulo deve ser pequena. Caso isso não acontecer, corre-se o risco da peça travar e não conseguir “subir” uma pendente elevada. Dispositivos similares são utilizados nos motores de combustão para abrir e fechar as válvulas dos pistões.
6.9) Aplicação em robôs reais Os fabricantes de robôs utilizam uma grande parte dos mecanismos de transmissão estudados até agora para a movimentação deles. Em particular, quando se trata de movimentar juntas de robôs manipuladores, quase sempre é necessário transmitir o movimento de uma posição onde fica o motor, em geral a base dele, até a localização exata da junta. Além disso, também é necessário um ajuste do movimento, dado que a maioria dos motores de corrente contínua, que são os mais utilizados em robótica, possuem uma alta velocidade angular e baixo torque, características inadequadas para a movimentação de um elo de um braço mecânico, por exemplo. É por isso que complexas reduções de velocidade e sistemas transmissores de potência são projetados na maioria dos robôs fabricados pela indústria atualmente. Considere-se o caso do robô ASEA IRb-6, um braço mecânico simples e muito popular. Na figura 6.15 apresenta-se um desenho esquemático dele.
Figura 6.15: Esquema simplificado do robô ASEA IRb - 6 Este robô pode carregar 6 kg de peso, possui uma precisão de posicionamento da garra de 0.2 mm e uma repetência de 0.05 mm. As juntas são movimentadas por servo-motores de corrente contínua de armadura de disco, com resolvers para o monitoramento da posição. Os motores são de 3000 rpm.
163
e suas velocidades são reduzidas utilizando engrenagens harmônicas para a base e o pulso. No caso da base, a engrenagem tem uma redução de 158:1, e no caso do pulso, a redução é de 128:1. No caso da junta do ombro, a redução é conseguida através de um parafuso de acionamento com uma rosca de rolamentos, dispositivo estudado na seção 7. Observe-se no desenho, que ao girar o motor provoca um deslocamento linear na peça de rosca fêmea, de uma velocidade baixa graças à redução obtida pelo parafuso de rolamentos, o que também oferece um baixo coeficiente de atrito. Mas a movimentação do ombro também é rotativa. Então volta-se transformar o movimento linear num movimento de rotação através de uma simples alavanca. Como exercício, poderia-se deduzir a fórmula que expressa a relação entre a velocidade angular do motor e a velocidade angular de giro do ombro. No caso do pulso, o movimento de rotação do motor é transmitido através de duas rodas conectadas com barras excêntricas, dispositivo cujo princípio de funcionamento é similar ao das polias, só que sem o perigo da correia escorregar e portanto muito mais confiável. Para a rotação da mão, é utilizado o mesmo dispositivo de rodas conectadas, e o ângulo de giro é alterado 90° através de um par de engrenagens com dentes a 45°, as que proporcionam também um pequeno aumento na velocidade angular de rotação. O efetuador normalmente pode ser trocado com facilidade, é por essa razão que os atuadores do efetuador normalmente não estão nos robôs e sim no efetuador mesmo. O desenho 6.16 representa um esquema do robô Hitachi “Process Robot”. Observese que aqui a transmissão da rotação é feita através de correias dentadas, dos motores que estão na base do braço, até o ombro e o cotovelo. No pulso, figura 6.17, a rotação é virada 90° através de um jogo de engrenagens com dentes a 45°, o que imprime também um pequeno aumento de velocidade angular.
Figura 6.16: Desenho esquemático do robô Hitachi “ProcessRobot”
164
Figura 6.17: Detalhe do pulso do robô Hitachi “Process Robot” No capítulo seguinte, correspondente a robôs manipuladores, serão apresentados mais detalhes sobre arquitetura dos robôs, em particular de braços mecânicos, assim como projetos de efetuadores, juntas, e partes do robô em geral. Como conclusão, aponta-se a necessidade de projetar o sistema de transmissão de forma adequada para obter o máximo rendimento do robô. Uma transmissão defeituosa ou inadequada pode trazer problemas como peso excessivo do robô, backlash (o que introduz erro de posicionamento), dificuldade o impossibilidade de transportar cargas pesadas, sistemas poucos robustos, delicados ou pouco confiáveis, e problemas de custo excessivo.
Referências [1] Arthur Critchlow: Introduction to Robotics. Macmillan Publishing Company. New York. 1985. [2] Groover, Weiss, Nagel e Odrey: Robótica. Mac Graw – Hill. São Paulo. 1989. [3] Shimon Nof: Handbook of Industrial Robotics. John Wiley & sons. U.S.A 1985.
165
[4] ORT Open Tech Literacy Course. Robot drives – conversion. World ORT Union Technical Department. London. 1984. [5] ORT Open Tech Literacy Course. Robot drives – applications. World ORT Union Technical Department. London. 1984.
166
Capítulo 7: Robôs manipuladores 7.1) Introdução No capítulo 1 foi explicada a definição da palavra robô, apresentado um breve histórico da robótica, foram analisadas as aplicações industriais com suas vantagens conseqüentes, e foi feita uma classificação particular dos diferentes tipos de robôs. Em particular, um dos tipos de robôs mais utilizados, tanto na indústria quanto nos laboratórios de pesquisa, são os robôs manipuladores. Explicitou-se também que em muitos textos entende-se como robô apenas essa classe, excluindo-se da definição outros tipos de robôs tais como os exploradores, muito utilizados em diversas áreas de pesquisa (espacial e submarina, por exemplo). Foi explicitado também que uma definição de robô amplamente aceita é aquela estabelecida pela Associação de Indústrias da Robótica (RIA): “Um robô industrial é um manipulador reprogramável, multifuncional, projetado para mover materiais, peças, ferramentas ou dispositivos especiais em movimentos variáveis programados para a realização de uma variedade de tarefas”. Essa é justamente a definição de robô manipulador, tal como será entendida no presente texto. Da definição podem ser extraídas diversas conclusões sobre as características dos robôs manipuladores. Uma delas é que, como em todo robô, a tarefa a realizar deve estar previamente programada e seu acionar depende desse programa de controle, ou programa que cuida do robô fazer exatamente a tarefa desejada. Essa característica é invariante para qualquer tipo de robô, portanto também para os manipuladores. Uma outra conclusão é que os manipuladores têm como principal objetivo deslocar materiais, os quais podem ser peças diversas, ferramentas que irão trabalhar sobre uma peça, sistemas de visão que terão que monitorar o andamento de um processo determinado, entre outras possibilidades. O tipo mais conhecido de robô manipulador é o famoso braço mecânico. Ele consiste numa série de corpos rígidos interligados por juntas que permitem um movimento relativo entre esses corpos, assemelhando-se assim sua forma geral à de um braço humano, às vezes quase com as mesmas possibilidades de movimento. Todo robô manipulador possui nalgum ponto da sua estrutura física um dispositivo chamado de efetuador. Este dispositivo tem como função operar sobre o objeto a ser manipulado. Ele pode ser uma ferramenta, como uma ponta de solda, por exemplo, destinada a soldar uma superfície, pode ser algum dispositivo especial, como uma câmera de vídeo, mas em geral trata-se de algum tipo de garra capaz de segurar uma peça com o intuito de deslocá-la pelo espaço de trabalho do robô. Em particular, os braços mecânicos costumam ter uma garra como efetuador, embora a maioria dos braços industriais permitem trocar esse dispositivo efetuador com facilidade.
167
7.2) Características construtivas e funcionais 7.2.1) Estrutura dos robôs manipuladores Os robôs industriais são projetados com o intuito de realizar um trabalho produtivo. O trabalho é realizado quando o robô movimenta sua estrutura a fim de deslocar o objeto a ser manipulado. A estrutura de um robô manipulador consiste basicamente numa série de corpos rígidos, idealmente sem deformação pela ação de forças aplicadas sobre eles e que em geral são feitos de um material resistente como aço, os que se denominam elos (diversas bibliografias utilizam sua denominação em inglês: links). Esses elos podem ter diversos tamanhos e formas dependendo da aplicação. Eles estão unidos por juntas que lhes permitem ter um movimento relativo entre eles. Assim, em alguma localização do elo, existirá uma junta que o une com o elo seguinte, permitindolhe um movimento. Conforma-se assim uma cadeia cinemática aberta de elos interligados por juntas. Em geral, os manipuladores estão montados sobre uma base fixa, à qual está unida o primeiro elo através da primeira junta. Esta base pode estar montada sobre uma superfície também fixa, ou num veículo (automatizado ou não) que lhe permita um deslocamento pelo local de trabalho. O ponto extremo do último elo é conhecido com o nome de punho, e é onde costuma estar fixado o efetuador; no caso particular dos braços mecânicos se assemelha à mão no extremo do antebraço. As possibilidades de movimento de um elo com respeito ao anterior estão determinadas pelo tipo de junta que os une. Este movimento pode ser de rotação, onde o elo pode girar um determinado ângulo com respeito ao anterior; nesse caso a junta chama-se de revolução, seja qual for a orientação deste ângulo. O movimento também pode ser de deslocamento linear, onde um elo se afasta ou aproxima do anterior uma determinada distância, em cujo caso a junta é chamada de prismática, seja qual for também a direção deste movimento linear relativo. Um mesmo manipulador não tem por quê ter todas as juntas do mesmo tipo, podendo ser algumas de revolução e outras prismáticas, segundo a conveniência da configuração projetada. Nos braços mecânicos as juntas costumam ser de revolução, justamente por visarem uma semelhança com um braço humano.
168
Figura 7.1: Juntas prismática e de revolução As juntas então determinam os movimentos possíveis do manipulador, e juntamente com as características físicas dos elos, como suas formas e tamanhos, determinam a anatomia do manipulador. A anatomia do robô deve considerar suas aplicações específicas. Por exemplo, um manipulador destinado a colocar componentes eletrônicos numa placa de circuito impresso deve ser substancialmente diferente de um outro destinado a deslocar carros de um ponto da linha de produção a outro.
169
Figura 7.2: Desenho de um braço mecânico com juntas de revolução 7.2.2) Coordenadas generalizadas As variáveis características das juntas são aquelas grandezas físicas que permitem representar este movimento relativo de um elo com respeito ao anterior. No caso das juntas de revolução, serão os ângulos de rotação entre um elo e o anterior; no caso das juntas prismáticas, a distância entre um elo (ou um ponto determinado dele) e a junta que o une com o elo anterior. Observe-se que o estado dessas variáveis é suficiente para determinar a posição do efetuador, pois, se for conhecida a posição de cada uma das juntas a partir da primeira (a que une a base com o primeiro elo), e os comprimentos dos elos, é possível conhecer a posição do efetuador. Essas variáveis conhecem-se pelo nome de coordenadas generalizadas. Em geral elas se representam por meio de um vetor de tantas componentes como juntas tem o manipulador, independentemente que algumas dessas componentes representem ângulos e outras distâncias. Na figura 7.3 é mostrado um robô manipulador de duas juntas de revolução. As coordenadas generalizadas estarão dadas pelo vetor [ 1 2], cujas componentes representam os ângulos dessas juntas. Conhecendo o valor desse vetor, assim também como os comprimentos dos elos, os quais foram denominados no desenho como L1 e L2, é possível determinar a posição do efetuador (ou, mais precisamente, do extremo do
170
último elo), expressada em função de um par de eixos cartesianos ortogonais (x;y) com a origem solidária com a primeira junta.
Figura 7.3: Manipulador com duas juntas de revolução no mesmo plano 7.2.3) Graus de liberdade O número total de juntas do manipulador é conhecido com o nome de graus de liberdade (ou DOF, segundo as iniciais em inglês). Um manipulador típico possui 6 graus de liberdade, sendo três para o posicionamento do efetuador dentro do espaço de trabalho, e três para obter uma orientação do efetuador adequada para segurar o objeto. Com menos de 6 graus de liberdade o manipulador poderia não atingir uma posição arbitrária com uma orientação arbitrária dentro do espaço de trabalho. Para certas aplicações, por exemplo manipular objetos num espaço que não se encontra livre de obstáculos, poderiam ser necessários mais de 6 graus de liberdade. A dificuldade de controlar o movimento aumenta com o número de elos do braço. Na figura 7.4 apresenta-se como exemplo uma representação dos três graus de liberdade de um braço mecânico referentes às três primeiras juntas, necessárias para o posicionamento do efetuador. Neste exemplo particular, observa-se que as duas primeiras juntas são de revolução e a terceira é prismática, permitindo ao último elo se afastar ou aproximar do segundo.
171
Figura 7.4: Braço mecânico de 3 DOF. Duas juntas de revolução e uma prismática As últimas três juntas recebem usualmente o nome de punho. Como foi mencionado, elas têm por objetivo orientar o efetuador numa direção arbitrária, conveniente para a tarefa a ser realizada. Por exemplo, uma garra deve estar orientada convenientemente com respeito à peça de trabalho, a fim de poder agarrá-la. Essas juntas sempre são de revolução, pois o objetivo é a orientação do efetuador e não seu posicionamento. As coordenadas generalizadas, ou variáveis que caracterizam o movimento dessas três juntas, são ângulos que recebem o nome genérico de “pitch”, “yaw”, e “roll”, respectivamente. A junta de “roll” representa a rotação do efetuador com respeito ao eixo transversal do último elo, ou eixo que coincide com a orientação dele. Na de “yaw”, o eixo de rotação está numa perpendicular ao último elo, envolveria o giro do efetuador à direita e à esquerda. Na junta de “pitch” o eixo de rotação é perpendicular ao anterior, e envolveria o giro do efetuador para cima e para baixo. Esta junta é chamada às vezes de inclinação do efetuador. Observe-se que nestas três juntas os eixos de rotação são sempre perpendiculares, permitindo uma orientação do efetuador em qualquer ângulo de rotação, de inclinação à esquerda ou direita, e de inclinação para cima e para baixo. É claro que os limites de movimento de cada uma dessas três juntas limitarão as orientações possíveis do efetuador. Na seguinte figura são representadas essas três juntas.
172
Figura 7.5: Representação das três juntas do punho do manipulador No extremo do punho é fixado o efetuador, ou dispositivo destinado a trabalhar sobre o objeto a ser manipulado. Em geral, os punhos nos braços mecânicos e em outros tipos de manipuladores permitem a remoção e troca do dispositivo efetuador com facilidade, adequando o robô para diferentes tarefas que exigem diferentes tipos de efetuadores. 7.2.4) Espaço de trabalho O espaço de trabalho do manipulador é o termo que se refere ao espaço dentro do qual ele pode movimentar o efetuador. Ele é definido como o volume total conformado pelo percurso do extremo do último elo, o punho, quando o manipulador efetua todas as trajetórias possíveis. Em geral, não é considerada a presença do efetuador para definir este volume de trabalho, pois de ser assim este volume ficaria determinado pelo seu tamanho, o qual depende do dispositivo terminal utilizado. Por exemplo, este volume variaria dependendo de se o efetuador é uma garra ou uma ponta de solda comprida. Observe-se que este volume dependerá da anatomia do robô, do tamanho dos elos, assim também como dos limites dos movimentos das juntas (nas juntas de revolução, por exemplo, existirá um ângulo máximo de giro, determinado por limites mecânicos). A posição do punho do manipulador pode ser representada no espaço de trabalho ou no espaço das juntas. A posição no espaço de trabalho é determinada pela posição do punho segundo um sistema de três eixos cartesianos ortogonais, cuja origem em geral é solidária com a base do robô. Portanto, a posição do punho é representada no espaço de trabalho como um vetor de três componentes [x y z]. A posição no espaço das juntas é representada pelo vetor de coordenadas generalizadas, ou vetor cujas componentes representam a posição de cada junta (ângulo se for de revolução ou distância se for prismática), relativas a uma posição inicial arbitrária. Como foi especificado anteriormente, o conhecimento dos valores das coordenadas generalizadas é suficiente para determinar a posição do punho dentro do espaço de trabalho. A influência da configuração física sobre o volume de trabalho é ilustrada na figura 7.6. Observe-se que, dependendo da configuração, este volume pode ser um semi-esfera parcial, um cilindro, ou um prisma.
173
Figura 7.6: Diferentes espaços de trabalho em manipuladores de diferentes anatomias Nos robôs reais, os limites mecânicos no movimento das juntas produzem um espaço de trabalho com contornos complexos, como é ilustrado na seguinte figura.
Figura 7.7: Geometria do espaço de trabalho de um robô Motoman LW3 7.2.5) Anatomia dos manipuladores Existem diferentes configurações físicas, ou diferentes anatomias, nos robôs manipuladores. Cada uma delas encontrará utilidade em alguma aplicação específica. Essas configurações estão determinadas pelos movimentos relativos das três primeiras juntas, as destinadas ao posicionamento do efetuador. Efetivamente, elas podem ser prismáticas, de revolução, ou combinação de ambas. Para cada combinação possível existirá uma configuração física, ou anatomia, diferente. Observe-se que a configuração física independe do tamanho dos elos, pois eles determinarão em todo caso o tamanho do espaço de trabalho, mas não sua forma.
174
As configurações físicas, então, estão caracterizadas pelas coordenadas de movimento das três primeiras juntas, ou pelas três primeiras coordenadas generalizadas, que são as variáveis que representam o movimento delas. Na maioria dos robôs manipuladores industriais, independentemente do tamanho e formas dos elos deles, dispõe-se de quatro configurações básicas: 1. Coordenadas cartesianas. 2. Coordenadas cilíndricas. 3. Coordenadas esféricas ou polares. 4. Coordenadas de revolução. Na figura seguinte se representa um esquema destas quatro configurações básicas:
Figura 7.8: Manipuladores de configurações: (a) cartesiana; (b) cilíndrica; (c) esféricas; (d) de revolução 7.2.5.1) Coordenadas cartesianas: Nos robôs de coordenadas cartesianas as três primeiras juntas são prismáticas, isto é, cada um dos elos tem um movimento de deslocamento linear com respeito ao anterior, ou à base no caso do primeiro elo. A forma dos elos pode mudar muito entre um robô e outro, o que interessa é que cada um se deslocará linearmente com respeito ao anterior, permitindo ao efetuador se deslocar ao longo de três eixos perpendiculares entre eles.
175
Se for suposto no centro da base a origem de três eixos cartesianos ortogonais, chamados de x, y e z, fica claro que cada junta permite ao efetuador se movimentar ao longo de cada um desses três eixos, perpendiculares entre eles. Assim, a posição do efetuador com respeito a esse sistema de coordenadas estará determinado pelas três primeiras coordenadas generalizadas, as que podem ser chamadas, justamente, de [x y z], representando essas variáveis a distância de cada elo com respeito à origem de coordenadas. A posição do efetuador no espaço das juntas, portanto, coincide com a posição no espaço de trabalho. O ambiente de trabalho tem a forma de um prisma retangular. Os robôs de coordenadas cartesianas são muito utilizados quando é necessário atingir uma grande área, mas em geral livre de obstáculos, não sendo necessários movimentos muito complicados, por exemplo, na montagem de carros e na indústria metalúrgica em geral. Uma vantagem é a facilidade de programação, pois é comum que o programador especifique uma trajetória do efetuador dentro do espaço de trabalho, trajetória que neste caso coincidirá com a especificada no espaço das juntas. Na figura seguinte pode se observar a estrutura de um robô de coordenadas cartesianas destinado a operar sobre um carro numa linha de produção.
Figura 7.9: Robô de coordenadas cartesianas 7.2.5.2) Coordenadas cilíndricas: Nos robôs de coordenadas cilíndricas a primeira junta é de revolução, sendo as outras duas prismáticas. Assim, a primeira coordenada generalizada será o ângulo de giro do primeiro elo com respeito à base do robô, a que é chamada de . A segunda estará dada pela altura com que se eleva o segundo elo com respeito à base, a que se denomina z. E a terceira é a distância que se desloca o terceiro elo com respeito ao segundo, chamada de R. O vetor com as três coordenadas generalizadas que representam o movimento do manipulador é, então, [ z R].
176
Observe-se que o espaço de trabalho será um cilindro, ou o volume encerrado por dois cilindros de diferentes raios cujos eixos coincidem com o eixo de rotação do primeiro elo. É possível que o robô não consiga atingir todos os pontos dentro desse espaço encerrado pelos dois cilindros devido a limitações mecânicas na junta de revolução. Essas três coordenadas representadas num sistema de três eixos cartesianos ortogonais, cuja origem coincide com a base do robô, podem ser ilustradas segundo o seguinte desenho:
Figura 7.10: Representação das coordenadas cilíndricas Os valores dessas três variáveis determinam a posição do efetuador, como tinha sido mencionado anteriormente. Mas, em muitos casos, o programa de controle não considera estas coordenadas, mas a posição do efetuador com respeito a um sistema de coordenadas cartesianas ortogonais (x,y,z,), ou posição no espaço de trabalho. Evidentemente, existe uma transformação das coordenadas generalizadas às coordenadas cartesianas ortogonais, ou transformação da posição no espaço das juntas para o espaço de trabalho. É fácil ver, aplicando as regras básicas da trigonometria que essa transformação estará dada pelas seguintes equações:
x
R cos
y
R sen
z
z
Na figura seguinte observa-se um esquema de um manipulador de coordenadas cilíndricas.
177
Figura 7.11: Robô de coordenadas cilíndricas 7.2.5.3) Coordenadas esféricas: Num manipulador de coordenadas esféricas, as duas primeiras juntas são de revolução e a terceira é prismática. A primeira, que faz girar o primeiro elo com respeito à base, é chamada de . A segunda, que faz inclinar o segundo elo, ou ombro, com respeito ao primeiro (ou também pode ser à própria base), é chamada de . A terceira coordenada é prismática, é a que faz afastar ou aproximar o terceiro elo do segundo, e essa distância é chamada de . As coordenadas generalizadas que representam os três primeiros graus de liberdade, necessários para o posicionamento do efetuador, estarão definidas então pelo vetor [ ]. Observe-se que o espaço de trabalho neste tipo de manipuladores será uma esfera, ou o um espaço definido pelo volume encerrado por duas esferas de diferente raio com centro comum no ombro do robô. O manipulador poderia não atingir todos os pontos encerrados dentro dessas duas esferas devido a limitações nos ângulos de giro das duas primeiras juntas. A representação das três coordenadas generalizadas num sistema de três eixos cartesianos ortogonais, chamados [x y z], cuja origem coincide com a base do robô, pode ser visualizada no seguinte desenho:
Figura 7.12: Representação das coordenadas esféricas
178
Também aqui, os valores dessas três coordenadas generalizadas, além do comprimento dos elos, determinam a posição do efetuador. Em muitos casos, os programas de controle não consideram essas três coordenadas generalizadas para determinar o posicionamento do efetuador, mas a posição segundo as coordenadas cartesianas ortogonais [x y z]. Evidentemente, também aqui existe uma série de transformações de um sistema de coordenadas para o outro. Elas são:
x
cos
cos
y
cos
sen
z
sen
Observe-se que foram supostas as três juntas aplicadas no mesmo ponto, o que equivale a supor os dois primeiros elos sem comprimento nenhum, apenas o terceiro se estendendo e contraindo segundo o valor da terceira coordenada . Isto efetivamente pode acontecer na prática, a rotação dos dois primeiros ângulos aplicados no mesmo elo. Mas se eles tiverem algum comprimento, eles devem ser considerados para o cálculo da posição do efetuador, modificando-se levemente as equações anteriores. A figura seguinte representa um desenho do robô manipulador Unimate de coordenadas esféricas.
Figura 7.13: Desenho de um robô Unimate de coordenadas esféricas 7.2.5.4) Coordenadas de revolução: Os robôs manipuladores de coordenadas de revolução são chamados assim por terem as três primeiras juntas, as que posicionam o efetuador, de revolução, sendo portanto as três primeiras coordenadas generalizadas, ângulos de rotação. Esses ângulos recebem diversos nomes na bibliografia, aqui serão chamados de [ 1 2 3]. A maioria dos braços mecânicos de anatomia antropomórfica possuem esta configuração, e estas três primeiras juntas se correspondem com os ângulos de rotação da base, ombro e cotovelo, respectivamente, imitando os movimentos do braço humano.
179
Observe-se que aqui, para conhecer a posição do efetuador também é necessário conhecer o valor dessas três coordenadas generalizadas, além dos comprimentos dos elos. Também aqui o espaço de trabalho será uma esfera, ou o volume encerrado por duas esferas parciais, considerando que alguns pontos encerrados nesse espaço poderiam não ser atingidos pelo manipulador devido a limites mecânicos no ângulo de giro de cada junta. A maior vantagem dos robôs de juntas de revolução é a de poder alcançar qualquer ponto dentro do volume de trabalho com relativa facilidade. A maior desvantagem está dada pela dificuldade de visualizar e controlar os três elos. O mesmo ponto no espaço pode ser atingido de diferentes maneiras, como será demonstrado na seção seguinte, e às vezes resulta difícil decidir qual é a mais adequada. Isto complica substancialmente os algoritmos de controle do braço, sendo preciso portanto utilizar micro computadores ou micro controladores para seu controle. No seguinte desenho se observa uma representação esquemática de um robô de coordenadas de revolução de três graus de liberdade.
Figura 7.14: Braço mecânico de 3 graus de liberdade Suponha-se um sistema de três eixos cartesianos ortogonais [x y z] cuja origem é solidária com a base do robô (mais precisamente com o ponto de aplicação da primeira junta); é possível expressar a posição do efetuador segundo este sistema em função das coordenadas generalizadas. Estas transformações estarão dadas pelas seguintes equações:
x
l 2 cos(
2
3
)
l1 cos
2
cos
1
y
l 2 cos(
2
3
)
l1 cos
2
sen
1
z
l1 sen
2
l 2 sen(
2
3
)
180
Observe-se que aqui não é possível deixar de considerar o comprimento dos elos para as transformações, porque não existe a possibilidade das três primeiras juntas estarem aplicadas no mesmo ponto. Chamando l1 o comprimento do primeiro elo, aquele que está unido com a base através da junta do ombro, esta junta tem uma coordenada generalizada cujo valor expressa-se como 2. Chamando l2 o comprimento do segundo elo, unido ao primeiro através da junta correspondente ao cotovelo do braço mecânico, seu ângulo de rotação expressa-se como 3. Finalmente, 1 representa o ângulo de rotação da base, e em seu ponto de aplicação é que se considera a origem do sistema de coordenadas [x y z]. 7.2.6) Acionamento do manipulador O movimento em cada junta é realizado por atuadores. Os principais utilizados são motores elétricos, pistões hidráulicos e pistões pneumáticos, os que podem dar às juntas um movimento linear ou de rotação. Os atuadores são mecanicamente conectados às juntas por meio de diferentes mecanismos de transmissão de potência mecânica, tais como engrenagens, polias, correntes e parafusos de acionamento, destinados a dar ao movimento a desejada direção, força e velocidade. No caso dos braços mecânicos, o mais comum é utilizar motores elétricos, que podem ser de corrente contínua com ímã permanente ou de passo. No caso de alguma das juntas ser prismática, em geral o movimento linear é conseguido através de um parafuso de acionamento, que transforma o movimento de rotação do motor num deslocamento linear. O acionamento elétrico propicia ao robô uma maior precisão, além de requerer espaços reduzidos para sua montagem, podendo se colocar os atuadores na própria estrutura física do manipulador. O acionamento hidráulico é geralmente associado a manipuladores de maior porte, pois eles propiciam ao robô maior velocidade e força. Em contrapartida, ele se soma ao espaço útil requerido pelo robô, o que o aumenta consideravelmente, além de sofrer de outros inconvenientes tal como a possibilidade de vazar óleo. Os robôs com acionamento hidráulico podem ter tanto juntas prismáticas, movimentadas por meio de pistões, ou de revolução, através de motores hidráulicos. O acionamento pneumático é utilizado em robôs manipuladores de pequeno porte e poucos graus de liberdade, geralmente não mais de dois. Por não terem os pistões pneumáticos uma grande precisão, devido à compressibilidade do ar, esses robôs assim acionados se utilizam geralmente em operações de “pega e põe” (conhecidos como pick & place), onde os elos se deslocam bruscamente entre dos extremos possíveis, dados pelos limites mecânicos dos pistões a modo de bang-bang, sem possibilidade de controle sobre a trajetória intermédia do efetuador. Como foi tratado no capítulo 2, o controlador cuida, através do programa de controle, que o manipulador realize a tarefa programada com a maior precisão possível, dentro das especificações técnicas. No caso do robô estar movimentado por motores de passo, ele pode ser controlado em malha aberta, por possuirem esses dispositivos precisão na rotação. Mas se for acionado por motores de corrente contínua, é necessário fechar a malha através de sensores, porque o controlador precisa conhecer a resposta do manipulador a fim de imprimir nos motores os sinais de excitação necessários para executar a trajetória com precisão. Os sensores utilizados são sensores de posição, um por cada junta. Os mais comuns são os encoders óticos incrementais, onde o controlador vai contando os pulsos entregues pelo sensor ótico para conhecer a posição da junta. Às vezes são utilizados potenciômetros rotativos também, onde o sinal analógico entregue é
181
proporcional ao ângulo de rotação da junta. Em caso da junta ser prismática, uma engrenagem pode converter o movimento linear para uma rotação e assim entregar a informação para um encoder. Também podem ser usados sistemas de visão digitais; analisando a imagem fornecida, o controlador pode conhecer a posição de todas as juntas do braço. Dependendo da tarefa, o efetuador pode exercer uma determinada força sobre uma superfície sobre a qual de desliza, por exemplo para efetuar uma solda, ou um corte, entre outras aplicações possíveis. Nesse caso o controlador não mais controlará apenas a trajetória do efetuador, mas também a força que este exerce sobre a superfície, a fim de não quebrá-la ou não deteriorar a ferramenta utilizada. Para isso é necessária a utilização de sensores de força no punho do manipulador, e em geral são utilizados strain gauges. Em alguns casos os programas de controle precisam conhecer as velocidades das juntas também, não apenas as posições, isto depende da lei de controle a ser implementada. Porém, não é comum utilizar tacómetros nos manipuladores por causa do alto nível de ruído destes dispositivos. Em geral, o controlador deriva a posição com respeito ao tempo para estimar a velocidade. O manipulador deve ser controlado por algum tipo de controlador programável. No caso dos braços mecânicos, o mais comum é utilizar computadores digitais. O programa de controle é responsável por conseguir que a operação feita pelo manipulador acompanhe, da maneira mais fiel possível, a posição de referência. Esta posição de referência pode ser inserida externamente, através de um mouse, um joystick, ou pelo teclado, ou pode estar já programada dentro do software de controle. Interfaces, placas de potência, conversores A/D e D/A, completam a estrutura do sistema de controle e da planta necessária para um funcionamento adequado. 7.2.7) Controle de manipuladores Existem diversos tipos e classificações dos diferentes algoritmos de controle para robôs manipuladores que são utilizados na prática. Esses algoritmos, dependendo da sua complexidade, podem ser implementados por controladores de diversas tecnologias, de alguns muito simples tais como sistemas eletro–mecânicos de relays e switches, até micro computadores ou micro controladores digitais. Nesta seção, será realizada uma classificação geral dos algoritmos de controle, a qual refere-se ao tipo de movimento imprimido ao manipulador. Existem três tipos básicos de controle de manipuladores. O primeiro é utilizado em robôs acionados por pistões que podem ser hidráulicos ou pneumáticos, sendo esta última possibilidade a mais freqüente. Topes mecânicos, que podem ser os dos próprios pistões, limitam o movimento deles. Dessa maneira, o controlador simplesmente ativa o desativa as eletro-válvulas correspondentes para que o ar comprimido, ou o fluido pressurizado, empurrem ou puxem as hastes dos pistões até seus limites, movimentando assim os elos ou a peça de maneira adequada. Assim, as diferentes posições atingidas pelo robô são muito limitadas; por exemplo, num manipulador de dois elos e duas juntas movimentadas por pistões, apenas 4 posições possíveis podem ser atingidas. Esses sistemas em geral operam em malha aberta, não possuindo portanto nenhum tipo de sensor para o controlador poder monitorar as posições dos pistões, no máximo um sensor para a detecção da presença da peça a manipular. Esse tipo de controle é chamado de bang – bang e é utilizado principalmente em manipuladores do tipo pick & place (“pega e põe”). Os controladores desses
182
sistemas também podem ser muito simples, como circuitos eletrônicos com temporizadores e saídas digitais para o acionamento das eletro-válvulas. O segundo tipo de controle é aplicado a manipuladores mais sofisticados, que têm um sistema de sensores para medir a posição das juntas. Nele, o programa de controle tem por objetivo executar uma tarefa consistente em levar o efetuador de um ponto a outro do espaço de trabalho, e ficar ali estacionado por um determinado tempo ou até nova ordem, sem importar a trajetória realizada para se deslocar até o destino, ou em qualquer caso cuidando, no máximo, do tempo de estabelecimento, percentual de overshoot, entre outras especificações técnicas possíveis. Esse tipo de controle é chamado de controle de posição, ou controle ponto a ponto, e exige controladores mais complexos do que no controle bang - bang. Nesses algoritmos de controle, existe um sinal de referência que indica a posição a deslocar o efetuador. Esse sinal de referência é uma posição no espaço de trabalho fixa, portanto um vetor constante no tempo, que pode estar expressado no espaço de trabalho ou no espaço das juntas. Esta posição pode ser inserida pelo teclado, ou através de algum outro dispositivo de entrada de dados, ou pode estar já inserida no programa de controle. Uma vez atingida a posição de referência, uma outra pode ser inserida, repetindo a tarefa tantas vezes como seja necessário, mas cada posição é determinada por um vetor constante no tempo. Também o programa pode determinar que o braço efetue uma trajetória dentro do espaço de trabalho ao longo do tempo, cuidando a cada instante da sua posição e velocidade, em cujo caso está se falando de controle de trajetória. Nesse terceiro tipo de controle o sinal de referência já não é mais constante, mas uma função do tempo, muda a cada instante, e o controlador cuidará que o manipulador acompanhe a trajetória desejada com o menor erro de rastreamento possível. Este tipo de controle é implementado quando interessa que o efetuador acompanhe uma trajetória determinada dentro do espaço de trabalho, o que acontece com os robôs de solda, por exemplo, onde a ponta não deve apenas atingir uma posição final mas se deslocar ao longo de um caminho predeterminado para efetuar a solda. Mas não somente nesses casos interessa implementar este tipo de controle. Também é utilizado por manipuladores que têm por objetivo deslocar um objeto de um ponto a outro do espaço de trabalho, mas sem que este se encontre livre de obstáculos, os que devem ser evitados no caminho a percorrer; ou também quando a tarefa deve ser realizada sem ultrapassar um determinado tempo máximo, entre outros condicionamentos possíveis que fazem necessária a implementação de um controle de trajetória por sobre um controle ponto a ponto.
Figura 7.15: Trajetória contínua e ponto a ponto
183
7.2.8) Precisão e repetibilidade Os conceitos de precisão e repetibilidade são utilizados como uma maneira de quantificar a qualidade do trabalho do manipulador. A repetibilidade do manipulador representa a capacidade dele de retornar seguidamente a um ponto determinado do espaço de trabalho. Se o manipulador parte de uma posição qualquer, seja essa posição representada no espaço das juntas, com o vetor das coordenadas generalizadas, ou no espaço de trabalho, com um vetor das três componentes [x y z], vá para um segundo ponto e retorna ao primeiro, é possível que não consiga colocar o efetuador exatamente na posição inicial. O raio da menor esfera que pode ser traçada envolvendo todos os pontos de retorno possíveis, e dentro da qual o robô sempre ficará ao pretender retornar à posição inicial, é conhecido com o nome de repetibilidade. Por exemplo, se a menor esfera que pode ser traçada tem um raio de 0.4mm, quer dizer que o fabricante garante que quando o manipulador retornar a essa posição, o fará no máximo 0.8mm afastado de qualquer outra posição de retorno em qualquer direção. O manipulador, então, possui uma repetibilidade de 0.4mm. Precisão é um conceito associado. Define-se como a capacidade do manipulador de atingir um ponto especificado, seja qual for o sistema de coordenadas utilizado. Observe-se que um manipulador pode ter uma boa repetibilidade, se deslocando repetidamente a pontos muito próximos, mas esses pontos todos podem estar longe da posição desejada. Possui então uma precisão pobre. Usualmente, essas quantidades referem-se à máxima carga útil que pode ser transportada e à máxima velocidade de deslocamento permitida, pois precisão e repetibilidade são altamente dependentes dessas duas especificações. Observe-se no seguinte desenho uma ilustração desses conceitos.
Figura 7.16: Ilustração dos conceitos de precisão e repetibilidade
7.3) Cinemática A maioria das tarefas concernentes aos braços mecânicos consistem em levar o efetuador de uma posição determinada a uma outra, ou ainda acompanhar uma trajetória determinada dentro do seu espaço de trabalho, controlando a velocidade e a aceleração 184
durante o percurso. O projetista, então, determina quais são os pontos onde deve se trasladar o efetuador ou qual a trajetória que deve ser realizada por este. Mas já foi mencionado que o controlador envia sinais de controle aos atuadores, os quais movimentam as juntas do manipulador, seja em forma rotativa ou linear, dependendo do tipo de junta. A cinemática ocupa-se das relações entre as posições, trajetórias, velocidades e acelerações das juntas e as do efetuador, sem importar as forças ou torques necessários para a movimentação das juntas. A questão básica é: quais devem ser os ângulos ou distâncias que devem se deslocar as juntas, ou a trajetória que deve percorrer ao longo do tempo cada uma das juntas, para que o efetuador atinja a posição desejada pelo projetista ou efetue a trajetória desejada por ele? Evidentemente, existe uma relação entre as posições das juntas e a posição do efetuador, ou, expressado de outra forma, entre a posição do efetuador no espaço das juntas e a posição dele no espaço de trabalho. Esses são os problemas estudados pela chamada cinemática inversa do manipulador, a relação entre as coordenadas generalizadas das juntas dada a posição do efetuador, sem considerar as forças, torques ou sinais dos atuadores que provocam seu movimento. A chamada cinemática direta ocupa-se do problema contrário, isto é, dado um valor para cada uma das coordenadas generalizadas, determina qual é a posição do efetuador dentro do espaço de trabalho. Observe-se o exemplo ilustrado na figura 7.17. Um braço mecânico de dois graus de liberdade tem no final do seu último link uma ferramenta de algum tipo, tal como uma ferramenta de corte ou uma faca. Ele deve se movimentar da sua posição de repouso A (HOME) até a posição B, a partir daí deve acompanhar o contorno da superfície S até o ponto C, a uma velocidade constante e mantendo uma determinada força F normal à superfície. Dessa maneira, o robô cortará ou raspará o contorno BC segundo uma determinada especificação. É claro que podem ser determinadas as posições de repouso A, a do ponto B e a do ponto C segundo um sistema de dois eixos cartesianos ortogonais cuja origem é solidária com a primeira junta do braço, a que une o primeiro elo com a base. Também pode se estabelecer a trajetória a seguir pelo efetuador do ponto B até o C para acompanhar a superfície em função do mesmo sistemas de coordenadas. Isto é, podem ser determinadas facilmente as posições e trajetórias que deve atingir e acompanhar o efetuador no espaço de trabalho. Mas para o controlador o que interessa é saber quais os sinais que deve enviar aos atuadores para atingir essas posições e efetuar essa trajetória. Esse problema é resolvido utilizando as equações da cinemática inversa do manipulador.
185
Figura 7.17: Exemplo de pontos e trajetórias a atingir no espaço de trabalho Na seção anterior foi tratada a relação entre as coordenadas generalizadas e a posição do efetuador para algumas configurações cinemáticas típicas e, em alguns casos, sem considerar o comprimento dos elos, como se todas as juntas estivessem aplicadas no mesmo ponto do manipulador. A maioria dos braços mecânicos possuem a estrutura física de juntas de revolução, sendo todas suas coordenadas generalizadas ângulos de cada elo em relação com o anterior. Será abordado aqui esse caso especificamente, que facilmente pode ser estendido às outras configurações cinemáticas estudadas. Suponha-se um robô de dois graus de liberdade com juntas de rotação, ambas no mesmo plano, como é mostrado na figura seguinte.
Figura 7.18: Robô manipulador de dois graus de liberdade
186
O espaço de trabalho determinado por esta configuração será um plano de forma de coroa circular, cujo raio maior estará dado pela soma dos comprimentos dos elos, e seu raio menor dependerá, além dos comprimentos dos elos também, dos ângulos máximo e mínimo da segunda junta. O ângulo do setor circular dependerá dos ângulos máximo e mínimo da primeira junta.
Figura 7.19: Espaço de trabalho do braço mecânico de dois DOF no plano Similarmente ao desenvolvido na seção anterior, é fácil ver que aplicando as regras da trigonometria, as equações da cinemática direta, isto é, as que determinam a posição do efetuador num sistema de coordenadas cartesianas ortogonais (x,y), dadas as posições das juntas, são:
x
l1 cos
1
l2 cos(
1
2
)
y
l1 sen
1
l2 sen(
1
2
)
onde l1 é o comprimento do primeiro elo e l2 o comprimento do segundo elo. Estas são as chamadas equações da cinemática direta para o manipulador descrito. Mas, como foi explicado no início desta seção, o problema fundamental é o contrário, isto é, dadas as posições desejadas do efetuador, quais devem ser os ângulos das juntas que o colocarão nelas. Isto é o problema da cinemática inversa, e, no exemplo simples que está sendo tratado, estas equações estão dadas por:
187
2
tan
1
tan
1
1
onde
1 D2 D y x
D
x2
tan
1
l 2 sen 2 l1 l 2 cos
y 2 l12 2l1l 2
2
l 22
Observe-se que 2 tem dois valores possíveis, aplicando o sinal positivo ou o negativo respectivamente. Em função deles, 1 também possuirá dois valores, um para cada valor possível de 2. Isto que as equações evidenciam, se corresponde fisicamente com duas posições no plano de trabalho para atingir a posição (x,y) desejada do efetuador: uma com o braço por cima, em cujo caso o antebraço está por baixo ( 2 negativo), e a outra ao contrário, o braço por baixo da posição e o antebraço por cima, em cujo caso 2 é positivo. A figura seguinte ilustra essas duas possibilidades.
Figura 7.20: Duas soluções para a cinemática inversa num braço de dois DOF planar É claro que as equações não consideram as posições limites das juntas. Bem poderia acontecer que uma dessas duas posições não seja possível de ser atingida por ultrapassar o limite mecânico de uma junta, em cujo caso só existirá uma posição possível. A despeito desses limites, em geral, na cinemática inversa sempre haverá duas soluções, ou até mais dependendo se o braço possui graus de liberdade redundantes. Existem pontos no espaço de trabalho onde a cinemática inversa apresenta apenas uma solução. No exemplo anterior, do braço de dois DOF, matematicamente pode se comprovar que isso acontece quando o termo D = 1, isto é quando (l1+l2)2 = x2+y2, o que corresponde ao caso de ter 2 = 0, 1 = tan-1(y/x). Fisicamente comprova-se que isso corresponde a qualquer posição que exija ter o braço totalmente esticado, ou posições sobre o limite externo do espaço de trabalho. Essas posições são chamadas de pontos
188
singulares, e são motivo de amplos estudos por apresentarem diversas dificuldades na resolução dos problemas que trabalham com a cinemática inversa do manipulador. O estudo da cinemática ocupa-se também das relações entre as velocidades das juntas e a velocidade de deslocamento no espaço do efetuador, tema que não será tratado aqui por fugir do escopo do presente texto.
7.4) Dinâmica A dinâmica de um sistema, neste caso de um manipulador, consiste no estudo das relações entre as forças ou torques que movimentam cada junta, com as trajetórias, velocidades, e acelerações desenvolvidas por elas. Estas últimas grandezas físicas são chamadas, justamente, de variáveis dinâmicas do sistema. Se as juntas estiverem movimentadas por atuadores elétricos, por exemplo, o estudo da dinâmica pode considerar também a relação entre os sinais elétricos entregues aos atuadores, e os torques ou forças desenvolvidos por eles, e por extensão, a relação com as variáveis dinâmicas do manipulador. Nesse caso a dinâmica compreenderia a dinâmica do robô mais a dinâmica dos atuadores. O estudo da dinâmica dos manipuladores consiste na elaboração de um modelo matemático do sistema. Este modelo matemático está formado por um conjunto de equações diferenciais que representam o comportamento dele, quer dizer, as relações expressadas matematicamente entre as forças ou torques (ou os sinais elétricos entregues aos atuadores) e as variáveis dinâmicas. Esse modelo é chamado modelo dinâmico do sistema, ou neste caso em particular, do manipulador. Este conjunto de equações diferenciais normalmente se expressa como uma equação de segunda ordem em forma matricial. Assim, os coeficientes são matrizes quadradas de tantas linhas e colunas como número de juntas possui o manipulador, e as componentes dessas matrizes não são constantes, mas dependem das velocidades e posições das juntas, além de coeficientes físicos do sistema tais como massas, momentos de inércia e comprimentos dos elos. As variáveis independentes desta equação são vetores de tantas componentes como número de juntas. Um desses vetores estará formado pelas coordenadas generalizadas, ou posições das juntas, que podem representar ângulos ou distâncias dependendo se são de revolução ou prismáticas. Outro vetor tem como componentes as derivadas no tempo do vetor anterior, quer dizer, as velocidades das juntas, podendo elas também serem velocidades angulares ou lineares. Finalmente, o terceiro vetor utilizado como variável independente na equação dinâmica, é a derivada no tempo do anterior, ou vetor cujas componentes representam as acelerações das juntas. Em síntese, as variáveis independentes do modelo dinâmico são vetores contendo as variáveis dinâmicas do manipulador. Existem diversas maneiras de elaborar o modelo dinâmico do robô. Uma delas, talvez a mais utilizada, é uma dedução que parte das equações de Euler – Lagrange. Primeiramente é suposto o manipulador como um conjunto de corpos rígidos sem deformação pela ação das forças aplicadas neles. Os sistemas que cumprem esta condição são chamados de sistemas holonômicos. Além disso, esses corpos são supostos interligados por juntas ideais, isto é, sem atritos ou amortecimentos de nenhuma espécie. As equações de Euler – Lagrange estabelecem a relação entre as energias cinética, mecânica e potencial, que existem em tais sistemas de corpos rígidos unidos por juntas ideais.
189
Desenvolvendo as equações de Euler – Lagrange para um manipulador em particular, considerando as características físicas dos seus elos, pode ser obtido um modelo dinâmico dele. Por exemplo, para um braço mecânico de n juntas, um possível modelo dinâmico seria:
D(q)q
)q C(q, q
g(q)
onde: nx1 q é o vetor das coordenadas generalizadas, ou vetor posição, ; os vetores com um ponto encima representam sua derivada, ou vetores cujas componentes expressam as velocidades das juntas, e com dois pontos encima, sua segunda derivada, ou vetor cujas componentes expressam as acelerações das juntas. nxn D é a matriz que representa os momentos de inércia do sistema; as componentes dessa matriz dependem das posições das juntas, como é especificado, além de grandezas físicas tais como massas e momentos de inércia dos elos, entre outras. nxn C é a matriz que representa as acelerações centrípetas e de Coriolis que sofrem qualquer conjunto de corpos rígidos interligados por juntas em movimento; suas componentes dependem das posições e velocidades das juntas. nx1 g é um vetor cujas componentes representam os torques exercidos por cada elo por causa da atração gravitacional. Suas componentes, obviamente, dependem da posição do braço, como está explicitado na equação, devido a que se a posição dele fosse na vertical, o peso em todos os elos estaria anulado pela reação do plano de base, e portanto todas as componentes desse vetor seriam nulas. nx1 é o vetor cujas componentes representam as forças generalizadas, isto é, as forças ou torques aplicados em cada junta. Não se entrará em detalhes sobre o desenvolvimento, aplicação, ou forma dos coeficientes desse modelo matemático, por fugir todos esses assuntos do escopo do presente texto.
7.5) Efetuadores Um efetuador, ou órgão terminal, é um dispositivo que é fixado no final do último elo do manipulador e que permite ao robô realizar uma tarefa específica. Geralmente, esses dispositivos são especialmente projetados para essa tarefa a ser executada, mas existem alguns órgãos terminais gerais, úteis para uma diversidade de tarefas. O efetuador é o dispositivo encarregado do manuseio concreto da peça a manipular, o resto da estrutura do manipulador está destinada a deslocar esse dispositivo da maneira adequada, como foi analisado nas seções anteriores. Existe uma ampla variedade de efetuadores adequados para a realização de várias funções de trabalho. Os vários tipos podem ser classificados em duas categorias principais: 1 – Garras 2 – Ferramentas Seguidamente serão abordados ambos tipos de efetuadores.
190
7.5.1) Garras As garras são efetuadores destinados a pegar e segurar objetos para seu deslocamento dentro do espaço de trabalho do manipulador. Esses objetos podem ser pequenos e frágeis, como é o caso de componentes eletrônicos que são montados numa placa pelo robô, como pesados e robustos, como carros que são deslocados de uma parte a outra da linha de produção de uma montadora. Também podem deslocar diversos objetos como caixas de papelão, garrafas, matérias primas e inclusive ferramentas. É importante destacar que, neste último caso, o efetuador não é uma ferramenta em si, mas uma garra que segura uma ferramenta para trabalhar sobre uma peça determinada; podem ser utilizadas garras em vez de usar ferramentas como efetuador (caso que será tratado na seção seguinte) quando o serviço exige que várias ferramentas sejam manipuladas pelo robô durante o ciclo de trabalho. Obviamente, esta solução é melhor do que usar vários robôs com várias ferramentas como efetuador. Um exemplo desse tipo de aplicação poderia ser uma operação de rebarbamento de uma peça determinada, na qual vários tamanhos e geometrias diferentes de ferramentas de rebarbamento deveriam ser usadas para atingir todas as superfícies da peça de trabalho. A garra serve como dispositivo de troca rápida. Existem vários princípios físicos nos quais se baseiam as garras para pegar o objeto, o mais comum é o mecânico, onde alguns “dedos” se fecham para segurar o objeto a ser deslocado. Mas existem outros princípios utilizados. A continuação será apresentada uma classificação dos diferentes tipos de garras segundo o princípio de trabalho utilizado. 1) 2) 3) 4) 5)
Garras com dedos de movimentação mecânica Garras a vácuo Eletroímãs ou garras ativadas eletromagneticamente Ganchos tipo de guindaste Adesivos ou garras feitas com material adesivo
7.5.1.1) Dedos acionados mecanicamente: O tipo mais comum de garras são aquelas que têm dois ou mais dedos, sendo o normal dois ou três, que se abrem e fecham mecanicamente. Os dedos são os apêndices da garra que fazem de fato contato com o objeto a manipular. Às vezes, uma mesma garra é projetada para ter dedos substituíveis, de maneira tal de poder substitui-los adequando-os ao formato e tamanho do objeto a ser segurado. Existem duas maneiras básicas de segurar a peça na garra. A primeira é por constrição física da peça entre os dedos. Nessa abordagem os dedos envolvem a peça até um certo ponto, impedindo assim o seu movimento. Isto se consegue projetando a superfície de contato dos dedos em forma aproximada segundo a geometria da peça. Existem dedos articulados que também se adaptam aproximadamente à forma da peça. A segunda maneira de segurar a peça é por atrito entre os dedos e a peça de trabalho. Com essa abordagem os dedos devem aplicar uma força suficiente para reter a peça por atrito contra a gravidade, aceleração, ou qualquer outra força que possa sofrer a peça durante o ciclo de trabalho. Os dedos ou as almofadas presas nos seus extremos são fabricados, em geral, de um material relativamente macio para não quebrar nem arranhar a peça. Isto tende a aumentar o atrito entre a peça e a superfície de contato do dedo.
191
Dependendo do projeto da garra, existem diversas formas de movimento dos dedos. Assim, podem se classificar as garras com dedos segundo o movimento deles também. Podem se distinguir dedos que se deslocam linearmente, se aproximando e afastando entre eles em forma paralela, e dedos que se abrem e fecham girando ao redor de um pivô comum para todos os dedos ou não. O ângulo de abertura máxima e mínima, ou a distância de abertura máxima e mínima, o comprimento dos dedos, se existem articulações intermédias em cada dedo ou não, são outras características que o projetista deve considerar para adaptar a garra às especificações de trabalho requeridas. A energia entregue aos dedos da garra para eles se abrirem e fecharem pode ser fornecida por diversos tipos de atuadores. Segundo o atuador utilizado, podem se classificar as garras com dedos como mecânicas, hidráulicas ou pneumáticas. As garras mecânicas são movimentadas por um motor elétrico. Em geral são utilizados pequenos motores D.C. com algum tipo de sistema de transmissão que transforme o movimento de rotação do eixo no movimento de abertura dos dedos. Com algum sensor de posição é medido o ângulo do eixo do motor, sendo assim possível controlar esse ângulo e portanto o nível de abertura dos dedos. Às vezes também são colocados nos dedos sensores de força, sendo assim possível controlar a força com a qual os dedos se fecham, permitindo o manuseio de peças frágeis sem risco de serem quebradas. Esses sensores costumam ser colocados nas almofadas dos extremos dos dedos. Os sistemas de transmissão que unem o eixo do motor com os dedos podem estar constituídos por correias e polias, correntes e engrenagens, parafusos de acionamento, e cames. Nos seguintes desenhos mostram-se algumas garras de dedos típicas movimentadas por motores.
Figura 7.21: Garra de dedos paralelos com engrenagens e cremalheira
192
Figura 7.22: Garra acionada por came
Figura 7.23: Garra acionada por parafuso
Figura 7.24: Garra acionada por sem fim
193
Figura 7.25: Desenho de garra movimentada por motor de dedos paralelos
Figura 7.26: Duas garras acionadas por motor de dedos paralelos
194
Nas garras cujos dedos são movimentados por atuadores pneumáticos, são utilizados em geral pistões de efeito simples. Uma eletroválvula controla a passagem de ar comprimido, permitindo que a haste do pistão seja empurrada ou puxada segundo seja permitida ou não a passagem de ar. Como é extremadamente difícil controlar a posição da haste em pistões pneumáticos, eles são usados entre seus dois finais de curso, quer dizer, como atuadores do tipo bang-bang. Algum tipo de sistema de transmissão translada este movimento linear aos dedos. Isto provoca que não seja possível controlar a abertura dos dedos, e na prática, este tipo de garras utilizam os dedos em apenas duas posições, abertos ou fechados.
Figura 7.27: Garra movimentada por pistão pneumático de efeito simples
Figura 7.28: Garra de dedos paralelos movimentados por um pistão de efeito duplo com guia dentada e engrenagens
195
Figura 7.29: Garra de dedos paralelos de deslocamento linear movimentados por pistões de duplo efeito Os atuadores hidráulicos, em geral pistões hidráulicos de duplo efeito, são utilizados da mesma maneira que no caso dos atuadores pneumáticos, com a diferença que, em geral, essas garras possuem um tamanho e uma força muito maiores, sendo portanto utilizadas apenas para o transporte de grandes pesos. 7.5.1.2) Garras a vácuo: As garras a vácuo consistem em copos de sucção, ou ventosas, ligadas a uma bomba de vácuo através de uma eletroválvula. Quando a eletroválvula é acionada, o ar é puxado pela bomba, criando um vazio na ventosa que adere a peça. Os requisitos usuais sobre os objetos a serem manuseados é que devem ser planos, lisos e limpos, condição necessária para formar um vácuo satisfatório entre o objeto e as ventosas. Os copos de sucção são fabricados de material elástico, como borracha ou plástico macio. Uma exceção seria quando o objeto a ser manipulado é feito de um material macio; nesse caso o copo é feito de um material duro. O peso que ele pode transportar dependerá da pressão da bomba de vácuo, além da superfície da ventosa. Em alguns casos, quando grandes pranchas precisam ser transportadas, é comum que o efetuador seja uma garra de várias ventosas, aumentando assim a área de contato. Algumas das vantagens de usar garras a vácuo são que exigem apenas uma superfície para pegar a peça, fazendo-as adequadas para pegar lâminas de vidro ou metal, por exemplo; outra é seu peso relativamente leve em comparação com as garras mecânicas com dedos; finalmente, pode se apontar que é aplicável a uma grande quantidade de materiais. A desvantagem, obviamente, é que só podem ser utilizadas em objetos que apresentem uma superfície plana, além de ter uma área maior que a área do copo, fazendo essas garras inadequadas para a manipulação de objetos muito pequenos ou com formas irregulares.
196
Figura 7.30: Garra de vazio com duas ventosas 7.5.1.3) Eletroímãs e garras magnéticas: As garras magnéticas são similares em seu formato às garras a vácuo, a diferença, obviamente, é que em vez de ter ventosas tem eletroímãs. As garras magnéticas podem ser um meio muito razoável de manipular um material ferromagnético. Inclusive, dependendo da potência do manipulador, conseguem carregar objetos tão pesados como carros. Os objetos a serem transportados também devem apresentar pelo menos uma superfície lisa onde o eletroímã irá fazer contato. Algumas vantagens no uso de eletroímãs são: os tempos de pega são muito rápidos; variações razoáveis no tamanho da peça podem ser perfeitamente toleradas, a garra não precisa ser projetada para um tipo de peça de trabalho específico; ela tem capacidade de manusear peças metálicas com furos (o que não é possível fazer com garras a vácuo); e com respeito às garras de dedos, também tem a vantagem que precisam apenas uma superfície para a pega. A grande desvantagem, obviamente, é que só servem para manipular objetos de material ferromagnético. Às vezes as garras são feitas com ímãs permanentes. Quando é necessário soltar a peça, um pistão pneumático empurra ela até afastá-la da zona de atração do campo magnético. Este método só é utilizado para o manuseio de objetos relativamente pequenos e duros, por exemplo placas de aço.
Figura 7.31: Garra magnética com ímã permanente e pistões separadores
197
7.5.1.4) Ganchos: Em muitas situações onde é preciso transportar cargas pesadas, tais como pacotes, móveis, máquinas e cargas em geral de até uma certa quantidade de quilos, as garras vistas até agora se apresentam como inadequadas. Nalguns casos devido à forma da peça que pode ser irregular, o que elimina a possibilidade de usar garras a vácuo. O material da peça pode não ser ferromagnético. O peso dela pode inviabilizar o uso de delicadas garras de dedos mecânicas, entre outros motivos possíveis. Um simples gancho como os utilizados em guindastes resolve a situação. A vantagem deste sistema é sua versatilidade, não é preciso trocar o efetuador se mudar a peça a transportar. Uma desvantagem é que a peça deve estar preparada para ter algum ponto onde o gancho possa pegá-la, por exemplo pode estar amarrada. A outra grande desvantagem é que este sistema só serve para transporte, mas não serve para o manuseio da peça de um jeito mais complicado, por exemplo, orientando-a para depositá-la no destino numa posição determinada. 7.5.1.5) Garras adesivas: As garras adesivas utilizam uma substância adesiva como base para a operação de pega do objeto. Em geral, utilizam-se para manipular tecidos e outros materiais leves que não poderiam ser carregados com outros tipos de garras, ou por não apresentarem uma superfície suficientemente lisa para serem pegas por garras a vácuo, ou por não serem feitas de materiais ferromagnéticos, entre outras razões possíveis. Uma das limitações do uso das garras adesivas é que elas perdem sua adesividade pelo uso repetido, diminuindo sua confiabilidade como dispositivo de pega com cada ciclo sucessivo de operação. Para contornar esta limitação, estas garras são projetadas em forma de uma fita adesiva contínua, a qual vai se enrolando com cada operação de maneira similar ao que acontece com as fitas de tinta das máquinas de escrever. O dispositivo que sustenta essa fita e o mecanismo para enrolar são segurados no punho do manipulador. 7.5.2) Ferramentas Como já foi mencionado, nalgumas aplicações onde existe a necessidade de trabalhar sobre um determinado objeto, ferramentas são utilizadas como órgãos terminais de robôs manipuladores, que as deslocam em vez do objeto a ser trabalhado. Às vezes utiliza-se algum tipo de garra para as operações de pega e manipulação da ferramenta, com a conseqüente vantagem de permitir a utilização de mais de uma ferramenta específica durante o ciclo de trabalho. A utilização de uma garra permite que as ferramentas sejam trocadas, o que facilita o manuseio de várias ferramentas e a troca rápida delas. Mas na maioria das aplicações dos robôs manipuladores nas quais utiliza-se uma ferramenta como efetuador, ela é presa diretamente no punho do manipulador, se este for um braço mecânico, ou no extremo do último elo, caso se trate de outro tipo de manipulador. Nesses casos a ferramenta é o efetuador, o órgão terminal destinado a trabalhar sobre a peça. Alguns exemplos de ferramentas usadas como efetuadores em aplicações robóticas incluem: - Pontas de solda para soldagem a ponto. - Maçaricos para soldagem a arco. - Bicos para pintura por pulverização. - Mandris para operações como: - furação - ranhuramento
198
-
- polimento - retífica Aplicadores de cimento ou adesivo líquido para montagem. Maçaricos. Ferramentas de corte por jato de água. Ferramentas de corte a laser.
Em todo caso, o robô deve controlar a atuação da ferramenta. Por exemplo, o manipulador deve coordenar a atuação da operação de soldagem a ponto como parte do seu ciclo de trabalho, não somente a posição da ferramenta, como também sua orientação (determinada pelos últimos três graus de liberdade, residentes no punho do manipulador) para ser apontada na direção certa. Nalguns casos é preciso também controlar a força de contato entre a ferramenta e a peça para evitar danos nas duas, sendo necessário nesses casos a utilização de sensores de força na extremidade do último elo, onde é sustentado o efetuador. O controlador nesse caso não somente deve implementar uma lei de controle de posição, ou trajetória a ser descrita pela ferramenta, como também de orientação dela e força aplicada.
Figura 7.32: Ponta de solda por arco solidário ao punho como efetuador
Referências [1] Fu, González, Lee: Control, sensing, vision and intelligens. Mc. Graw – Hill. New York. 1997. [2] Spong, M. e Vidyasagar, M.: Robot dynamic and control. Wiley. New York. 1989. [3] Craig, J. J.: Introduction to robotics, mechanics and control. Addison – Wesley publishing company. 1986.
199
[4] Arthur Critchlow: Introduction to robotics. Macmillan publishing company. New York. 1985. [5] Kuo, B. C.: Automatic control systems. Prentice – Hall, Englewood Cliff, 4 ed. NJ. 1982. [6] Groover, Weiss, Nagel e Odrey: Robótica, tecnologia e programação. Mc. Graw – Hill. São Paulo. 1989. [7] Shimon Nof: Handbook of industrial robotics. John Wuley and sons. USA. 1985. [8] Michael Salant: Introdução à Robótica. Mc. Graw – Hill. São Paulo. 1991. [9] Roberto Ullrich: Robótica, uma introdução. Editora Campus. Rio de Janeiro. 1987. [10] Richard Paul: Robot manipulators. Mathematics, programming and control. The MIT Press. Massachusetts. 1982. [11] ORT Open Tech Robotics Literacy Course. Robot coordinate systems. World ORT Union Technical Department. London. 1984. [12] ORT Open Tech Robotics Literacy Course. Robot versatility. World ORT Union Technical Department. London. 1984. [13] Pazos, Fernando: Controle adaptativo/robusto em modo dual para robôs manipuladores. Tese de M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, 2000.
200
Capítulo 8: Sistemas de visão 8.1) Introdução Em alguns projetos de sistemas automatizados, os sensores estudados no capítulo 4 não são adequados para os requerimentos da aplicação, devido a que não fornecem informação suficiente para a implementação do algoritmo de controle. Efetivamente, todos eles entregam informação referente a uma característica ou grandeza física determinada da planta ou de um objeto específico; o controlador pode precisar ter não apenas uma medição, mas uma “visão mais geral” da situação da planta ou do ambiente de trabalho, por exemplo, quando um robô manipulador ou explorador deve se movimentar num ambiente de trabalho que não se encontra livre de obstáculos, e a localização destes é desconhecida ou aleatória. Os sistemas de visão fornecem uma imagem de relativa precisão, capaz de ser analisada e interpretada pelo dispositivo controlador, visando a obtenção de uma informação visual mais específica da planta ou objeto monitorado. Os sistemas de visão, portanto, constituem um importante campo de aplicação dos sensores na robótica. Basicamente, um sistema de visão está constituído por uma câmera, a qual capta uma imagem e entrega um sinal elétrico representativo dessa imagem a uma interface adequada. Esta interface, em muitos casos, é um dispositivo eletrônico chamado de preprocessador, e sua função consiste em analisar os sinais que representam a imagem e gerar a informação requerida pelo dispositivo de controle do sistema, o controlador principal, que a utilizará convenientemente no algoritmo de controle. A implementação de um sistema de visão, num contexto industrial, exige o cumprimento de uma série de condições básicas para seu correto funcionamento e sua adequada utilização. Uma dessas condições refere-se ao posicionamento adequado da câmera, com o objetivo de obter um campo de visão de tamanho e orientação certos, devido a que campos de visão maiores do necessário diminuem a resolução do objeto, e campos pequenos implicam o risco do objeto não couber na sua totalidade dentro dele. Uma outra condição a ser observada consiste em operar em ambientes sem demasiada interferência visual, como poeira ou objetos que possam eventualmente entrar no campo de visão da câmera de maneira não desejada. Cabe destacar também a necessidade de uma iluminação conveniente, a fim de discriminar adequadamente na imagem a figura e o fundo, as cores e os relevos; o tipo de iluminação, em geral, depende da aplicação específica. Finalmente, o ajuste da abertura da lente, foco da câmera, posicionamento e orientação do objeto cuja imagem será captada, são todos fatores também críticos que devem ser considerados para a implementação do sistema de visão robótica.
8.2) Aplicações No campo da robótica existem basicamente três aplicações principais dos sistemas de visão: 1) Inspeção 2) Identificação
201
3) Servo-movimentação visual A primeira aplicação é utilizada num contexto onde o sistema de visão está particularmente destinado a inspecionar peças com o intuito de assistir um processo de controle de qualidade. Dentre os objetivos do sistema de visão podem ser mencionados: a verificação de defeitos superficiais no produto ou no seu acabamento, a descoberta de classificações erradas, a verificação da presença de componentes de montagem e dispositivos que fazem parte do produto, a medição da precisão quanto às dimensões das peça e a verificação da presença de furos e outros detalhes da peça inspecionada. Quando essas funções de inspeção são realizadas por um operário a olho nu, existe a possibilidade de ocorrer erro humano, além de serem muito mais demoradas. O sistema de visão permite um processo de inspeção de qualidade de produtos em muito menos tempo e com menor margem de erro. A segunda categoria, a identificação de peças, refere-se ao reconhecimento da figura captada na imagem por parte do controlador, e, mais genericamente, ao relevamento de dados, ou parâmetros, característicos da figura captada. Esses parâmetros podem reportar dados tais como área da peça, perímetro, quantidade de furos, ou ainda posição e orientação da peça dentro da imagem. Essas últimas características são geralmente seguidas por uma decisão subseqüente e uma ação tomada pelo controlador em função delas. Aplicações de classificação e identificação através de sistemas de visão incluem seleção de peças, paletização e despaletização e a manipulação de peças posicionadas e orientadas aleatoriamente dentro de um escaninho ou esteira transportadora. Na terceira categoria, a servo-movimentação visual, a finalidade do sistema de visão é a de aportar os dados necessários para o controlador poder dirigir a trajetória de um robô manipulador ou explorador, baseando-se na informação visual recebida. Um exemplo típico é na operação de pegada de um objeto por parte do órgão terminal de um robô manipulador, quando o objeto está numa posição e orientação aleatórias. Com os dados relevados pelo sistema de visão, o controlador posiciona e orienta o efetuador de maneira de conseguir realizar uma adequada operação de pegada. Um outro exemplo é no controle da trajetória de um robô explorador baseando-se na identificação de obstáculos que possam aparecer na imagem fornecida por um sistema de visão, cuja câmera pode estar instalada na frente do explorador. Uma outra aplicação industrial típica da servo-movimentação através de um sistema de visão é no rastreamento de uma costura a ser soldada para a determinação da trajetória de um robô de solda por arco. Nesse caso, o sistema de visão é utilizado para determinar a posição do dispositivo de solda. Se sensores de posição forem utilizados em cada junta do manipulador, o algoritmo de controle deveria utilizar as equações da cinemática direta do manipulador para determinar a posição e orientação do dispositivo efetuador. Um sistema de visão pode fornecer essa informação diretamente, podendo ainda o sinal de referência ser determinado em função da informação visual da costura, e ser expressado no espaço de tarefas e variável segundo as condições do ambiente reconhecidas através da imagem do sistema de visão. Na figura 8.1 observa-se o diagrama de blocos básico de um sistema formado por um manipulador e um sistema de visão.
202
Figura 8.1: Controle de um robô manipulador fechando a malha através de um sistema de visão Independentemente das categorias de aplicações mencionadas anteriormente, os sistemas de visão têm como utilidade o monitoramento da planta ou de partes dela, ou de peças a serem manipuladas e/ou processadas industrialmente, isto é, a medição de determinadas grandezas físicas ou características da peça. As características de um objeto monitorado podem se dividir basicamente em três níveis de informação: 1) A posição de um objeto ou de um elemento do sistema. 2) A orientação de um objeto ou elemento do sistema. 3) O reconhecimento ou identificação do objeto visualizado. Seguidamente, serão exemplificadas as necessidades desses três níveis de informação através de exemplos de aplicações. Considere-se um sistema no qual uma determinada peça avança por uma esteira transportadora ou se desliza por um plano inclinado. Ao chegar no final do percurso, um pistão deve empurrar a peça para fora da esteira ou plano. Nesses casos, um simples sensor de presença é suficiente para fornecer a informação necessária para o controlador ativar o pistão, a informação numerada como 1. Considere-se agora um sistema no qual as peças avançam por uma esteira transportadora; ao chegar no final do percurso devem ser seguradas pela garra de um robô manipulador e depositadas num receptáculo. Se a posição e orientação das peças na esteira for aleatória, a presença delas não constitui informação suficiente para uma
203
correta operação de pegada por parte do manipulador, devido a que o controlador deveria conhecer também a orientação delas para orientar adequadamente a garra do manipulador. Um sensor de presença, portanto, não fornece informação suficiente. Um sistema de visão poderia fornecer a informação necessária, as características numeradas como 1 e 2, fazendo desnecessário ainda o sensor de presença. Considere-se ainda uma operação na qual as peças transportadas pela esteira são diferentes, e o manipulador deveria depositá-las em destinos diferentes segundo o tipo de peça. Nesses casos, o controlador deveria fazer uma identificação da peça para poder ordenar o manipulador fazer um percurso diferente segundo o resultado da identificação, precisando, portanto, da informação numerada como 3.
8.3) Imagem Uma imagem é provocada pela reflexão da luz incidente sobre um objeto, e se forma quando essa luz refletida atinge uma superfície, como pode ser a retina do olho humano. Por estar sempre formada sobre uma superfície, a imagem é considerada bidimensional. Pode se representar uma imagem como um espaço cartesiano bidimensional, onde cada ponto de coordenadas (X,Y) se corresponde com uma intensidade de luz, ou ainda com uma cor, as que podem se caracterizar como uma função g(X,Y). Qualquer cor pode ser formada pela mistura adequada de três cores básicas ou primárias; no caso das ondas eletromagnéticas do espectro visível, essas cores primárias são verde, azul e vermelho. A combinação dessas três componentes permite representar todas as cores do espectro visível. Assim, no caso da função g(X,Y) representar a cor de cada ponto da superfície, esta será vetorial de três componentes, cada uma contendo a intensidade de luz de cada cor básica ou primária. No caso da imagem estar conformada por diferentes tons de cinza, do preto até o branco, a função g(X,Y) representa apenas a intensidade de luz de cada ponto da imagem, sendo portanto uma função escalar de uma componente. Esta função, portanto, permite representar matematicamente a imagem. O domínio onde está definida a imagem, isto é, a superfície S = {(X,Y) tal que X [Xmin,Xmax] e Y [Ymin,Ymax]}, pode ser considerado contínuo entre os limites mínimos e máximos de cada eixo cartesiano; a função g(X,Y) é portanto uma função de duas variáveis contínuas. Mas, na prática, tanto o olho humano quanto qualquer dispositivo destinado a captar uma imagem são capazes de discriminar apenas um número finito de pontos ou elementos, isto é, o domínio onde está definida a imagem é discretizado. Esses pontos ou elementos discriminados são chamados de pixels (abreviatura de “picture cells”) e geralmente cada um deles abarca uma pequena área quadrada da imagem. Normalmente, a coordenada horizontal X numera-se de esquerda para direita e a coordenada vertical Y de cima para baixo, de maneira tal que o pixel de coordenadas (1,1) corresponde ao elemento localizado no canto superior esquerdo da imagem. A resolução da imagem está caracterizada pela máxima quantidade de pixels, de coordenadas discretas (X,Y), sobre cada um dos quais a função g(X,Y) está determinada. O olho humano, por exemplo, é capaz de captar imagens com uma resolução de aproximadamente 16 milhões de pixels; um filme fotográfico de 35mm, ao redor de 4 milhões de pixels.
204
Em algumas situações, a função g(X,Y) pode se representar como uma função contínua, mesmo estando definida para variáveis discretas. Mas, em geral, tanto o olho humano quanto qualquer dispositivo utilizado para captar imagens, discretizam também o valor da função, isto é, são capazes de discriminar apenas um número finito de valores de g(X,Y). A quantidade de valores da função g(X,Y) que podem ser discriminados pelo dispositivo, seja a função escalar (representando intensidades de luz) ou vetorial (representando cores) é o que determina a definição da imagem. Caso essa função represente a intensidade de luz, por exemplo, ela estará definida só para alguns valores de cinza, do preto (intensidade mínima), até o branco (intensidade máxima). O olho humano, por exemplo, é capaz de discriminar até 64 níveis de cinzas diferentes. Na figura 8.2 observa-se como uma imagem é discretizada com uma resolução de 100 pixels (10 linhas x 10 colunas), e os valores da função matricial g(X,Y) que representam a intensidade de luz de cada pixel, sendo 0 o valor correspondente à intensidade mínima (preto) e 255 o valor correspondente à intensidade máxima (branco).
Figura 8.2: Imagem digitalizada com uma resolução de 100 pixels e uma definição de 256 níveis de cinza As imagens são captadas por câmeras. As câmeras fotográficas, assim como as câmeras de cinema, são aparelhos destinados a gravar a imagem captada através das lentes num filme fotosensível. Como já foi mencionado, um filme comum de 35mm pode gravar imagens com uma resolução de 4 milhões de pixels aproximadamente. As câmeras utilizadas nos sistemas de visão, pelo contrário, são sensores que, como todos eles, devem transformar a grandeza física medida, neste caso a imagem representada pela função g(X,Y), em algum tipo de sinal elétrico que contenha informação sobre ela. É o caso das câmeras utilizadas em televisão, onde o sinal elétrico resultante é amplificado, modulado, e irradiado em forma de ondas eletromagnéticas através de antenas, para ser captado pelas antenas receptoras e transformado novamente em imagens no aparelho receptor.
205
8.3.1) Imagem analógica A imagem analógica é caracterizada por um sinal elétrico analógico que contém informação sobre a função g(X,Y) que representa a imagem. Por exemplo, em televisão, são utilizadas imagens analógicas. A forma de gerar o sinal é a seguinte: a imagem está dividida em 480 linhas horizontais separadas em dois campos, de 240 linhas cada um. Ambos campos têm suas linhas intercaladas, de maneira tal que um possui as linhas pares e o outro as ímpares, contando sempre desde o topo da imagem. Esta intercalação melhora a resolução aparente da imagem quando a intensidade de luz, ou a cor, de cada pixel sobre a linha é monitorada e reproduzida a baixa velocidade. Cada campo é monitorado em 1/60 seg., da linha superior à inferior, e cada linha de esquerda à direita, de maneira tal que a imagem inteira (o campo das linhas pares mais o campo das linhas ímpares) é monitorada em 1/30 seg. No sistema de televisão existem 256 pontos fotosensíveis sobre cada linha, tanto na câmera quanto no aparelho receptor, de maneira tal que a resolução de cada campo é de 240 linhas x 256 colunas, um total de 61440 pixels. O sinal elétrico que contém informação sobre a imagem é um sinal analógico cuja amplitude representa a intensidade de luz (ou a cor) sobre cada uma dessas linhas, monitoradas à velocidade e na ordem descritas. Ao finalizar cada linha o sinal apresenta um pulso de amplitude negativa necessário para o sincronismo horizontal dos aparelhos receptores, e ao finalizar um campo inteiro um outro pulso diferente utiliza-se para o sincronismo vertical. A figura 8.3 mostra um exemplo de sinal analógico de televisão.
Figura 8.3: Exemplo de um sinal de televisão Esses sinais são gerados por câmeras analógicas. A mais comum delas é a chamada Vidicon. Pode ser observado um esquema dessas câmeras na figura 8.4.
206
Figura 8.4: Esquema representativo de um Vidicon O Vidicon é basicamente uma câmera formada por um tubo de vácuo, com um anteparo de vidro na sua frente, onde se formará a imagem, e uma lente responsável da formação dessa imagem sobre o anteparo de vidro da câmera. O anteparo possui uma superfície interna que está revestida por duas camadas de material. A primeira camada consiste num filme transparente metálico condutor. A segunda num filme fotocondutor, isto é, um filme onde a resistividade específica de uma área determinada depende da intensidade da luz incidente, a qual vem do exterior atravessando o anteparo de vidro e o filme metálico transparente. Assim, armazena-se uma carga elétrica em cada pequena área da superfície proporcional à intensidade da luz incidente sobre essa área. Essa carga é lida através de um feixe de elétrons para produzir o sinal de vídeo. O feixe de elétrons é gerado por um canhão localizado no extremo posterior do tubo de vácuo, e desloca-se a través da superfície interna do anteparo controlado por dois pares de bobinas deflectoras montadas ao longo do comprimento do tubo, as quais controlam a varredura horizontal e vertical. Dessa maneira, o extremo do feixe vai se deslocando pela superfície do anteparo de esquerda a direita, e de cima para baixo, tal como foi descrito na composição da imagem de televisão. Para uma carga positiva acumulada num ponto da superfície, o feixe de elétrons deposita uma quantidade suficiente de elétrons para neutralizar a carga. Um número igual de elétrons flui na superfície metálica condutora gerando uma corrente proporcional à carga elétrica neutralizada pelo feixe, ou, o que é equivalente, à intensidade de luz incidente, gerando assim o sinal de vídeo. A amplitude do sinal, portanto, é proporcional à carga acumulada nessa área (quer dizer, à intensidade de luz incidente sobre essa área), e à velocidade com a qual a área é varrida pelo feixe de elétrons, a qual é constante para cada linha. No caso dos sinais de televisão, externamente à câmera são adicionados ao sinal de vídeo os pulsos de sincronismo horizontal e vertical. Atualmente, o material fotorresistivo é substituído por uma capa semicondutora de silício, com fotodiodos difundidos sobre um dos lados, de maneira tal que a luz incidente afeta a tensão de barreira da junção semicondutora. O Vidicon tem a vantagem de ser de baixo custo. Porém, seu volume e fragilidade o faz totalmente inadequado para aplicações em robótica.
207
8.3.1.1) Digitalização da imagem: No caso do controlador do processo ser digital, como é na maioria das aplicações, o sinal analógico que representa a imagem deve ser digitalizado para a sua compreensão por parte do controlador. Este processo é realizado por um conversor analógico/digital. O período de amostragem com que se digitaliza o sinal correspondente a cada linha da imagem é o que determinará a quantidades de pixels por linha da imagem digitalizada. A máxima resolução de um sinal de televisão, por exemplo, é de 256 pixels por linha, como foi especificado. Portanto, não faz sentido amostrar com maior freqüência o sinal que representa cada linha da imagem. As amostras do sinal formarão uma matriz de n linhas x m colunas, onde cada elemento da matriz terá um valor correspondente à amplitude da amostra. Esta altura determina a função g(X,Y) mencionada anteriormente, onde X [1..m] e Y [1..n]. Cada uma dessas amostras será convertida a um valor binário pelo conversor A/D, para a matriz poder ser armazenada na memória do controlador. A quantidade de bits entregue pelo conversor é o que determinará a definição de cada pixel da imagem. Por exemplo, para um conversor de 8 bits, onde a função g(X,Y) representa apenas intensidades de luz, a definição será de 28 = 256 níveis de intensidade diferentes, ou, o que é equivalente, níveis de cinza diferentes. 8.3.2) Imagem digital Uma imagem digital está constituída pela divisão conceitual da imagem numa matriz, onde cada elemento dessa matriz constitui um pixel, e geralmente abarca uma pequena área quadrada da imagem. Cada pixel contém a informação g(X,Y) sobre a área de coordenadas (X,Y) correspondente na imagem captada pela câmera. As câmeras digitais possuem algum tipo de sensor ótico localizado em cada uma das áreas correspondentes aos pixels, e sua quantidade é o que determina a resolução das imagens captadas. Cada sensor entregará uma informação em forma de números binários na sua saída. A quantidade de bits desse número é o que determina a definição de cada pixel. Se essa informação for de apenas 1 bit, cada estado desse bit indicará um nível de luminosidade por cima ou por baixo de um determinado limite. Na prática, se um objeto no campo de visão da câmera for suficientemente iluminado, cada pixel indicará a presença ou ausência do objeto na área correspondente às coordenadas dele. Observe-se que, nesse caso, para armazenar uma imagem de 240 x 256 pixels, por exemplo, são necessários 7,5 Kbytes de memória, devido a que em cada byte podem ser armazenados 8 bits (8 pixels). A figura 8.5 representa um exemplo de uma imagem com resolução de 32x32 pixels, com uma definição de 1 bit.
Figura 8.5: Imagem digitalizada com uma resolução de 1024 pixels e definição de 1 bit 208
Se cada sensor entregar uma informação de 8 bits, isto indica que a definição de cada pixel é de 256 níveis de cinza diferentes. Observe-se que, nesse caso, serão necessários 60 Kbytes de memória para armazenar uma imagem de 240 x 256 pixels, devido a que cada um entrega uma informação de 1 byte. Na figura 8.6 representa-se um exemplo de uma imagem de resolução de 256x256 pixels e uma definição de 16 níveis de cinza (4 bits).
Figura 8.6: Imagem digitalizada com resolução de 65536 pixels e definição de 4 bits Finalmente, existe o caso em que cada pixel entrega três números binários, cada um correspondente a uma cor básica ou primária. Se cada um desses números for de 8 bits, por exemplo, isto indica que existem 28 = 256 tons possíveis de cada componente, verde, vermelho e azul. Existem, portanto, 2563 combinações possíveis de tons das cores primárias, isto é 16194277 cores diferentes. Observe-se que, nesse caso, para armazenar uma imagem de 240 x 256 pixels, são necessários 180K bytes de memória, devido a que agora cada pixel entrega uma informação de 3 bytes. Cabe destacar que as imagens coloridas não têm muita utilidade em aplicações robóticas, sendo mais comum seu uso para exploração de ambientes ou objetos. As câmeras digitais entregam a informação correspondente a cada pixel em forma de números binários, sendo desnecessário portanto qualquer tipo de conversão. Estas câmeras são dispositivos de estado sólido; os dois tipos mais comuns são o dispositivo de carga acoplada ou CCD (iniciais de charge-coupled device) e o dispositivo por injeção de carga ou CID (por charge-injected device). Estes dispositivos apresentam uma série de vantagens com respeito às câmeras analógicas: 1) São sensíveis a um amplo espectro de freqüências, aproximadamente de 450 a 1000nm., equivalente ao espectro que vai do azul claro até o infravermelho. 2) Operam a baixas tensões e consomem baixas potências (o Vidicon precisa uma tensão da ordem dos Kvolts). 3) Não exibem “memória”, fenômeno produzido quando um objeto em movimento mostra várias imagens atrasadas em tempo se apagando lentamente (como efetivamente ocorre no Vidicon e, em menor medida, no próprio olho humano).
209
4) Não são danificados por altas intensidades de luz. 5) São muito mais precisos, sólidos e pequenos que as câmeras analógicas. Por causa dessas vantagens, esses dispositivos de estado sólido são os utilizados em robótica. Seguidamente serão expostas as principais características dos dois tipos de câmeras digitais mencionadas. 8.3.2.1) CCD: Cada pixel numa câmera CCD é formado por um substrato de material fotocondutor, por exemplo silício. A detecção da luz acontece por acumulação de carga no substrato, numa quantidade proporcional à intensidade de luz recebida. As cargas se acumulam embaixo de eletrodos de controle, os quais são carregados positivamente em poços isolados como resultado das tensões aplicadas aos eletrodos centrais. Cada depressão isolada representa um pixel e pode ser transferida para registros de armazenamento de saída variando as tensões sobre os eletrodos metálicos de controle. Pode se observar uma ilustração desse processo na figura 8.7.
Figura 8.7: Princípio de funcionamento de um dispositivo CCD a) acumulação de carga num pixel b) deslocamento da carga acumulada pelos eletrodos
8.3.2.2) CID: O princípio de funcionamento dos dispositivos por injeção de carga (CID) é similar ao do CCD, com a diferença que durante a leitura a carga é confinada no espaço da imagem e deve ser lida por um endereçamento X - Y separado. Os CID têm muita maior tolerância para processar defeitos e apresentam menos erros que os CCD. Em compensação, o circuito de controle é mais complexo devido a que exige codificadores de endereço para acessar um pixel particular.
210
8.4) Pre-processamento da imagem A expressão pre-processamento da imagem digital compreende uma variedade de operações realizadas sobre a matriz de pixels, as quais poderiam ou não ser apropriadas para uma aplicação particular. Em geral, essas operações são realizadas em alta velocidade por um processador de imagens dedicado que envia o resultado (a imagem já processada) para o controlador ou computador principal, de maneira tal que este processador trabalha como um sistema escravo, evitando-lhe tarefas demoradas ao controlador principal. As técnicas de pre-processamento visam melhorar a imagem em algum sentido, preparando-a para seu posterior processamento, por exemplo eliminando pixels “ruidosos”, ou diminuindo o tamanho da imagem em termos da quantidade de memória necessária para seu armazenamento. 8.4.1) Eliminação de ruído Estritamente falando, ruído numa imagem é qualquer sinal que degrade a imagem captada com respeito à original. Existem muitas variedades e fontes de ruído. Alguns podem ser gerados na própria cena circunscrita ao campo de visão da câmera, tais como reflexos provocados por poeira sobre o objeto ou sobre o fundo, ou em geral qualquer contraste não desejado no campo de visão. Caso a imagem seja analógica, existe ruído provocado pelo processo de digitalização no conversor analógico/digital, provocado pelo erro de conversão de ½ bit. Existe também o ruído gerado pela câmera, como podem ser os fantasmas que ficam quietos quando um objeto está em movimento, fenômeno mencionado anteriormente como “memória” da imagem; este ruído se apresenta principalmente nas câmeras analógicas. Muitas classes de ruídos podem ser solucionadas pelo processador através de transformações matemáticas apropriadas, principalmente quando o desvio da imagem captada com respeito à original for conhecido. Por exemplo, caso a intensidade da luz incidente sobre o objeto não seja uniforme, diminuindo seu valor desde um extremo da imagem até o oposto, o processador pode ponderar a leitura de cada pixel de maneira tal de compensar tal efeito. Um efeito de “arredondamento” das linhas retas pode ser provocado pela curvatura das lentes, o que também pode ser solucionado no processador. A sombra de um objeto também pode ser detectada e eliminada. Em todos esses casos, a natureza do ruído é conhecida. Mas se a fonte de ruído for desconhecida ou seu efeito aleatório, o processador nem sempre é capaz de detectar seus efeitos e eliminá-los. Um tipo comum de ruído provocado pelas câmeras digitais, são os chamados pixels isolados, isto é, pixels que apresentam uma diferença de luminosidade sensível com respeito ao conjunto que o rodeia. Tal efeito é freqüentemente provocado por reflexos de luz na cena captada, ou mesmo por celas defeituosas na câmera digital. Observe-se que, mesmo sendo de natureza aleatória ou desconhecida, esse efeito pode ser eliminado pelo processador, simplesmente substituindo o valor desses pixels por uma média dos pixels circundantes. Num programa escrito na linguagem Pascal, o algoritmo de substituição do pixel ruidoso colocado na posição (X,Y) poderia se escrever: int := 0; for i := X-1 to X+1 do for j := Y-1 to Y+1 do int := int + g (i,j);
{inicializa contador de intensidade de luz} {para os pixels da coluna anterior à posterior} {e da linha anterior à posterior} {soma as intensidades da cada pixel}
211
int := int – g (X,Y); int := int / 8; g (X,Y) := int;
{tira a intensidade do próprio pixel ruidoso} {calcula a média de intensidades dos circundantes} {atribui essa média ao pixel ruidoso}
Na figura 8.8 pode se observar um exemplo da eliminação dessa classe de ruído que muito freqüentemente se apresenta sobre o borde de um objeto.
Figura 8.8: Eliminação de ruído sobre as bordas de uma figura numa imagem digital 8.4.2) Redução de dados da imagem Nas seções anteriores foi mencionada a quantidade de memória necessária para armazenar uma imagem, e viu-se que esta depende da resolução da imagem e da definição de cada pixel. Num dos exemplos foi mostrado como uma imagem de 240 linhas por 256 colunas, isto é, uma resolução de 61440 pixels, com uma definição de 256 níveis de cinza, precisa 60Kbytes para ser armazenada. Se o objetivo do processamento for mostrar uma seqüência de imagens através de uma tela, a uma velocidade suficiente para o olho humano não detectar a detenção entre cada quadro, assim como acontece num filme, cada quadro deve ser apresentado em 1/30seg. A câmera deve captar as imagens em forma “on line”, e o processador analisá-las, processá-las e apresentá-las com essa velocidade. Dependendo da operação a ser realizada, o volume de dados pode ser excessivo para o curto espaço de tempo disponível para o processamento. É por essa razão que em muitos casos o preprocessador tem como tarefa reduzir o tamanho dos dados que representam a imagem. Seguidamente serão apresentadas algumas das técnicas mais freqüentemente utilizadas. 8.4.2.1) Redução dos níveis de cinza: Algumas câmeras digitais trabalham com 256 níveis de cinza. O olho humano, por exemplo, é incapaz de enxergar além de 64 níveis diferentes, e em muitas aplicações robóticas, tal quantidade já é excessiva. Nesse caso, eliminando os dois bits menos significativos dos 8 bits de definição que cada pixel entrega, se reduz o número de níveis de cinza a 26 = 64, reduzindo a quantidade de memória necessária para armazenar a imagem. No exemplo anterior, uma câmera com a resolução mencionada e 64 níveis de cinza de definição precisaria 45 Kbytes de memória. Entretanto, em diversas aplicações, por exemplo na determinação da posição e orientação de um objeto a ser segurado por um manipulador, é suficiente com apenas dois tons: branco e preto, de maneira tal que o processador possa distinguir entre figura
212
e fundo. Nesses casos é suficiente com que cada pixel tenha uma definição de 1 bit, onde cada estado, 0 e 1, corresponderia a níveis de intensidade de luz por cima ou por baixo de um determinado limite, chamado de limiar ou threshold. Se o objeto captado for adequadamente iluminado, e o nível de limiar adequadamente escolhido, cada estado do bit representaria figura ou fundo da imagem. Para efetuar essa redução da definição a apenas dois “níveis de cinza”, é utilizado um gráfico chamado histograma. Esse gráfico representa a quantidade de pixels em função de cada nível de cinza possível, e normalmente é representado como um gráfico de barras, onde no eixo horizontal são representados os níveis de cinza de 0 até o maior valor da definição, e a altura de cada barra representa o número total de pixels da imagem com esses níveis de cinza. A figura 8.9 representa um histograma de uma imagem com definição de 64 níveis de cinza.
Figura 8.9: Histograma de uma imagem digitalizada com uma definição de 64 níveis de cinza Alguns algoritmos são aplicados assumindo que o histograma da imagem tem uma distribuição bimodal, isto é, que existe uma cor uniforme para a figura e uma cor uniforme para o fundo. Os histogramas de tais figuras exibem dois picos, correspondentes às duas cores, tal como acontece na figura 8.9. Os outros pixels que não pertencem às barras picos se corresponderiam com diversas sombras e variações de tons em geral, tanto da figura quanto do fundo. Estabelecendo o nível de limiar entre a figura e o fundo, isto é, no vale entre os dois picos, o que no caso do histograma da figura 8.9 deveria ser um nível de 36 a 40, separam-se os pixels correspondentes à figura daqueles correspondentes ao fundo. Posteriormente, o pre-processador estabelece um estado binário para uns e o estado contrário para os outros; por exemplo, estabelece o estado 1 para todos aqueles pixels tal que g(Xi,Yj)>glimiar e 0 para todos aqueles pixels tal que g(Xi,Yj) glimiar, sendo glimiar o nível de limiar estabelecido. Para melhorar a capacidade de diferenciação, normalmente são utilizadas técnicas especiais de iluminação visando gerar um alto contraste entre figura e fundo. Na figura 8.10 observase um exemplo de uma imagem com uma definição de 256 níveis de cinza (figura 8.10(a)), o histograma dessa imagem (figura 8.10(b)), e a imagem binária resultante depois de estabelecido o nível de limiar entre os dois picos e reduzida a definição de cada pixel a 1 bit (figura 8.10(c)).
213
Figura 8.10: Exemplo de aplicação da técnica de limiar a) Imagem digitalizada com 256 níveis de cinza b) Histograma da imagem c) Imagem binária após submetida à técnica de limiar 8.4.2.2) Diferenciação: Em imagens que não possuem um alto contraste, por exemplo em fotografias digitais, uma maneira de reduzir a quantidade de memória necessária para armazenar a imagem, é utilizar o método da diferenciação. Este método consiste simplesmente em memorizar não a intensidade de um determinado pixel, mas a diferença da intensidade desse pixel com respeito à intensidade do pixel anterior, que em imagens de poucos contrastes, são representadas por valores menores. Por exemplo, se as intensidades da primeira linha de pixels de uma imagem forem: 203 204 207 207 205 204... seriam armazenadas apenas as diferenças com respeito aos anteriores: 1 3 0 -2 -1... e o nível de cinza do primeiro pixel (203 no caso). Normalmente, definições de 8 bits podem se representar com apenas 4 bits utilizando esse método, reduzindo assim à metade a quantidade de memória necessária para o armazenamento da imagem. 8.4.2.3) Enquadramento: O procedimento de enquadramento consiste simplesmente em memorizar apenas uma janela, normalmente retangular, de pixels, os quais encerram a imagem da figura de interesse, eliminando o resto que, em muitas situações, é meramente fundo ou figuras não desejadas. Por exemplo, para inspeção de placas de circuitos impressos, pode-se desejar inspecionar e analisar apenas um componente da placa. Uma janela retangular é selecionada para circundar o componente de interesse e somente os pixels dentro da janela são memorizados. 8.4.2.4) Crescimento de região: Procedimento também conhecido como segmentação. Este procedimento consiste em agrupar pixels com um critério baseado na similaridade de atributos. Um desses critérios poderia ser simplesmente a proximidade dos pixels, procedimento também conhecido como transformação de Haar. Neste caso se divide a 214
imagem com uma malha de quadros de seção usualmente retangular, e se atribui a cada quadro da malha uma intensidade igual à média das intensidades de todos os pixels que compõem o quadro. Por exemplo, numa imagem de 256 x 256 pixels de resolução, se cada quadro da malha for de 2 x 2 pixels, esta ficará reduzida a 128 x 128 quadros, reduzindo-se 4 vezes a quantidade de memória necessária para armazenamento. Observe-se que esse procedimento é equivalente a diminuir a resolução da imagem. Na figura 8.11 apresenta-se um exemplo de uma imagem processada com a transformação de Haar. Na figura (a) observa-se a imagem original com uma resolução de 256 x 256 pixels. Na figura (b) foram agrupados pixels através de uma malha de 2 x 2 pixels. Na figura (c), utilizou-se uma malha de 3 x 3 pixels. Na figura (d), uma malha de 5 x 5 pixels. Observe-se a perda de detalhes na medida que se diminui a resolução da imagem. Obviamente, o tamanho da malha, e portanto o nível de resolução, deverão ser adequados para a aplicação requerida.
Figura 8.11: Demonstração da aplicação da transformação de Haar a) imagem de 65536 pixels de resolução b) quadro de 2 x 2 pixels c) quadro de 3 x 3 pixels d) quadro de 5 x 5 pixels
215
Um outro critério utilizado para um processo de crescimento de região, consiste em selecionar um pixel que preenche um critério para a inclusão dele numa determinada região; no caso mais simples, isto poderia significar selecionar um pixel branco e atribuir a ele o valor de 1. Seguidamente, compara-se o pixel selecionado com todos os pixels adjacentes, atribuindo um valor equivalente nesses pixels se houver uma combinação de atributos; no caso do exemplo, se forem brancos ou cinzas claro também se atribuirão o valor de 1. Finalmente, passa-se para um pixel adjacente e se repete o procedimento até que nenhum outro pixel equivalente possa ser acrescentado na região. Este processo de regiões “crescentes” deve ser repetido com outros critérios de determinação de regiões até que nenhuma nova região possa ser acrescentada à imagem total. No caso do exemplo, os critérios utilizados poderiam resultar num agrupamento de regiões de 4 níveis de cinza diferentes, reduzindo-se assim a definição da imagem. Esta técnica utiliza-se principalmente quando a iluminação da cena não pode ser precisamente controlada. Em ambientes industriais, não é freqüente isso acontecer, não sendo portanto uma técnica muito utilizada em aplicações robóticas. 8.4.3) Detecção de borda A detecção de borda é um processo freqüentemente realizado pelo pre-processador, embora é utilizado apenas em situações muito específicas. Um exemplo de uma situação que requer esse processo é quando diversos objetos a serem segurados por um robô manipulador estão superpostos dentro do campo de visão. Nesse caso o controlador pode precisar determinar a borda de cada objeto para conseguir determinar a posição e orientação de cada um. Uma outra situação onde poderia ser necessário aplicar detecção de borda é quando os limites do objeto não estão claramente definidos, por falta de contraste entre a borda da figura e o fundo, por exemplo. A detecção de borda considera a mudança de intensidade que ocorre nos pixels localizados nas bordas de uma figura dentro do campo de visão. Normalmente, uma imagem de vários níveis de cinza é primeiro transformada em binária através da técnica de limiar para posteriormente aplicar algum procedimento de detecção de borda. Na figura 8.12 pode se observar uma imagem com uma resolução de 32 x 32 pixels e uma definição de 1 bit, e a mesma imagem depois de ser submetida à técnica de detecção de borda.
Figura 8.12: Exemplo de detecção de borda a) imagem de 1024 pixels de resolução b) detecção da borda da figura
216
8.5) Processamento da imagem Uma vez que o controlador principal recebe a imagem pre-processada, isto é, sem ruído, binária e/ou com as bordas detectadas caso seja necessário, ele deve processar a imagem de uma maneira adequada. As técnicas para processar imagens envolvem procedimentos destinados à determinação de certas características do objeto captado, necessárias para a determinação de uma ação por parte do controlador, sendo eventualmente necessário um reconhecimento da figura. Em algumas aplicações, segundo foi especificado na segunda seção deste capítulo, não é necessário reconhecer o objeto nem determinar a totalidade dos parâmetros dele, apenas sua posição e orientação. Em outras aplicações, é necessário um reconhecimento da imagem. Serão divididas, portanto, as técnicas de processamento da imagem em duas categorias envolvendo as necessidades especificadas por essas duas classes de aplicações. 8.5.1) Determinação da posição e orientação do objeto A determinação da posição e orientação de um objeto dentro do campo de visão do sistema, em geral, visa a possibilidade do efetuador de um robô manipulador ser orientado da maneira adequada para uma correta operação de pegada. Mas para que essa operação possa ter sucesso, é necessário observar as seguintes condições: 1) A estrutura da garra e do objeto a segurar; que devem ser as adequadas para que o objeto possa ser pego. 2) A orientação do objeto com respeito ao plano de repouso; devido a que para determinadas orientações, pode não ser possível orientar a garra adequadamente. 3) A disposição de outros objetos que poderiam agir como obstáculos. A posição de um objeto é definida pela posição do seu centro de gravidade dentro da imagem, a que usualmente já deve ter sido convertida para binária através da técnica do limiar. O centro de gravidade é definido pelas coordenadas (CGx , CGy) tal que, para os n pixels de uma figura localizada numa região onde cada pixel é especificado pelas coordenadas (x,y):
CG x CG y
1 n 1 n
x x
y y
Na figura 8.13 observam-se exemplos da localização do centro de gravidade de três figuras.
217
Figura 8.13: Exemplos de centros de gravidade de diversos objetos Observe-se que o centro de gravidade de um objeto não necessariamente deve estar dentro dele. Seguidamente será apresentado um exemplo da determinação do centro de gravidade de um objeto, onde serão utilizadas as duas fórmulas apresentadas anteriormente. Seja o objeto da figura 8.14, que ocupa na imagem 24 pixels (representados pelos números 1), e considerando cada pixel numa localização, tanto para os eixos x como y, centrada em meia unidade de distância, obtemos: CGx= 1/24 [2,5 4 + 3,5 4 + 4,5 4 + 5,5 2 + 6,5 2 + 7,5 2 + 8,5 2 + 9,5 2 + 10,5 2] = = 5,75 unidades CGy= 1/24 [2,5 . 3 + 3,5 . 9 + 4,5 . 9 + 5,5 . 3] = 4 unidades
Figura 8.14: Exemplo de determinação do centro de gravidade de uma figura
218
Se for conhecida a dimensão de cada pixel, transformando as unidades nessa dimensão poderão se obter as coordenadas do centro de gravidade numa unidade de medida convencional. A orientação de um objeto pode ser definida de diversas maneiras. Em geral, tratase de encontrar um ângulo que revele a inclinação dele dentro da imagem, considerando sempre que é possível determinar uma inclinação; para um círculo, por exemplo, não existe medida da orientação possível. Um dos critérios de determinação da orientação consiste, primeiro, em determinar o raio maior do objeto, entendendo por tal o segmento que une o centro de gravidade com o ponto mais distante da borda. Os dois parâmetros utilizados para a determinação da orientação são o ângulo entre um eixo horizontal positivo e o raio maior do objeto, e o ângulo entre o eixo horizontal e o eixo de mínimo momento de inércia (estritamente falando, segundo momento de área). Para objetos simétricos, esse ângulo coincide com o ângulo entre o eixo horizontal e o raio menor da figura, entendendo por tal o segmento que une o centro de gravidade do objeto com o ponto mais próximo da borda. Na figura 8.15 observa-se um exemplo desses dois ângulos para um objeto simétrico.
Figura 8.15: Exemplo da determinação dos ângulos de orientação de uma figura 8.5.2) Reconhecimento Em muitos casos o sistema precisa reconhecer a imagem captada pelo sistema de visão. Por reconhecer entende-se identificar a imagem com um objeto qualquer previamente conhecido. Uma típica aplicação que exige reconhecimento de imagem é quando o controlador do sistema deve determinar uma ação a seguir diferente dependendo do objeto captado na imagem, por exemplo em seleção automática de peças. Existem diversas técnicas para reconhecer imagens, a escolhida dependerá da aplicação específica. O reconhecimento de imagens é um campo de pesquisa de crescente desenvolvimento nos últimos anos e que ainda permanece aberto. 8.5.2.1) Casamento com modelo: O casamento com modelo é um método muito simples freqüentemente empregado para reconhecimento de imagens. O computador,
219
que pode ser também o controlador central do sistema, possui armazenada na sua memória imagens binárias de diversos objetos, chamados de modelos. Essas imagens usualmente são armazenadas “mostrando” os objetos modelos ao sistema de visão, para o computador armazenar suas imagens em arquivos de pixels. O procedimento para reconhecer uma imagem qualquer consiste simplesmente em comparar, pixel a pixel, a imagem do objeto desconhecido com os diversos modelos armazenados. Por exemplo, na figura 8.16 observam-se as imagens binárias, de 16 pixels de resolução (representando-se os pixels da figura com 1’s e os do fundo com 0’s), de um objeto desconhecido e três objetos conhecidos; essas três últimas imagens estão armazenadas na memória do computador. Observe-se que a imagem do objeto desconhecido apresenta 10 pixels coincidentes com o modelo em forma de L, 13 pixels coincidentes com o modelo em forma de C, e 11 pixels coincidentes com o modelo em forma de O. Pode-se concluir, portanto, que o objeto testado possui a forma aproximada de um C, devido a que esse casamento mostrou a maior taxa de coincidência de pixels, que é de 13/16.
Figura 8.16: Representações binárias de 16 pixels de diversas figuras Obviamente, para que a imagem do objeto desconhecido possa coincidir com um modelo, esta deve coincidir também enquanto à posição da figura e orientação dela. Portanto, para uma correta comparação de uma imagem com um modelo, a figura da imagem deve ser deslocada, colocando seu centro de gravidade em todas as posições possíveis, e girada, de maneira tal que seus eixos apontem para todas as direções possíveis. Isto implica que para conferir se uma imagem coincide com um determinado modelo, devem ser feitas inúmeras comparações, mais quantidade quanto maior for a resolução da imagem. Isso implica um trabalho computacional excessivamente custoso em termos de tempo, além da existência de uma grande dificuldade para implementar um algoritmo adequado de rotação de imagens. Por essas razões, este método de reconhecimento de imagens só é utilizado quando os modelos de comparação são poucos, e quando existem condições de captar a imagem numa posição e orientação adequadas para a comparação com o modelo. 8.5.2.2) Especificação de parâmetros: Uma outra forma mais econômica, em termos de custos computacionais, de reconhecer objetos é por extração e comparação de características, ou parâmetros da figura. Um parâmetro é uma característica da figura que não depende nem da sua posição nem da sua orientação dentro da imagem; é, portanto, uma qualidade da figura independente da sua localização. Tal conjunto de parâmetros pode incluir área, perímetro, entre outros. O computador terá armazenado na sua memória arquivos contendo os parâmetros de diversos modelos; os parâmetros extraídos do objeto desconhecido serão comparados com os parâmetros dos modelos armazenados nesses arquivos com uma tolerância determinada, até achar o modelo cujos parâmetros se correspondem com os da figura da imagem.
220
Este método é muito mais utilizado que o de casamento com modelo devido a que as comparações são muito mais rápidas e podem ser feitas com um número muito maior de modelos. Se a quantidade de parâmetros comparados for suficiente, e as imagens, tanto do objeto desconhecido quanto dos modelos, não tiverem erros excessivos, o procedimento é seguro e confiável, além de ser mais econômico. Algumas dessas características próprias de uma imagem bidimensional, e já convertida para binária, ou parâmetros são: Área: Genericamente, podem ser momentos de área. O momento zero é a área da figura, ou quantidade de pixels que representam a figura dentro da imagem. Isto é, se os pixels que representam a imagem são denotados como g = 1, e os pixels do fundo como g = 0, então, matematicamente: área = x,y g(X,Y) Conhecendo a área de cada pixel, pode se estabelecer o valor da área da figura em unidades de superfície convencionais. Quanto maior a resolução da imagem, maior é a precisão da medição. Perímetro: Quantidade de pixels que representam a figura dentro da imagem em contato com pixels que representam o fundo. Esta medida, devido à discretização da imagem, é dependente da orientação do objeto; quanto maior a resolução maior a precisão da medição também. Fator de forma: Define-se como área sobre o quadrado do perímetro. É uma grandeza não dimensional e própria de cada forma geométrica. Por exemplo, todo quadrado tem um fator de forma igual a 1/16, todo círculo igual a 1/(4 ). Furos: Quantidade de grupos de pixels adjacentes, ou “ilhas” de pixels, que representam o fundo da imagem rodeados na sua totalidade de pixels que representam a figura. Objetos: Quantidade de grupos de pixels adjacentes, ou “ilhas” de pixels, que representam a figura, rodeados de pixels que representam o fundo. Este parâmetro não é utilizado com freqüência, devido a que normalmente a imagem a reconhecer possui apenas uma figura rodeada na sua totalidade de um fundo. Raio maior: Distância entre o centro de gravidade da figura até o pixel mais distante da figura. Este parâmetro também depende da orientação da figura e é mais preciso quanto maior for a resolução da imagem. Raio menor: Distância entre o centro de gravidade da figura e o pixel mais próximo da borda da figura. Parâmetro que também depende da orientação, e portanto sua precisão melhora com a resolução. Diâmetro: Comprimento do segmento que une os dois pixels mais distantes que representam a figura. Observe-se que o segmento que une esses dois pixels não necessariamente passa pelo centro de gravidade e pode não estar totalmente contido dentro da figura. Excentricidade: É um parâmetro que representa o alongamento da figura, e existem diversas definições dele. A mais simples é: Excentricidade = (diâmetro) / (comprimento da maior perpendicular) O comprimento da maior perpendicular determina-se da seguinte maneira: dado o segmento que une os dois pixels mais distantes, e cujo comprimento é o diâmetro da figura, pode se traçar um segmento perpendicular a este, delimitando seus extremos pela borda da figura, e passante por qualquer ponto do segmento que representa o diâmetro. O comprimento do maior segmento perpendicular possível é o divisor da fórmula de excentricidade.
221
Uma excentricidade igual a 1 dá idéia de uma figura que é tão comprida quanto larga, por exemplo um círculo ou um quadrado. Como exercício, propõe-se determinar os parâmetros da figura 8.17, considerando na imagem digitalizada (à esquerda) todos os pixels dentro da borda como parte da figura.
Figura 8.17: Imagem de uma engrenagem digitalizada com uma resolução de 900 pixels 8.5.2.3) Outras técnicas de reconhecimento: Existem outros métodos de reconhecimento de imagens. Técnicas estruturais, por exemplo, consideram relações entre características ou bordas de um objeto. Por exemplo, se uma figura pode ser subdividida em quatro linhas retas (chamadas de primitivas) ligadas nos seus pontos terminais e as linhas ligadas são perpendiculares, então o objeto é um retângulo. Este tipo de técnica, conhecida como sintático de configuração, é a técnica estrutural mais amplamente utilizada. Outros métodos utilizados são os chamados métodos relacionais. Esses métodos estão baseados em características locais, ou pequenas áreas da figura que de alguma maneira são características. Finalmente, cabe mencionar o crescente desenvolvimento de algoritmos para reconhecimento de imagens baseados em redes neuronais.
Referências [1] Fu, González, Lee: Control, sensing, vision and intelligens. Mc. Graw – Hill. New York. 1997.
222
[2] Arthur Critchlow: Introduction to robotics. Macmillan publishing company. New York. 1985. [3] Groover, Weiss, Nagel e Odrey: Robótica, tecnologia e programação. Mc. Graw – Hill. São Paulo. 1989. [4] Shimon Nof: Handbook of industrial robotics. John Wuley and sons. USA. 1985. [5] Philippe Coiffet: Robot Technology. Vol 2. Interaction with the environment. Prentice-Hall. França. 1981. [6] ORT Open Tech Robotics Literacy Course. Need for robot vision. World ORT Union Technical Department. London. 1984. [7] ORT Open Tech Robotics Literacy Course. Robot vision implementation. World ORT Union Technical Department. London. 1984. [8] Colvis Computer Vision System Manual. Colne Robotics Co. Ltd. 1985.
223
Apêndice 1: Programação em Turbo Pascal A1.1) Introdução O objetivo principal deste apêndice é, basicamente, instruir os conceitos básicos de programação no TURBO PASCAL padrão, fornecendo os diferentes comandos e estruturas de programação na forma de referência rápida com exemplos ilustrativos. A1.1.1) Iniciação ao ambiente Para acessar o editor de texto do TURBO PASCAL, deve se digitar TURBO, a partir do momento que aparecer o prompt no DOS. Caso o diretório não esteja no path do DOS, deve se mudar para o diretório correspondente para executar o TURBO. A1.1.2) Edição de textos O editor do TURBO PASCAL (apresentado com uma tela azul e uma série de comandos na parte superior), possui poderosas características que permitem editar os textos do programa com facilidade, assim como também salvar os arquivos de texto de programas editados no disco, ou abrir arquivos de texto de outros programas guardados no disco. Algumas das principais utilidades desse editor é que permite executar os programas dentro dele (para testar sem necessidade de sair ao DOS), executar os programas passo por passo (sentença a sentença), e compilar (passar o arquivo de texto para programa na linguagem de máquina) na memória ou no disco. O programa deve ser editado entre as diretivas begin e end. em sentenças e estruturas que serão executadas seqüencialmente da primeira até a última. Entre uma sentença ou estrutura e outra deve haver um ; para indicar a separação de ambas. Além do texto próprio do programa (conformado por sentenças, estruturas, e diretivas do Pascal), sempre é necessário fazer comentários explicativos para o maior entendimento da função de cada parte do programa, assim como o objetivo dele, limitações e possibilidades. Esses comentários fazem parte da documentação do programa, e em nenhum caso pode se prescindir deles. O Pascal aceita esses comentários entre chaves { } ou entre os símbolos (* *). A1.1.3) Compilação no Pascal Para a compilação do último texto carregado no editor, digite-se < ALT + F9 >. Durante a compilação uma janela é aberta no vídeo, com informações referentes a esse processo. Existem dois tipos de compilação: a) DISK: cria um arquivo .exe, e o grava no disco, no diretório corrente; ele pode ser executado do DOS. b) MEMORY: cria o arquivo executável mas o deixa na memória, sem gravação no disco. Pode se alternar de uma opção de compilação para a outra digitando < ALT + C> , para ir ao menu de compilação, e a partir daí < D >.
224
A1.1.4) Execução de programas no Pascal Para a execução do programa que estiver sendo editado, digite-se <CTRL+F9> . Após a execução do programa, volta-se ao ambiente do editor. A1.1.5) Salvar um arquivo Para salvar o programa atual, digite-se < F2 >. Esta opção atualiza o arquivo em uso, no disco, no diretório corrente. Se o arquivo não tiver uma primeira versão salvada nesse diretório será requerido o nome com que se deseja identificar o arquivo (o qual deve ter a extensão .PAS). A1.1.6) Abrir um arquivo Para abrir um arquivo, digite-se < F3 >. O comando LOAD, permite carregar o arquivo para execução, compilação, edição ou apenas para salvá-lo após mudanças no texto do programa. A1.1.7) Menu de ajuda Para acessar o menu de ajuda do Turbo Pascal, deve se posicionar o cursor no editor de texto sob o comando ou sentença na qual tenha dúvidas sobre a sua utilização, e pressionar <Ctrl + F1>; então se abrirá na tela do editor uma janela explicando o comando com exemplos aplicativos.
A1.2) Variáveis São objetos nomeados, localizados em posições de memória reservadas, onde podem ser guardados diferentes tipos de dados que serão utilizados ao longo da execução do programa. Seus valores podem ser mudados durante a execução do programa. As variáveis devem ser declaradas com seus tipos correspondentes antes do begin inicial e após a diretiva var. O armazenamento de valores nas variáveis é realizado através do símbolo :=. Ex: dado:=30; {dado é o nome da variável na qual está sendo armazenado o valor 30} A1.2.1) Tipos de variáveis a) BYTE: tipo numérico inteiro, podendo ter uma faixa de valores de 0 a 255 e ocupa 1byte de memória. Ex.: op := 240; b) INTEGER: tipo numérico inteiro, sendo seus valores possíveis entre - 32.768 a 32.767 e ocupa 2 bytes de memória. Ex.: num := 1249; c) REAL: tipo numérico real, ocupa 6 bytes de memória. Ex.: x := 356.25; d) CHAR: tipo alfanumérico, podendo ter como conteúdo um caracter da tabela ASCII (os quais devem se encerrar entre ‘ ’). Ocupa 1 byte de memória. Ex.: carac := ‘$’; e) STRING: seqüência de caracteres, ocupa 255 bytes de memória. Ex.: frase := ‘oi, tudo bem ?’;
225
f) ARRAY: é um vetor que pode ter diferentes valores segundo o sub-índice que o identifica. Ex.: program ex1; var vetor : array[0..2] of byte; {array de três componentes} begin vetor[0] := 100; vetor[1] := 10; vetor[2] := 0 end. g) BOOLEAN: é uma variável que só pode ter dois valores: TRUE ou FALSE (verdadeiro ou falso). Utiliza-se para conferir o cumprimento de uma condição. Ex.: condi := true;
A1.3) Comandos de entrada e saída Os comandos de entrada e saída possibilitam uma interação com o usuário, permitindo a entrada de dados do teclado e a apresentação de dados na tela. A1.3.1) WRITE( parâmetros ) Exibe os itens de dados em sua lista de parâmetros na tela, na posição atual do cursor, e move o cursor para o ponto da tela onde termina a impressão. Ex.: program ex2; var dado : integer; begin dado := 30; {armazena em dado o valor 30} write(‘oi, como vai’) {escreve o string} write(‘O valor do dado introduzido é ‘,dado) {escreve o string e a continuação o valor da variável dado} end. A1.3.2) WRITELN( parâmetros ) Exibe os dados exatamente igual que na sentença anterior, só que deixa o cursor na primeira coluna da linha seguinte. A1.3.3) READLN( variável ) Permite o armazenamento de dados introduzidos pelo teclado em variáveis. Ex.: program ex3; var a : integer; b, m, a, d, s : real; begin writeln (‘digite um numero inteiro’); readln (a); {entra 1° dado} writeln (‘digite um numero real’);
226
readln (b); {entra 2° dado} m := a*b; a := a+b; d := a/b; s := a-b; writeln(‘a multiplicação é: ’m); {imprime resultados} writeln(‘a divisão é: ’,d); writeln(‘a adição é: ’,a); writeln(‘a subtração é: ’,s) end. A1.3.4) CLRSCR Permite limpar a tela e colocar o cursor no canto superior esquerdo dela. Ex.: program ex4; begin clrscr; writeln (‘oi’) end. A1.3.5) GOTOXY( coluna , linha ) Permite posicionar o cursor num ponto qualquer da tela, referenciado pelos eixos x e y (coluna , linha). Ex.: program ex5; begin ClrScr; gotoxy (2,4); writeln (‘oi, como vai?’) end. A1.3.6) DELAY( tempo ) Permite fazer uma pausa de um intervalo de tempo expressado em milisegundos, antes de ser executada a seguinte instrução. Ex.: program ex6; begin ClrScr; gotoxy(10,23); writeln (‘oi, como vai?’); delay (5000) {espera 5 seg. antes de sair do programa} end. A1.3.7) READKEY Função que retorna o caracter correspondente a uma tecla pressionada (só serve para caracteres). Ex.: program ex7; var ch : char; begin ch := readkey; writeln(‘á letra pressionada é: ‘,ch) end.
227
A1.3.8) KEYPRESSED Função que retorna o booleano true se alguma tecla for pressionada e false se nenhuma tecla for pressionada. Ex.: program ex8; begin repeat ch := readkey; writeln(‘á letra pressionada é: ‘,ch) until keypressed {ver explicação da estrutura mais} end. {adiante}
A1.4) Estruturas de controle São estruturas usadas para o controle de rotinas determinadas; permitem repeti-las ou não, executa-las segundo uma determinada condição, assim como o programa escolher entre duas rotinas alternativas. A1.4.1) Repeat sentenças until condição Permite a um ou mais comandos serem executados repetidamente, até uma condição tornar-se verdadeira. Ex.: program ex9; var caracter : char; begin repeat readln(caracter); writeln (‘O caracter introduzido é: ‘,caracter) until caracter=chr(27) {repete introdução e impressão do caracter} end. {até ser introduzido o caracter 27 (Esc) } A1.4.2) If condição then sentença [else sentença] Estrutura de decisões alternativas em curso de ação. Dependendo da condição ser verdadeira ou falsa, é executada a sentença após o then, ou a sentença após o else, sendo esta última opcional (caso não exista, se a condição for falsa, nenhuma sentença é executada e continua a execução normal do programa). Caso queira se executar em alguma opção uma série de comandos e não uma única sentença, essa série deve estar encerrada entre um begin e um end. Ex.: program ex10; var a,b : real; begin readln (a); readln (b); if (a<b) then writeln (‘A é menor que B’) {imprime se a<b} else writeln (‘A não é menor que B’) {imprime se a b} end.
228
Ex.: program ex11; var dado: char; begin dado:=readkey; {introduz um caracter} if dado=chr(27) then {se ele for Esc} begin {pede para introduzir novamente} writeln(‘Não serve Esc. Introduza outro caracter’); readln(dado) end end. A1.4.3) For repetição do sentença Permite um comando, ou um bloco de comandos encerrados entre um begin e um end ser repetido um número de vezes determinado no momento da execução. Ex.: program ex12; var contagem : integer; dado : array [1..10] of integer; begin {programa para introduzir 10 dados e imprimi-los na tela} for contagem := 1 to 10 do {contagem vai de 1 a 10} begin readln(dado[contagem]); writeln(‘O dado número ‘,contagem,’ é: ‘,dado[contagem] ) end end.
A1.5) Procedimentos São estruturas que executam uma determinada rotina e que podem ser chamados do programa principal (o de um outro procedimento). A rotina deve estar encerrada entre um begin e um end;. Sempre que ele é chamado executa essa tarefa. Serve para esclarecer a edição do programa evitando que uma tarefa que tem que ser repetida em vários pontos do programa seja escrita repetidas vezes desnecessariamente. Também serve para modularizar o programa, dividindo-o em rotinas específicas, cada uma das quais fica num procedimento. Ex.: program ex13; var i : integer; {i é uma variável global (do programa principal)} procedure pausa; {procedimento que espera até o Esc ser pressionado} var car : char; {car é uma variável local (só do procedimento)} begin repeat car := readkey until car = chr(27) end;
229
begin for i := 1 to 10 do begin writeln(i); pausa end
{imprime 10 vezes a variável i} {fazendo uma pausa} {entre uma impressão e outra}
end.
A1.6) Funções Estrutura similar à de procedimento, com a exceção que é usado para retornar um valor para a expressão ativada. Esse valor retornado deve ser utilizado pelo programa de alguma maneira, por exemplo, imprimindo-o na tela. Ex.: program14; var r, área, circ : real; function pi : real; {função que retorna o valor PI} begin pi := 3.141592654 end; begin writeln(‘digite o raio do círculo’); {programa que calcula} readln (r); {o perímetro e a área} circ := (2*pi)*r; {de um círculo} área := pi * r * r; writeln (‘a circunferência do círculo é:’,circ); writeln (‘a área do círculo é :’, área) end.
A1.7) Procedimentos e funções com parâmetros Os procedimentos e as funções admitem a possibilidade que sejam passados parâmetros, ou dados, do programa principal (ou de outro procedimento que os chamou, se for o caso), para eles operarem com esses dados. No caso das funções, eles retornarão um valor que é função desses parâmetros passados. A vantagem principal do uso de parâmetros é a versatilidade que os procedimentos e as funções ganham, devido a que eles podem ser programados em uma forma genérica para realizar uma determinada tarefa ou efetuar um determinado cálculo, e os dados do mesmo poderão mudar conforme a necessidade do programa na hora de chamá-los. Os parâmetros devem ser declarados com seu tipo na declaração da função ou procedimento e sempre levam nomes diferentes às variáveis, sejam elas globais ou locais.
230
Ex.: {Programa para calcular a corrente por resistores} program ex15; var vol, i : integer; res : array [1..10] of real; {função que calcula a corrente em relação com os parâmetros de tensão e resistência passados} function corrente (tensão:integer ; resistência:real) : real; begin corrente := tensão / resistência end; begin ClrScr; write(‘Introduza o valor da tensão ’); readln(vol); ClrScr; for i := 1 to 10 do {repete para 10 valores de resistência} begin write(‘Introduza o valor da resistência ‘,i); readln( res[i] ); writeln(‘O valor da corrente é: ‘, corrente( vol, res[i] )) end end. Ex.: {programa para calcular um circuito de dois resistores em série} program ex16; var R1, R2, V1, V2, Itot : real; Vtot : integer; {função que calcula a corrente em relação com os parâmetros de tensão e resistência passados} function corrente (tensão:integer ; resistência:real) : real; begin corrente := tensão / resistência end; begin Vtot := 10; {tensão total 10 volts} writeln(‘Introduza os valores de resistência R1 e R2’); readln(R1); readln(R2); Itot := corrente (10, R1+R2); V1:= Itot * R1; V2:= Itot * R2; writeln(‘O valor da tensão sobre R1 é: ‘,V1); writeln(‘O valor da tensão sobre R2 é: ‘,V2) end.
231
Apêndice 2: Programação A2.1) Introdução No apêndice anterior foram apresentadas brevemente algumas características do Turbo Pascal, tais como utilização do editor de programas, utilização de variáveis, de comandos e de estruturas, assim também como o uso de procedimentos e funções. Nesta seção será abordada uma maneira sistemática de projetar um programa, de idear e estruturar um programa utilizando aquelas sentenças e estruturas mencionadas.
A2.2) Fluxogramas Um fluxograma é uma ferramenta gráfica que permite estruturar um problema em forma lógica, pensar a estrutura de um algoritmo para resolver um programa. Essa ferramenta é utilizada previamente a qualquer tentativa de edição do programa fonte; ele só é digitado uma vez que a estrutura do programa está pensada, definida e até otimizada no papel, o que pode ser feito justamente na forma de um fluxograma. Alguns programas são tão simples, que com só pensar no problema a resolver, já se pensa na estrutura adequada para o algoritmo. Por exemplo, se for necessário implementar um programa que apresente um menu de opções para o usuário, a última das quais seja “sair”, é obvio que a estrutura necessária é uma repetição da apresentação do menu até a introdução da opção de saída (em Pascal será a estrutura repeat...until...). Mas outros programas apresentam situações complicadas que exigem soluções mais sofisticadas, com estruturas lógicas mais complexas, tal vez até varias estruturas, umas dentro de outras; por exemplo, dada uma lista de strings, ordená-los alfabeticamente. Nesses casos a diagramação lógica prévia do programa se faz imprescindível. Aconselha-se, para o programador inexperiente, ante qualquer programa começar fazendo o fluxograma. Com a prática ele saberá em quais casos não precisa, e pode passar diretamente a idear o programa na medida que ele vai sendo editado. A2.2.1) Desenhos do fluxograma Os diagramas estão baseados em três tipos de desenhos, e todos os desenhos feitos são unidos com setas que representam o fluxo da execução do programa. Os desenhos são:
232
Figura A2.1: Blocos utilizados nos fluxogramas O primeiro desenho representa uma ação a executar, que pode ser um comando ou uma seqüência de comandos, ou até a chamada a um procedimento com estruturas e comandos dentro dele. O segundo tipo representa uma pergunta, ante a qual sempre existem dois possibilidades de resposta: sim ou não; aqui existe uma bifurcação do programa, ele seguirá um dos dois caminhos possíveis segundo a resposta. O terceiro tipo de desenho representa uma repetição um número determinado de vezes, no desenho, desde que uma variável I toma o valor 1 até que ela toma o valor 100; isso representa uma repetição de 100 vezes se essa variável for incrementada em forma unitária. Esses três tipos de desenhos se unem com as setas seguindo a linha lógica de execução do programa. No início e no final dele, apenas são colocados círculos indicando essas localizações. A2.2.2) Exemplo de um fluxograma completo Seja o seguinte fluxograma:
233
Figura A2.2: Fluxograma de um algoritmo para escolher o maior valor entre 10 números Pode-se observar claramente que esse fluxograma contém a estrutura lógica, na forma de um diagrama visual, de um programa para introduzir 10 números e imprimir o maior de todos eles. Começa armazenando numa variável “maior” o valor 0 (porque no início essa variável não é maior do que nenhum valor). Logo depois entra numa estrutura. A primeira tarefa dentro dela é pedir a introdução de um número o qual é armazenado na variável “num”. Seguidamente, se pergunta se esse número é maior do que “maior”. No caso de ser, na variável “maior” é armazenado o valor “num”, que agora passa a ser o maior de todos. No caso da resposta ser negativa, simplesmente sai da estrutura sem fazer nada, com o qual o estado da variável “maior” não se altera. Essa
234
estrutura é repetida 10 vezes. Saindo dela, só falta imprimir o resultado e finalizar o programa. Cabe mencionar, neste ponto, que um fluxograma não necessariamente representa a estrutura de um programa completo, podendo representar apenas uma parte, uma rotina ou um algoritmo de um programa maior. Por exemplo, o fluxograma mostrado anteriormente bem poderia ser um procedimento dentro de um programa mais complexo. Uma outra menção importante é que num fluxograma não podem se cruzar as setas, porque isso representaria uma estrutura que começa dentro de uma outra e finaliza fora, o que as linguagens de programação estruturada, como é o Pascal, não aceitam. Cada estrutura tem uma hierarquia, chamando a outras estruturas de hierarquia menor, que devem estar inteiramente contidas dentro da maior.
A2.3) Edição de um programa Uma vez realizados os fluxogramas de todas as rotinas ou procedimentos que vão compor o programa todo, só falta editar o programa fonte. Isso pode ser feito em qualquer linguagem; o fluxograma, como ferramenta de projeto prévia à edição do texto do programa, é independente da linguagem. Seguidamente, será mostrado o exemplo anterior editado em Pascal. No início, há um armazenamento de uma variável: maior : = 0; Logo depois entra numa estrutura que é uma repetição de 10 vezes, isto é um número determinado de vezes. Em Pascal esta estrutura corresponde ao for... do... for I : = 1 to 10 do Ai, pede a introdução de um número. O pedido pode ser feito simplesmente com uma sentença writeln, avisando o usuário para digitar um valor; a leitura, pode ser feita com a sentença readln. writeln(‘Digite um número inteiro’); readln(num); Seguidamente, entra numa outra estrutura, na qual se faz uma pergunta. As perguntas são estruturas típicas de alternativa, se uma condição for verdadeira, realizar uma tarefa, caso contrário, realizar uma outra ou não fazer nada. As alternativas em Pascal são implementadas com a estrutura if...then...else... Dentro dela, no caso da resposta ser afirmativa, é armazenada a variável “num” na variável “maior”. if num > maior then maior : = num; Ai acaba a estrutura de repetição, e finalmente não resta mais que imprimir o resultado: writeln(‘O maior número introduzido foi: ‘,maior); Eis o programa completo, incluindo a declaração de variáveis:
235
program maior; uses crt; var maior, num, I :
integer;
{declaração de variáveis}
begin maior : = 0; {maior começa valendo 0} for I : = 1 to 10 do {repete 10 vezes} begin writeln(„Digite um número inteiro‟); {introduz um número} readln(num); if num > maior then {ele é maior que “maior”?} maior : = num {se for, passa ser o maior} end; writeln(„O maior número digitado foi: „,maior) {imprime resultado} end.
A2.4) Exemplos Nesta seção será apresentado um exemplo prático. Será realizado um programa que apresente para o usuário um menu com as seguintes opções: 1) Introduzir dois números 2) Somar esses números 3) Subtrair o primeiro número do segundo 4) Multiplicar ambos números 5) Dividir o primeiro número pelo segundo 6) Sair Obviamente, com a primeira opção devem ser pedidos ao usuário a introdução de dois números. Com as opções 2 a 5, se realiza uma operação matemática e se apresenta o resultado. Com a opção 6, termina o programa. Primeiro será analisada a estrutura do problema fazendo um fluxograma, seguidamente será editado. A2.4.1) Fluxograma do exemplo O primeiro que deve ser feito é imprimir o menu. Depois esperar para o usuário introduzir uma opção. Se ela for introduzir dois números (opção 1), esses dados devem ser lidos. Se for realizar uma operação matemática (opções 2 a 5), deve se realizar a operação e imprimir o resultado. A rotina deve se repetir até o usuário introduzir a opção de saída (opção 6).
236
Figura A2.3: Fluxograma do programa do menu Observe-se que uma vez apresentado o menu, o programa fica à espera da introdução de uma opção. Uma vez introduzida, compara com as seis possibilidades, e se for uma das 5 primeiras, ele realiza a tarefa e volta a apresentar o menu, lendo novamente a opção do usuário. Isso se repete até a opção ser a número 6 (Sair). Obviamente, este fluxograma é simples e o raciocínio para ser realizado também. No caso de programas que exijam estruturas mais complexas, deve se pensar como dividir o problema total num conjunto de problemas de resolução mais simples, para depois estruturar cada um deles num fluxograma independente. Na hora da edição, cada um desses fluxogramas simples pode representar um procedimento, o qual tem uma estrutura fechada, uma tarefa definida e curta.
237
Seguidamente será apresentada a edição do programa fonte. A2.4.2) Edição do programa do exemplo A apresentação do menu pode ser implementada num procedimento, imprimindo cada uma das opções em determinadas linhas e colunas. A introdução da opção desejada pelo usuário pode ser feita com o comando readkey. opção := readkey; Cada uma das perguntas configuram obviamente uma estrutura de alternativa, um if..then..else.. onde se a condição for falsa (a opção introduzida não for essa), simplesmente não faz nada, continua o programa (quer dizer que não terão else). No caso de alguma das cinco primeiras opções serem digitadas, deve se imprimir o resultado. Ele não precisa ser previamente armazenado numa variável, o cálculo pode ser feito no próprio comando write da impressão. Mas deve se prestar particular atenção na última das perguntas, se a opção introduzida é a número 6 (Sair). Mesmo sendo uma estrutura de pergunta, observe-se que ela não é uma estrutura de alternativa, pois se a resposta for não, volta a começar tudo (repetição), se for sim, acaba o programa. Na realidade, está sendo repetido o programa inteiro até a opção for a número 6. Isto se corresponde com uma estrutura de repetição condicional, repetir até uma determinada condição for verdadeira. Em Pascal, essa estrutura é repeat...until... Concluindo, apresenta-se a continuação o programa completo:
program exemplo; uses crt; var num1, num2 : real; opção : char; procedure Apresentação; begin GoToXY(10,5); write(„1) Introduzir dados‟); GoToXY(10,7); write(„2) Somar dados‟); GoToXY(10,9); write(„3) Subtrair o 2 dado do 1 „); GoToXY(10,11); write(„4) Multiplicar dados‟); GoToXY(10,13); write(„5) Dividir o 1 dado pelo 2 „); GoToXY(10,15); write(„6) Sair‟) end; begin ClrScr; repeat Apresentação; opção : = readkey; if opção = „1‟ then begin GoToXY(10,18); write(„Introduza 1 número‟);
238
readln(num1); GoToXY(10,19); write(Introduza o 2 número‟); readln(num2) end; GoToXY(15,22); if opção = „2‟ then write(„A soma dos números é: „, num1 + num2); if opção = „3‟ then write(„O 1 número menos o 2 dá: „, num1 - num2); if opção = „4‟ then write(„O produto dos números é: „, num1 * num2); if opção = „5‟ then write(„O 1 número dividido pelo 2 é: „, num1 / num2) until opção = „6‟ end.
239
Contracapa Automação de Sistemas e Robótica é um livro orientado a introduzir o leitor numa área de crescente importância e aplicação na indústria moderna. Efetivamente, a automação de sistemas é uma realidade hoje em dia nas indústrias mais diversas, de montadoras de carros e outros tipos de fábricas metalúrgicas até fábricas de brinquedos, de papel, de embalagens, e inclusive empresas de serviços como bancos, por exemplo. As diversas áreas que abrange o estudo da robótica incluem eletrônica, informática, mecânica, física e matemática. Por tal razão, o profissional da robótica deve estar familiarizado com as mais diversas especialidades da engenharia moderna. Visando tal objetivo, este livro aborda principalmente os conceitos da Robótica aplicada à indústria, estuda a estrutura dos sistemas automatizados, seu comportamento, suas componentes básicas, elementos e dispositivos utilizados, e programas simples de controle de sistemas. Tópicos do livro 1) 2) 3) 4) 5) 6) 7) 8)
Introdução à Robótica Sistemas automáticos Interfaces Sensores Atuadores Mecanismos de transmissão de potência mecânica Robôs manipuladores Sistemas de visão
Fernando Pazos Engenheiro Eletrônico formado pela Universidade de Buenos Aires, com mestrado em Engenharia Elétrica, área de Controle de Sistemas, Automação e Robótica realizado na COPPE, UFRJ. O engenheiro Pazos trabalhou no Laboratório de Tecnologia Integrada do Instituto ORT de Buenos Aires entre os anos 91 e 93. Desde então é coordenador do Laboratório de Robótica do Instituto de Tecnologia ORT do Rio de Janeiro, onde projetou e desenvolveu diversos robôs e sistemas automatizados controlados por computador, além de interfaces e programas com fins didáticos. Desde junho de 2000, é professor convidado do curso de pós-graduação em Engenharia Mecatrônica da UERJ, onde ministra as disciplinas de “Instrumentação e Controle de Processos” e “Robótica Industrial”. Na COPPE, UFRJ, tem ministrado cursos de extensão sobre Controladores Lógicos Programáveis. Colaborador da revista “Mecatrônica Atual” desde Outubro de 2001, também apresentou o artigo “Controle adaptativo/robusto em modo dual para robôs manipuladores” no XIII Congresso Brasileiro de Automática, em setembro de 2000.