Apakah ada frekuensi PWM yang ideal untuk motor sikat DC?

26

Saya akan menggunakan mikrokontroler untuk membuat sinyal PWM untuk kontrol motor. Saya mengerti cara kerja PWM dan siklus kerja, namun saya tidak yakin tentang frekuensi yang ideal. Saya belum memiliki motor, jadi saya tidak bisa mengujinya dan mencari tahu.

Ini adalah grafik kinerja spesifik.

Saya tidak akan memvariasikan tegangan, hanya saja waktu itu menerima tegangan yang diberikan. Jadi bisakah saya mengambil respons linear? Pada tugas 10% dan pasokan 24 V itu akan berjalan pada kecepatan 15 RPM?

Jika ada bedanya, saya akan memasukkan setup. Saya menjalankan 24 V langsung ke jembatan-H yang mengontrol motor. Jelas saya memiliki dua pin PWM pergi dari MCU ke gerbang dua memungkinkan MOSFET.

Sunting: Maaf, tautannya sepertinya tidak berfungsi. Saya kira firewall di tempat kerja tidak suka imgur. Gambar tersebut menggambarkan grafik RPM vs Tegangan. Ini linear dari 50 RPM @ 8 V hingga 150 RPM @ 24 V.

Nate San
sumber

Jawaban:

34

Pendeknya:

Anda memiliki kontrol linear dari 'kecepatan' dengan menerapkan sinyal PWM, sekarang frekuensi sinyal tersebut harus cukup tinggi sehingga Motor DC Anda hanya melewati komponen DC dari sinyal PWM, yang hanya rata-rata. Pikirkan motor sebagai filter low pass. Jika Anda melihat fungsi transfer atau hubungan kecepatan sudut ke tegangan, inilah yang Anda miliki:

fc=1

ω(s)V(s)=Kτs+1
Ini adalah model urutan pertama dari motor DC atau hanya filter low-pass dengan frekuensi cutoff
fc=12πτ

Di mana adalah konstanta waktu motor. Jadi selama frekuensi Anda melampaui cutoff, motor Anda hanya akan melihat bagian DC atau rata-rata sinyal PWM dan Anda akan memiliki kecepatan yang sesuai dengan silinder tugas PWM. Tentu saja, ada beberapa pengorbanan yang harus Anda pertimbangkan jika pergi dengan frekuensi tinggi ...τ

Cerita panjang:

Secara teoritis, Anda perlu mengetahui konstanta waktu motor untuk memilih frekuensi PWM yang tepat. Seperti yang mungkin Anda ketahui, waktu yang dibutuhkan motor untuk mencapai hampir 100% nilai akhirnya adalah

tfinal5τ

Frekuensi PWM Anda harus cukup tinggi sehingga motor (pada dasarnya filter low pass) mengeluarkan tegangan input rata-rata Anda, yang merupakan gelombang persegi. Contoh, misalkan Anda memiliki motor dengan konstanta waktu . Saya akan menggunakan model urutan pertama untuk mensimulasikan responsnya terhadap beberapa periode PWM. Ini adalah model motor DC: ω ( s )τ=10ms

ω(s)V(s)=K103s+1

Mari kita biarkan untuk kesederhanaan.k=1

masukkan deskripsi gambar di sini

Tetapi yang lebih penting di sini adalah tanggapan yang kita lihat. Untuk contoh pertama ini, periode PWM adalah dan siklus tugas adalah 50%. Inilah tanggapan dari motor:3τ

masukkan deskripsi gambar di sini

Grafik kuning adalah sinyal PWM (siklus tugas 50% dan periode ) dan yang ungu adalah kecepatan motor. Seperti yang Anda lihat, kecepatan motor berayun secara luas karena frekuensi PWM tidak cukup tinggi.3τ=30ms

Sekarang mari kita tingkatkan frekuensi PWM. Periode PWM sekarang dan siklus tugas masih 50%.0.1τ=1ms

masukkan deskripsi gambar di sini

Seperti yang Anda lihat, sekarang kecepatannya cukup konstan karena komponen frekuensi tinggi dari sinyal PWM sedang disaring. Sebagai kesimpulan, saya akan memilih frekuensi yang setidaknya .fs52πτ

Ini hanya penjelasan yang sangat teoretis tentang cara memilih frekuensi PWM. Semoga ini bisa membantu!

Big6
sumber
2
Jawaban yang bagus. Anda dapat mengklarifikasi bahwa dengan mengatakan " waktu yang dibutuhkan motor untuk mencapai hampir 100% nilai akhir " yang Anda maksud adalah nilai akhir saat ini atau penuh . Pembaca mungkin bingung dengan kecepatan 100% atau siapa yang tahu apa?
Transistor
Ini sangat informatif! Saya bukan seorang EE, jadi saya tidak terlalu terdidik dalam hal ini. Saya mungkin hanya akan mencoba frekuensi yang berbeda sampai saya mendapatkan respons yang saya sukai di seluruh spektrum yang harus saya operasikan. Namun, saya akan mengingat hal ini ketika melakukan pengaturan itu! . Saya punya satu pertanyaan. Anda mengatakan angka-angka ini semuanya sangat teoretis, tetapi bisakah Anda memberikan perkiraan waktu yang konstan? Ini motor 24 V dc yang menarik paling banyak 300 mA.
Nate San
1
@NateSan Terima kasih! Sebagai salah satu jawaban, yang benar-benar bagus, yang terbaik yang bisa Anda lakukan adalah mulai dengan frekuensi dalam rentang KHz, seperti 2KHz misalnya. Tidak ada cara untuk memperkirakan konstanta waktu berdasarkan informasi yang diberikan atau setidaknya saya tidak tahu. Anda dapat menemukannya secara eksperimental, tetapi Anda lebih baik hanya mencoba frekuensi yang berbeda sampai Anda mendekati apa yang Anda inginkan.
Big6
Fakta-fakta yang disajikan tidak mendukung kesimpulan: Kedua grafik memiliki rata-rata 0,5. Saya pikir ini mencerminkan kenyataan, linearitas tidak tergantung pada frekuensi PWM. Satu-satunya kompromi yang akan dibuat adalah riak arus / torsi dan kebisingan di sisi bawah, dan arus eddy dan switching kerugian di sisi yang lebih tinggi.
alain
1
@ PageDavid Sudah beberapa saat sejak saya melakukan ini, tetapi Anda dapat mengukur ini secara eksperimental dengan menerapkan tegangan input ke motor dan melihat berapa lama waktu yang dibutuhkan untuk kecepatan sudut mencapai 63,2% dari nilai akhir. Anda mungkin harus mengulangi ini beberapa kali dan menemukan rata-rata (walaupun harus cukup dekat dari pengukuran ke pengukuran). Untuk ini, Anda memerlukan peralatan yang tepat, seperti takometer / alat lainnya. Mungkin tautan ini akan membantu: mech.utah.edu/~me3200/labs/motors.pdf atau google "menemukan waktu motor dc konstan" —ini adalah salah satu eksperimen paling umum dalam kursus kontrol intro.
Big6
9

Motor Anda mungkin diarahkan, karena 150 rpm hanya 2,5 putaran per detik. Pada 50 rpm, motor Anda akan membutuhkan lebih dari satu detik untuk melakukan satu putaran.

Yang telah dikatakan, sakelar di h-bridge Anda tidak menghilangkan banyak daya saat dinyalakan (pada dasarnya nol volt) atau saat mati (nol arus). Mereka hanya memiliki baik tegangan dan arus saat mereka beralih, sehingga frekuensi switching yang lebih tinggi berarti lebih banyak panas dalam FET Anda.

Tetap di kisaran 5-20 KHz dan Anda mungkin akan aman. Jika Anda turun terlalu rendah, riak arus motor (dan riak torsi) mungkin terlihat, tetapi Anda dapat melakukan percobaan dengan ini. Terlalu jauh lebih tinggi dan Anda akan memanaskan sakelar Anda. Anda mungkin juga ingin pergi ke ujung yang lebih tinggi untuk keluar dari jangkauan yang dapat didengar.

John Birckhead
sumber
Ini motor untuk pompa peristaltik, saya tidak yakin dengan persnelingnya. Jadi Anda mengatakan bahwa jika saya menjalankan PWM pada 20KHz saya bisa memvariasikan siklus tugas antara 0 dan 100 untuk mendapatkan perubahan linear dekat dalam RPM (yang diterjemahkan menjadi laju aliran pompa untuk saya).
Nate San
Jika switch memanas itu bukan karena frekuensi operasi (tidak di bawah 1MHz pula). Seperti yang Anda katakan, sebagian besar kerugian switching terjadi ketika FET tidak sepenuhnya ON atau OFF. Trik untuk menjaga mereka tetap dingin adalah dengan menggerakkan gerbang mereka cukup keras untuk meminimalkan Ton dan Toff. Pilih FET dengan biaya gerbang rendah dan Ton Toff rendah, dan RDSon rendah.
Drunken Code Monkey
7

Motor praktis berperilaku kira-kira seperti resistor dan induktor secara seri dengan motor sungguhan. Untuk operasi yang efisien, Anda harus beralih antara menghubungkan motor ke suplai dan korslet. Ketika motor terhubung ke suplai, arus akan menjadi lebih positif. Ketika disingkat, itu akan menjadi lebih negatif. Efisiensi akan menurun tajam jika arus mengubah polaritas, karena motor akan menghabiskan sebagian dari setiap siklus mencoba untuk melawan secara mekanis apa yang dilakukannya di bagian lain.

Dari sudut pandang motor itu sendiri, efisiensi akan menjadi yang terbaik ketika tingkat PWM setinggi mungkin. Namun, dua faktor membatasi tingkat PWM optimal:

  1. Banyak motor memiliki kapasitor secara paralel dengan mereka dalam upaya meminimalkan interferensi elektromagnetik. Setiap siklus PWM perlu mengisi dan melepaskan tutup itu, membuang banyak energi. Kerugian di sini akan sebanding dengan frekuensi.

  2. Banyak sakelar H-bridge membutuhkan waktu untuk beralih; sementara mereka beralih, banyak daya yang masuk ke mereka akan sia-sia Karena durasi PWM hidup dan mati menyusut ke titik di mana jembatan menghabiskan sebagian besar waktu aktif atau tidak aktif beralih, kerugian switching akan meningkat.

Yang paling penting adalah kecepatan PWM cukup cepat sehingga motor tidak bertarung dengan sendirinya. Melaju lebih cepat dari itu akan meningkatkan efisiensi motor, tetapi dengan mengorbankan peningkatan kerugian yang disebutkan di atas. Asalkan tidak ada terlalu banyak kapasitansi paralel, umumnya akan ada rentang frekuensi yang cukup besar jika kerugian PWM minimal dan polaritas arus motor tetap maju; frekuensi di suatu tempat dekat tengah kisaran itu mungkin akan menjadi yang terbaik, tetapi apa pun dalam rentang itu harus memadai.

supercat
sumber
Saya sebenarnya tidak akan melakukan grounding selama periode off, gesekan akan menghentikan motor dengan sangat cepat. Jadi saya tidak melihat alasan untuk tidak membiarkannya mengambang di antara periode tugas.
Nate San
@NateSan: Karena motor memiliki induktansi, arus akan terus mengalir bahkan ketika Anda mencoba untuk mematikannya. Korslet motor akan memungkinkan energi untuk terus melakukan pekerjaan yang bermanfaat selama periode off, dan akan mengurangi jumlah energi yang Anda butuhkan untuk dibuang di luar motor
supercat
Atau, gunakan dioda flyback. Untuk beban induktif (misalnya motor), penting untuk memiliki jalur untuk arus saat suplai dimatikan, untuk menghindari lonjakan tegangan yang dapat membunuh transistor switching Anda.
Craig McQueen
@CraigMcQueen: Dioda flyback secara efektif akan memendekkan motor saat arus maju terus, kurang dari penurunan 0,7 volt. Pada 24VDC penurunan 0,7V mungkin tidak menjadi masalah, tetapi kinerja akan lebih baik tanpa itu.
supercat
@supercat: Apa alternatif yang disarankan untuk menyingkat motor ketika dalam kondisi "mati"? FET kedua? Bisakah Anda menunjukkan atau merujuk pada diagram sirkuit contoh?
Craig McQueen
3

Saya merancang dan bekerja pada sistem kontrol kecepatan / posisi PWM yang menggerakkan 16 motor DC yang disikat beberapa tahun lalu. Kami membeli dari Mabuchi, yang menjual 350 juta motor setahun saat itu. Mereka merekomendasikan frekuensi PWM 2 kHz yang dihitung dengan rekomendasi dari sumber lain, termasuk pesawat R / C saat itu. Kami memiliki hasil yang baik dan saya sudah menggunakannya sejak itu.

Ada teori bahwa frekuensi di atas 20 kHz berarti tidak ada siulan / kebisingan tetapi kami menemukan bahwa itu tidak benar. Saya tidak tahu fisika sebenarnya, tetapi ada gerakan mekanis yang bisa Anda dengar. Saya, benar atau salah, menganggapnya sebagai sub-harmonik (frasa kanan?) Dari frekuensi ketika kumparan atau komponen mencoba bergerak sedikit pada frekuensi tinggi tetapi tidak dapat mengikutinya. Saya memiliki pengisi daya telepon seluler di rumah yang saya dapat dengan jelas mendengar siulan dan saya tahu bahwa osilator PWM mereka berjalan dengan baik hingga 100 kHz. (Faktanya, saya sering mematikan yang ada di dapur ketika berjalan melewatinya karena saya mendengar peluit 'tanpa beban' bernada tinggi ketika tidak ada telepon yang terhubung. Saya juga mendengar nada turun menjadi lebih rendah dan lebih rendah ketika telepon pertama dipasang .)

TonyM
sumber
2

Kadang-kadang diinginkan untuk tetap di atas frekuensi yang dapat didengar (20KHz) jika motor dan pengemudi mendukungnya. Jika itu adalah seseorang yang dapat mendengarnya, frekuensi bernada tinggi yang konstan dapat mengganggu. Orang yang lebih muda dapat mendengarnya, setelah usia 40 tahun, itu berkurang.

BrianK
sumber