Funções de Posicionamento para Controle de Eixos
Resumo
Atualmente muitos Controladores Programáveis (CPs) classificados como de pequeno porte
possuem, integrados em um único invólucro, uma densidade significativa de pontos de entradas e
saídas (E/S). Além de E/S digitais e analógicas, os equipamentos contam com pontos integrados
de entradas e saídas rápidas, que permitem o desenvolvimento de aplicações para posicionamento
de eixos. Para facilitar esse desenvolvimento, os fornecedores dos CPs disponibilizam funções que
implementam características peculiares às aplicações de movimento de eixos. Este artigo
apresenta algumas dessas funções, assim como suas principais características.
Introdução
Os CPs (Controladores Programáveis) classificados como de pequeno porte e que possuem
entradas e saídas (E/S) integradas passaram a colocar em seus invólucros também entradas e
saídas rápidas. Estas entradas e saídas basicamente são contadores rápidos e saídas do tipo PTO
(Pulse Train Output).
As entradas para contadores rápidos permitem conectar os controladores a encoders responsáveis
por converter os movimentos mecânicos de eixos em pulsos. Os pulsos são contados e através
destes a posição de um eixo pode ser calculada.
Já a saída rápida do tipo PTO é responsável por gerar um número especifico de pulsos afim de
deslocar um eixo até uma posição determinada. Agregasse também a esse tipo de saída a
possibilidade de gerar perfis de aceleração. Desta forma um eixo pode ser acelerado de forma que
os parâmetros físicos como a inércia do sistema sejam levados em conta.
Se for adicionando a isso ainda as características de saídas analógicas também presentes no
controlador é possível desenvolver uma biblioteca de Blocos Funcionais padrão da norma IEC
61131. As funções podem ser separadas em quatro tipos:
•
•
•
•
Utilização de Saídas Rápidas do Tipo PTO para posicionar o motor conectado ao eixo sem
um retorno de outro tipo para validar o movimento.
Utilização de Saídas Rápidas do Tipo PTO para posicionar o motor conectado ao eixo sem
um retorno de outro tipo para validar o movimento, porém durante o referenciamento utiliza
a entrada de zero do encoder para referenciar.
Utilização de Saídas Rápidas do Tipo PTO para posicionar o motor conectado ao eixo
sendo o controle fechado através de uma entrada de contagem rápida conectada a um
encoder também ligado ao eixo.
Utilização de Saídas Analógicas de tensão para posicionar o motor conectado ao eixo
sendo o controle fechado através de uma entrada de contagem rápida conectada a um
encoder também ligado ao eixo.
Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus
Hugo Kiehl, Projetista de Produtos Altus
Janeiro/2010
Parâmetros importantes para o Posicionamento
Para a montagem de um eixo alguns parâmetros e características que as funções devem possuir
são de extrema importância. Além de possuir um bom sistema de referenciamento as funções
devem disponibilizar mecanismos de proteção a integridade do equipamento.
Dos mecanismos mais consagrados destacasse a utilização de sensores de fim de curso. Estes
sensores estão colocados próximos ao limite físico do eixo e visam evitar o choque do eixo contra
estes limites, o que causaria danos ao mesmo. Quando estes sensores são acionados uma parada
brusca é executa. A parada brusca não executa a desaceleração especificada pelo usuário na
parametrização, pois visa ser o último recurso de segurança. Na construção correta de eixo ainda
deve ser prevista a utilização dos recursos de fim de curso por software.
Figura 1 – Montagem de um eixo
Este tipo de mecanismo é uma configuração das funções que indica qual o limite do deslocamento
do eixo. Esse limite deve ser calculado de maneira que ao detectar esta condição possa ocorre
uma desaceleração segura e o eixo pare antes de chegar aos fins de curso por hardware.
Na figura 1 pode ser verificado o diagrama que mostra dois exemplos de como estes parâmetros
são configurados. Do lado esquerdo o parâmetro FIM_CURSO_SW_NEGATIVO_DINT e a entrada
de FIM_CURSO_HW_NEGATIVO estão montados de maneira correta, de forma que a
desaceleração pode ser executada na integra antes da passagem pelo fim de curso por hardware.
Já do lado direito da figura está sendo mostrado um fim de curso por software que está muito
próximo do fim de curso por hardware, não permitindo a parada suave completa.
Além disso, outros recursos importantes para este tipo de função são a parada emergência, que
executa uma para brusca após o seu acionamento e a entrada de parada suave.
Funcionamento de um Referenciamento
Uma característica muito importante para um bom funcionamento de funções de posicionamento é
a existência de mecanismos de referenciamento. Este referenciamento pode estar integrado à
função de posicionamento ou ser uma função a parte, mas independente disso a metodologia para
fazer este procedimento é a mesma.
A Figura 2 mostra o diagrama para o referenciamento de um eixo. Nele está representado o perfil
de aceleração para a movimentação e as entradas do sensor da zona de referenciamento,
Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus
Hugo Kiehl, Projetista de Produtos Altus
Janeiro/2010
REFER_SENSOR_ZONA_BOOL, assim como a saída do encoder que indica passagem por zero.
A zona de referenciamento é a faixa do eixo onde o pulso de zero do encoder é analisado pela
função. Desta forma um referenciamento começa deslocando o eixo no sentido declarado pelo
usuário. O eixo é acelerado até atingir a velocidade de busca pela zona de referenciamento,
REFER_VELOCIDADE_INICIAL_DWORD. Ao encontrar uma borda de subida na entrada do
sensor de zona de referenciamento, REFER_SENSOR_ZONA_BOOL, é executada uma parada
suave do eixo desacelerando até que este pare.
Figura 2 – Diagrama de refernciamento.
Se durante este movimento um zero já foi detectado, dentro da zona de referenciamento, este será
considerado a posição zero da máquina. Em caso contrário a máquina continua se deslocando no
mesmo sentido porém, porém com um percentual da velocidade inicial representado pelo
parâmetro REFER_PERCENTUAL_VELOCIDADE_INICIAL_BYTE. Quando encontrar um zero
vindo da saída do encoder este ponto é o zero da máquina e uma parada suave é realizada.
Sempre que for usado o parâmetro de compensação de folga do eixo diferente de zero, após
encontrar o zero da máquina, um deslocamento do tamanho da folga do sistema será gerado, com
o objetivo de garantir que a folga estará compensada ao final do referenciamento.
Ao final deste processo caso o eixo esteja parado dentro da tolerância de erro nenhum movimento
é realizado. Caso esteja fora, novos movimentos devem ser executados para permanecer dentro
da faixa de erro máximo em torno do zero.
Antes do disparo do referenciamento a entrada REFER_SENSOR_ZONA_BOOL é testada e caso
esteja em “True” o referenciamento irá iniciar a busca no sentido contrário ao sentido de busca
declarado pelo usuário, afim de sair da zona de referenciamento. Após detectar uma borda de
descida do sensor de referenciamento o eixo permanece com a velocidade inicial de busca,
REFER_VELOCIDADE_INICIAL_DWORD, por um tempo definido em parâmetros, para depois
começar a desacelerar. Ao cessar este movimento a busca prossegue de maneira normal no
sentido definido pelo usuário.
Recomenda-se que o sensor de zona seja montado de forma que, após ter uma borda de subida,
este permaneça em estado “1” até o final do eixo. Se não for desta forma pode acontecer do eixo
Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus
Hugo Kiehl, Projetista de Produtos Altus
Janeiro/2010
estar posicionado fora da zona mas do lado oposto ao sentido de busca. Acontecendo isso o eixo
será parado bruscamente pelo fim de curso posicionado deste lado do eixo.
No caso de um controle utilizando somente a saída PTO, o contador é zerado para indicar o zero
da máquina na borda de subida do REFER_SENSOR_ZONA_BOOL. Isso acontece, pois como
não é utilizado o encoder não existe a indicação de passagem pelo zero do encoder.
Função com Saída PTO
As funções que utilizam uma saída rápida configurada como PTO podem ser configuradas para
utilizar um contador bidirecional com um encoder associado ou um contador de pulsos interno
como realimentação da malha de controle.
Além disso, existe outro modo para ser configurado que reúne as características dos outros dois
modos que envolvem a saída PTO. Nesta configuração o comportamento é idêntico ao da
configuração como puramente PTO para o posicionamento, porém se o eixo possui uma indicação
de posição do zero através de um encoder, por exemplo, este modo deve ser utilizado e o contador
de posição será zerado na posição do pulso de zeramento quando o eixo for referenciado.
Para selecionar qual o tipo de controle deve ser utilizado deve ser levado em consideração qual é
o tipo de acionamento. Nos casos em que o servoacionamento possui controle de posição, ou seja,
o laço de controle é fechado dentro do próprio driver, o controle a ser utilizado é o PTO direto.
Caso este sistema possua a informação de passagem por zero devesse utilizar o posicionamento
do tipo PTO com referenciamento para aumentar a acuidade do referenciamento. Porém se o
sistema utiliza um driver com lógica combinacional, como é o caso dos drivers para acionamentos
de motores de passo, sendo estes acoplados a um eixo de um encoder, deve-se escolher a
utilização do controle com laço fechado com contador rápido.
Esta função deve ser chamada periodicamente através de uma POU acionada por interrupção de
tempo. Para ter um controle mais preciso, recomenda-se utilizar o menor tempo possível para a
chamada desta função.
Normalmente este tipo de função não precisa de um número de confirmações maior que um.
Porém em sistemas com uma inércia grande se faz necessário aumentar o número de
confirmações afim que seja garantido o posicionamento dentro de erro máximo. Caso o valor do
erro seja muito pequeno pode ocorrer do eixo não ser posicionado corretamente.
Função com Saída Analógica
As funções que utilizam uma saída analógica para atuar no processo e o controle é realimentado
através de um encoder. Esta saída analógica, que excursiona de 0 a 10 Volts, possui uma saída
digital associada para definir o sentido do movimento, onde FALSE define o sentido positivo e
TRUE o sentido negativo. Existem ainda função em que se utiliza saída analógica simétrica, -10 a
10 Volts, ou saídas positivos com offset. Em todos os casos o funcionamento é o mesmo.
O controle analógico é do tipo proporcional-integral, os ganhos são configurados pelos parâmetros
KP_REAL, ganho proporcional, e KI_REAL, ganho integral, na configuração da função. Porém, o
controle integral é ativado somente ao final do traçado do perfil teórico, tendo como finalidade
corrigir o erro característico de um sistema que utiliza apenas um controle proporcional. Caso não
Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus
Hugo Kiehl, Projetista de Produtos Altus
Janeiro/2010
haja a necessidade de um controle integral, o parâmetro KI_REAL deve ser configurado com o
valor zero.
Esta função deve ser chamada periodicamente através de uma POU acionada por interrupção de
tempo. Para ter um controle mais preciso, recomenda-se utilizar o menor tempo possível para a
chamada desta função (1 ms).
Após configurar este módulo de controle deve-se chamar periodicamente a função. O laço de
controle iniciará em aberto, sendo necessário para fechar o laço de controle é necessário forçar o
seu fechamento através do comando e disparar um posicionamento através do comando ou um
referenciamento através dos comando da função.
Quando o laço de controle está fechado, a verificação do limite de parada estará sendo realizado.
Esta verificação serve para garantir que em caso de perda de controle ou movimentações
indevidas, geradas por causas externas ao sistema, o laço será aberto, evitando acidentes. Existe
também um parâmetro que é o responsável pela configuração do valor do limite de parada.
A abertura do laço de controle pode acontecer das seguintes maneiras: pelo comando de
emergência, pela passagem do limite de parada, pelo acionamento de um dos fins de curso por
hardware (FIM_CURSO_HW_POSITIVO_BOOL ou FIM_CURSO_HW_NEGATIVO_BOOL), pela
reinicialização do módulo de controle com valores, pelo estouro da posição atual ou pela tentativa
de disparo de um posicionamento com um valor de posição fora da faixa permitida.
Existe um erro de acompanhamento entre o perfil teórico gerado pelo módulo de posicionamento e
a posição atual medida através do encoder com este dado é possível enxergar o comportamento
do sistema em relação aos ganhos definidos. Caso o erro de acompanhamento esteja aumentando
constantemente é sinal de que o ganho proporcional não está com um valor suficiente para fazer a
posição real acompanhar a posição teórica com um erro constante, assim o ganho proporcional
deve ser aumentado.
Outra informação importante para a calibração do controle é a saturação da saída. Isso acontece
se a saída é setada quando o sinal teórico de controle ultrapassa a tensão máxima da saída
analógica. A saturação do sinal leva o erro de acompanhamento a aumentar constantemente.
A conclusão de um posicionamento acontece quando a posição do eixo for verificada o número de
confirmações consecutivas. Caso o sistema não encontre a posição e uma parada de emergência
não for disparada, o controle será aberto após passar o tempo de timeout.
Compensação de Folga
As funções de posicionamento possuem uma compensação de folga para sistemas que utilizem
medição indireta, onde o motor é ligado ao encoder através de um sistema.
Para utilizar a compensação de folga é necessário configurar o parâmetro de compensação de
folga da função. Quando não houver a necessidade de compensação de folga, este parâmetro
deve ser configurado com o valor zero.
O sinal da compensação é utilizado para diferenciar entre a situação em que o sistema de medição
conta, mas o eixo, devido à folga, não desloca-se (utilizar sinal positivo) e aquela em que o eixo
desloca-se e o sistema de medição, devido à folga, inicia atrasado a contagem (utilizar sinal
negativo).
Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus
Hugo Kiehl, Projetista de Produtos Altus
Janeiro/2010
Bibliotecas de Posicionamento
Os modelos DU350 e DU351, CPs com IHM (Interface Homem Máquina) da Altus são exemplos de
CPs que disponibilizam estas características. Eles utilizam a biblioteca DuoMotionLib, que é um
biblioteca padrão da Norma IEC 61131 que utiliza os recursos de hardware dos módulos para
implementar as funções de posicionamento.
Esta biblioteca possui dois Blocos Funcionais de Posicionamento, sendo um para Saídas do tipo
PTO e outra para saídas analógicas. As funções possuem característica de referenciamento
integrada. Além disso, a biblioteca conta com as funções de inicialização dos dois tipos de
movimentos.
Conclusão
Com a facilidade dos recursos de reaproveitamento de código proposto pela norma IEC 61131 é
possível desenvolver bibliotecas com Blocos Funcionais para posicionamento de eixos. Para tanto
é essencial que os controladores utilizados possuam entradas e saídas rápidas.
As bibliotecas disponibilizadas pelos fabricantes necessitam de algumas características
importantes como referenciamento, compensação de folga, mecanismos de proteção do eixo e
configuração para vários tipos de sistema.
Para decidir qual o tipo de configuração que será utilizada deve ser levado em consideração como
é construído e quais suas características físicas. Antes de começar um desenvolvimento é
essencial se ter estas informações, pois as funções facilitam a implementações de aplicações,
porém elas precisam ser bem configuradas para que os recursos disponibilizados por elas sejam
aproveitadas ao máximo.
Referências Bibliográficas
Manual de Utilização DU350 e DU351 Rev. B - 2009 – http://www.altus.com.br
Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus
Hugo Kiehl, Projetista de Produtos Altus
Janeiro/2010
Download

Funções de Posicionamento para Controle de Eixos