Bom dia. Necessito de algumas dicas para o controle de posição de um motor de passo. Eu desenvolvi um drive baseado no CI da Toshiba TB6600HG e agora estou tentando realizar controles básicos de posição. A minha dúvida é: Como posso fazer uma contagem ou algo do tipo utilizando o módulo CCP do PIC? Eu li algumas coisas sobre utilizar alguns registradores do Timer mas ficou confusa a ideia para min. Desde já agradeço amigos. Abraço!

Exibições: 633

Responder esta

Respostas a este tópico

Oi FB, bom dia.

Vou usar o PIC16F628A como referencia, mas esta informação vale para vários outros modelos

da família PIC.

No PIC, o CCP (CAPTURE/COMPARE/PWM) tem três funções.

Capturar, Comparar e PWM (Pulse Width Modulation).

No modo capture, o valor dos Regs TMR1H e TMR1L são salvos em CCPR1H e CCPR1L,

toda vez que o prescaler "estourar".

O prescaler é definido pelo programador e incrementa com pulsos vindo pelo RB3.

No modo compare, você coloca um valor em CCPR1H e CCPR1L, e quando este valor for igual à 

TMR1H e TMR1L, um interrupt ocorre e também RB3 vai pra HIGH ou LOW, dependendo da

configuração de CCP1M.

No modo PWM  RB3 terá uma saída PWM de resolução de 10 bits no RB3, dependendo das

configurações que você fizer.

Rui

Obrigado pela resposta Rui

Então... eu uso um PIC 18F45K80 (importado pois minha aplicação requer várias saídas CCP diferentes) e já estava ciente destas três funções (Leio muito o data sheet hehe...). Tentando refinar minha pergunta... Se eu uso o modo PWM do CCP existe algum registrador que eu possa usar como base para um contador? 

PS: Eu uso o TIMER2

FB,

este seu projeto é "confidencial" ou você pode mostra-lo?

Se não for confidencial, anexe aqui um arquivo com o code e com desenhos esquemáticos 

das ligações dos motores e botões.

Eu tive algumas idéias, mas não sei se aplicam ao seu projeto, pois não o conheço

em detalhes.

Rui

É confidencial... futuro produto da empresa então não posso mostrar detalhes técnicos porem, não é nada de mais... Uma placa de controle/potência e três driver para 3 motores. Botões e sensores servem para coisas normais.

Ok

Eu posso estar enganado, mas já estudei um bocado o TB6600HG. 

Para que vai precisar PWM com esse driver de motor de passo ? Como pretende fazer o uso do PWM?

Quem faz o controle de corrente (PWM) do motor é um circuito interno do chip.

https://toshiba.semicon-storage.com/info/docget.jsp?did=14683&p...

Também não entendi a sua questão... Estou gerando um pulso PWM para alimentar a entrada CLK do CI. E a minha lógica faz com que um sinal de 470 Hz do MCU se amplifique para algo em torno de 37 KHz que vai pro motor.

Ah bom , você quer usar somente para clock ! 

Achei que estava querendo usar a modulação na largura de pulso ( PWM) para controlar a corrente. 

Não entendi a sua colocação :

"um sinal de 470 Hz do MCU se amplifique para algo em torno de 37 KHz que vai pro motor."

Tenho três chips desse aqui em casa. Estão na minha lista de projetos. 

Tenho estudado motores de passo e seus drivers nesses ultimos anos.

Qualquer dúvida sobre esse assunto, pode perguntar. 

        https://jgamblog.wordpress.com/2016/09/24/tutorial-arduino-drv8825-...

Dúvidas sobre PIC , continuam sendo respondidas pelo amigo especialista RUI ! KKKK

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço