Sommario:

Modulo Arduino Resolver: 4 passaggi
Modulo Arduino Resolver: 4 passaggi

Video: Modulo Arduino Resolver: 4 passaggi

Video: Modulo Arduino Resolver: 4 passaggi
Video: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, Dicembre
Anonim
Modulo risolutore Arduino
Modulo risolutore Arduino

Tinee9 è tornato con un nuovo modulo. Questo modulo è chiamato modulo Resolver.

Nel mondo del controllo motori esistono vari tipi o metodi di rilevamento della posizione. Questi metodi includono sensori Hall, sensori XY, resolver, RVDT, LVDT, direttori di campo, potenziometro, ecc. A seconda di come sono impostati ciascuno di questi sensori, puoi persino determinare la tua posizione assoluta senza nemmeno dover salvare l'ultima posizione in memoria.

Il modulo che sto utilizzando può essere utilizzato per demodulare un RVDT, LVDT e Resolver, ma per lo scopo di oggi demodula un resolver.

Comprensione tecnica: livello esperto

Tutorial Plug and Play: Livello Intermedio

Forniture

1: Arduino Nano

2: Modulo risolutore

3: Tagliere di pane

4: Batteria da 9,0 Volt o NScope

5: Risolutore

6: 10x fili per ponticelli per breadboard

Passaggio 1: modulo risolutore

Modulo risolutore
Modulo risolutore

Ci sono un paio di cose che puoi fare con un resolver, puoi demodulare un motore per la commutazione del motore, puoi ottenere la posizione assoluta se non superi il punto zero e puoi recuperare la velocità da un motore.

Dove li ho visti usati di più è nelle applicazioni aerospaziali di alettoni, timoni, pinne di missili o controllo della telecamera.

Tendono ad essere un po' più costosi di un sensore pentola o hall, ma ti danno una risoluzione incredibile.

Passaggio 2: configurazione

Impostare
Impostare
Impostare
Impostare
Impostare
Impostare
Impostare
Impostare

1: Per prima cosa dovrai posizionare il tuo arduino nano su una breadboard

2: è necessario collegare il pin 5V su Arduino al pin +3V3 e il pin 5V sul modulo resolver (il modulo può avere un'alimentazione di 3,3 V mentre fornisce un'eccitazione di 5 V sul resolver)

3: Collega RTN su Arduino a RTN su Resolver Module

4: Collega il D9 su Arduino al PWM sul modulo Resolver

5: Collega A0 su Arduino a MCU_COS+ sul modulo Resolver

6: Collega A1 su Arduino a MCU_SIN+ sul modulo Resolver

7: Collegare il cavo Resolver EX+ a EX+ sul modulo Resolver

8: Collegare il cavo Resolver EX- a EX- sul modulo Resolver

9: Collegare il cavo COS+ del Resolver a COS+ sul Modulo Resolver

10: Collegare i 2 fili RCOM del Resolver a RCOM sul Modulo Resolver

11: Collegare il cavo SIN+ del Resolver a SIN+ sul Modulo Resolver

12: Collegare la batteria da 9 V a RTN (-) e VIN (+)

13: Oppure collegare Nscope +5V a 5V Pin su Arduino e RTN su Nscope su RTN su Arduino

14: Collegare Scope a USB su PC

15: Collega Arduino a USB su PC

Passaggio 3: caricare il codice

Carica il codice
Carica il codice
Carica il codice
Carica il codice

Copia incolla il codice Arduino qui sotto nel tuo schizzo nell'IDE Arduino

Ciò che questo codice farà è andare a PWM il modulo Resolver. Quel modulo ecciterà il resolver e produrrà un'onda quadra sulle bobine secondarie del resolver. I segnali che escono da Sin+ e Cos+ vengono quindi inviati a un OPAMP che centrerà l'onda e ridurrà l'uscita in modo che vada tra 0-5Volt.

Sin+ e Cos+ sono come significano. Il Sin è sfasato di 90 gradi rispetto all'onda Cos.

Poiché sono sfasati di 90 gradi, è necessario utilizzare la funzione Atan2 (Cos, Sin) per ottenere la corretta coordinata della posizione del resolver.

Quindi Arduino sputerà, dopo aver ottenuto 4 campioni, un valore compreso tra -3,14 e 3,14 che rappresentano rispettivamente -180 gradi e +180 gradi. Questo è il motivo per cui se si desidera utilizzare il resolver per la posizione assoluta è necessario utilizzare solo tra -180 e 180 senza rotazione eccessiva, altrimenti si ribalta e si pensa di essere tornati all'inizio o alla fine della corsa dell'attuatore. Questo sarebbe un problema se si decidesse di utilizzare un resolver per l'asse x o y di una stampante 3D e si capovolgesse causando il malfunzionamento della stampante 3D.

Avrei potuto migliorare un po' il codice con gli interrupt per avere un PWMing più continuo, ma questo sarà sufficiente per questa applicazione.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; uscita galleggiante = 0,00; int sin1 = 0; int cos1 = 0; int stato_posizione = 1; int get_position = 0; void setup() { // inserisci qui il tuo codice di setup, da eseguire una volta: pinMode(pwm, OUTPUT); Serial.begin(115200); }

ciclo vuoto() {

if(get_position=5){ cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); uscita = atan2(cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print("Posizione: "); Serial.println(output); get_position = 1; }

// inserisci qui il tuo codice principale, da eseguire ripetutamente:

}

Passaggio 4: Passaggio 3: Divertiti

Passaggio 3: divertiti
Passaggio 3: divertiti
Passaggio 3: divertiti
Passaggio 3: divertiti

Divertiti a ruotare il resolver e impara come funziona il resolver e quali applicazioni potresti utilizzare con questo modulo resolver.

Consigliato: