Isi kandungan:

Motor Kelajuan Pemboleh ubah Terkawal Bersiri: 6 Langkah
Motor Kelajuan Pemboleh ubah Terkawal Bersiri: 6 Langkah

Video: Motor Kelajuan Pemboleh ubah Terkawal Bersiri: 6 Langkah

Video: Motor Kelajuan Pemboleh ubah Terkawal Bersiri: 6 Langkah
Video: Tingkatan 6 | Sains Sukan | Pembelajaran Motor | R717 2024, Julai
Anonim
Motor Kelajuan Pemboleh ubah Terkawal Bersiri
Motor Kelajuan Pemboleh ubah Terkawal Bersiri

Kawal kelajuan motor DC kecil dengan hanya port serial di komputer anda, satu MOSFET, dan beberapa perisian sepele. (MOSFET dan port bersiri membentuk "kawalan kelajuan"; anda masih memerlukan motor dan bekalan kuasa yang sesuai untuk motor itu; sementara port bersiri dapat memberikan voltan untuk menghidupkan dan mematikan mosfet, ia dapat ' t bekalan arus yang diperlukan oleh motor biasa.)

Langkah 1: Lihat Litar

Lihat Litar
Lihat Litar

Kami akan melakukan Pulse Width Modulation menggunakan MOSFET kuasa N-channel generik yang disambungkan ke pin data Transmit dari port rs232 komputer. Apabila port bersiri tidak berfungsi, pin akan berada pada keadaan "1", yang pada saat itu diterjemahkan ke rs232, adalah seperti -12V (bergantung pada pemacu, ia mungkin lebih dekat dengan -9V atau -5V), dan transistor akan cukup MATI. Apabila kita menghantar bit "0" pada port bersiri, pin rs232 akan menuju ke + 12V atau lebih, yang cukup untuk menghidupkan kebanyakan mosfet dengan cukup baik.

Sekiranya kita menghantar banyak bis "0" berturut-turut, motor akan hampir mati sepenuhnya dan motor akan berjalan pantas. Sekiranya kita menghantar sebahagian besar bit "1", motor akan berjalan lebih perlahan.

Langkah 2: Wire It Up

Wire It Up
Wire It Up

Oleh kerana hanya ada satu komponen dan hanya beberapa sambungan, anda hanya boleh menambah kabel "bentuk bebas."

MOSFET sensitif statik, jadi berhati-hatilah, tetapi sangat penting.

Langkah 3: Sediakan Fail Dengan Nilai PWM

Sediakan Fail Dengan Nilai PWM
Sediakan Fail Dengan Nilai PWM

Salah satu cara untuk mengawal motor tanpa perlu menulis SETIAP perisian adalah dengan menyediakan beberapa fail yang mengandungi bait yang sesuai (dengan lebih kurang 0 bit), dan cukup SALIN ke port COM di mana anda menyambungkan motor. Saya menyediakan beberapa fail (menggunakan emac, tetapi apa sahaja yang sesuai untuk anda):

  • 0.pwm:: mengandungi 5000 watak NULL (ruang kawalan pada kebanyakan papan kekunci) [br] Ini hampir sama dengan "kelajuan penuh" kerana kita akan dapat menggunakan teknik ini.
  • 1.pwm:: mengandungi 5000 watak kawalan-A (ascii 01) (satu bit "1" per char)
  • 3.pwm:: mengandungi 5000 aksara kawalan-C (ascii 03) (dua bit "1" per char)
  • 7.pwm:: mengandungi 5000 aksara control-G (ascii 07) (tiga bit "1" per char)
  • 15.pwm:: mengandungi 5000 watak control-O (ascii 15) (empat bit "1" per char)
  • 31.pwm:: mengandungi 5000 watak-_ kawalan (ascii 31) (lima bit "1" per char)
  • 63.pwm:: mengandungi 5000 "?" watak (ascii 63) (enam bit "1" setiap watak)
  • 127.pwm:: mengandungi 5000 aksara DEL (ascii 127) (tujuh bit "1" setiap watak)

(Sekarang saya telah melukis gambar, anda akan melihat bahawa corak bit yang sebenarnya tidak sesuai. Oleh kerana siri rs232 menghantar LSB terlebih dahulu, kami benar-benar ingin beralih ke angka nol dan bukannya yang lain. Satu latihan untuk pelajar!)

Langkah 4: Main dengan DOS: Konfigurasikan Port COM Anda dan Salin Fail

Main Dengan DOS: Konfigurasikan Port COM Anda dan Salin Fail
Main Dengan DOS: Konfigurasikan Port COM Anda dan Salin Fail

9600 bps adalah kadar bit biasa. Ini sesuai dengan "kira-kira" satu bait per milisaat, jadi dalam hal ini, ia sepadan dengan frekuensi PWM 1000Hz, yang saya rasa sepatutnya baik untuk motor kecil. Anda boleh bereksperimen dengan kadar bit yang berbeza untuk melihat bagaimana keadaan berfungsi, yang merupakan salah satu kelebihan kaedah ini. Buat tetingkap DOS (atau "Command prompt") (dengan andaian anda menggunakan OS windows), dan konfigurasikan port com anda seperti: mode com1: 9600, n, 7, 1 "Itu memberitahu port koma untuk berjalan pada 9600bps, dan mengirim 7 bit dalam setiap watak (agar sesuai dengan 7 panjang bit yang berbeza.)" n "bermaksud TANPA pariti, jadi itu adalah satu-satunya bit data. "1" bermaksud akan ada satu bit "stop", yang akan menghalang kita dari menghidupkan motor sepanjang jalan (oh baik.) Jadi sekarang anda boleh menghidupkan motor dengan arahan seperti: copy 0.pwm com1: Oleh kerana kami menghantar 5000 aksara pada kira-kira 1 per milisaat, motor harus dihidupkan pada kelajuan penuh selama kira-kira 5 saat. Sekiranya anda mahu kurang dari 5 saat, buat fail yang lebih pendek., anda boleh lakukan: copy 127.pwm com1: untuk menjalankan motor pada kelajuan serendah mungkin. Dengan persediaan yang saya miliki, motor tidak akan berpusing sama sekali dengan apa-apa yang "lebih perlahan" daripada 31.pwm, tetapi YMMV (saya kurus k Saya mempunyai motor 12V yang kehabisan bateri 5V.) Perintah COPY membolehkan anda menyatukan fail bersama-sama, jadi jika anda mahu motor anda menjadi laju dan kemudian perlahankan lagi, anda boleh melakukan sesuatu seperti: salin 31.pwm + 15. pwm + 7.pwm + 0.pwm + 7.pwm + 15.pwm + 31.pwm com1:

Langkah 5: Kawal Motor Dari Program

Kawal Motor Dari Program
Kawal Motor Dari Program

Sekiranya anda menulis program, anda mungkin boleh membuka COM1: sebagai fail dan hanya menulis kepadanya seolah-olah fail lain. Mampu menjangka masa di mana motor dihidupkan dengan mengeluarkan sejumlah watak sepertinya sangat berguna. Jangan lupa bahawa sistem sangat mungkin untuk membendung watak yang anda hantar ke port bersiri, jadi hanya kerana panggilan MENULIS tidak bermaksud bahawa motor telah selesai melakukan apa sahaja yang anda katakan. Oleh kerana kami tidak melakukan apa-apa "mewah" dengan isyarat port com, anda tidak perlu menyiasat pilihan misterius yang mungkin disokongnya. (walaupun, jika anda dapat mengetahui cara mengirim urutan BREAK ke port com, itu adalah keadaan "0" yang berterusan, dan akan menggerakkan motor SEMUA; lebih daripada menghantar 0 aksara berterusan.)

Sekiranya bahasa pengaturcaraan anda tidak membiarkan anda keluar ke COM1:, anda mungkin masih dapat mengendalikan motor dengan "memanggil" DOS untuk melakukan perintah menyalin. (OK. Saya telah memuat turun Microsoft Visual Basic Express 2005 (yang percuma) dan berjaya mengikat bar tatal mendatar dengan kelajuan motor, dikawal melalui port bersiri. Zip dilampirkan. Mungkin ada lebih banyak daripada yang diperlukan untuk menggandakan program pada sistem anda, tetapi saya tidak dapat mengetahui dengan tepat bit mana yang diperlukan. Program ini disederhanakan dan dibuat lebih sukar difahami (maaf) dengan berbilang utas. Satu utas tidak lain hanyalah output ke port bersiri, dan utas utama membaca bar tatal dan maklumat kemas kini yang digunakan oleh utas siri.)

Langkah 6: Eksperimen

Percubaan!
Percubaan!

Sekiranya semuanya berjalan lancar, ini memberi banyak ruang untuk percubaan.

  • Betulkan corak bit saya!
  • Adakah kadar bit penting?
  • Adakah anda perlu mengawal lebar denyut "on" dan "off", atau sekadar mengawal nisbahnya sahaja?
  • Sekiranya anda hanya perlu mengawal nisbah, anda boleh mempertimbangkan urutan berbilang watak pada kadar bit yang lebih tinggi untuk mendapatkan tahap kelajuan yang lebih tinggi. Keluaran 0 diikuti oleh 127 akan menjadi kira-kira separuh.
  • Ini juga berfungsi untuk meredupkan lampu suluh.

Disyorkan: