Página 1 de 1

Encoder x Pc

MensagemEnviado: 03 Jul 2007 03:02
por edison
Seguinte,qual a melhor forma de conectar um encoder (apenas um eixo) em um PC e fazer com que o sinal dele (posiçao) acione uma carga externa via porta paralela (essa e facil) ???
Sei que teria que desenvover um softwere para isso ou baixar algo pronto (quem dera).
Algo assim: posiçao >sinal .......nova posiçao>sinal......sempre a mesma medida programavel.
Minha maior duvida e quanto a interface "encoder>Pc," sera que existe pronto ou e mais barato montar???
Andei vendo uns da "Suprasonic" mas o custo para um prototipo e alto e os encoder eu compo em "sucatas" aqui em Curitiba.

ps.
Por se tratar de prototipo todas as opiioes sao bem vindas.
Grato

MensagemEnviado: 03 Jul 2007 08:22
por fabim
que tipo de encoder ???

quantos passos ??? etc etc

Aí sim os ohmi daqui vão te ajudar.. principalmente todos e eu :)

De um exemplo prático, fica facinho pro pessoal mentalizar no que vc precisa de ajuda.

Abração

Fabim

Re: Encoder x Pc

MensagemEnviado: 03 Jul 2007 08:24
por andre_luis
Se for encoder incremental, é extremamente simples.
Voce monitora o nível de um canal ( 'A' por, exemplo ), enquanto detecta a borda do outro canal. Se o 'B' descer, o eixo está girando numa rotacao, senao se detectar subida, estará na rotacao contrária.

Se voce for medir posição angular, terá de usar os canais A e B citados acima.
Se voce for medir RPM - num unico sentido de rotacao - pode ignorar estes sinais, e usar apenas o canal INDEX, contando apenas a quantidade de vezes que ele pulsa por unidade de tempo..

O único problema do PC, é que qualquer aplicativo rodando nele, estará numa thread que não terá 100% de alocacao de tempo, e assim, voce perderá movimentos do encoder.

O mais indicado, é implementar uma circuito/placa dedicada externa realizando esta tarefa.

+++

MensagemEnviado: 08 Jul 2007 23:49
por edison
O encoder é incremental.
A idéia é basicamente o seguinte:Um motorredutor (com encoder acoplado) aciona horizontal e linearmente (por fuso) um carro portando a ferramenta de corte por uma distância pré determinada (valor a ser programado) quando atingir o ponto deve parar ,travar e acionar a ferramenta de corte,após o corte a ferramenta destrava e retorna ao ponto de repouso,o carro avança novamente a mesma distãncia programada,aciona a ferramenta de corte, essa retorna e assim sucessivamente até o final de curso do carro. Um comando manual reverte o redutor ao ponto inicial e o contador do encoder é resetado manualmente.
A velocidade de avanço é relativamente lenta (motorredutor) e as medidas a serem cortadas giram em torno de 5 a 50 mm por isso estou considerando a relação redutor/encoder bem alta algo em torno de 20/1.
A lógica de acionamento da ferramenta de corte é eletro-pneumática básica, o unico ponto critico é medir via encoder para comandar o corte.
Optei pelo PC por ser mais barato que algo dedicado mas se tiver a opção de algo tipo "made in home" e confiavel ,será bem vinda.

Grato.
Té mais....

MensagemEnviado: 09 Jul 2007 01:24
por guest2003
Bom...

Encoder pra PC barato... sabe onde tem 2 ?!?!? MOUSE :)

Serio, voce pode comprar qquer mouse de R$15,00 desmontar e usar os encoderes prontinhos que tem dentro... 2 deles, um pra X e outro pra Y...

Mas eu reforçaria o que o Andre disse... USE HW EXTERNO... a menos que seu aplicação seja algum tipo de demonstracao ou algo sem muito problema caso a coisa toda trave...

[]'s

PS.: Nao esqueca de colocar umas chaves fim de curso caso o PC resolva travar.

MensagemEnviado: 09 Jul 2007 09:21
por andre_luis
Bem lembrado, guest.

Inclusive, na era do DOS, o Mouse gerava unterrupcão de HW ( IRQ ) de modo que o PC num sistema operacional como esse, não perderia pulsos. Só travava, mas isso é detalhe.

Então, a menos que voce seja "da antiga" e programe em algum Borland C++ da vida, não terá outro jeito senão implementar uma logica-zinha ( bem simples, por sinal ) pra fazer isso.


+++

MensagemEnviado: 10 Jul 2007 00:31
por edison
guest2003 escreveu:Bom...

Encoder pra PC barato... sabe onde tem 2 ?!?!? MOUSE :)

