Mengapa kita membutuhkan jalan untuk motor stepper?

9

Saya seorang pemula dan mencoba memahami bagaimana saya dapat menjalankan motor stepper. Konsep yang ada dalam pikiran saya adalah bahwa steppers membutuhkan pulsa digital untuk dijalankan, dan saya mencobanya juga. Saya dapat menjalankan stepper yang saya gunakan dengan sangat mudah. Namun belakangan ini saya menemukan sebuah tautan di mana mereka telah menggunakan jalan untuk memulai stepper yang membenarkannya dengan mengatakan itu

"Jika kita mencoba untuk memulai motor stepper dengan pulsa cepat maka itu hanya duduk di sana dan bersenandung pergi tidak berputar, Kita perlu memulai stepper off secara perlahan dan secara bertahap meningkatkan kecepatan langkah-langkah (naik)." Sumber: http://www.societyofrobots.com/member_tutorials/book/export/html/314

Pertanyaan saya adalah mengapa stepper kemudian memulai dengan pulsa kotak biasa? Mengapa kita membutuhkan jalan? Semua forum dan tutorial lainnya selalu berbicara tentang menyediakan pulsa digital kepada stepper untuk memulai, mengapa konsep ramp ramp tidak dibahas di sana? Apakah praktik buruk menjalankan stepper dengan pulsa digital?

alexhilton
sumber
2
Saya pikir Anda membingungkan "jalan" dengan bentuk "gelombang persegi". Kontrol masih dengan gelombang persegi, hanya kecepatan / laju perubahan langkah-langkah kontrol ini meningkat dari nol ke langkah yang diinginkan per detik atau kecepatan apa pun yang Anda coba dapatkan.
KyranF
Katakanlah gelombang persegi stepper Anda terlihat seperti sinyal 3KHz. Daripada beralih dari dead stop ke flat-out, Anda harus mulai dengan frekuensi rendah (atau jarak antar pulsa yang lebih panjang). Lantai pedal akselerator mobil membutuhkan waktu sekitar setengah detik, dan baik menghisap ban (pada gigi rendah) atau membutuhkan waktu beberapa saat untuk merespons (pada gigi tinggi).
Alan Campbell
Yap saya memang bingung jalan dengan pulsa, terima kasih atas tanggapan kalian!
alexhilton

Jawaban:

8

Ketika pengontrol melangkah motor, rotor harus bergerak cukup jauh (sudut) bahwa ketika kumparan berikutnya (atau pasangan kumparan) diberi energi itu akan menarik rotor ke arah yang benar. Jika rotor belum bergerak melalui sudut yang cukup, maka kumparan akan menarik rotor mundur dan motor hanya duduk di sana dan berdengung. Anda dapat menemukan banyak ilustrasi dan animasi online yang menjelaskan cara kerja normal - bayangkan jika rotor hanya memindahkan sebagian kecil dari jumlah yang diinginkan.

Rotor, poros, dan apa pun yang terhubung ke poros semuanya memiliki kelembaman dan ada gesekan dari berbagai jenis.

Kecepatan maksimum stepper dapat memutar poros terkait dengan torsi yang tersedia dari motor dan torsi yang diperlukan untuk memutar poros (torsi yang tersedia turun ketika RPM meningkat, dan torsi yang diperlukan umumnya meningkat ketika RPM meningkat). Itu tidak terkait langsung dengan inersia.

Untuk benar-benar mencapai maksimum (atau sebagian daripadanya) Anda hanya dapat mempercepat RPM begitu cepat tanpa langkah yang hilang. Akselerasi maksimum terkait dengan inersia dan kelebihan torsi yang tersedia pada RPM tertentu. Jika motor melakukan semua yang bisa dilakukannya hanya untuk mengikuti RPM saat ini maka Anda tidak dapat lagi berakselerasi. Jika RPM cukup rendah, Anda tidak perlu menaikkannya, Anda cukup menyuruhnya melangkah, tetapi itu biasanya hanya sebagian kecil dari RPM yang mampu dilakukan oleh motor. Seringkali landai linier digunakan untuk kesederhanaan, tetapi kurva yang lebih cembung akan optimal.

Berikut adalah kurva torsi motor dari Oriental Motor (pabrikan besar Jepang):

http://www.orientalmotor.com/technology/articles/article-speed-torque-curves-for-step-motors.html

Untuk memperkirakan laju akselerasi maksimum, Anda perlu mengetahui torsi dan momen massa inersia . Jika Anda melebihi tingkat akselerasi maksimum pada pemuatan yang diberikan maka motor akan kehilangan langkah, jadi margin keselamatan yang masuk akal adalah ide yang bagus.

Spehro Pefhany
sumber
Terima kasih Sphero untuk balasan yang begitu mendetail, saya sebenarnya membingungkan diri saya dengan dua hal utama, saya akan bekerja pada cara untuk memilih frekuensi langkah-langkah untuk membuat jalan!
alexhilton
Apakah Anda memiliki beberapa lektur?
Carlton Banks
@CarltonBanks Lihat tautan di atas ke Oriental Motor.
Spehro Pefhany
Itu tidak perlu menyebutkan mengapa lebih baik ramping daripada tidak, (Jika sama sekali, hanya menyebutkan pilihan sejauh saya bisa membaca) Maksud saya sejauh yang saya mengerti seseorang bisa microstep motor dan tidak jalan itu, perbedaannya adalah torsi tidak menjadi yang kuat.
Carlton Banks
Jika Anda tidak peduli dengan kecepatan maksimum, tidak ada alasan untuk meningkatkan. Ramping memungkinkan Anda mendapatkan kecepatan maksimum yang lebih tinggi untuk torsi + inersia tertentu tanpa kehilangan langkah.
Spehro Pefhany
2

Kedengarannya seperti deskripsi yang telah Anda baca berbicara tentang peningkatan kecepatan , dengan kata lain, frekuensi langkah-langkahnya. Pulsa untuk setiap langkah masih persegi.

Alasannya adalah bahwa motor stepper hanya dapat menghasilkan torsi yang sangat banyak. Ketika kami melebihi torsi maksimum ini, motor kehilangan langkah.

Selain itu, mempercepat motor memerlukan torsi oleh hukum gerak kedua Newton : gaya sama dengan percepatan kali massa:

F=mSebuah

Untuk sistem rotasi istilahnya sedikit berubah, tetapi kebanyakan analog: torsi sama dengan momen inersia kali percepatan sudut:

τ=sayaα

Konsekuensinya adalah bahwa untuk mempercepat secara cepat motor akan memerlukan torsi tak terbatas yang tidak mungkin. Jadi, kita harus membatasi akselerasi, yaitu, "meningkatkan" kecepatan, untuk membatasi torsi yang diperlukan untuk sesuatu yang dapat dihasilkan motor tanpa langkah yang hilang.

Phil Frost
sumber
1

Dua tahun kemudian ... Saya ingin menambahkan beberapa detail tentang kecepatan khas vs getaran / kebisingan untuk motor langkah apa pun.

Ketika melangkah sangat lambat, seperti satu per detik, poros akan bergerak ke lokasi baru dan melampaui overshoot kemudian berkali-kali sampai stabil pada langkah itu. Proses ulangi pada setiap langkah baru.

Tegangan / arus listrik harus memadai untuk beban dan ukuran motor harus dipilih agar sesuai dengan torsi yang diperlukan.

Setelah motor tidak perlu bergerak, tegangan / arus dapat dikurangi sekitar 50% hingga 75% untuk mempertahankan posisi itu. Dalam kasus di mana gesekan dominan, atau menggunakan beberapa jenis roda gigi, motor dapat didesenergisasi sepenuhnya. Ini mirip dengan relay yang perlu misalnya 12 volt untuk diaktifkan, tetapi kemudian dengan mudah menjaga kontak diaktifkan dengan hanya 9 volt.

Ketika meningkatkan kecepatan menjadi sekitar 20 per detik, getaran / kebisingan mencapai maksimum. Ini adalah kecepatan yang sebagian besar insinyur akan coba hindari.

Ketika kecepatan meningkat, getaran / kebisingan berkurang, oleh torsi juga turun. Jika Anda memplot noise vs frekuensi, bentuknya akan menunjukkan arah yang jelas dengan beberapa maxima lokal, seringkali pada frekuensi harmonik.

Mari kita asumsikan bahwa nilai tipikal di atas 100 langkah per detik, getarannya cukup rendah untuk dapat ditoleransi dan katakanlah bahwa torsi menjadi terlalu lemah untuk operasi yang andal di atas 500 hertz.

Anda dapat memulai motor langkah menggunakan salah satu dari frekuensi ini segera, tanpa meningkatkan kecepatan dari 100 Hz menjadi 500 Hz. Demikian pula, Anda dapat menghentikan langkah-langkahnya secara tiba-tiba, berapa pun frekuensinya. Arus pegang cukup untuk mengunci motor pada langkah itu.

Ramping diperlukan saat Anda ingin melebihi frekuensi maksimum. Dengan nomor "tipikal" di atas, Anda mungkin menemukan bahwa motor Anda masih memiliki torsi yang cukup, ketika dipercepat secara sembarangan, untuk bekerja dari 500 Hz hingga 700 Hz. Trik untuk operasi yang andal adalah memulai tanjakan di suatu tempat seperti 400 Hz, lalu biarkan meningkat hingga 700 Hz. Pertahankan pada kecepatan itu sampai mendekati posisi target.

Kemudian, perlambat kecepatan dari 700 Hz hingga 450 Hz. Jika posisi target masih belum tercapai, jaga motor pada kecepatan itu. Kemudian, dari 450 Hz, Anda bisa berhenti. Jaga motor tetap berenergi pada arus maks / voltase selama 0,1 detik hingga 1 detik untuk memastikan semua sumber getaran menghilang.

Linier linier lebih mudah dibuat. Tetapi yang optimal adalah bentuk "S". Anda mulai pada frekuensi aman, meningkat perlahan pada awalnya dan ubah laju peningkatan kecepatan secara eksponensial hingga mencapai maksimum.

Ketika tiba saatnya untuk melambat, algoritma yang sama berlaku, mengurangi kecepatan secara perlahan dan secara eksponensial mengubah laju penurunan kecepatan, berhenti mengurangi kecepatan ketika mencapai kecepatan aman, yang memungkinkan untuk menghentikan motor secara tiba-tiba.

Kode sebenarnya melakukan semua itu, menggunakan motorola 68HC05 mikrokontroler, mengambil sekitar 500 byte (EPROM internal adalah total 8K dan RAM 128 byte). Itu ditulis dalam assembler.

Jika Anda memiliki perangkat keras untuk melangkah mikro, maka Anda dapat mengabaikan semua yang disebutkan tentang kebisingan dan getaran. Anda masih memerlukan akselerasi bentuk "S" jika Anda ingin melebihi kecepatan maksimum yang biasa. Tetapi karena tidak ada getaran, berapa pun kecepatannya, Anda bisa membiarkan deselerasinya serendah yang Anda inginkan.

Pelajaran yang dipetik dari drive gelombang persegi masih berlaku. Artinya, untuk cara paling efisien untuk mencapai tujuan, Anda ingin deselerasi berada pada frekuensi tepat di bawah titik di mana torsi motor cukup untuk berhenti dan memulai secara tiba-tiba.

Christian Gingras
sumber