• Nenhum resultado encontrado

3 DESENVOLVIMENTO DO PROJETO

3.7 PROGRAMAÇÃO DO MICROCONTROLADOR

A placa Arduino é o componente responsável pelo controle do acionamento MMC, assim como o fornecimento dos dados do deslocamento que serão processados pelo sistema supervisório. A placa assume a função de escravo no sistema de comunicação da MMC.

Esta placa, que contém o microcontrolador ATmega 2560, é programável em Linguagem C. A plataforma de programação empregada foi o CodeVision AVR, embora algumas funções para testes tenham sido programadas em plataforma Arduino IDE (Integrated Development Environment). Esta estratégia teve por

finalidade facilitar a verificação da confiabilidade do sistema de monitoramento e controle por parte do sistema supervisório.

A ferramenta CodeVision Wizard foi utilizada para definir as configurações de entrada e saída do microcontrolador e também as demais funções de comunicação, interrupções e processamento de dados. As declarações de variáveis e definições de parâmetros foram inseridas de acordo com o avanço do desenvolvimento do programa.

Inicialmente a programação atuava apenas no acionamento dos motores de passo para o mecanismo de deslocamento. Os pulsos gerados pelo microcontrolador, fornecidos aos módulos de controle de motor de passo, produzem a rotação dos motores de acordo com a direção e número de rotações definidas. O sistema de controle do deslocamento via matriz de contatos foi implementado e testado, juntamente com as chaves fim de curso. Os eixos deslocam-se individual e independentemente, isto é, não foi implementado recurso de interpolação entre os eixos.

Após concluída a etapa de desenvolvimento do controle do mecanismo de deslocamento, foi determinada a maneira de efetuar as medições em uma peça. A MMC atua em dois modos de operação, sendo uma pela medição da peça propriamente dita e outra por coordenadas.

Ambos os modos realizam o monitoramento do deslocamento pela contagem dos pulsos fornecidos aos módulos de controle. A razão da medida do deslocamento foi tomada com base na fração do deslocamento executado por cada passo do motor. O funcionamento da MMC consiste em duas etapas. Na primeira etapa é executada a gravação dos deslocamentos via teclado, na segunda a execução dos deslocamentos gravados.

Ao ser ligada, a MMC não reconhece seu posicionamento dentro do seu espaço de atuação. A função de inicialização executa o referenciamento do sistema de coordenadas da máquina por meio das chaves fim de curso. Ao executar o deslocamento dos eixos no sentido de retorno, as chaves fim de curso determinam o ponto zero de cada eixo.

A gravação dos pontos de deslocamento é realizada pelo acionamento via teclado. A contagem dos pulsos fornecidos aos motores é registrada em vetores toda vez que um deslocamento é executado. Cada novo deslocamento, ainda que seja a continuação do anterior é registrado no vetor seguinte. A contagem inicia com o

acionamento do respectivo botão juntamente com o movimento do motor a ele associado. Quando interrompido este acionamento o número de pulsos relativos ao deslocamento é registrado no vetor. Desta maneira o movimento pode ser replicado de forma autônoma executando, via programa do microcontrolador, os deslocamentos registrados nos vetores, qualquer que seja sua distância ou direção.

A contagem dos pulsos que determinam a direção ou o sentido do deslocamento, é realizada por lógica de incremento e decremento. Ao tocar o mensurando, o apalpador interrompe o deslocamento indicando um ponto de toque. Este ponto torna-se referência para uma coordenada de medição, assim como os demais que forem realizados. Depois de gravados todos os pontos desejados, os movimentos são replicados automaticamente.

A Figura 55 apresenta o exemplo de uma trajetória, dando uma ilustração de como os movimentos são executados,

Figura 55 – Exemplo de Trajetória da MMC Fonte: Autoria própria (2018).

Cada movimento, ou deslocamento, está programado em uma variável, conforme mostra a Figura 55, as quais definem qual é o motor que irá atuar e em qual sentido de rotação. A lógica do acionamento está atrelada ao teclado de controle, onde cada botão corresponde a um acionamento.

Ao executar a gravação dos deslocamentos o movimento em que ocorre o toque do apalpador no mensurando (movimento 4) tem sua contagem de pulsos descartada e o movimento passa a ser livre tornando-se referência para a medição. O vetor a ele associado é substituído por uma lógica que repete o deslocamento

relacionado a este vetor, mas descarta a contagem dos pulsos, ou a distância que deve ser percorrida. A referência agora passa a ser a peça sendo medida, onde a nova coordenada registrada ao ser tocada pelo apalpador pode ou não ser a mesma. Se a peça apresenta discrepâncias dimensionais ou sua posição foi alterada a MMC registra a nova coordenada. Todos os pontos registrados são então comparados para apresentar uma medição em escala métrica.

Na etapa de gravação as coordenadas registradas no movimento em que ocorre o toque é desconsiderado pelo programa da MMC e a execução autônoma deste movimento possui o seu módulo de deslocamento, isto é, a contagem dos pulsos em aberto, executando o deslocamento do apalpador até que este toque o mensurando (peça).

A Figura 56 mostra como a MMC executa a contagem dos pulsos no movimento de toque do apalpador no mensurando.

Figura 56 – Contagem dos Pulsos no Movimento de Toque Fonte: Autoria própria (2018).

De acordo com a discrepância da coordenada da peça medida em relação ao deslocamento gravado, a diferença é adicionada ou subtraída do valor original com o objetivo de preservar o posicionamento do movimento 5. Na etapa de gravação o movimento 5 corresponde ao afastamento do apalpador após tocar a peça sendo medida.

A numeração dos movimentos representados nas Figuras 55 e 56 são meramente respresentativas no exemplo. A lógica permite assumir qualquer número, que está em função da quantidade de movimentos executados até que o apalpador toque a peça sendo medida. Portanto a MMC executa qualquer forma de movimento que o operador realize para a gravação dos movimentos, sejam tantos quantos forem os movimentos intermediários para todos os toques.

O teclado contem indicativos luminosos que representam estado do programa que são: LED vermelho indica teclado desligado; LED verde indica teclado ligado; LED amarelo indica reset automático pelo programa; e LED azul indica quando o apalpador toca no mensurando ou a cada vetor incrementado (início seguinte do próximo movimento).

Uma programação inicial foi produzida para verificar o deslocamento dos eixos e o monitoramento deles pelo microcontrolador. Ao executar 200 passos, que consiste em uma volta completa do rotor do motor de passo, verificou-se, por meio de altímetro e relógio comparador, que o deslocamento dos eixos em uma rotação completa do motor é de 15 mm.

O cálculo pode ser feito a partir do diâmetro primitivo do pinhão acoplado ao motor de passo, através das medidas do seu módulo e número de dentes. A formulação em sistemas mecânicos fornece todos os dados relevantes para um sistema de transmissão como este, no entanto se faz desnecessário a aplicação de cálculo, uma vez que a medida de deslocamento pode ser ensaiada por instrumentos de medição. Os cálculos podem ser aplicados para confirmar matematicamente a medida deste deslocamento. As medidas ensaiadas apresentaram os mesmos resultados para os três eixos da MMC.

Definida a medida de deslocamento para uma rotação do motor de passo o cálculo do deslocamento por passo é dado por:.

Logo cada passo é igual a 0,075 mm. Este valor foi averiguado por medição com o relógio comparador e confirmado. Com o objetivo de se obter a melhor resolução possível o modo de acionamento por micropassos foi programado, configurando os módulos de controle de motor de passo para atuar na razão de 1/32, produzindo assim 6400 micropassos. Assim foi definida a resolução do deslocamento da MMC por:

Deslocamento=15mm/6400 micropassos

Logo, cada micropasso é igual a 0,00234375 mm. Novamente os ensaios foram executados e os valores confirmados. A resolução do relógio comparador empregado para medir o deslocamento de cada micropasso dos motores é de 0,001 mm.