Serio, voce pode comprar qquer mouse de R$15,00 desmontar e usar os encoderes prontinhos que tem dentro... 2 deles, um pra X e outro pra Y...

Mas eu reforçaria o que o Andre disse... USE HW EXTERNO... a menos que seu aplicação seja algum tipo de demonstracao ou algo sem muito problema caso a coisa toda trave...

[]'s

PS.: Nao esqueca de colocar umas chaves fim de curso caso o PC resolva travar.


Creio que vc não entendeu,meu problema não é obter um encoder e sim uma interface que leia a posição do encoder e converta em um comando elétrico tipo essa aqui:

http://www.iorobotics.com/leitora%20de%20encoder.html

a qual vai acionar algo como essa aqui:

http://www.iorobotics.com/4reles.htm

Grato....

MensagemEnviado: 10 Jul 2007 16:19
por andre_luis
Implementação com flip-flop :


http://lims.mech.northwestern.edu/~desi ... rcuit.html


+++

MensagemEnviado: 10 Jul 2007 16:28
por fabim
credo que cumpricação..rs

Seguinte de uma aplicação prática que ira fazer. o pessoal mata na hora.

Abraços


Fabim

MensagemEnviado: 11 Jul 2007 04:19
por edison
fabim escreveu:credo que cumpricação..rs

Seguinte de uma aplicação prática que ira fazer. o pessoal mata na hora.

Abraços


Fabim


Eu ja descrevi acima o principio basico de aplicaçao da maquina.

Ja estou desistindo de usar PC creio ser mais simples e confiavel algo mais compacto tipo os da Suprasonic.
Vou me basear no flip-flop da dica do Andre (grato Andre......!)
Alguma outra dica??

MensagemEnviado: 11 Jul 2007 07:52
por fabim
áááá. rs. não tinha visto.
Você quer montar tipo uma plotter. com fusos X e Y.

Olha sinceramente, acho muito mais facil e preciso se vc optar por usar um motor de passo com sistema de redução.

Suponha que a maquina esta pronta.

e voce sabe que o motor tem que dar sei lá 100 passos por centimetro.
você quer que ele ande 10,5cm no X.
Você ira enviar 4 bytes para o pic.
Usart_out('+,X,10,05').

O pic com uma rotininha simples interpreta isso e faz os calculos dentro dele mesmo.
tipo.
Bom o edison mandou eu ir pra +X ele me disse que é pra esquerda.
Bom o edison me informou tambem que a cada 100 passos eu ando um centimetro, se ele me mandou andar 10,5 centimetros então eu tenho que dar.
10,5 * 100 = 1050 passos para a esquerda e parar.


Edison.
Basicamente é isto, não á necessidade de saber onde o fuso esta. VocÊ antes de iniciar uma tarefa deve apenas ter certeza que o X e o Y estão no inicio de curso.

Abraços

Fabim

MensagemEnviado: 12 Jul 2007 00:37
por edison
O Fabin ,vc matou a xarada....,mas tem como eu inserir valores variaveis aleatórios ou seja "programar" momentâneamente os valores ou eles já tem que estar gravados no PIC antecipadamente.
A idéia é que o operador da máquina insira o valor a ser cortado e posteriormente ele,o operador, altere caso seja presiso e ainda visualize em um display esse valor.

Agora o problema seria encontrar um motor de passo com torque suficiente e a baixo custo. Eu tenho um fornecedor aqui mas os motores dele são pequenos demais (por isso são baratos...rsrs)

Enquanto digitava me surgiu uma idéia: Será que um PIC controlaria um inversor de frequencia tipo os WEGs dá vida?? Assim posso trabalhar com motorredutores convencionais...!

Outra coisa......é apenas um fuso X....bem mais simples....!

ps.Sou leigo em PICS mas sei que esses bichinhos fazem chover.

Grato.....

MensagemEnviado: 12 Jul 2007 08:22
por fabim
esquece o pic....
O pic simplesmente pega o dado que chega e joga na porta ou de outra forma que você necessite.
Pode tambem ter outras coisas. Aí depende do que você necessita.

Eu costumeniramente quando tenho uma idéia.

Pego um papélio... e vou fazendo quadros com funções escritas. Cada quadro é um algoritmo pra fazer x coisa. Isso da uma melhor visão do que o sistema vai precisar pra funcionar.
Sobre motores de passo, se você não precisar de muita velocidade.
EXEMPLO..:;- motor com torque de 5kGcm³.
Tenho um que é de 36 passos para 360° se eu montar uma redução de 10:1. Vou ter uma precisão incrivel de 360 passos p/360° e um torque de 50kGcm³.. Cara com 50kG você faz miséria.

Abraços

Fabim