Índice:

Módulo Arduino Resolver: 4 etapas
Módulo Arduino Resolver: 4 etapas

Vídeo: Módulo Arduino Resolver: 4 etapas

Vídeo: Módulo Arduino Resolver: 4 etapas
Vídeo: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, Julho
Anonim
Módulo Arduino Resolver
Módulo Arduino Resolver

Tinee9 está de volta com um novo módulo. Este módulo é denominado módulo Resolver.

No mundo do controle de motores, existem vários tipos ou métodos de detecção de posição. Esses métodos incluem sensores hall, sensores XY, resolver, RVDT, LVDT, diretores de campo, potenciômetro, etc. Dependendo de como cada um desses sensores são configurados, você pode até determinar sua posição absoluta sem ter que salvar a última posição na memória.

O módulo que estou usando pode ser usado para demodular um RVDT, LVDT e Resolver, mas para o propósito de hoje, será demodular um resolver.

Compreensão Técnica: Nível de Especialista

Tutorial Plug and Play: Nível Intermediário

Suprimentos

1: Arduino Nano

2: Módulo Resolver

3: Tábua de Pão

4: bateria de 9,0 volts ou NScope

5: Resolvedor

6: 10x Fios de ligação da placa de pão

Etapa 1: Módulo de resolução

Módulo Resolvedor
Módulo Resolvedor

Há algumas coisas que você pode fazer com um resolver, você pode demodular um motor para a comutação do motor, pode obter a posição absoluta se não passar do ponto nulo e pode recuperar a velocidade de um motor.

Eu os vi mais usados em aplicações aeroespaciais de aileron, leme, nadadeira de mísseis ou controle de câmera.

Eles tendem a ser um pouco mais caros do que um potenciômetro ou sensor Hall, mas oferecem uma resolução incrível.

Etapa 2: configuração

Configurar
Configurar
Configurar
Configurar
Configurar
Configurar
Configurar
Configurar

1: Primeiro, você precisará colocar seu arduino nano em uma placa de ensaio

2: você precisa conectar o pino de 5 V no Arduino ao pino de + 3 V 3 e o pino de 5 V no módulo resolvedor (o módulo pode ter uma alimentação de 3,3 V enquanto fornece uma excitação de 5 V no resolver)

3: Conecte o RTN no Arduino ao RTN no Módulo Resolver

4: Conecte o D9 no Arduino ao PWM no Módulo Resolver

5: Conecte A0 no Arduino a MCU_COS + no Módulo Resolver

6: Conecte A1 no Arduino a MCU_SIN + no Módulo Resolver

7: Conecte o fio Resolver EX + a EX + no Módulo Resolver

8: Conecte o Resolver EX- fio a EX- no Módulo Resolver

9: Conecte o fio Resolver COS + ao COS + no Módulo Resolver

10: Conecte os 2 fios RCOM do Resolver ao RCOM no Módulo Resolver

11: Conecte o fio Resolver SIN + ao SIN + no Módulo Resolver

12: Conecte a bateria de 9 V ao RTN (-) e ao VIN (+)

13: Ou conecte Nscope + 5V a 5V Pin no Arduino e RTN no Nscope para RTN no Arduino

14: Conecte o escopo ao USB no PC

15: Conecte o Arduino ao USB no PC

Etapa 3: carregue o código

Carregue o código
Carregue o código
Carregue o código
Carregue o código

Copie e cole o código do Arduino abaixo em seu Sketch no IDE do Arduino

O que esse código fará é usar o PWM no Módulo Resolver. Esse módulo excitará o resolver e produzirá uma onda quadrada nas bobinas secundárias do resolver. Os sinais que saem de Sin + e Cos + são então alimentados para um OPAMP que centralizará a onda e reduzirá a saída para que fique entre 0-5Volts.

Sin + e Cos + são o que significam. O Sin está 90 graus defasado com a onda Cos.

Como eles estão 90 graus fora de fase, precisamos usar a função Atan2 (Cos, Sin) para obter a coordenada correta da posição do resolver.

Em seguida, o Arduino cuspirá, após obter 4 amostras, um valor entre -3,14 e 3,14, que representam -180 graus e +180 graus, respectivamente. É por isso que se você quiser usar o resolver para a posição absoluta, você deve usar apenas entre -180 e 180 sem rotação excessiva ou então você vai rolar e pensar que está de volta ao início ou ao final do curso do atuador. Isso seria um problema se você decidisse usar um resolvedor para os eixos x ou y de uma impressora 3D e rolasse causando uma bagunça na impressora 3D.

Eu poderia ter feito o código um pouco melhor com interrupções para ter um PWMing mais contínuo, mas isso será suficiente para este aplicativo.int A = A0;

int B = A1; int pwm = 9; int c1 = 0; int c2 = 0; int c3 = 0; int c4 = 0; int c5 = 0; int c6 = 0; int s1 = 0; int s2 = 0; int s3 = 0; int s4 = 0; int s5 = 0; int s6 = 0; saída flutuante = 0,00; int sin1 = 0; int cos1 = 0; posição_estado int = 1; int get_position = 0; void setup () {// coloque seu código de configuração aqui, para executar uma vez: pinMode (pwm, OUTPUT); Serial.begin (115200); }

void loop () {

if (get_position = 5) {cos1 = (c1 + c2) - (c3 + c4); sen1 = (s1 + s2) - (s3 + s4); saída = atan2 (cos1, sen1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Posição:"); Serial.println (saída); get_position = 1; }

// coloque seu código principal aqui, para executar repetidamente:

}

Etapa 4: Etapa 3: Divirta-se

Etapa 3: Divirta-se
Etapa 3: Divirta-se
Etapa 3: Divirta-se
Etapa 3: Divirta-se

Divirta-se girando o resolvedor e aprendendo como ele funciona e quais aplicativos você pode usar este módulo de resolvedor.

Recomendado: