![Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32: 3 Langkah Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32: 3 Langkah](https://i.howwhatproduce.com/images/010/image-27969-j.webp)
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01
![Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32 Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32](https://i.howwhatproduce.com/images/010/image-27969-1-j.webp)
![Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32 Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32](https://i.howwhatproduce.com/images/010/image-27969-2-j.webp)
![Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32 Penjanaan Isyarat PWM Resolusi Tinggi untuk Servos RC Dengan Peranti STM32](https://i.howwhatproduce.com/images/010/image-27969-3-j.webp)
Pada masa ini, saya sedang membina pemancar / penerima RC berdasarkan cip SX1280 RF. Salah satu tujuan untuk projek ini ialah saya mahukan resolusi servo 12 bit dari stik hingga ke servo. Sebahagiannya kerana servo digital moden mempunyai resolusi 12 bit kedua, pemancar mewah menggunakan 12 bit pula. Saya sedang menyiasat bagaimana saya dapat menghasilkan isyarat PWM resolusi tinggi pada peranti STM32. Saya menggunakan pil hitam (STM32F103C8T8) buat masa ini untuk prototaip.
Langkah 1: Senarai Bahagian
Perkakasan
- Mana-mana papan pengembangan STM32F103 (pil biru, pil hitam, dll.)
- Bank kuasa USB sebagai bekalan kuasa
- Pengaturcara STM32 (Segmen j-link, ST-LINK / V2, atau sekadar klon st-pautan)
Perisian
- STM32CubeMX
- Atollic TrueSTUDIO untuk STM32
- Sumber projek dari github
Langkah 2: Penyelesaian yang Jelas
![Penyelesaian Yang Jelas Penyelesaian Yang Jelas](https://i.howwhatproduce.com/images/010/image-27969-4-j.webp)
![Penyelesaian yang Jelas Penyelesaian yang Jelas](https://i.howwhatproduce.com/images/010/image-27969-5-j.webp)
![Penyelesaian Yang Jelas Penyelesaian Yang Jelas](https://i.howwhatproduce.com/images/010/image-27969-6-j.webp)
Mungkin penyelesaian paling mudah adalah menggunakan salah satu pemasa yang dapat menghasilkan isyarat PWM, seperti TIM1-3 pada STM32F103. Untuk servo digital moden, kadar bingkai boleh turun hingga 5 ms atau lebih, tetapi untuk servo analog lama mestilah 20 ms atau 50 Hz. Oleh itu, sebagai senario terburuk mari kita menghasilkannya. Dengan resolusi jam 72 MHz dan penghitung pemasa 16 bit, kita perlu menetapkan pemasa pemasa ke minimum 23 agar dapat merangkumi kadar bingkai 20 ms. Saya memilih 24 kerana ketika itu selama 20 ms, saya perlu menetapkan kaunter tepat ke 60000. Anda dapat melihat persediaan CubeMX dan isyarat PWM 1 dan 1.5 ms yang dihasilkan dalam tangkapan skrin. Malangnya, untuk 1ms penghitung pemasa harus ditetapkan ke 3000, yang hanya akan memberi kita resolusi 11 bit. Tidak buruk, tetapi matlamatnya adalah 12 bit, jadi mari kita mencuba yang lain.
Sudah tentu Sekiranya saya memilih pengawal mikro dengan penghitung pemasa 32 bit, seperti STM32L476 resolusi ini boleh menjadi lebih tinggi dan masalahnya akan dapat diselesaikan.
Tetapi di sini, saya ingin mencadangkan penyelesaian alternatif yang akan meningkatkan lagi resolusi walaupun pada STM32F103.
Langkah 3: Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi
![Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi](https://i.howwhatproduce.com/images/010/image-27969-7-j.webp)
![Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi](https://i.howwhatproduce.com/images/010/image-27969-8-j.webp)
![Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi Pemasa Bertingkat untuk Penyelesaian Lebih Tinggi](https://i.howwhatproduce.com/images/010/image-27969-9-j.webp)
Masalah utama dengan penyelesaian sebelumnya adalah bahawa kadar bingkai (20 ms) relatif tinggi berbanding dengan isyarat PWM yang dihasilkan (antara 1 dan 2 ms), jadi kami membuang beberapa bit berharga untuk baki 18 ms ketika kami sedang menunggu kerangka seterusnya. Ini dapat diselesaikan dengan lata pemasa menggunakan ciri pautan pemasa untuk penyegerakan.
Ideanya ialah saya akan menggunakan TIM1 sebagai master untuk menghasilkan kadar bingkai (20 ms) dan TIM2, TIM3 untuk mengatasi isyarat PWM sebagai hamba. Apabila tuan mencetuskan hamba, mereka hanya menghasilkan isyarat PWM dalam satu mod nadi. Oleh itu, saya hanya perlu menempuh jarak 2 ms pada pemasa tersebut. Nasib baik anda dapat merangkumi pemasa dalam perkakasan sehingga penyegerakan ini tidak memerlukan campur tangan dari pemproses dan sangat tepat juga, jitter berada di wilayah ps. Anda dapat melihat persediaan CubeMX pada tangkapan skrin.
Seperti yang anda lihat, saya memilih 3 sebagai prescalar jadi untuk 2 ms saya perlu menetapkan 48000 di kaunter pemasa. Ini memberi kita 24000 untuk 1 ms yang sebenarnya lebih banyak yang kita perlukan untuk resolusi 14 bit. Tadaaaa…
Sila lihat tangkapan skrin osiloskop di intro untuk hasil akhir. Saluran 3 (ungu) adalah gangguan pemasa utama yang akan mencetuskan saliran untuk menghasilkan satu nadi. Saluran 1 dan 4 (rasuk kuning dan hijau) adalah isyarat PWM sebenar yang dihasilkan oleh pemasa yang berbeza. Perhatikan bahawa mereka diselaraskan tetapi mereka diselaraskan di tepi belakang, itu kerana mod PWM 2. Ini tidak menjadi masalah, kerana kadar PWM untuk servo tertentu masih betul.
Manfaat lain dari penyelesaian ini adalah untuk mengubah kadar bingkai bermaksud mengubah tempoh dalam TIM1 sahaja. Untuk servo digital moden, anda boleh turun hingga 200-300 Hz, tetapi sila baca manual servo jika anda ingin memperbaikinya.
Disyorkan:
Kaunter Frekuensi Resolusi Tinggi: 5 Langkah (dengan Gambar)
![Kaunter Frekuensi Resolusi Tinggi: 5 Langkah (dengan Gambar) Kaunter Frekuensi Resolusi Tinggi: 5 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/002/image-3585-j.webp)
Kaunter Frekuensi Resolusi Tinggi: Arahan ini menunjukkan pembilang frekuensi timbal balik yang mampu mengukur frekuensi dengan pantas dan tepat. Ia dibuat dengan komponen standard dan boleh dibuat pada hujung minggu (saya memerlukan sedikit masa lagi :-)) EDIT: Kodnya kini tersedia
Webcam Resolusi Tinggi: 9 Langkah (dengan Gambar)
![Webcam Resolusi Tinggi: 9 Langkah (dengan Gambar) Webcam Resolusi Tinggi: 9 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/005/image-14719-j.webp)
Webcam Resolusi Tinggi: Selama beberapa tahun saya menggunakan kamera web berasaskan RPi (dengan modul PiCam). Imej yang dihasilkan baik-baik saja tetapi kemudian, ada saat di mana saya tidak lagi berpuas hati dengan kualiti. Saya memutuskan untuk membuat Webcam dengan resolusi tinggi. Bahagian berikut dengan
OpenLogger: Resolusi Tinggi, Diaktifkan Wi-Fi, Sumber Terbuka, Logger Data Mudah Alih: 7 Langkah
![OpenLogger: Resolusi Tinggi, Diaktifkan Wi-Fi, Sumber Terbuka, Logger Data Mudah Alih: 7 Langkah OpenLogger: Resolusi Tinggi, Diaktifkan Wi-Fi, Sumber Terbuka, Logger Data Mudah Alih: 7 Langkah](https://i.howwhatproduce.com/images/009/image-26593-j.webp)
OpenLogger: Resolusi Tinggi, Diaktifkan Wi-Fi, Sumber Terbuka, Logger Data Mudah Alih: OpenLogger adalah logger data mudah alih, sumber terbuka, kos rendah, dan beresolusi tinggi yang direka untuk memberikan pengukuran berkualiti tinggi tanpa memerlukan perisian mahal atau perisian penulisan dari awal. Sekiranya anda seorang jurutera, saintis, atau peminat yang
Penguat Kuilt Tinggi Dengan Bekalan Kuasa Usb untuk Peranti Mudah Alih (PAM8403): 3 Langkah
![Penguat Kuilt Tinggi Dengan Bekalan Kuasa Usb untuk Peranti Mudah Alih (PAM8403): 3 Langkah Penguat Kuilt Tinggi Dengan Bekalan Kuasa Usb untuk Peranti Mudah Alih (PAM8403): 3 Langkah](https://i.howwhatproduce.com/images/002/image-4731-69-j.webp)
Penguat Quility Tinggi Dengan Bekalan Kuasa Usb untuk Peranti Mudah Alih (PAM8403): Kami menghadapi masalah: tahap pembesar suara notebook yang rendah! bunyi pembesar suara notebook! Kami tidak mempunyai bekalan kuasa luaran! Masalah tersebut berkaitan dengan banyak peranti mudah alih yang lain. Apa yang boleh kami lakukan? Idea! Kita boleh melakukan penguat super pembesar suara dengan
Cara Mendapatkan Imej Resolusi Tinggi daripada Instruktif: 4 Langkah
![Cara Mendapatkan Imej Resolusi Tinggi daripada Instruktif: 4 Langkah Cara Mendapatkan Imej Resolusi Tinggi daripada Instruktif: 4 Langkah](https://i.howwhatproduce.com/images/002/image-5539-77-j.webp)
Bagaimana Mendapatkan Gambar Resolusi Tinggi daripada Instructables: Adakah anda benar-benar menikmati gambar yang boleh dipelajari dan ingin menyimpan salinan resolusi tinggi? Ciri kecil yang hebat ini mudah dilupakan