Pwm sinyali dc motoru döndürmüyor. Yardım lütfen?

Katılım
24 Tem 2014
Mesajlar
75
Puanları
1
Pwm tekniği ile bir dc motorun hız kontrolunu yapmaya çalışıyorum. Ancak motor neredeyse hiç dönmüyor. Pwm frekansı düşük galiba ama timer2 nin değerini hesaplama ve çalışma frekansı oluşturmada sıkıntı yaşıyorum. Motor yerine Led bağlayınca parlaklık ayarı yapıyor. Ama motor bağlayınca sanki yetmiyor. Vızıldama var sadece. Kafayı yedirdi bana.
Pic16f628a kullanıyorum . Dc motoru da mosfet ile sürüyorum. Hatta bu dc motor çalışırsa yerine daha yüksek güçlü bir motor koyup mosfet sayısını arttırmayı düşünüyorum. Başka bi motor koyunca çalışma frekansı değişir mi?yoksa dc motorlar için beli bi Aralık hepsine yeter mi? Kodda tekrardan değişiklik gerekir mi?

Şu anki motor 6v duşuk akımlı bişey
Sonra için ise 12v 10-15A bişey olacak. Akımi taşıyacak mosfet sayısıni sağladığım sürece ve motoru ayrı güç kaynağı ile çalıştırdığım sürece çalışma frekansı veya kodda değişiklik gerekir mi?
4mhz osilator kullanıyorum.
Timer ayarı da

Setup_timer_2(T2_DIV_16,170,1)
seklinde.
Hesaplamaya tam hakim olmadığımdan bir türlu motoru çalıştıracak frekansı oluşturamadim.

Umarım osilator u değiştirmem filan gerekmiyordur :/ timer1 ile de ayrı sayım yapıyorum. Osilator değişirse bu sefer onu komple duzenlemem gerekecek. Yazılımsal olarak bu osilator ve pıc ile dc motor için yeterli frekansı nasıl sağlarım.en az 20khz olması gerekiyormus. Baya dolandım durdum internette ama bi sonuç yok. Yardım edebilecek var mı acaba?
 
Yanılıyor olabilirim ama PWM için 500Hz' te çalışmak gerekiyor.

Sizin kullandığınız formülden gelen sonuçlar şu şekilde :
(1 * 16 * (170+1) * 1) = 43776us = 0.043776sn = 22.84Hz

Belkide kullandığınız transistör sizin verdiğiniz pwm sinyali kadar hassas değildir.Böylece sizin hızınıza yetişemediği için ürettiğiniz sinyal karşılığını bulmuyor olabilir.

Tabi bu yorumlarım amatörce cevap verecek yetkinlikte üyeler size yardımcı olacaklardır.
 
Bende bu konuda cok bilgili degilim arastiriyorum.

Pwm frekansi olarak 30 ile 150 kilohertz frekanslari genelde seciliyor. Yukaridaki hesap dogru ise frekans cok dusuk.

Ikinci konu mosfeti nasil suruyorsunuz bence besleme voltajini arttiriniz en az 12 volt ile çalışınız birde mosfetler iletime gecebilmesi icin direk pic ile suremezsiniz gate voltaji yuksek olmalidir. Sizin mosfetiniz lineer bolgede kaliyor olabilir.

Birde uygulama semanizi eklerseniz daha iyi yorum yapabiliriz.

Olcum yapabilmek icin yani mosfetiniz duzgun cikis verip surup suremediginizi olcmek icin osiloskobunuz var mi?

Bilgileri ekleyjn beraber bakalim.

Motor surmek icin pic kullanmak zorundamisiniz baska pwm uretici entegrelerde var. Daha kolay olur gibi.
 
@serkan_48 Şuan telefondan giriyorum. Semayı pc başına geçince atarım. Şöyle söyleyeyim. Pic in CCP1 pinini once bir 100 ohm dirençe bağladım. Onun da ucunu mosfetin gate'ine bağladım. Motor 6v luk ama Ben 9 volt ile besliyorum. Bunun aynısını Arduino'da yaptım.motor gayet son hızda çalıştı. Ve hız kontrolunu de çok hassas derecede yapabildim. Mosfeti de aynı şekilde sürdüm. İstediğim şekilde ve istediğim işlevi yaptigini görünce arduinodan ccs c ye geçirmeye başladım. Kod olarak sıkıntı yok gibi. Çünkü motor yerine Led koyunca sıkıntı yoktu. Azalip arttı parlaklık. Ben de sevindim tamm oldu bitti diye ama motor takınca olmadı. Büyük ihtimal ben de frekanstan şüpheleniyorum.osilatorum yok maalesef. Pıc ile yapmam şart. Çünkü başka bi sinyali işliyorum. Ona göre motoru çalıştırıyorum.
 
Mosfet yerine transistor kullanmanizi oneririm transistor surmek daha kolaydir. Pic yada arduno nun cikisi 5 volttur. Mosfet in gate i daha yuksek voltaj ve akim ister dusuk voltaj ile dusuk akimla ledi yakmayi basarmis olabilirsiniz ancak yuksek akim ceken motorda mosfet iletime gecmez malesef. Yada mosfet surmek icin ir2110 gibi surucu entegresi kullanmaniz gerekecektir.

Mosfet olarak ne kullandiniz?
 
Arduino da direk transistör gibi sürdüm. Çalıştı. Hız kontrolunu çok hassas bi şekilde yaptı. Ve motor hızı da iyidi. Ancak ccs c ile pıc için yazınca maalesef çalışmadı. Motordan sürekli ses geliyor. Hatta şöyle söyliyim. Ben giriş sinyali olarak bir kumanda sinyali alıyorum. Sinyal değişimini motora pwm olarak yansıtıyorum.motorun çalışmamasi durumu bi yana söyle bi sıkıntı var. Kumanda kapalı ilen ben bu pıc devreme enerji verince ccp pini aktif hale geliyor ve motor son hızda çalışıyor. Ben kumandayi açar açmak tak diye motor duruyor. Ve vızıldamaya başlıyor. Kumandadan sinyal değiştirince yani duty yi 1 ile 170 arası değiştirince motorda ki ses de doğru orantılı olarak artıp azalıyor. Hani sinyal gidiyor gitmesine ama motor bir türlü yol almıyor. Şu anlattığım ikinci hata(kumanda kapalı iken son hız calışması) olmasa diyecem ki mosfet tetiklenmiyor.ama pıc üzerinden istenmeden olsa da gayet yüksek hızda çalışıyordu motor. Durum bu hani yüzdüm yüzdüm kuyruğuna geldim olayın ama burda böyle bi sıkıntı ile karşılaştım.

Setup_timer_2(T2_DIV_1,100,1) yapsam 9.9khz olacak galiba (eğer yanlış hesaplamadiysam tabi). Bu frekans yeter mi bilmiyorum ama deniycem. Tabi yazdığım o Timer ayarı donanımsal olarak gerçekleştirilince sıkıntı çıkarır mı bilem
 

Ekli dosyalar

  • Adsız.jpg
    48.7 KB · Görüntüleme: 41
Kumanda kapali iken bir sekildw bir parazit alip yanlis islem yapiyor gibi anliyorum yoksa pic cikis vermemesi lazim orada bir yanlis var.

Birazdan pc ye gececegim. Cok bilgili degilim yorumlarim bilgim cercevesinde ve mantiken olacak.
 
Setup_timer_2 (T2_DIV_1,100,1) yaptım. Sonra da mosfeti çıkarıp yerine transistör koydum. Yine aynı sonuç. Ses değişimi var ama motorda hareket yok
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…