Mündəricat:

Seriyalı Nəzarət Dəyişən Sürətli Motor: 6 Addım
Seriyalı Nəzarət Dəyişən Sürətli Motor: 6 Addım

Video: Seriyalı Nəzarət Dəyişən Sürətli Motor: 6 Addım

Video: Seriyalı Nəzarət Dəyişən Sürətli Motor: 6 Addım
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Iyul
Anonim
Seriyalı Nəzarət Dəyişən Sürətli Motor
Seriyalı Nəzarət Dəyişən Sürətli Motor

Kiçik bir DC motorunun sürətini kompüterinizdəki serial portu, tək bir MOSFET və bəzi mənasız proqramlardan başqa heç bir şey olmadan idarə edin. (MOSFET və serial portu "sürət nəzarətini" təşkil edir; yenə də bir motora və bu motor üçün uyğun bir enerji təchizatına ehtiyacınız olacaq; serial portu bir mosfeti açıb söndürmək üçün gərginliyi təmin edə bilər, ancaq tipik bir motora lazım olan cərəyanı təmin edir.)

Addım 1: Dövrə baxın

Dövrə baxın
Dövrə baxın

Kompüterin rs232 portundan Məlumat ötürmə pininə qoşulmuş ümumi bir N-kanal güc MOSFET istifadə edərək Pulse Width Modulation edəcəyik. Seriya portu boş qaldıqda, pin rs232 -ə çevrildiyi zaman -12V (sürücülərdən asılı olaraq -9V və ya -5V -ə yaxın ola bilər) kimi "1" vəziyyətində oturacaq. tranzistor olduqca OFF olacaq. Serial portda "0" bitini ötürdüyümüz zaman, rs232 pin +12V -ə qədər gedəcək və bu, əksər mosfetləri olduqca yaxşı açmaq üçün kifayətdir.

Ardıcıl olaraq bir çox "0" bis ötürsək, motor tam olaraq AÇIK vəziyyətə yaxın olacaq və motor sürətlə işləyəcək. Əsasən "1" bit ötürsək, motor daha yavaş işləyəcək.

Addım 2: Bağlayın

Bağlayın
Bağlayın

Yalnız bir komponent və yalnız bir neçə əlaqə olduğundan, sadəcə "sərbəst formada" tellər əlavə edə bilərsiniz.

MOSFETlər statik həssasdır, buna görə bir az diqqətli olun, amma çox az şey kritikdir.

Addım 3: PWM dəyərləri olan faylları qurun

PWM dəyərləri olan faylları qurun
PWM dəyərləri olan faylları qurun

Hər hansı bir proqram yazmadan mühərriki idarə etməyin bir yolu, uyğun baytları olan (az -çox 0 bit ilə) bəzi faylları hazırlamaq və sadəcə motoru bağladığınız COM portuna kopyalamaqdır. Bir neçə fayl hazırladım (emacs istifadə edərək, amma sizin üçün işləyən hər şey yaxşıdır):

  • 0.
  • 1.pwm:: 5000 nəzarət-A simvolunu (ascii 01) ehtiva edir (hər simvol üçün bir "1" bit)
  • 3.pwm:: 5000 nəzarət-C simvolu (ascii 03) ehtiva edir (hər bir char üçün iki "1" bit)
  • 7.pwm:: 5000 nəzarət-G simvolunu (ascii 07) ehtiva edir (hər char üçün üç "1" bit)
  • 15.pwm:: 5000 nəzarət-O simvolu (ascii 15) ehtiva edir (hər char üçün dörd "1" bit)
  • 31.pwm:: 5000 nəzarət-_ simvolu (ascii 31) ehtiva edir (hər char üçün beş "1" bit)
  • 63.pwm:: 5000 "?" Ehtiva edir simvol (ascii 63) (hər bir xarakter üçün altı "1" bit)
  • 127.pwm:: 5000 DEL simvol (ascii 127) ehtiva edir (hər bir xarakter üçün yeddi "1" bit)

(İndi şəkillər çəkdiyimə görə, əsl bit nümunələrinin ideal olmadığını görürsünüz. Rs232 seriyası əvvəlcə LSB -ni ötürdüyündən, həqiqətən də sıfırlarla əvəz etmək istəyirik. Tələbə üçün bir məşq!)

Addım 4: DOS ilə oynayın: COM portunuzu konfiqurasiya edin və faylları kopyalayın

DOS ilə oynayın: COM portunuzu konfiqurasiya edin və faylları kopyalayın
DOS ilə oynayın: COM portunuzu konfiqurasiya edin və faylları kopyalayın

9600 bps ümumi bir bit sürətidir. Millisaniyədə "təxminən" bir baytla yaxşı uyğun gəlir, buna görə də bu vəziyyətdə, kiçik motorlar üçün yaxşı olacağını düşündüyüm 1000Hz PWM tezliyinə uyğun gəlir. İşin necə işlədiyini görmək üçün fərqli bit nisbətləri ilə təcrübə edə bilərsiniz, bu metodun üstünlüklərindən biridir. DOS (və ya "Əmr əmri") pəncərəsi yaradın (bir Windows OS istifadə etdiyinizi fərz etsəniz) və com portunuzu konfiqurasiya edin.: mode com1: 9600, n, 7, 1 "Bu, ticarət limanına 9600 saniyədə işləməsini və hər bir xarakterə 7 bit göndərməsini (7 fərqli bit uzunluğumuzla uyğunlaşmaq üçün) bildirir." n "heç bir parite yoxdur, "1", motoru sonuna qədər açmağımıza mane olacaq bir "dayanma" bitinin olması deməkdir (yaxşı.) Beləliklə, indi motoru əmrlərlə aça bilərsiniz. kimi: copy 0.pwm com1: Millisaniyədə təxminən 1 -də 5000 simvol göndərdiyimiz üçün motor təxminən 5 saniyə ərzində tam sürətlə işə düşməlidir. 5 saniyədən az istəsəniz daha qısa bir fayl yaradın., edə bilərsiniz: surəti 127.pwm com1: mühərriki mümkün olan ən aşağı sürətlə işlətmək. Sahib olduğum quraşdırma ilə motor 31. pwm -dən daha "yavaş" heç bir şeylə dönməzdi, ancaq YMMV (k 5V batareya ilə işləyən 12V mühərrikim var idi.) COPY əmri faylları bir araya gətirməyə imkan verir, buna görə də motorunuzun sürətlənməsini və sonra yenidən yavaşlamasını istəyirsinizsə, belə bir şey edə bilərsiniz: copy 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

Addım 5: Bir Proqramdan Motoru İdarə Edin

Motoru Proqramdan İdarə Edin
Motoru Proqramdan İdarə Edin

Bir proqram yazırsınızsa, ehtimal ki, COM1: fayl olaraq aça və başqa bir fayl kimi yaza bilərsiniz. Müəyyən sayda simvol çıxarmaqla motorun işlədiyi dövrləri təyin edə bilmək çox lazımlı görünür. Unutmayın ki, sistemin seriya portuna göndərdiyiniz simvolları tamponlama ehtimalı çox yüksəkdir, buna görə də WRITE zənginin geri qayıtması motorun dediklərinizi yerinə yetirməsi demək deyil. Com port siqnalları ilə "xülya" bir şey etmədiyimiz üçün, dəstəkləyə biləcəyi gizli variantları araşdırmamalısınız. (baxmayaraq ki, com portuna bir BREAK ardıcıllığının necə göndəriləcəyini anlaya bilsəniz, bu davamlı bir "0" vəziyyətidir və motoru hər tərəfə aparacaq; davamlı 0 simvol göndərməkdən daha çox.)

Proqramlaşdırma diliniz COM1: -ə çıxmağa icazə vermirsə, kopyalama əmrlərini yerinə yetirmək üçün DOS -a "zəng vuraraq" motoru idarə edə bilərsiniz. (Tamam. Mən Microsoft -un Visual Basic Express 2005 -ni yüklədim (pulsuzdur) və seriyalı port vasitəsilə idarə olunan motor sürətinə üfüqi bir sürüşmə çubuğu bağlamağı bacardım. Zip əlavə edildi. Yəqin ki, proqramı təkrarlamaq üçün lazım olandan çox şey var. sisteminizdə, ancaq tam olaraq hansı bitlərə ehtiyac olduğunu anlaya bilmədim. Proqram həm çox sadələşdirilmiş, həm də çox yivli olması ilə başa düşülməsini çətinləşdirdi (üzr istəyirəm). əsas mövzu, sürüşmə çubuğunu oxuyur və serial mövzu tərəfindən istifadə olunan məlumatları yeniləyir.)

Addım 6: Təcrübə edin

Təcrübə!
Təcrübə!

İşlər əsasən işləyirsə, bu təcrübə üçün çoxlu yer təmin edir.

  • Bit nümunələrimi düzəldin!
  • Bit sürətinin çox əhəmiyyəti varmı?
  • "Açıq" və "söndürülmüş" impulsların genişliyinə nəzarət etməlisiniz, yoxsa onların nisbətinə nəzarət etmək kifayətdir?
  • Yalnız nisbətə nəzarət etmək məcburiyyətindəsinizsə, daha çox sürət səviyyəsi əldə etmək üçün daha yüksək bit nisbətlərində çoxsaylı xarakterli ardıcıllıqları nəzərdən keçirə bilərsiniz. 0 -dan sonra 127 -nin çıxması təxminən yarısı olardı.
  • Bu da fənər ampullərinin qaralması üçün işləməlidir.

Tövsiyə: