0 Membros e 1 Visitante estão vendo este tópico.
Hm... Esses pulsos são as fases dos motores já pronto ou possuem um padrão próprio que precisa ser convertido?É q tipo, estou pensando em controlar o motor de passo usando micro-passos e talvez, se conseguir, um controle de corrente para que estabilize o torque no máximo mesmo quando só 1 bobina fica energizada... Daí pegar diretamente do programa me limita um pouco (além de ser meio sem graça usar um pré-pronto hehehe)...Sobre os drivers, pensei em criar uma ponte H com MOSFETs e usar optos para isolar o circuito (se a frequencia máxima deles for suficiente)...Eu to cursando Eng. da computação na ufrgs, então minha idéia mesmo é aprender a fazer usando o menos possível de coisas prontas como os ULN2003 e tudo mais... Pretendo programar num PIC16F628A ou algo semelhante a sequencia de passos, botões de interface e sensores de segurança...Att.
Hmmmm... Entendi! Isso me ajuda um monte! ^^Então o q tenho q fazer é usar uma interrupção por evento no pic e a partir dele seguir uma sequencia qualquer (q seja funcional xD)...
O controle seria em tempo real sim... No caso é a mesma idéia de sempre pra controlar o motor de passo só que aumentando a resolução (usando micro-passos) e mantendo o torque constante...A idéia do micro-passo até entendi: entre cada ativação/desativação das bobinas, variar gradualmente a tensão fornecida para criar uma gama maior de diferenças de forças de atração pelas bobinas...
Só q a idéia do torque constante que não me liguei direito como implementar... No caso, o problema é que, se tenho uma sequencia half-step, tem horas q tenho duas bobinas energizadas e horas que tenho só uma... Qdo tiver 2, o torque resultante será maior que qdo tiver soh 1... Daí pra manter o torque constante, tenho q aumentar a energização qdo só uma bobina estiver ativa (em 2x para se equiparar a 2 bobinas ativas)... Só que não sei como fazer isso...
Sabe se tem algum dispositivo que aumentasse a corrente fornecida na malha para que eu possa fazer esse tipo de controle?Vlw a ajuda cara! ^^
Hmmmm.... O negócio do torque eu li nesse site (na parte sobre motor bipolar): Voce nao tem permissao p/ ver este link. Registre-se ou faca LoginTb achei estranho colocar a corrente acima da fornecida pelo datasheet como limite... Na real acho q nao vale a pena arriscar mesmo, no mínimo baixará a durabilidade do motor... Segundo o site dá pra aumentar uns 40% da corrente...
No negócio do micro-passo, no caso eu vario a corrente nas bobinas, mas quando o motor tiver mais carga de trabalho, ele não vai puxar mais corrente e eu não perderei essa variação gradual bem definida?
E como eu poderia controlar essa corrente? Existe algum dispositivo que varie a corrente de acordo com uma tensão? pra eu poder usar um PWM...
#include <pic.h>#define MAX_COMBINATIONS_FULL_STEP 4#define PERIOD_SEQUENCE_FULL_STEP 1000void Configure();void UpdateData(); char motor_sequence_full_step[MAX_COMBINATIONS_FULL_STEP] = {0b0001, 0b0010, 0b0100, 0b1000}; //1a/2b/1b/2a// int sequence = 0; int timer_count = 0; char motor_out = 0; void main(){ Configure(); while(1){ UpdateData(); }}void Configure(){ TRISC = 0; PORTC = 0; INTCON = 0b10100000; OPTION_REG = 0b00000000;}void UpdateData(){ PORTC = motor_out;}void interrupt isr(){ if(TMR0IF){ timer_count++; if(timer_count >= PERIOD_SEQUENCE_FULL_STEP){ timer_count = 0; motor_out = motor_sequence_full_step[sequence]; if(sequence >= MAX_COMBINATIONS_FULL_STEP-1) sequence = 0; else sequence++; } TMR0IF = 0; }}