collapse

* Posts Recentes

Como ver se uma tomada tem a terra ligada? por Hugu
[Ontem às 23:41]


VS-Solar Challenge 2018 por TigPT
[Ontem às 16:43]


Via Verde - Identificador por TigPT
[17 de Fevereiro de 2018, 09:56]


Estação de soldadura da Banggood, será boa compra ? por vasco
[16 de Fevereiro de 2018, 17:47]


Desenho PCBs 80's por senso
[16 de Fevereiro de 2018, 14:35]


Como guardar componentes SMD ? por vasco
[16 de Fevereiro de 2018, 14:34]


e-bike converter piscas para 12v por vasco
[15 de Fevereiro de 2018, 23:51]


Ebay - fornecedor em Espanha por SerraCabo
[15 de Fevereiro de 2018, 01:11]


BostonDynamics - Vai uma mãozinha? por TigPT
[14 de Fevereiro de 2018, 15:58]


Primeiro campeonato mundial de Ski robótico por TigPT
[14 de Fevereiro de 2018, 15:15]

Autor Tópico: 5 phases - stepper motor driver  (Lida 1190 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 847
5 phases - stepper motor driver
« em: 12 de Fevereiro de 2013, 22:00 »
Boas pessoal.

Decidi utilizar o meu motor de 5 phases num projecto futuro que tenho idealizado, mas nao encontro nenhum IC por ai à venda para o controlar.

Portanto decidi fazer o meu driver utilizando logica digital mas parece-me que  estou a ir por um caminho que envolve utilizar muitas portas logicas. Alguem me consegue dar uma ajuda para simplificar o circuito ou ir por outro caminho?

O circuito base é este:


Portanto preciso de 10 saida digitais do micro, mas como isso é so perder recursos quero reduzir para apenas 2 saidas (CLK, DIR). Então para half-step temos a sequencia na tabela abaixo. Como sao apenas 10 "estados" diferentes podemos simplificar/reduzir as saidas digitais para 4.


E aqui está o circuito. Dentro do rectangulo vermelho está a simplificação e dentro do verde um contador de 4 bits com clock sincrono, utilizando flip-flops JK. Mas este contador so conta numa direcção, tenho portanto de alterar o contador para poder inverter a direcção de contagem e criar uma condição para quando for 1001 fazer no "estado" seguinte clear, mas isso faço depois... Agora, será que dá para simplificar o circuito?
Outra coisa que me lembrei, será que devo acrecentar uma porta OR a cada AND de 3 entradas, para igualar os tempos de propagação?


Cumps
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

Online senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.459
  • Helpdesk do sitio
Re: 5 phases - stepper motor driver
« Responder #1 em: 12 de Fevereiro de 2013, 23:38 »
Usa um micro para tratar da lógica.
Avr fanboy

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 847
Re: 5 phases - stepper motor driver
« Responder #2 em: 13 de Fevereiro de 2013, 23:21 »
Pois realmente é a melhor solução e aproveito e treino mais um pouco de avr-gcc...

Mas nao sei por onde começar, alguem me da uma dica? Bem tambem ainda nao meti a cabeça a pensar...


Preciso de 3 input's: CLK, DIR, EN
Preciso de 10 output's: A, B, C, D, E, F, G, H, I, e J
Basicamente tenho uma sequência de "ligar/desligar os output's" a cumprir, que tanto pode decorrer em ambos os sentidos. A sequência avança para a "linha de estados" seguinte sempre que o CLK muda do estado 0 para 1. Caso DIR=0 -> CW, caso DIR=1 -> CCW

A minha primeira impressão é criar a sequencia, mas como faço isso? Crio várias linhas em que cada linha liga e desliga os output's? Faço um contador e trabalho a partir dele? Tou mesmo à nora.

Se fosse labview criava um contador decimal de numeros inteiros e sempre que o numero actual do contador for divisivel por 2 liga um output. Assim ja conseguia ligar e desligar o output uma vez sim, outra vez nao, outra vez sim, etc... Basta alterar o numero por qual é divisivel para definir a frequencia com que se liga o output. Mas isto nao é labview :P


"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

Online senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.459
  • Helpdesk do sitio
Re: 5 phases - stepper motor driver
« Responder #3 em: 13 de Fevereiro de 2013, 23:24 »
E podes fazer precisamente o mesmo em C.
Ou fazes uma máquina de estados com switch/case, ou com um monte de if's ou arrays a fazer de look up tables.
Avr fanboy

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 847
Re: 5 phases - stepper motor driver
« Responder #4 em: 16 de Fevereiro de 2013, 14:29 »
Será algo deste genero o ponto de partida?

"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke