Sommario:

Esperimenti PWM del motore CC casuale + Risoluzione dei problemi dell'encoder: 4 passaggi
Esperimenti PWM del motore CC casuale + Risoluzione dei problemi dell'encoder: 4 passaggi

Video: Esperimenti PWM del motore CC casuale + Risoluzione dei problemi dell'encoder: 4 passaggi

Video: Esperimenti PWM del motore CC casuale + Risoluzione dei problemi dell'encoder: 4 passaggi
Video: 0673: Oscilloscopio Fai da Te con STM32F429ZI con Mbed 2024, Dicembre
Anonim
Esperimenti PWM del motore CC casuale + risoluzione dei problemi dell'encoder
Esperimenti PWM del motore CC casuale + risoluzione dei problemi dell'encoder

Ci sono spesso momenti in cui la spazzatura di qualcuno è il tesoro di un altro, e questo è stato uno di quei momenti per me.

Se mi stai seguendo, probabilmente sai che ho intrapreso un enorme progetto per creare la mia stampante 3D CNC da rottami. Quei pezzi sono stati realizzati con parti di vecchie stampanti e vari motori passo-passo.

Questo carrello della stampante proviene da una stampante a matrice di punti Texas Instruments degli anni '80. Purtroppo non ricordo quale fosse il modello ma ho il numero del motore, 994206-0001. Questo motore DC è dotato anche di un encoder, che sarebbe utile per le applicazioni moderne. Nella fretta di recuperare questo assieme, l'ho solo rimosso e ho scattato una foto di dove era collegato.

In questo Instructable, cercherò di vedere se il motore e l'encoder funzionano effettivamente e a cosa servono i pin-out.

Forniture:

Motore DC con Encoder

Arduino UNO, NANO

L298N Ponte ad H

Convertitore buck CC

Alimentatore in grado di supportare le tensioni associate di cui potresti aver bisogno (un vecchio PC ATX potrebbe essere un'opzione praticabile)

Cavi

PC con Arduino IDE

Multimetro

Taccuino!!

Passaggio 1: una rapida occhiata all'assemblea

Un rapido sguardo all'assemblea
Un rapido sguardo all'assemblea
Un rapido sguardo all'assemblea
Un rapido sguardo all'assemblea
Un rapido sguardo all'assemblea
Un rapido sguardo all'assemblea

La figura 1 mostra la metà principale del carrello. Era dotato del gruppo, del motore con l'encoder e dei binari per l'alimentazione della vecchia carta a matrice di punti. Ho rimosso le tracce e parte del gruppo inferiore. Il pezzo inferiore che ho rimosso era la barra di supporto in acciaio, che era piuttosto pesante, in realtà (non sembrano farli così al giorno d'oggi).

La figura due mostra dove J8 (il connettore dell'encoder) e J6 (il connettore del motore) sono stati rimossi dalla scheda di controllo. Ne ho scattato una foto per istruirmi sulle tracce e sui circuiti integrati della "scheda madre".

Nelle immagini 3 e 4, puoi vedere rispettivamente i connettori del motore e dell'encoder.

Dopo aver mappato le tracce sull'encoder e aver riprodotto lo schema, sono stato in grado di produrre il mio diagramma che avrei potuto avere prontamente disponibile. Il pin out dell'encoder è stata la cosa più importante da determinare per me ed è il fulcro di questa guida per la risoluzione dei problemi. Lo vedremo nella prossima sezione.

Passaggio 2: comprensione del pin-out dell'encoder

Comprensione del pin-out dell'encoder
Comprensione del pin-out dell'encoder
Comprensione del pin-out dell'encoder
Comprensione del pin-out dell'encoder
Comprensione del pin-out dell'encoder
Comprensione del pin-out dell'encoder

Ora devo capire qual è il pin-out sull'encoder. Ho contrassegnato arbitrariamente i pin da 1 a 8 e li descrivo nell'ultima foto. Quello che ipotizzo, guardando la scheda di controllo e le tracce sull'encoder stesso, è che i pin 1 e 6 siano massa e 5 sia Vcc (potenza, 5V). La connessione per 2 è soppressa, quindi è inutile e 3, 4, 7 e 8 sono le uscite per l'array di diodi. ATTENZIONE: sto facendo un'ipotesi audace con il mio test! Ho collegato terra a terra sulla mia fonte di alimentazione, ma poi collego 5 V direttamente all'encoder. A partire da un valore così alto, una tensione potrebbe effettivamente distruggere il tuo encoder se non sai quale sia la tensione di cui ha bisogno (come non lo sapevo). Quindi potresti voler iniziare con una tensione più bassa come 3,3 V. Dopo aver collegato la mia fonte di alimentazione da 5 V al pin 5 dell'encoder e la messa a terra al pin 1, metto la massa del multimetro al pin 1 e al pin 5 per assicurarmi che l'alimentazione sia presente, foto 2. Quindi comincio a testare il pin 3, che è quello che pensavo fosse uno degli array di fotodiodi, foto 3-5. Come puoi vedere i cicli di tensione da vicino a 0 V a vicino a 5 V mentre faccio girare l'albero del motore. Questo era un buon segno per dimostrare che la mia ipotesi era corretta! Ho fatto lo stesso per i pin 4, 7 e 8 e ho ottenuto gli stessi risultati. Quindi ora ho determinato quali sono i pin di uscita per il mio codificatore.

Potresti fare lo stesso con qualsiasi sensore ottico che estrai da una stampante da cui potresti recuperare parti poiché la maggior parte non viene fornita con connettori a 8 pin. Per le moderne stampanti domestiche, sembrano essere di tipo a 3 o 4 pin. HomoFaciens ha un fantastico video di YouTube su come determinare un pin out sconosciuto per i sensori ottici.

Passaggio 3: semplice schizzo Arduino per spostare il motore avanti e indietro

Schizzo Arduino semplice per spostare il motore avanti e indietro
Schizzo Arduino semplice per spostare il motore avanti e indietro
Schizzo Arduino semplice per spostare il motore avanti e indietro
Schizzo Arduino semplice per spostare il motore avanti e indietro
Semplice schizzo Arduino per spostare il motore avanti e indietro
Semplice schizzo Arduino per spostare il motore avanti e indietro

Ora che ho i dati per l'encoder del motore, è il momento di vedere come funzionerà il motore stesso. Per fare ciò, ho scritto uno schizzo molto semplice per Arduino, immagini 3 - 5. Definisco il mio input per la modulazione di larghezza di impulso dall'L298N come 'enB.' Per i pin 3 e 4, l'ho impostato per consentire al motore di scambiare le direzioni, se necessario. Questo sarà

A. Accendi il motore

B. Muoviti in una direzione per 2 secondi

C. Cambia direzione per 2 secondi e

D. Ripeti

Voglio solo testare la configurazione e la funzionalità e questo ha avuto successo (dopo aver cambiato l'impulso da 50 a 100, vedi foto sopra).

Lo schizzo successivo aumenta l'accelerazione, foto 6 - 8. Inizio PWM da 100 (come determinato dalla prima esecuzione dello schizzo) e accelero a 255. Questo

A. Accelerare il pin 3 (direzione CW) da 100 a 255 su PWM per 0,1 secondi

B. Decelerare da 255 a 100 per 0,1 secondi

C. Inverti direzione, pin 4 (CCW)

D. Accelera/Decelera, come il pin 3

E. Ripeti

Questo processo è (più o meno) visto nell'ultima foto, ma fai riferimento al video per una migliore visuale.

Questi schizzi di base possono essere adattati anche al tuo motore CC. Credo che molte persone usino questo tipo di schizzo per controllare i robot o qualche altro tipo di apparato di rotolamento. Volevo solo verificare il funzionamento e capire meglio se questo motore funzionerà o meno.

Passaggio 4: considerazioni finali (per ora)

Qui è dove direi che la Fase 1 è completa.

So che l'encoder funziona e il motore funzionerà con PWM su Arduino.

La prossima cosa per la mia applicazione definitiva sarebbe:

1. Determinare l'impulso per giro (PPR) dell'encoder per il suo percorso A e B, in alto e in basso. Sono sicuro che ci sia uno schizzo da qualche parte in cui potrei eseguire il mio PWM insieme a un contatore per gli impulsi dell'encoder, CW e CCW, ma devo ancora trovarne uno. (Qualsiasi commento su dove trovare uno sketch Arduino sarà molto apprezzato!)

2. Determinare come far funzionare questo motore/encoder CC su GRBL e calibrare inevitabilmente gli assi. (Ancora una volta, per favore commenta se conosci da qualche parte) Vorrei farlo con un laptop Microsoft. Ne ho trovati alcuni usando Linux ma questo non mi aiuta.

3. Progettare la macchina in modo che funzioni come parte di un intero CNC.

Qualsiasi pensiero per questo obiettivo è sicuramente consigliato se desideri lasciarli nella sezione commenti. Grazie per la ricerca e spero che questo aiuti/ispiri qualcuno.

Consigliato: