Indholdsfortegnelse:
- Trin 1: Se på kredsløbet
- Trin 2: Tråd det op
- Trin 3: Konfigurer filer med PWM -værdier
- Trin 4: Spil med DOS: Konfigurer din COM -port, og kopier filerne
- Trin 5: Styr motoren fra et program
- Trin 6: Eksperimenter
Video: Seriel styret motor med variabel hastighed: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
Kontroller hastigheden på en lille DC -motor uden andet end den serielle port på din computer, en enkelt MOSFET og noget trivielt software. (MOSFET og den serielle port udgør "hastighedskontrollen". Du skal stadig bruge en motor og en passende strømforsyning til den pågældende motor; mens den serielle port kan levere spændingen til at tænde og slukke en mosfet, kan den ' t levere den strøm, som en typisk motor har brug for.)
Trin 1: Se på kredsløbet
Vi skal lave Pulse Width Modulation ved hjælp af en generisk N-kanal strøm MOSFET tilsluttet Transmit data pin fra computerens rs232 port. Når den serielle port er inaktiv, vil stiften sidde i tilstanden "1", som når den er oversat til rs232, er noget i stil med -12V (afhængigt af drivere kan den være tættere på -9V eller -5V), og transistoren vil være helt slukket. Når vi sender "0" bits på den serielle port, vil rs232 -stiften gå til +12V eller deromkring, hvilket er nok til at tænde de fleste mosfets ret godt.
Hvis vi sender mange "0" -bis i træk, vil motoren være tæt på helt TIL, og motoren vil køre hurtigt. Hvis vi hovedsageligt sender "1" bits, kører motoren langsommere.
Trin 2: Tråd det op
Da der kun er en enkelt komponent og kun få forbindelser, kan du bare tilføje ledninger "fri form".
MOSFET'er er statiske følsomme, så vær lidt forsigtig, men meget lidt er kritisk.
Trin 3: Konfigurer filer med PWM -værdier
En måde at styre motoren på uden at skulle skrive NOGEN software er at forberede nogle filer, der indeholder passende bytes (med mere eller mindre 0 bits), og simpelthen KOPIERE dem til COM -porten, hvor du har motoren tilsluttet. Jeg forberedte flere filer (ved hjælp af emacs, men hvad der fungerer for dig, er fint):
- 0.pwm:: indeholder 5000 NULL tegn (kontrolrum på de fleste tastaturer) [br] Dette er omtrent så tæt på "fuld hastighed", som vi vil kunne komme med denne teknik.
- 1.pwm:: indeholder 5000 kontrol-A-tegn (ascii 01) (en "1" bit pr. Tegn)
- 3.pwm:: indeholder 5000 kontrol-C-tegn (ascii 03) (to "1" bits pr. Tegn)
- 7.pwm:: indeholder 5000 kontrol-G-tegn (ascii 07) (tre "1" bits pr. Tegn)
- 15.pwm:: indeholder 5000 kontrol-O-tegn (ascii 15) (fire "1" bits pr. Tegn)
- 31.pwm:: indeholder 5000 kontrol-_ tegn (ascii 31) (fem "1" bits pr. Tegn)
- 63.pwm:: indeholder 5000 "?" tegn (ascii 63) (seks "1" bits pr. tegn)
- 127.pwm:: indeholder 5000 DEL -tegn (ascii 127) (syv "1" bits pr. Tegn)
(Nu hvor jeg har tegnet billeder, vil du bemærke, at de faktiske bitmønstre ikke er ideelle. Da rs232 seriel sender LSB først, vil vi virkelig skifte i nuller i stedet for dem. En øvelse for eleven!)
Trin 4: Spil med DOS: Konfigurer din COM -port, og kopier filerne
9600 bps er en almindelig bitrate. Det matcher pænt til "cirka" en byte pr. Millisekund, så i dette tilfælde svarer det til en PWM -frekvens på 1000Hz, hvilket jeg synes burde være ok for små motorer. Du kan eksperimentere med forskellige bithastigheder for at se, hvordan tingene fungerer, hvilket er en af fordelene ved denne metode. Opret et DOS (eller "Kommandoprompt") vindue (forudsat at du bruger et Windows OS), og konfigurer din com port som: mode com1: 9600, n, 7, 1 "Det fortæller comm-porten at køre med 9600bps og sende 7 bits i hvert tegn (for at matche vores 7 forskellige bitlængder.)" n "betyder INGEN paritet, så det vil være de eneste databit. "1" betyder, at der vil være en "stop" bit, som forhindrer os i at tænde motoren hele vejen (nåh.) Så nu kan du tænde motoren med kommandoer ligesom: kopi 0.pwm com1: Da vi sender 5000 tegn på cirka 1 pr. millisekund, bør motoren tænde tæt på fuld hastighed i cirka 5 sekunder. Hvis du vil have mindre end 5 sekunder, skal du lave en kortere fil. Tilsvarende, du kan gøre: kopier 127.pwm com1: for at køre motoren med den lavest mulige hastighed. Med den opsætning, jeg havde, ville motoren slet ikke dreje med noget "langsommere" end 31.pwm, men YMMV (jeg tynder k Jeg havde en 12V -motor, der kørte 5V batterier.) KOPIERING -kommandoen lader dig samle filer sammen, så hvis du vil have din motor til at køre hurtigere og derefter bremse igen, kan du gøre noget som: kopi 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:
Trin 5: Styr motoren fra et program
Hvis du skriver et program, kan du sandsynligvis åbne COM1: som en fil og blot skrive til det som om det var en anden fil. Det kan være meget praktisk at kunne tidsbestille de perioder, motoren er tændt ved at udsende et bestemt antal tegn. Glem ikke, at systemet med stor sandsynlighed vil buffer de tegn, du sender til den serielle port, så bare fordi et WRITE -opkald vender tilbage, betyder det ikke, at motoren er færdig med at gøre, hvad du fortalte den til. Da vi ikke gør noget "fancy" med com -portsignalerne, skal du ikke skulle undersøge de uhyggelige muligheder, som det muligvis understøtter. (selvom hvis du kan finde ud af at sende en BREAK -sekvens til com -porten, er det en kontinuerlig "0" -tilstand og vil køre motoren HELT videre; mere end at sende kontinuerlige 0 tegn.)
Hvis dit programmeringssprog ikke lader dig sende til COM1:, kan du stadig styre motoren ved at "kalde" DOS for at udføre kopieringskommandoer. (OK. Jeg har downloadet Microsofts Visual Basic Express 2005 (som er gratis) og det lykkedes at binde en vandret rullebjælke til motorhastigheden, der styres via den serielle port. Zip vedhæftet. Den har sandsynligvis mere end den behøver for at duplikere programmet på dit system, men jeg kunne ikke finde ud af præcis, hvilke bits der var nødvendige. Programmet er både forenklet og gjort vanskeligere at forstå (undskyld) ved at være multi-threaded. Én tråd gør ikke andet end output til den serielle port, og hovedtråden læser rullefeltet og opdaterer oplysninger, der bruges af den serielle tråd.)
Trin 6: Eksperimenter
Hvis tingene i bund og grund fungerer, giver dette frygtelig meget plads til eksperimentering.
- Fix mine bitmønstre!
- Betyder bitraten meget?
- Skal du kontrollere bredden af "on" og "off" pulser, eller er det simpelthen tilstrækkeligt at kontrollere deres forhold?
- Hvis du kun skal kontrollere forholdet, kan du overveje sekvenser med flere tegn ved højere bithastigheder for at få flere hastighedsniveauer. Output 0 efterfulgt af 127 ville være omkring det halve.
- Dette bør også fungere til dæmpning af lommelygtepærer.
Anbefalede:
DC MOTOR Håndbevægelseskontrol Hastighed og retning ved hjælp af Arduino: 8 trin
DC MOTOR Håndbevægelseskontrol Hastighed og retning ved hjælp af Arduino: I denne vejledning lærer vi, hvordan du styrer en DC -motor med håndbevægelser ved hjælp af arduino og Visuino. Se videoen! Tjek også dette: Håndbevægelse Tutorial
Nagging Robot® - Forstyrrende med livets hastighed: 7 trin (med billeder)
Nagging Robot® | Forstyrrende med livets hastighed: Den nemmeste måde at sikre, at du bliver sur hver dag. Nagging Robot® har løsningen. Nagging Robot® Annooy® 900 Annooy® 900 blev omhyggeligt udtænkt med banebrydende DIY-teknologi til at irritere mennesker. af Daniel Locatelli og TzuYing ChenMere kraft
DC -motor jævn start, hastighed og retning ved hjælp af et potentiometer, OLED -display og knapper: 6 trin
DC -motor jævn start, hastighed og retning ved hjælp af et potentiometer, OLED -display og knapper: I denne vejledning lærer vi, hvordan du bruger en L298N DC MOTOR CONTROL driver og et potentiometer til at styre en jævnstrømsmotor jævn start, hastighed og retning med to knapper og vis potentiometerværdien på OLED -displayet. Se en demonstrationsvideo
Ætsemaskine med variabel hastighed: 9 trin
Ætsemaskine med variabel hastighed: I dette emne vil vi gerne dele om, hvordan man laver ætsemaskine til personligt brug. Vi fik denne idé, da vi ville lave et minimumssystem til ATMega328p. Det mest kedelige trin i at udskrive et PCB -layout, når vi laver etsningstrinet. Det er spild
Knight Rider med variabel hastighed: 3 trin
Variable Speed Knight Rider: Dette er min første instruerbare, så vær venlig at lide den! Det var inspireret af 1980'ernes tv -program kaldet Knight Rider, der havde en bil ved navn KITT med en LED -scanner, der gik frem og tilbage som denne. Så lad os begynde at lave det