[Sualtı pervane kontrolü] ESC'yi PWM aracılığıyla kontrol etmek için STM32 nasıl kullanılır?

tarihinde Fengyukun tarafından gönderildi

İticilerin çalışmasını kontrol etmek için mikrodenetleyicileri kullanmak isteyen birçok araştırmacı internette pek çok bilgi bulmuş ancak çoğunun açıkça yazılmadığını tespit etmiştir.APISQUEEN sorunun nasıl çözüleceğini kabaca kaydetmektedir.
Umarım herkes yorum alanında deneyimlerini paylaşabilir ve daha fazla kişiye yardımcı olabilir.
Aldığımız ESC farklı olabilir ama genel kontrol fikri aynı o yüzden bu yazıyı okuduktan sonra hedeflerinize ulaşabileceğinize inanıyorum.

PWM sinyali:
(1) PWM dalga kontrolü (esc genellikle 50Hz veya 20ms PWM dalga kontrolünü kullanır);
(2) Ara duraklama (burada genel olarak yüksek düzey görev döngüsü anlamına gelir) 1,5 ms, aslında 1,475 ms ile 1,525 ms arasındaki ara duraklamadır;
(3) Kontrol aralığı 1 ms ~ 2 ms'dir;
(4) 1,5 ms'den 2 ms'ye ileri gidin ve 1,5 ms'den 1 ms'ye geri gidin.



İşte Arduino'ya dayanan basit bir referans:



NOT: Kullanmak için ESC'nin kilidinin açılması gerekir!ESC'yi güce bağladığınızda, 3 kez bip sesi çıkarır, ardından kilidi başarıyla açıldığında, toplam 5 kez olmak üzere 2 kez bip sesi çıkarır. ESC'nin kilidini başarıyla açmazsanız, onu kontrol etmek için kullanamazsınız. Bu nedenle, yukarıdaki koda bakarak, ESC'nin kilidini açmanın yolunun, başlatma sonrasında onu nötr bir sinyale ayarlamak ve hız kontrolünü başlatmadan önce sinyalin alınmasını beklemek (iki bip sesi) olduğu sonucuna varabiliriz.


Kontrol ve hata ayıklama yöntemleri


Programlama ve hata ayıklama için STM32F7 geliştirme kartını ve HAL kütüphanesini kullanıyoruz.Aslında zamanlayıcı PWM dalgalarının çıktısını veriyor. Ancak dikkat edilmesi gereken pek çok şey var ve net olmayan ayrıntılar gerçekten zaman ve enerji kaybına neden oluyor.İşte hata ayıklama deneyimiyle ilgili birkaç kelime.

Öncelikle, zamanlayıcıda PWM dalgasını yapılandırırken lütfen bunu bir kilit açma sinyali olarak başlatmamaya, rastgele bir değer vermemeye veya yapılandırmamaya dikkat edin. ESC'nin kilidi yalnızca zamanlayıcı ve PWM başlatıldıktan sonra açıldığından, benim örneğimi ele alırsak, 1,5 ms'lik ortalama durdurma sinyali kilit açma sinyalidir, o zaman PWM'yi baştan 1,5 ms'ye yapılandıramazsınız, aksi takdirde ESC yalnızca bir kez bip sesi çıkarır üç güç bip sesi duyulduktan sonra raketiniz hala dönmüyor.



İkinci olarak gecikme kullanımına dikkat edin. İlk başta gecikme kullanmadım ve sonuç ESC'nin sadece bip sesi çıkarması ve ardından yanıt vermemesiydi.Daha sonra PWM dalgasını osiloskopla gözlemlediğimde başlattığım PWM'nin doğrudan yanıp söndüğünü ve ESC vermem gerektiğini buldum. Kilit açma sinyalini alma zamanı. Ama bu sefer de dikkat etmelisiniz.İlk başta delay_us() ile yapılandırma yaptım fakat sorun çözülmedi.Daha sonra delay_ms(1000) olarak değiştirdim yani yapılandırılan süre 1s oldu. sorun hala devam ediyor.Sonra saati ayarladım.Son iki bip sesinden sonra motor dönmeye başlıyor. Bu nedenle kilit açma sinyalinin alınma zamanını kavramak çok önemlidir.



Ayrıca kullanım sırasında yapılandırdığınız sinyallerde herhangi bir sorun olup olmadığını kontrol etmek için osiloskop kullanmayı öğrenmeye de dikkat edin. Aşağıda başlangıçta başlattığım 1.5ms görev döngüsü, 20ms periyodu ve 3.3V genliğine sahip PWM dalgası bulunmaktadır.



Özetlemek gerekirse, tüm süreçte şunlara dikkat edilmelidir:

(1) ESC genel olarak 50Hz frekansında kontrol edilir ve kontrol aralığı kabaca 1ms ile 2ms arasındadır, tabi ki duruma göre değişir.
(2) Güç açıldıktan sonra ESC 3 kez bip sesi çıkaracaktır Kilit açma başarılı olduktan sonra ESC 2 kez bip sesi çıkaracaktır. Bununla birlikte, ESC yalnızca bir kez bip sesi çıkarırsa, bu, ESC'nin yapılandırdığınız sinyali aldığı ancak cihazın kilidini başarıyla açamadığı anlamına gelebilir; bu nedenle, herhangi bir hata olup olmadığını görmek için kilit açma kodunu iki kez kontrol etmeniz gerekir. ESC ses çıkarmıyorsa sinyal bile almıyordur, kablolarınızı ve kodunuzu bir kez daha kontrol edin.
(3) ESC'ye kilit açma sinyalini alması için belirli bir süre vermek amacıyla gecikme fonksiyonunu kullanmaya dikkat edin.Her ESC farklıdır, dolayısıyla bunu kendiniz ayarlayabilirsiniz.
(4) Topraklamaya dikkat edin, ESC sinyal hattını kontrol panosunun sinyal çıkış portuna bağlayın ve ardından sinyal hattını kontrol panosunun GND topraklamasına topraklayın.
(5) Yapılandırılmış sinyalleri kontrol etmek için osiloskop kullanmayı öğrenin.
Yanlış hattı bağlamayın!

Bu gönderiyi paylaşın



← Daha Eski Gönderi Daha Yeni Gönderi →


Yorum yapın