Ola pessoal, estou devolta para contar novidades so meu projeto, adiquiri o motor de passo nema34 kltc de 13nm. Fuso e castanha 16x10. Estou terminando a mecanica do conjunto com chapas, rolamentos lineares para deixar o conjunto com 10cm de deslocamento possivel.
Sendo assim vou passar algumas informacoes, sobre cada atuador linear vou ter uma carga estatica de 50kg. Com a movimentacao pra cima e pra baixo estimo q possa chegar a 100kg. Fiz uma estimativa que esse meu conjunto aguentaria ate 350kg de torque estatico, corro o risco do motor perder passo devido a esse peso nele de aproximadamente 30%???
Mais um dados para a proxima pergunta, como o deslocamento eh de 10cm e cada rotacao do motor desloca 1cm serao 10revolucoes a 200 passos ( trabalhando com passo cheio, esse eh oque gera o maior torque?? Pois eh oque preciso para mudacas rapidas de direcao) total de 2000 passos. Ao ligar o sistema, o software q ja me informei manda informacoea de 0a1024, q com um mapeamento vpu transformar de 0a2000passos. Assim ao ligar o jogo manda a informacao de 512 e meu motor deve girar 1000 passos e subir 5cm. Correto? O jogo manda informacoes de 0a1024 a cada 10ou50milisegundos oq vai ter muita variacao de direcao em 1 segundo, caso eu uso 50ms por output do jogo. Serao 20 informacoes de passos para o motor seguir em 1 segundo.
Minha outra duvida eh referente a programacao/mecanica, n sei se aqui seria o local correto para a pergunta, como quero usar o maior torque quando solicitado e ir ganhando veloxidade ate o torque solicitado. Usar o passo cheio e tava pensando em usar a programacao em arduino de, caso alguem tenha um suagestao de trabalho de passo, meio passo, 1/4 passo para.maior torque?
actuatorPositionMAP = (actuatorPosition,0,1023,stepMin,stepMax);
if (actuatorPositionMAP > stepcount){
digitalWrite(DIR,HIGH);
digitalWrite(PUL,HIGH);
delayMicroseconds(1);
digitalWrite(PUL,LOW);
delayMicroseconds(1);
stepcount ++;
}
if (actuatorPositionMAP < Stepcount){
digitalWrite(DIR,LOW);
digitalWrite(PUL,HIGH);
delayMicroseconds(1);
digitalWrite(PUL,LOW);
delayMicroseconds(1);
stepcount --;
}