Os ensaios das medições foram realizados considerando deslocamentos parciais ou múltiplos à razão de uma rotação completa. Os resultados obtidos foram todos coerentes com a lógica e o cálculo fornecidos ao programa. A repetição de medições já realizadas foi feita para consolidar a confiabilidade do método utilizado, de forma que o modo de monitoramento foi considerado definitivo.

Os valores de medidas armazenados em um vetor programado no microcontrolador são exibidos no mostrador LCD, em milímetros, com uma resolução de 0,01 mm, conforme mostra a Figura 57.

Figura 57 – Valor de Medição Exibido no Mostrador LCD Fonte: Autoria própria (2018).

Os modos de operação, por medição ou por coordenadas são selecionados através de um botão ou tecla do teclado, como também através de um botão programado no sistema supervisório.

O modo por medição realiza a medição direta da peça, calculando o diferencial do posicionamento dos pontos medidos na peça. Todo o deslocamento é monitorado e registrado pelo microcontrolador na forma de contagem dos pulsos que acionam o mecanismo de deslocamento. Por este método o sistema de controle registra e grava o deslocamento ordenado dos eixos na definição de uma trajetória para a execução das medições.

Cada deslocamento é registrado pelo incremento da contagem dos pulsos dados aos módulos de controle dos motores de passo e cada movimento completo é gravado em um vetor cujo índice também é incrementado para poder registrar e gravar o movimento seguinte. O programa está limitado em 200 posições, ou seja, podem ser gravados até 200 deslocamentos, incluindo todos os eixos atuando simultaneamente, pois os botões também estão configurados no programa como vetores para armazenar seu código específico, dentre os quais existem funções específicas ocupadas por alguns índices.

A sequência dos vetores gravados com seus respectivos valores pode ser replicada em processos de medição subsequentes. O registro do deslocamento e incremento dos vetores é realizado pela interrupção causada pelo apalpador da MMC. A lógica aplicada no programa executa a gravação da trajetória e dos pontos e também executa um recuo do apalpador quando efetua medição interna e termina o processo de medição.

Em função do diâmetro da ponteira do apalpador é necessário considerar a diferença de medida que ocorre pela direção em que o toque acontece. O diâmetro é conhecido e calibrado, apresentando valor de 3,05 mm. Devido a essa diferença, a medição interna deve ser executada por uma função própria. A medição interna é selecionada em tecla própria no teclado de controle.

No modo medição o ponto inicial é comparado com o ponto oposto e a contagem dos pulsos registrados entre um e outro é calculado pelo microcontrolador e apresentado como medida no mostrador, aplicando o cálculo da unidade de medida por micropasso. A medição externa considera descontar o diâmetro conhecido da ponteira do apalpador, enquanto a execução da medição interna considera acrescentar esse diâmetro. Por esta distinção na função é necessária a implementação de um algoritmo próprio.

A medição é executada desta forma para os eixos X e Y. O eixo Z não necessita de uma estratégia semelhante porque o ponto de medição do apalpador é

a ponta, que executa somente medições de cima para baixo, não ocasionando alteração de posição pelo sentido de medição.

O modo de medição por coordenadas considera todo o espaço de atuação da MMC. O referenciamento determina o zeramento do sistema de coordenadas da MMC e também o ponto zero máquina, a partir do qual o deslocamento passa a ser registrado e as medições solicitadas podem ser calculadas pela mesma medida da unidade de micropassos. A distinção entre o modo medição e o modo por coordenadas consiste em que o primeiro registra e apresenta as medidas efetivas do mensurando, enquanto que o segundo apresenta as coordenadas registradas no espaço em que o mensurando está inserido e posicionado.

O modo de medição é apropriado para obter medidas diretas e realizar comparações com medições de peças em lotes. O modo por coordenadas serve para comparações com modelos virtuais tridimensionais.

As informações registradas são fornecidas ao sistema supervisório via porta USART de comunicação. O microcontrolador é configurado para enviar dados ao sistema supervisório via protocolo Modbus. Para isso o programa possui incluído em seu código fonte a biblioteca SimpleModusSlave V10 que determina os parâmetros do framing dos dados das medições e a execução de comandos.

Documentos relacionados