Incremental Encoder ile Six Step sürüş

Başlatan sedronjames, 03 Ocak 2023, 09:48:25

sedronjames

merhaba

incremental encoder kullanarak bldc motor sürmeye çalışıyorum. six step algoritmasını kullanıyorum. aynı kod içerisinde FOC sürüş yaptım, orada güzelce çalışıyorum, sıkıntı yok.

ancak six step algoritmasını denerken sıkıntı yaşıyorum. encoderimi A fazına %5 PWM B ve C fazını LOW yaparak donanımsal olarak sıfırladım. motorum 4kutuplu. bu yüzden bir elektriksel tur 512 encoder pulse'ında olusuyor. sıfırdan baslayarak 85'er artırıp sektor belırledım.

0-85 state 3
85-170 state 1
170-256 state 5
256-341 state 4
341-426 state 6
426-512 state 2

bu statelere göre DRVxx5x datasheetinden bakarak anahtarlama sinyallerini oluşturdum. ancak six step algoritmasını calıstırdıgımda motor dönmüyor. enerjilendirdiği fazda kalıyor.

stateleri falan da değiştirdim ancak olmadı. tavsiyeleriniz var mıdır? tesekkurler

apsis

incremental encoder ile six step sürüşü nasıl yapacaksın? Six step sürüş için gerçek manyetik konuma ihtiyacın var. Bunun için oluk sayısına göre yerleştirilen 3 adet hall sensör kullanılır. Ya da BEMF ile konumlar algılanır.
"Makineye Beyin" MEKATRONİK

sedronjames

encoderden açı bilgisi alacağım ve ona göre fazları anahtarlayacağım. sanki hall sensör varmış gibi doğru anahtarlama kombinasyonlarını bulmam gerekiyor sanırım. belki daha önceden biri yapmıştır.

sezgin05

Bu durumda ilk enerjilenmede rastgele faz bobinleri sürülerek rotorun başlangıç noktasına alınması sağlanabilir.

sedronjames

onu yapıyorum zaten. encoderden z indeksi ilk defa geldiğinde encoder açısını sıfırlıyorum ve rotorun başlangıç konumunu belirlemiş oluyorum. devamında six stepi çalıştırmakta güçlük çekiyorum. nasıl bir yöntemle yaklaşmam lazım bilemedim. internetten ve datasheetlerden buldugum birkaç tane anahtarlama dizisini denedim ancak sonuç vermedi.

sezgin05

Mihai Mihailescu diye bir arkadaşın yaptığı çalışmlarla ilgilenmiştim bir ara belki faydası olur.
https://en.industryarena.com/forum/diy-ac-servo-drive-atmega-based--253254.html

frat

Alıntı yapılan: sadogaffari - 04 Ocak 2023, 11:00:56onu yapıyorum zaten. encoderden z indeksi ilk defa geldiğinde encoder açısını sıfırlıyorum ve rotorun başlangıç konumunu belirlemiş oluyorum. devamında six stepi çalıştırmakta güçlük çekiyorum. nasıl bir yöntemle yaklaşmam lazım bilemedim. internetten ve datasheetlerden buldugum birkaç tane anahtarlama dizisini denedim ancak sonuç vermedi.


Demişsiniz ama aslında siz encoder sayımını sıfırlamış oluyorsunuz. Doğrusu 2 bobine elektrik verip motorun biraz dönüp statik duruma geçmesi sonra bu aşamadan itibaren sizin dönüş sıfırınız bu nokta olmalı, Z sıfırı değil.
DataCNC ve Robotus Mühendislik Kurucusu // https://www.robotus.net & https://www.datacnc.com