Bu işi yapmanın farklı yolları var.
Bir mcu ile pwm üretebilirsiniz. Ama motorun yüküne göre çıkıştaki gerlimi, motorun çektiği akımı kontrol de etmelisiniz.
Bunun dışında 3 faz pwm üreten ve hatta high side mos/igbt sürücüsü de barındıran entegrelerde vardı.
Üçgen, Testere dişi sinyal, komparator vs. kullanmak kontrol açısından daha zor geliyor bana.
Kolayı mcu kullanmak.
Mcu kullanacaksanız,
Sinus pwm üretmek için önce mesela 64 adımlık (90/64=1,4 derece aralıklı) bir lookup tablosu oluşturulur. İsterseniz tabloyu 180 derece lik bir alternans içinde oluşturabilirsiniz.
Sonrası 3 adet değişken/indis aralarında 120 derecelik faz farkı olacak şekilde tablo üzerinde gezer durur.
Bu bize 120 derece faz farkı olan 3 sinüs sinyal sağlar. Ama Motora basacağımız pwm duty yi belirlemez.
PWM duty için ya motor üzerine takılı Hall-sensörlere veya motora takılı bir enkodere ihtiyaç var.
Gerçek Dönüş hızı ile istenen dönüş hızı PID ye girer ve çıkış olarak PWM duty alınır.
İhtiyaç olmadığı durum V/F denen invertör cinsi.
Motor X gerilimde Y RPM yapıyorsa direkt olarak motor gerilimi yani PWM duty istenen hıza/çıkıştaki sinüs frekansına göre oranlanır.
Veya Trapez sürülen BLDC motorda da kullanılmayan sargı üzerinden komutasyon zamanlaması elde edilir. Bu da gerçek dönüş hızını verir.
Motor farklı yüklerde de dönüş hızını korusun, tork kontrollü olsun isteniyorsa, Vektör kontrol algoritmalarına girilmeli.
TI, ST, Microchip vs. nin AC-DC, Trapez BLDC, V/F, Vektör motor kontrolü üzerine App. Note larına bakmakta fayda var.
Detaya inmek için motor cinsi, Gerilim, akım, vs. bilgilere ihtiyaç var.
Kağıt üzerinde bir proje ise muhtemelen motor parametrelerine göre analiz vs de gerekecek.