Sommario:
- Passaggio 1: guarda il circuito
- Passaggio 2: collegalo
- Passaggio 3: impostare i file con i valori PWM
- Passaggio 4: Gioca con DOS: configura la tua porta COM e copia i file
- Passaggio 5: controllare il motore da un programma
- Passaggio 6: sperimenta
Video: Motore a velocità variabile controllato in serie: 6 fasi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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
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
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
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
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
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:
Regolatore di velocità del motore variabile: 8 passaggi
Controller di velocità del motore variabile: in questo progetto, ti mostrerò come ho realizzato Motor Speed Controller & Dimostrerò anche quanto può essere facile costruire un variatore di velocità del motore con l'aiuto di un IC 555. Cominciamo
Motore passo-passo controllato da motore passo-passo - Motore passo-passo come encoder rotativo: 11 passaggi (con immagini)
Motore passo-passo controllato da motore passo-passo | Motore passo-passo come encoder rotativo: hai un paio di motori passo-passo in giro e vuoi fare qualcosa? In questo Instructable, utilizziamo un motore passo-passo come encoder rotativo per controllare la posizione di un altro motore passo-passo utilizzando un microcontrollore Arduino. Quindi, senza ulteriori indugi, ge
Motore da 24 V CC a motore universale ad alta velocità (30 Volt): 3 passaggi
Motore da 24 V CC a motore universale ad alta velocità (30 Volt): Ciao! In questo progetto ti insegnerò come convertire un normale motore da 24 V CC in un motore universale da 30 V. Personalmente credo che una dimostrazione video descriva al meglio un progetto . Quindi ragazzi vi consiglierei di guardare prima il video. Progetto V
Come far funzionare il motore DC brushless Drone Quadcopter utilizzando il controller di velocità del motore brushless HW30A e il servo tester: 3 passaggi
Come eseguire il motore DC brushless Drone Quadcopter utilizzando il controller di velocità del motore brushless HW30A e il servo tester: Descrizione: questo dispositivo è chiamato Servo Motor Tester che può essere utilizzato per far funzionare il servomotore semplicemente collegandolo al servomotore e alimentandolo. Il dispositivo può essere utilizzato anche come generatore di segnale per il regolatore di velocità elettrico (ESC), quindi è possibile
Sequencer digitale in 4 fasi: 19 fasi (con immagini)
Sequencer digitale in 4 fasi: CPE 133, Cal Poly San Luis ObispoProgettisti: Jayson Johnston e Bjorn Nelson Nell'industria musicale di oggi, uno degli “strumenti” più comunemente usati. è il sintetizzatore digitale. Ogni genere di musica, dall'hip-hop al pop e alla vigilia