Sommario:

Motore a velocità variabile controllato in serie: 6 fasi
Motore a velocità variabile controllato in serie: 6 fasi

Video: Motore a velocità variabile controllato in serie: 6 fasi

Video: Motore a velocità variabile controllato in serie: 6 fasi
Video: Regolazione di velocità di un motore asincrono trifase tramite inverter 2024, Luglio
Anonim
Motore a velocità variabile controllato in serie
Motore a velocità variabile controllato in serie

Controlla la velocità di un piccolo motore CC con nient'altro che la porta seriale sul tuo computer, un singolo MOSFET e alcuni software banali. (Il MOSFET e la porta seriale costituiscono il "controllo di velocità"; avrai comunque bisogno di un motore e di un alimentatore appropriato per quel motore; mentre la porta seriale può fornire la tensione per accendere e spegnere un mosfet, può t fornire la corrente necessaria a un motore tipico.)

Passaggio 1: guarda il circuito

Guarda il Circuito
Guarda il Circuito

Effettueremo la modulazione dell'ampiezza dell'impulso utilizzando un MOSFET di potenza a canale N generico collegato al pin dati di trasmissione dalla porta rs232 del computer. Quando la porta seriale è inattiva, il pin siederà allo stato "1", che nel momento in cui viene tradotto in rs232, è qualcosa come -12V (a seconda dei driver, potrebbe essere più vicino a -9V o -5V), e il transistor sarà abbastanza spento. Quando trasmettiamo bit "0" sulla porta seriale, il pin rs232 andrà a +12V o giù di lì, il che è sufficiente per accendere la maggior parte dei mosfet abbastanza bene.

Se trasmettiamo molti "0" bis consecutivi, il motore sarà quasi completamente ON e il motore funzionerà velocemente. Se trasmettiamo principalmente bit "1", il motore funzionerà più lentamente.

Passaggio 2: collegalo

Collegalo
Collegalo

Poiché c'è solo un singolo componente e solo poche connessioni, puoi semplicemente aggiungere fili "a mano libera".

I MOSFET sono sensibili all'elettricità statica, quindi fai un po' di attenzione, ma molto poco è critico.

Passaggio 3: impostare i file con i valori PWM

Imposta file con valori PWM
Imposta file con valori PWM

Un modo per controllare il motore senza dover scrivere NESSUN software è preparare alcuni file contenenti byte appropriati (con più o meno 0 bit), e semplicemente COPIArli sulla porta COM a cui è collegato il motore. Ho preparato diversi file (usando emacs, ma qualunque cosa funzioni per te va bene):

  • 0.pwm:: contiene 5000 caratteri NULL (spazio di controllo sulla maggior parte delle tastiere)[br] Questo è quanto di più vicino alla "velocità massima" che saremo in grado di ottenere con questa tecnica.
  • 1.pwm:: contiene 5000 caratteri control-A (ascii 01) (un bit "1" per carattere)
  • 3.pwm:: contiene 5000 caratteri control-C (ascii 03) (due bit "1" per carattere)
  • 7.pwm:: contiene 5000 caratteri control-G (ascii 07) (tre "1" bit per carattere)
  • 15.pwm:: contiene 5000 caratteri control-O (ascii 15) (quattro "1" bit per carattere)
  • 31.pwm:: contiene 5000 control-_ caratteri (ascii 31) (cinque "1" bit per carattere)
  • 63.pwm:: contiene 5000 "?" caratteri (ascii 63) (sei "1" bit per carattere)
  • 127.pwm:: contiene 5000 caratteri DEL (ascii 127) (sette "1" bit per carattere)

(Ora che ho disegnato le immagini, noterai che i modelli di bit effettivi non sono ideali. Dal momento che la seriale rs232 trasmette prima LSB, vogliamo davvero spostare gli zeri anziché gli uno. Un esercizio per lo studente!)

Passaggio 4: Gioca con DOS: configura la tua porta COM e copia i file

Gioca con DOS: configura la tua porta COM e copia i file
Gioca con DOS: configura la tua porta COM e copia i file

9600 bps è un bitrate comune. Corrisponde bene a "circa" un byte per millisecondo, quindi in questo caso corrisponde a una frequenza PWM di 1000Hz, che penso dovrebbe andare bene per motori piccoli. Puoi sperimentare diversi bit rate per vedere come funzionano le cose, che è uno dei vantaggi di questo metodo. Crea una finestra DOS (o "Prompt dei comandi") (supponendo che tu stia utilizzando un sistema operativo Windows) e configura la tua porta com come:mode com1: 9600, n, 7, 1"Questo indica alla porta di comunicazione di funzionare a 9600bps e di inviare 7 bit in ciascun carattere (per corrispondere alle nostre 7 diverse lunghezze di bit.) La "n" significa NESSUNA parità, quindi quelli saranno gli unici bit di dati. L'"1" significa che ci sarà un bit di "stop", che ci impedirà di accendere completamente il motore (vabbè.)Quindi ora puoi accendere il motore con i comandi like:copy 0.pwm com1:Dato che stiamo inviando 5000 caratteri a circa 1 al millisecondo, il motore dovrebbe accendersi quasi alla massima velocità per circa 5 secondi. Se vuoi meno di 5 secondi, crea un file più breve. Allo stesso modo, puoi fare:copia 127.pwm com1:per far funzionare il motore alla velocità più bassa possibile. Con la configurazione che ho avuto, il motore non girerebbe affatto con qualcosa di "più lento" di 31.pwm, ma YMMV (penso k Avevo un motore a 12 V che funzionava con 5 V di batterie.) Il comando COPY ti consente di mettere insieme i file, quindi se vuoi che il tuo motore acceleri e poi rallenti di nuovo, puoi fare qualcosa del tipo: copia 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

Passaggio 5: controllare il motore da un programma

Controllare il motore da un programma
Controllare il motore da un programma

Se stai scrivendo un programma, puoi probabilmente aprire COM1: come file e semplicemente scriverci come se fosse un qualsiasi altro file. Poter cronometrare i periodi in cui il motore è acceso emettendo un determinato numero di caratteri sembrerebbe molto utile. Non dimenticare che il sistema è molto probabile che bufferizzi i caratteri che invii alla porta seriale, quindi solo perché una chiamata WRITE ritorna non significa che il motore ha finito di fare ciò che gli hai detto. Dal momento che non facciamo nulla di "fantasioso" con i segnali della porta com, non dovresti indagare sulle opzioni arcane che potrebbe supportare. (sebbene, se riesci a capire come inviare una sequenza BREAK alla porta com, questo è uno stato "0" continuo e guiderà il motore TUTTO; più che inviare caratteri 0 continui.)

Se il tuo linguaggio di programmazione non ti consente di eseguire l'output su COM1:, potresti comunque essere in grado di controllare il motore "chiamando" DOS per eseguire i comandi di copia. (OK. Ho scaricato Visual Basic Express 2005 di Microsoft (che è gratuito) e sono riuscito a collegare una barra di scorrimento orizzontale alla velocità del motore, controllata tramite la porta seriale. zip allegato. Probabilmente ha più del necessario per duplicare il programma sul tuo sistema, ma non sono riuscito a capire esattamente quali bit erano necessari. Il programma è sia semplificato che reso più difficile da capire (scusate) essendo multi-thread. Un thread non fa altro che inviare alla porta seriale e il il thread principale legge la barra di scorrimento e aggiorna le informazioni utilizzate dal thread seriale.)

Passaggio 6: sperimenta

Sperimentare!
Sperimentare!

Se le cose funzionano fondamentalmente, questo fornisce un enorme spazio per la sperimentazione.

  • Correggi i miei schemi di bit!
  • Il bitrate conta molto?
  • Devi controllare l'ampiezza degli impulsi "on" e "off" o è sufficiente controllarne il rapporto?
  • Se devi solo controllare il rapporto, puoi prendere in considerazione sequenze di più caratteri a bit rate più elevati per ottenere più livelli di velocità. L'output di 0 seguito da 127 sarebbe circa la metà.
  • Questo dovrebbe funzionare anche per l'oscuramento delle lampadine delle torce.

Consigliato: