Turinys:

Serijinis valdomas kintamo greičio variklis: 6 žingsniai
Serijinis valdomas kintamo greičio variklis: 6 žingsniai

Video: Serijinis valdomas kintamo greičio variklis: 6 žingsniai

Video: Serijinis valdomas kintamo greičio variklis: 6 žingsniai
Video: 🌶️ Подробно и наглядно показываем слабые места "пятёрки" BMW E60. 2024, Lapkritis
Anonim
Serijinis valdomas kintamo greičio variklis
Serijinis valdomas kintamo greičio variklis

Valdykite mažo nuolatinės srovės variklio greitį naudodami tik kompiuterio nuoseklųjį prievadą, vieną MOSFET ir trivialią programinę įrangą. (MOSFET ir nuoseklusis prievadas sudaro „greičio valdymą“; jums vis tiek reikės variklio ir atitinkamo variklio maitinimo šaltinio; nors nuoseklusis prievadas gali suteikti įtampą, kad įjungtų ir išjungtų „mosfet“, jis gali ne tiekti srovės, reikalingos įprastam varikliui.)

1 žingsnis: pažvelkite į grandinę

Pažvelkite į grandinę
Pažvelkite į grandinę

Mes atliksime impulsų pločio moduliavimą naudodami bendrą N kanalo galios MOSFET, prijungtą prie duomenų perdavimo kaiščio iš kompiuterio rs232 prievado. Kai nuoseklusis prievadas neveikia, kaištis bus „1“būsenoje, o iki to laiko, kai jis bus išverstas į rs232, tai yra kažkas panašaus į –12 V (priklausomai nuo tvarkyklių, jis gali būti arčiau –9 V arba –5 V) ir tranzistorius bus visiškai išjungtas. Kai serijiniame prievade perduosime „0“bitus, rs232 kaištis pakils iki maždaug 12 V, o to pakanka, kad dauguma „Mosfets“įjungtų gana gerai.

Jei perduosime daug „0“bis iš eilės, variklis bus beveik visiškai įjungtas ir variklis veiks greitai. Jei perduosime daugiausia „1“bitų, variklis veiks lėčiau.

2 žingsnis: prijunkite laidą

Sujunkite laidą
Sujunkite laidą

Kadangi yra tik vienas komponentas ir tik keletas jungčių, galite tiesiog pridėti laidus „laisvos formos“.

MOSFET yra statiškai jautrus, todėl būkite šiek tiek atsargūs, tačiau labai mažai yra labai svarbu.

3 veiksmas: nustatykite failus naudodami PWM vertes

Nustatykite failus naudodami PWM vertes
Nustatykite failus naudodami PWM vertes

Vienas iš būdų valdyti variklį, nerašant JOKIOS programinės įrangos, yra paruošti kai kuriuos failus, kuriuose yra atitinkamų baitų (su daugiau ar mažiau 0 bitų), ir tiesiog KOPIJUOTI juos į COM prievadą, prie kurio prijungtas variklis. Aš paruošiau keletą failų (naudodamas „emacs“, bet viskas, kas tau tinka):

  • 0.pwm:: yra 5000 NULL simbolių (valdymo klavišas daugelyje klaviatūrų).
  • 1. pwm:: yra 5000 „Control-A“simbolių (ascii 01) (vienas „1“bitas kiekvienam simboliui)
  • 3. pwm:: yra 5000 „Control-C“simbolių („ascii 03“) (du „1“bitai kiekvienam simboliui)
  • 7. pwm:: yra 5000 „Control-G“simbolių („ascii 07“) (trys „1“bitai už simbolį)
  • 15. pwm:: yra 5000 „Control-O“simbolių („ascii 15“) (keturi „1“bitai už simbolį)
  • 31. pwm:: yra 5000 „control-_“simbolių („ascii 31“) (penki „1“bitai už simbolį)
  • 63.pwm:: yra 5000 "?" simbolių (ascii 63) (šeši „1“bitai kiekvienam simboliui)
  • 127.pwm:: yra 5000 DEL simbolių (ascii 127) (septyni „1“bitai simboliui)

(Dabar, kai nupiešiau paveikslėlius, pastebėsite, kad tikrieji bitų modeliai nėra idealūs. Kadangi serijinis RS232 pirmiausia perduoda LSB, mes tikrai norime ne nulius, o nulius keisti. Pratimas studentui!)

4 veiksmas: žaiskite su DOS: sukonfigūruokite savo COM prievadą ir nukopijuokite failus

Žaiskite su DOS: sukonfigūruokite savo COM prievadą ir nukopijuokite failus
Žaiskite su DOS: sukonfigūruokite savo COM prievadą ir nukopijuokite failus

9600 bps yra įprastas pralaidumas. Tai puikiai atitinka „maždaug“vieną baitą per milisekundę, todėl šiuo atveju jis atitinka 1000 Hz PWM dažnį, kuris, mano manymu, turėtų būti tinkamas mažiems varikliams. Galite eksperimentuoti su skirtingais bitų spartais, kad pamatytumėte, kaip viskas veikia. Tai yra vienas iš šio metodo privalumų. Sukurkite DOS (arba „Command prompt“) langą (darant prielaidą, kad naudojate „Windows“OS) ir sukonfigūruokite savo: režimas com1: 9600, n, 7, 1 "Tai nurodo, kad komunikacijos prievadas veikia 9600 bps greičiu ir siunčia po 7 bitus kiekviename simbolyje (kad atitiktų mūsų 7 skirtingus bitų ilgius.)" n "reiškia NE paritetą, Taigi tai bus vieninteliai duomenų bitai. „1“reiškia, kad bus vienas „stop“bitas, kuris neleis mums visiškai įjungti variklio (o gerai.) Taigi dabar galite įjungti variklį naudodami komandas kaip: kopijuoti 0.pwm com1: Kadangi siunčiame 5000 simbolių maždaug 1 per milisekundę, variklis turėtų įsijungti beveik visu greičiu maždaug 5 sekundes. Jei norite mažiau nei 5 sekundes, sukurkite trumpesnį failą. Panašiai, galite padaryti: nukopijuokite 127.pwm com1: norėdami paleisti variklį mažiausiu įmanomu greičiu. Turint tokią sąranką, variklis apskritai nesisuktų nieko „lėčiau“nei 31.pwm, bet YMMV (aš plonas k Turėjau 12 V variklį, iš kurio išeikvojo 5 V baterijos.) KOPIJOS komanda leidžia susieti failus į eilę, taigi, jei norite, kad jūsų variklis įsibėgėtų ir vėl sulėtėtų, galite padaryti kažką panašaus: kopijuoti 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

5 veiksmas: valdykite variklį iš programos

Valdykite variklį iš programos
Valdykite variklį iš programos

Jei rašote programą, tikriausiai galite atidaryti COM1: kaip failą ir tiesiog rašyti į ją taip, tarsi tai būtų koks nors kitas failas. Atrodytų, kad būtų labai patogu nustatyti laiką, kurį variklis įjungia, išvesdamas tam tikrą skaičių simbolių. Nepamirškite, kad labai tikėtina, kad sistema buferizuos simbolius, kuriuos siunčiate į nuoseklųjį prievadą, todėl vien tai, kad WRITE skambutis grįžta, dar nereiškia, kad variklis baigė daryti viską, ką liepėte. Kadangi mes nedarome nieko „įmantraus“su kom porto signalais, jums nereikės nagrinėti slaptų parinkčių, kurias jis gali palaikyti. (nors, jei galite išsiaiškinti, kaip į „COM“prievadą nusiųsti BREAK seką, tai yra nuolatinė „0“būsena ir variklis bus varomas iki galo; daugiau nei siunčiant nuolatinius 0 simbolių.)

Jei jūsų programavimo kalba neleidžia išvesti į COM1:, vis tiek galite valdyti variklį „paskambinę“DOS, kad atliktumėte kopijavimo komandas. (Gerai. Aš atsisiunčiau „Microsoft“„Visual Basic Express 2005“(nemokama) ir pavyko susieti horizontalią slinkties juostą su variklio greičiu, valdomu per nuoseklųjį prievadą. Pridedamas zip. Tikriausiai yra daugiau nei reikia dubliuoti programą jūsų sistemoje, bet aš negalėjau tiksliai išsiaiškinti, kokių bitų reikia. Programa yra supaprastinta ir sunkiau suprantama (atsiprašau), nes yra kelių gijų. Viena gija daro tik išvestį į nuoseklųjį prievadą ir pagrindinė gija skaito slinkties juostą ir atnaujina serijinės gijos naudojamą informaciją.)

6 žingsnis: eksperimentuokite

Eksperimentuokite!
Eksperimentuokite!

Jei viskas iš esmės veikia, tai suteikia labai daug erdvės eksperimentams.

  • Pataisyk mano bitų modelius!
  • Ar bitų dažnis turi didelę reikšmę?
  • Ar turite kontroliuoti „įjungimo“ir „išjungimo“impulsų plotį, ar pakanka tiesiog kontroliuoti jų santykį?
  • Jei jums reikia tik valdyti santykį, galite apsvarstyti kelių simbolių sekas didesniu bitų greičiu, kad gautumėte daugiau greičio. Išvestis 0 ir 127 būtų maždaug pusė.
  • Tai turėtų veikti ir blykstės lempučių pritemdymui.

Rekomenduojamas: