LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: LuísR.A. em 19 de Novembro de 2012, 17:32

Título: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 17:32
ps: antes de tudo alguem me diz como neste forum meto as hiperligações com a palavra em vez do link enorme?

eu andei a pensar em como fazer um sistema de contagem de "distancias" (na verdade é de rotações) com os meus conhecimentos limitados

pensei usar uma coisa parecida como o que tenho na bicicleta mas acho que isso são os de efeito de hall ou que é mas não sei como funcionar com isso. mesmo que seja muito simples eu simplesmente não sei.

pensei então usar um sensor de linha. a roda seria branca ou preta e teria 8 riscas por rotação da cor oposta. (atenção que as riscas estariam no lado da roda)
 tou para arranjar este phototransistor: http://pt.rs-online.com/web/p/fototransistores/7082731/ (http://pt.rs-online.com/web/p/fototransistores/7082731/)
 e como vem muitos pensei usar este para isto apesar de ser analogico.

 vou usar este led ir: http://pt.rs-online.com/web/p/leds-ir/6548974/?searchTerm=SFH+4511&relevancy-data=636F3D3126696E3D4931384E4272616E644D504E266C753D7074266D6D3D6D61746368616C6C26706D3D5E285C772B5B2D5C2E5C732F5D292B285C772B293F2426706F3D3526736E3D592673743D4B4559574F52445F4D554C54495F414C5048415F4E554D45524943267573743D53464820343531312677633D4E4F4E4526 (http://pt.rs-online.com/web/p/leds-ir/6548974/?searchTerm=SFH+4511&relevancy-data=636F3D3126696E3D4931384E4272616E644D504E266C753D7074266D6D3D6D61746368616C6C26706D3D5E285C772B5B2D5C2E5C732F5D292B285C772B293F2426706F3D3526736E3D592673743D4B4559574F52445F4D554C54495F414C5048415F4E554D45524943267573743D53464820343531312677633D4E4F4E4526)
(credo o tamanho disso!)

como queria um sinal digital pensei usar um comparador em que o configurava usando uma resistencia variavel no pin de referencia.

este comparador iria mandar um sinal digital sempre que detectava a linha na roda. depois iria ter um contador no processador sempre que a linha era detectava. cada 8 seria uma rotação. cada linha seria 6cm na roda que tou para usar (provavelmente vou mudar que é má para o contrastes)

uso de mini processador:
talvez usa-se um mini processador que iria se ocupar da contagem para não ocupar o principal enquanto fazia o resto. talvez um attiny que o configurava com o arduino leonardo.

o arduino principal iria mandar um sinal analogico. que dependendo disso o attiny contar uma certa distancia e quando chega-se mandaria um sinal para o principal. estava a pensar usar interrupçoes. tipo quando recebe-se esse sinal independentemente do programa a correr ele iria para a proxima fase.

caso quise-se contar uma distancia que não sabia qual era e queria descobrir. funciona +- da mesma maneira mas o principal apenas manda o attiny começar a contar. quando o principal decidir apos um certo evento saber a distancia, manda um sinal para o attiny para parar e enviar os dados. este sinal para parar a contagem iria ser usando uma interrupção.


gostava de saber se isso pode ser feito. não tenho a certeza se os fototransistor consegue fazer bem essas leituras. são analogicos certo?

tambem não sem usar as interrupções nos processadores com que trabalhei nunca foi preciso

Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 17:38
vi o exemplo de roda que o Tr3s vai usar.

tem uma roda listrada, mais pequena no eixo do motor. o meu motor é um servo por isso só se fizer assim mesmo a roda. tinha de fazer umas.

outra opção é meter uma roda pequena no centro mas se for omnidirecional não vai dar para meter listrada.
como o meu robô anda so com 2 motores. a roda poderia deslizar e assim não contava bem
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: Hugu em 19 de Novembro de 2012, 19:35
pra onde queres usar o conta-rotaçoes? o mais simples de tudo é usar aqueles das bicicletas,  metes um iman na roda e um sensor de hall a contar cada vez k passa o iman pelo detector e assim contar rotaçoes...
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 19:38
mas como a roda é grande queria poder medir distancias menores que o perimetro inteiro da roda.

é mais tipo projecto. e uma forma de poder controlar o movimento mais exatamente do que com o tempo
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: rglove em 19 de Novembro de 2012, 19:49
Um rotary encoder serve... Tem x steps por volta, é só detectar com o microcontrolador quando um step foi dado e associar o nr de steps a uma distância.
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 19:55
nunca vi esse servo. e tambem não queria comprar uns

esquece...

so da para 1 volta completa?

era mais uma ideia usar os opticos para aproveitar os phototransistors que sobram. mas se calhar isso pode ser melhor

é uma coisa deste genero que estavas a falar? http://docs-europe.electrocomponents.com/webdocs/0f4c/0900766b80f4c220.pdf (http://docs-europe.electrocomponents.com/webdocs/0f4c/0900766b80f4c220.pdf)
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: rglove em 19 de Novembro de 2012, 20:18
1 volta completa como?
Penso que sim... Para além de contares rotações também é possível saber o sentido de rotação.
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 20:22
se so vai "clicar" ao fim de uma rotação ou tem "cliques" por rotação?
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: rglove em 19 de Novembro de 2012, 20:37
Os "cliques" chamam-se steps. O encoder tem um nr de steps por volta.
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 20:47
fixe. hei-de pensar nessa opção

queria era aproveitar umas coisas e achei este modo mais interessante para construir
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: rglove em 19 de Novembro de 2012, 21:41
Os ratos têm rotary encoders... Desde que consigas dessoldar da placa, já arranjas alguns se tiveres ratos estragados por aí...
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 19 de Novembro de 2012, 21:49
ratos estragados ha muitos ca. isso é nos opticos ou nos antigos de bolinha?
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: rglove em 19 de Novembro de 2012, 22:17
É nos que tiverem scroll ;)
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: c3dr1c em 20 de Novembro de 2012, 00:29
Se quiseres encoders magneticos, em que metes um iman no centro da roda e o enconder a frente, tens a austriamicrosystem's que oferece samples. Eu mandei vir uns para a cnc, 3 imanes e 3 enconders.

Depois o enconder calcula-te o angulo de rotação do iman. Com o angulo e o raio, calculas a distancia.

Tens enconder's de 10bits que te oferecem 1024 steps :D

E têm comunicação analogica, Ic2/SPI (ou la como se chamava... :P), entre outras...


http://lusorobotica.com/index.php?topic=4371.60 (http://lusorobotica.com/index.php?topic=4371.60)
http://lusorobotica.com/index.php?topic=4371.165 (http://lusorobotica.com/index.php?topic=4371.165)
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 20 de Novembro de 2012, 17:33
entao tas a falar de um enconder como nos ratos so que sem contacto. onde se mete um iman no centro de rotação.

os motores não iram interferir com eles?

calcula como o angulo de rotação do iman? não entendo bem. ve a velocidade do iman tipo em radianos/sec?

este tras logo o iman?
http://www.ams.com/eng/Products/Magnetic-Position-Sensors/Magnetic-Rotary-Position-Sensors/AS5030 (http://www.ams.com/eng/Products/Magnetic-Position-Sensors/Magnetic-Rotary-Position-Sensors/AS5030)

eu nao sei como hei-de pedir amostras dessas coisas. pedem sempre companhia
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: c3dr1c em 20 de Novembro de 2012, 20:51
Nao tras o iman, tens de ir ao sitio do iman (existe um iman recomendado para esse enconder) e pedires tb samples.

Pois geralmente é preciso um email nao pessoal.


Tens de ver se este tipo de encoder se adapta à tua aplicação. No meu caso como ia meter o iman na ponta dum veio, nao ha problema. Com o motor nao sei.


O iman tem um lado norte e um lado sul. O enconder atravez desses campos magneticos detecta quantos graus o iman rodou.

Esse enconder é de 8bits so te dá 256 steps... Um de 10bits da-te 1024 steps...
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: LuísR.A. em 20 de Novembro de 2012, 21:08
256 ja é muito bom. para mim deve dar para o uso que quero. se conseguir fazer isso da sample talvez o arranje
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: c3dr1c em 20 de Novembro de 2012, 21:15
256 ja é muito bom. para mim deve dar para o uso que quero. se conseguir fazer isso da sample talvez o arranje

Sim, sim, so estava a referir isso porque tanto podes pedir um de 8bits como um de 10bits...
Título: Re: criar um simples (talvez?) contador de rotações
Enviado por: patinhofeio em 22 de Novembro de 2012, 21:50
Boas,
Complementando o que o c3dr1c disse, podes pedir o de 10 bit e depois usar só os 8 menos significativos.
Se no futuro quiseres mais resolução passas a usar os 10 bits.
OFFTOPIC: Tenho de analisar bem esses encoders. Se me servirem tento pedir também amostras.:)