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

490 hz bencede uygun. Çok yüksek prekansta motot sargıları indüktans gibi davranıp motor gücünün düşmesine ve harmoniklere sebep olabilir.
 
Hesaplama programı için çok teşekkürler :) frekans olayini değiştirdim ama yine durum aynı :) transistör ile de sürdüm olmadı. Çıkışları bi ölceyim dedim. Ccp1 çıkışı Max pwmde ( %100 iken) 1.2 V filan görünüyor. Bence sıkıntı burda. Pwm kare dalga olsa da Max değerde 4.5 v a yakın olmalıydı bence. Bu durumda çalışmamasi normal gibi. Pıc neden bu kadar düşük bir gerilim değeri veriyor acaba? Kumanda kapalı iken mosfet direk çalışıyor ve ccp1 4.5 v civarında. Kumanda açılınca kumandayı dinlemeye geçiyor ama Max 1.2 v veriyor. Yazılımsal olarak bi sıkıntı mı var yoksa pıc mi sıkıntılı anlamadım. Baya başımı ağrıtti bu olay. Bir dc motoru sürmedim :/ @ex8 @kesmez
 
Şu sıra Atmel mi Microchip mi sorusunu düşünmeden edemiyorum :)



Yazılımınız da bir eksiklik veya algoritma hatası olabileceğini düşünüyorum. Belki de mikrodenetleyicinizde bir bozulma durumu olmuş olabilir. Yanlış bağlantılar yapmış olabilirsiniz vs hepsini bir bir kontrol ettikten sonra hala daha hata alıyorsanız denetleyici sağlam olduğunu düşündüğünüz biriyle değiştirmeyi deneyin.

*** Kumanda açıldığında PIC dinlemeye geçiyorsa sanırım dinleme işi için çok fazla gücünü harcıyor olabilir veya o dinleme fonksiyonunda kullandığınız "delay_us" / "delay_ms" mikrodenetleyiciyi bekleme durumuna soktuğu için pwm frekansını bozuyor olabilir.

Yazılımınızda delay fonksiyon ve türevlerini kullanmamanızı tavsiye ederim. Optimizasyonu düşürüyor.
 
Sana test için osilaskop lazım.
 
Motor çalıştı ama tamamen mantıksız bir çözüm yolu ile. Setup_timer_2(T2_DIV_16,255,1 ) ayarı ile çalıştrdim ama set_pwm1_duty(x) içine 0-1000 arası değer girerek. Çok saçma değil mi? O kadar zamandir uğraşıyorum. Devreyi defalarca sokup taktım. Ppm sinyalini okumak zor olur, gerisini hemen hallederim demiştim. İnanılmaz derecede uğraştırdi.ccp1 çıkışı olctum. Baktım max 1.2 v veriyor(duty cycle dergeri için 255 girili iken) ben de aldım madem öyle bunu 4 ile çarpmak lazım dedim. Max 255 olan degeri 4 ile çarptım 1000 oldu. X değeri yerine 0-1000 arası değer giriyorum. Motor çalıştı. Çünkü pwm çıkışi Max değerde yani 1000 de 4.8 v veriyor. Min degerde de 0.boyle bi saçmalık olamaz. O kadar frekans hesaplayıp o kadar uğrastim...ise bak o_O hız kontrol olayı tamm şuan kumanda tekerleği ortada sabitken motor durgun. İleri çevirince hızlanıyor. Geri çevirince de hızlanıyor. Şimdi bir h köprü devresi ekleyip motora, teker yönü ile ileri geri ve aynı zamanda hız kontrolu yaptıricam.ufak bi deneme yaptım. Çalışmadı. Bu sefer h köprüde ses çıkarıyor. Düşük gerilim gidiyor. Üstelik direk 5v a baglamıştım mosfetin birini :)  şaşırmadım hani. Çalışsa şaşardım :) Irl540 lar gelince bir de onlarla kurcam. Bakalım daha ne kadar saçma şeylerle karşılaşicam. Picleri aliexpress ten almıştım. Kim bilir içine ne kattılar   :D:D:D   size de çok teşekkür ediyorum :) umarım bu konuda ilerde aynı sorunu yaşayanlar için bir çözüm yolu olur :) ucuz pıc kullanmayın :) @ex8 @kesmez
 
Son düzenleme:
Hadi geçmiş olsun @ghostmanzero

Projeyi bir adım ileri atlattınız. Bende bu konulara meraklıyım ancak yazılım bilgim hiç olmadığı için içine giremiyorum.
 
@ghostmanzero timer2 8bitlik yani 2^8 - 1 = 255' e kadar sayabiliyorken set_pwm1_duty(x) 1000 değerini nasıl alabiliyor? Çok ilginç :D
 
@ghostmanzero timer2 8bitlik yani 2^8 - 1 = 255' e kadar sayabiliyorken set_pwm1_duty(x) 1000 değerini nasıl alabiliyor? Çok ilginç :D
Hiç sorma ya :) zaten kendini resetliyordu yarısina gelince. Bende üstüne ekleyerek ilerleyecegi bir bolum ekledim.ayni şey daha önce arduino ile akıllı kavşak ve trafik isigi uygulanmasına başıma gelmişti. Orda da ben yanıp sönme olayıni ekrandan izlemek istedim. 7segment display ile süreyi de gösteriyordum. Serial port ta pc ekranında sure doğru. Ama 7 segmentte sadece 3 değer yanlış. Display koduna bakıyorum. Atanan değer doğru. Hexadecimal sayıyı teker teker hesaplıyorum. Yine doğru. Hiç uğraşmadan hexadecimal sayıyı normalde ekranda gösterdiği değerden alakasız olarak değiştirdim. Serial portta saçmaliyordu ama 7 segmentte doğu gösteriyordu. Bağlantıları kontrol ediyordum yine doğru. Aynı displayi sonrasında akilli otopark için kullandım. Bu Sefer olması gerektiği gibi gösterdi. Bazen işler böyle sapitiyor bende. Bende mi sıkıntı var anlamdım. Ama en son onlarin dilinden konusunca anlıyor bu meretler :D:D:D H köprüsunu de bir çalıştırsam tamm olacak. 3 kanalli kumandam. Her kanalda çalışcak sekilde map edicem artık değeri. Bu kumanda ve alıcı için çalışır ama her marka ayrı bir ppm şekli mi gönderiyor yoksa aynı Aralık mi bilmiyorum. Bi de 877a ile deniycem. Osilatoru de 16 ya da 20mhz kullanıcam.bakalim nasıl bişey olcak . Yalnız kumanda ilk kapali iken sadece alıcı devreyi açınca hala motor çalışıyor. Hanii picin ccp ucu high da kalıyor. Çıkışi output_low(pin_b3) deyip sifira da çekiyorum başta ama bana misn demiyor. Buyuk ihtimal picler sıkıntıli. 5-6 tane 628a işte. Yenisini alip denemek gerecek.
 
Hadi geçmiş olsun @ghostmanzero

Projeyi bir adım ileri atlattınız. Bende bu konulara meraklıyım ancak yazılım bilgim hiç olmadığı için içine giremiyorum.
Teşekkürler :) valla yazılım konusunda benim de 1-2 yıllık bir deneyimim var.acemiyim hani. Okulda son yıl başladım yazılıma. İnternette ne kadar bilgi kırliligi olsa da yine de çok şey barındıriyor. Temel bilgimi komple internetten öğrendim . buradaki gibi saolsunlar bilenlere danıştim. Sonra da sürekli denedim. Hani yaptığımız şeyler ahim şahım işler değil zaten. Hepsi önceden yapılmış şeyler. Oturup araştırınca ve en önemlisi pes etmeyince oluyor hani bi şekilde. Eğer merakınız varsa başlamalisiniz bence. Ülkemizde bu işten para kazanmak zor. Hatta çok çok zor. Ama hobi olarak mükemmel birsey bence.
 
. Yalnız kumanda ilk kapali iken sadece alıcı devreyi açınca hala motor çalışıyor. Hanii picin ccp ucu high da kalıyor. Çıkışi output_low(pin_b3) deyip sifira da çekiyorum başta ama bana misn demiyor. Buyuk ihtimal picler sıkıntıli. 5-6 tane 628a işte. Yenisini alip denemek gerecek.

Bu kapali iken motor calisma olayina transistor yada mosfetin gate / base ucuna sase ile araya bir direnc atip denermisin. Yani sinyal gelmediginde tetikleme ucu sase potansiyeline cekilsin.
 

Forum istatistikleri

Konular
128,162
Mesajlar
915,577
Kullanıcılar
449,922
Son üye
11akif

Yeni konular

Çevrimiçi üyeler

Geri
Üst