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, Juli
Anonim
Serijski upravljani motor s promjenjivom brzinom
Serijski upravljani motor s promjenjivom brzinom

Kontrolirajte brzinu malog istosmjernog motora samo serijskim portom na računaru, jednim MOSFET -om i nekim trivijalnim softverom. (MOSFET i serijski port čine "kontrolu brzine"; i dalje će vam trebati motor i odgovarajuće napajanje za taj motor; dok serijski port 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 kolo
Pogledajte kolo

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. Kada 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. Kada prenosimo "0" bitova na serijski port, rs232 pin će ići na +12V ili više, što je dovoljno da se prilično dobro uključi većina MOSFET -ova.

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 -i su statički osjetljivi, stoga budite malo oprezni, ali vrlo malo je kritično.

Korak 3: Postavite datoteke 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 bajtove (s više ili manje 0 bita) i jednostavno ih KOPIRATI na COM port na koji je motor priključen. 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 tastatura) [br] Ovo 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 kontrolno-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, zaista ž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 bps je uobičajena bitrate. 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. Kreirajte prozor DOS -a (ili "Command prompt") (pod pretpostavkom da koristite Windows OS) i konfigurirajte svoj com port kao: mode com1: 9600, n, 7, 1 "To govori da port comm radi na 9600bps i šalje 7 bitova u svakom znaku (kako bi se slagao sa 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 pomoću naredbi poput: copy 0.pwm com1: Budući da šaljemo 5000 znakova pri približno 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: kopirajte 127.pwm com1: da biste pokrenuli motor najmanjom mogućom brzinom. Sa 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 napajao 5V baterije.) Naredba COPY vam omogućuje 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, vjerovatno 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 periode u kojima je motor uključen ispisujući određeni broj znakova. Ne zaboravite da će sistem vrlo vjerojatno međuspremiti znakove koje šaljete na serijski port, tako da samo zato što se vraća WRITE poziv ne znači da je motor završio s onim što ste mu rekli. Budući da ne radimo ništa "fancy" sa signalima com porta, 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 neprekidno stanje "0" i pokretat će motor do kraja; više od slanja neprekidnih 0 znakova.)

Ako vaš programski jezik ne dozvoljava izlaz na COM1:, možda ćete i dalje moći kontrolirati motor 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 sam vezati vodoravnu traku za pomicanje za brzinu motora, kontroliranu putem serijskog porta. Zip je pričvršćen. Vjerojatno ima više nego što je potrebno za dupliciranje programa na vašem sistemu, ali nisam mogao 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 osim izlaza na serijski port, a glavna nit čita traku za pomicanje i ažurira informacije koje koristi serijska nit.)

Korak 6: Eksperimentirajte

Eksperimentirajte!
Eksperimentirajte!

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

  • Popravi moje obrasce bitova!
  • Je li bitna brzina važna?
  • Morate li kontrolirati širinu impulsa za uključivanje i isključivanje ili je jednostavno jednostavno kontrolirati njihov omjer?
  • Ako morate samo 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čuje se: