Innehållsförteckning:
- Steg 1: Titta på kretsen
- Steg 2: Wire It Up
- Steg 3: Konfigurera filer med PWM -värden
- Steg 4: Spela med DOS: Konfigurera din COM -port och kopiera filerna
- Steg 5: Styr motorn från ett program
- Steg 6: Experimentera
Video: Seriell styrd motor med variabel hastighet: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Kontrollera hastigheten på en liten likströmsmotor med bara seriell port på din dator, en enda MOSFET och lite trivial programvara. (MOSFET och den seriella porten utgör "hastighetskontrollen". Du behöver fortfarande en motor och en lämplig strömförsörjning för den motorn. t leverera den ström som behövs av en typisk motor.)
Steg 1: Titta på kretsen
Vi kommer att göra pulsbreddsmodulering med hjälp av en generisk N-kanals ström MOSFET ansluten till överföringsdatapinnen från datorns rs232-port. När den seriella porten är inaktiv kommer pinnen att sitta vid "1" -läget, vilket när det översätts till rs232 är ungefär -12V (beroende på drivrutiner kan det vara närmare -9V eller -5V), och transistorn kommer att vara ganska AV. När vi sänder "0" bitar på den seriella porten, kommer rs232 -stiftet att gå till +12V eller så, vilket är tillräckligt för att slå på de flesta mosfeter ganska bra.
Om vi sänder många "0" -bis i rad kommer motorn att vara nära helt PÅ och motorn går snabbt. Om vi överför mestadels "1" bitar går motorn långsammare.
Steg 2: Wire It Up
Eftersom det bara finns en enda komponent och bara ett fåtal anslutningar kan du bara lägga till ledningar "freeform".
MOSFET är statiskt känsliga, så var lite försiktig, men mycket lite är kritiskt.
Steg 3: Konfigurera filer med PWM -värden
Ett sätt att styra motorn utan att behöva skriva någon programvara är att förbereda några filer som innehåller lämpliga byte (med mer eller mindre 0 bitar) och helt enkelt KOPIERA dem till COM -porten där du har motorn ansluten. Jag har förberett flera filer (med hjälp av emacs, men det som fungerar för dig är bra):
- 0.pwm:: innehåller 5000 NULL tecken (kontrollutrymme på de flesta tangentbord) [br] Detta är ungefär så nära "full speed" som vi kommer att kunna komma med den här tekniken.
- 1.pwm:: innehåller 5000 kontroll-A-tecken (ascii 01) (en "1" bit per char)
- 3.pwm:: innehåller 5000 kontroll-C-tecken (ascii 03) (två "1" bitar per char)
- 7.pwm:: innehåller 5000 kontroll-G-tecken (ascii 07) (tre "1" bitar per char)
- 15.pwm:: innehåller 5000 kontroll-O-tecken (ascii 15) (fyra "1" bitar per char)
- 31.pwm:: innehåller 5000 kontroll-_ tecken (ascii 31) (fem "1" bitar per char)
- 63.pwm:: innehåller 5000 "?" tecken (ascii 63) (sex "1" bitar per tecken)
- 127.pwm:: innehåller 5000 DEL -tecken (ascii 127) (sju "1" bitar per tecken)
(Nu när jag har ritat bilder kommer du att märka att de faktiska bitmönstren inte är idealiska. Eftersom rs232 seriell sänder LSB först vill vi verkligen flytta till nollor istället för ettor. En övning för studenten!)
Steg 4: Spela med DOS: Konfigurera din COM -port och kopiera filerna
9600 bps är en vanlig bitrate. Det matchar fint till "ungefär" en byte per millisekund, så i det här fallet motsvarar det en PWM -frekvens på 1000Hz, vilket jag tycker borde vara ok för små motorer. Du kan experimentera med olika bithastigheter för att se hur saker fungerar, vilket är en av fördelarna med den här metoden. Skapa ett DOS -fönster (eller "Kommandotolken") (förutsatt att du använder ett Windows OS) och konfigurera din komport som: mode com1: 9600, n, 7, 1 "Det säger att kommaporten ska köras med 9600bps och skicka 7 bitar i varje tecken (för att matcha våra 7 olika bitlängder.)" n "betyder INGEN paritet, så det blir de enda databitarna. "1" betyder att det kommer att finnas en "stopp" -bit, som hindrar oss från att slå på motorn hela vägen (oj.) Så nu kan du slå på motorn med kommandon gillar: kopiera 0.pwm com1: Eftersom vi skickar 5000 tecken på cirka 1 per millisekund bör motorn slå på nära full hastighet i cirka 5 sekunder. Om du vill ha mindre än 5 sekunder gör du en kortare fil. På samma sätt, du kan göra: kopiera 127.pwm com1: för att köra motorn med lägsta möjliga varvtal. Med den inställning jag hade skulle motorn inte gå alls med något "långsammare" än 31.pwm, men YMMV (jag tunnar k Jag hade en 12V -motor som körde 5V batterier.) Kommandot COPY låter dig stränga ihop filer, så om du vill att din motor ska gå snabbare och sedan sakta ner igen kan du göra något som: kopiera 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:
Steg 5: Styr motorn från ett program
Om du skriver ett program kan du förmodligen öppna COM1: som en fil och helt enkelt skriva till det som om det vore någon annan fil. Att klara av de perioder som motorn är på genom att mata ut ett visst antal tecken verkar vara mycket praktiskt. Glöm inte att systemet med stor sannolikhet kommer att buffra tecknen som du skickar till serieporten, så bara för att ett WRITE -samtal återkommer betyder inte att motorn har gjort vad du sa till den. Eftersom vi inte gör något "snyggt" med komportsignalerna, ska du inte behöva undersöka de otroliga alternativen som det kan stödja. (även om du kan ta reda på hur du skickar en BREAK -sekvens till komporten, är det ett kontinuerligt "0" -läge och kommer att driva motorn hela vägen; mer än att skicka kontinuerliga 0 tecken.)
Om ditt programmeringsspråk inte låter dig mata ut till COM1:, kan du fortfarande styra motorn genom att "ringa" DOS för att utföra kopieringskommandon.. på ditt system, men jag kunde inte räkna ut exakt vilka bitar som behövdes. Programmet är både förenklat och svårare att förstå (förlåt) genom att vara flertrådad. En tråd gör inget annat än utmatning till serieporten och huvudtråden läser rullningslisten och uppdaterar information som används av serietråden.)
Steg 6: Experimentera
Om saker och ting fungerar i princip ger det mycket utrymme för experiment.
- Fixa mina bitmönster!
- Spelar bithastigheten mycket?
- Måste du styra bredden på "på" och "av" pulser, eller är det helt enkelt att kontrollera deras förhållande?
- Om du bara behöver kontrollera förhållandet kan du överväga sekvenser med flera tecken med högre bithastigheter för att få fler hastighetsnivåer. Utmatning 0 följt av 127 skulle vara ungefär hälften på.
- Detta bör fungera för att dimma ficklampor också.
Rekommenderad:
Nagging Robot® - Störande med livets hastighet: 7 steg (med bilder)
Nagging Robot® | Störande med livets hastighet: Det enklaste sättet att se till att du blir arg varje dag. Nagging Robot® har lösningen. Nagging Robot® Annooy® 900 Annooy® 900 var noggrant utformad med banbrytande DIY-teknik för att irritera människor. av Daniel Locatelli och TzuYing ChenMer makt
DC -motor Smidig start, hastighet och riktning med hjälp av en potentiometer, OLED -display och knappar: 6 steg
DC -motor smidig start, hastighet och riktning med hjälp av en potentiometer, OLED -skärm och knappar: I denna handledning lär vi oss hur man använder en L298N DC MOTOR CONTROL -drivrutin och en potentiometer för att styra en likströmsmotor, mjuk start, hastighet och riktning med två knappar och visa potentiometervärdet på OLED -skärmen. Se en demonstrationsvideo
Etsmaskin med variabel hastighet: 9 steg
Etsmaskin med variabel hastighet: I det här ämnet vill vi dela med oss om hur man gör etsningsmaskin för personligt bruk. Vi fick den här idén när vi ville göra ett minimisystem för ATMega328p. Det tråkigaste steget i att skriva ut en PCB -layout när vi gör etsningssteget. Det är slöseri
ESP32 LoRa -styrd drone -motor: 10 steg
ESP32 LoRa Controlled Drone Engine: Idag diskuterar vi dronmotorer, ofta kallade "borstlösa" motorer. De används ofta inom flygmodellering, främst i drönare, på grund av deras kraft och höga rotation. Vi lär oss att styra en borstlös motor med ESC och ESP32, utföra
RGB -lampa styrd med Bluetooth: 5 steg (med bilder)
RGB -lampa styrd med Bluetooth: i denna handledning modulerar jag PWM -driftscykeln för att producera olika färger från din LED, med hjälp av en smartphone