Sadržaj:

Serijski upravljani motor s promjenjivom brzinom: 6 koraka
Serijski upravljani motor s promjenjivom brzinom: 6 koraka

Video: Serijski upravljani motor s promjenjivom brzinom: 6 koraka

Video: Serijski upravljani motor s promjenjivom brzinom: 6 koraka
Video: Типы управления инверторным компрессором холодильника и его работа 2024, Srpanj
Anonim
Serijski upravljani motor s promjenjivom brzinom
Serijski upravljani motor s promjenjivom brzinom

Upravljajte brzinom malog istosmjernog motora samo serijskim priključkom na računalu, jednim MOSFET -om i nekim trivijalnim softverom. (MOSFET i serijski priključak čine "kontrolu brzine"; i dalje će vam trebati motor i odgovarajuće napajanje za taj motor; dok serijski priključak može osigurati napon za uključivanje i isključivanje MOSFET -a, to može ' t opskrbljuje struju potrebnu tipičnom motoru.)

Korak 1: Pogledajte krug

Pogledajte krug
Pogledajte krug

Izvest ćemo Pulse Width Modulation koristeći generički N-kanalni MOSFET za napajanje spojen na pin za prijenos podataka s računarskog porta rs232. Kad je serijski port u stanju mirovanja, pin će sjediti u stanju "1", što je do trenutka kada se prevede u rs232, nešto poput -12V (ovisno o upravljačkim programima, moglo bi biti bliže -9V ili -5V), i tranzistor će biti sasvim isključen. Kad prenosimo "0" bitove na serijski port, rs232 pin će ići na +12V ili više, što je dovoljno za uključivanje većine MOSFET -ova prilično dobro.

Ako prenosimo mnogo "0" bis zaredom, motor će biti blizu potpunog uključivanja i motor će brzo raditi. Ako odašiljemo uglavnom "1" bitove, motor će raditi sporije.

Korak 2: Povežite ga

Ožičite to
Ožičite to

Budući da postoji samo jedna komponenta i samo nekoliko veza, možete samo dodati žice "slobodnog oblika".

MOSFET -ovi su statički osjetljivi, stoga budite malo oprezni, ali vrlo je malo kritično.

Korak 3: Postavljanje datoteka s PWM vrijednostima

Postavljanje datoteka s PWM vrijednostima
Postavljanje datoteka s PWM vrijednostima

Jedan od načina upravljanja motorom bez pisanja BILO KOGA softvera je pripremiti neke datoteke koje sadrže odgovarajuće bajte (s više ili manje 0 bita) i jednostavno ih KOPIRATI na COM priključak na koji je motor spojen. Pripremio sam nekoliko datoteka (koristeći emacs, ali sve što vam odgovara je u redu):

  • 0.pwm:: sadrži 5000 NULL znakova (kontrolni prostor na većini tipkovnica) [br] To je otprilike onoliko blizu "punoj brzini" koliko ćemo moći postići ovom tehnikom.
  • 1.pwm:: sadrži 5000 kontrolnih-A znakova (ascii 01) (jedan "1" bit po znaku)
  • 3.pwm:: sadrži 5000 kontrolnih-C znakova (ascii 03) (dva bita "1" po znaku)
  • 7.pwm:: sadrži 5000 kontrolnih-G znakova (ascii 07) (tri bita "1" po znaku)
  • 15.pwm:: sadrži 5000 kontrolnih-O znakova (ascii 15) (četiri bita "1" po znaku)
  • 31.pwm:: sadrži 5000 kontrolnih _ znakova (ascii 31) (pet bitova "1" po znaku)
  • 63.pwm:: sadrži 5000 "?" znakova (ascii 63) (šest bitova "1" po znaku)
  • 127.pwm:: sadrži 5000 DEL znakova (ascii 127) (sedam bitova "1" po znaku)

(Sad kad sam nacrtao slike, primijetit ćete da stvarni uzorci bitova nisu idealni. Budući da rs232 serijski prijenos prvo prenosi LSB, doista želimo pomaknuti nule umjesto jedinica. Vježba za učenika!)

Korak 4: Igrajte se s DOS -om: Konfigurirajte svoj COM port i kopirajte datoteke

Igrajte se s DOS -om: Konfigurirajte svoj COM port i kopirajte datoteke
Igrajte se s DOS -om: Konfigurirajte svoj COM port i kopirajte datoteke

9600 b / s uobičajena je brzina prijenosa. Lijepo se slaže s "otprilike" jednim bajtom po milisekundi, pa u ovom slučaju odgovara koeficijentu PWM frekvencije od 1000Hz, što mislim da bi trebalo biti u redu za male motore. Možete eksperimentirati s različitim brzinama prijenosa da vidite kako stvari funkcioniraju, što je jedna od prednosti ove metode. Napravite prozor DOS -a (ili "Naredbeni redak") (pod pretpostavkom da koristite Windows OS) i konfigurirajte svoj com port poput: mode com1: 9600, n, 7, 1 "To govori da comm port radi na 9600bps i šalje 7 bitova u svakom znaku (kako bi se uskladio s naših 7 različitih bitova.)" n "znači NO paritet, pa će to biti jedini bitovi podataka. "1" znači da će postojati jedan "stop" bit, koji će nas spriječiti da uključimo motor do kraja (o dobro.) Dakle, sada možete uključiti motor naredbama poput: copy 0.pwm com1: Budući da šaljemo 5000 znakova s otprilike 1 u milisekundi, motor bi se trebao uključiti pri punoj brzini oko 5 sekundi. Ako želite manje od 5 sekundi, napravite kraću datoteku. Slično, možete učiniti: copy 127.pwm com1: za pokretanje motora najmanjom mogućom brzinom. S postavkama koje sam imao, motor se uopće ne bi okrenuo ništa sporije od 31.pwm, ali YMMV k Imao sam motor od 12 V koji je imao 5V baterije.) Naredba COPY omogućuje vam nizanje datoteka zajedno, pa ako želite da se vaš motor ubrza, a zatim opet uspori, možete učiniti nešto poput: kopirajte 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

Korak 5: Upravljajte motorom iz programa

Upravljajte motorom iz programa
Upravljajte motorom iz programa

Ako pišete program, vjerojatno možete otvoriti COM1: kao datoteku i jednostavno mu pisati kao da se radi o bilo kojoj drugoj datoteci. Čini se da je vrlo zgodno mjeriti razdoblja u kojima je motor uključen ispisujući određeni broj znakova. Ne zaboravite da će sustav vrlo vjerojatno međuspremiti znakove koje šaljete na serijski port, pa samo zato što se vraća poziv WRITE ne znači da je motor završio s učinjenjem svega što ste mu rekli. Budući da sa signalima com porta ne radimo ništa "fancy", ne biste trebali istraživati tajnovite opcije koje bi mogao podržati. (iako, ako možete shvatiti kako poslati BREAK sekvencu na com port, to je stalno stanje "0" i vozit će motor do kraja; više od slanja neprekidnih 0 znakova.)

Ako vaš programski jezik ne dopušta izlaz na COM1:, možda ćete i dalje moći upravljati motorom tako što ćete "pozvati" DOS kako biste izvršili naredbe za kopiranje. (U redu. Preuzeo sam Microsoftov Visual Basic Express 2005 (koji je besplatan) i uspio vezati vodoravnu traku za pomicanje za brzinu motora, kontroliranu putem serijskog porta. Zip u prilogu. Vjerojatno ima više nego što je potrebno za dupliciranje programa na vašem sustavu, ali nisam mogao točno shvatiti koji su bitovi potrebni. Program je i pojednostavljen i otežan za razumijevanje (oprostite) jer je višenavojan. Jedna nit ne radi ništa drugo osim izlaza na serijski port, a glavna nit čita traku za pomicanje i ažurira podatke koje koristi serijska nit.)

Korak 6: Eksperimentirajte

Eksperiment!
Eksperiment!

Ako stvari u osnovi funkcioniraju, to pruža užasno puno prostora za eksperimentiranje.

  • Popravite moje uzorke bitova!
  • Je li bitna brzina važna?
  • Morate li kontrolirati širinu impulsa "uključeno" i "isključeno" ili je jednostavno jednostavno kontrolirati njihov omjer?
  • Ako samo morate kontrolirati omjer, možete uzeti u obzir višeznačne sekvence pri većim brzinama prijenosa kako biste dobili više razine brzine. Izlaženje 0 nakon kojeg slijedi 127 bilo bi otprilike pola uključeno.
  • Ovo bi trebalo raditi i za prigušivanje žarulja svjetiljki.

Preporučeni: