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

Şimdi bildiğim bir kaç konuyu sizinle paylaşayım.

İlk konu pic e yada bir işlemciye sinyal girmek. Aşağıdaki resimdeki örnekte pic e 24 voltluk bir sinyal uygulanmaktadır. Değineceğin en önemli iki nokta

1- Pic e 5 volttan fazla voltaj verememiz. Herhangi bir girişe o girişin kabul ettiği değerin üzerinde voltaj vermememiz gerekiyor. Bu nedenle seri direnç kullanmamız gerekiyor.

2- Bir picin giriş için atanan pini hiçbir zaman bolta bırakılamaz. Boşta bıraktığınızda yakındaki herhangi bir elektromanyetik kaynak yada pinin yakınından geçen başka bir hat bu pini aktif edebilir bu nedenle pull up yada pull down direnci ile ( genelde pull down ) şaselenir ki bu düşük güçlü parazitleri şase seviyesine düşürüp pic in hatalı çalışmasını engellemiş oluruz.

Sizin uygulamanızdaki pic e enerji verdiğinizde sinyal vermesenizde çalışmasını bu 2. maddeye bağlıyorum. Bir adet pull down direnci ile bu sorunu aşacağınızı düşünüyorum.

Aşağıdaki uygulamaları inceleyiniz.

245b-gif.30634
 
Giriş sinyali 0-5v ppm uzaktan kumanda sinyali.surekli degisen bi sinyal. Onu okuyorum, map ediyorum. .Kumandaki joystick ileri tam surulunce 0 değeri veriyor. Ortada iken 300 ve geriye tam gidince de 600 oluyor. Bu değerleri direk okuyorum ve bu değerli pwm sinyal degerleri hangi aralıkta ise o aralığa göre yine map ediyorum. Yani Setup_timer_2 (T2_DIV_16,170,1) iken benim değişkenimin değeri min 1 ve Max 170 oluyor. Kısacası giriş sinyalinin işlem üzerinde bi etkisi olduğunu düşünmüyorum. Hani giriş sinyalini kaldırıp direk pic içinde yavaş yavaş 1 den 170 artan bir değer oluşturup sürekli pwm duty değerine atsam yine aynı şey.. Arduinoda 16mhz lik osilator bulunuyor ama Timer ayarı muamma. Direk yazıyon o veriyor. Yani frekansı ne bilmiyorum arduinoda. Elimde o kadar ince işler için ekipman da yok.
 
Şemada hata yok görünüyor. Kodunada bakalım
 
Evet :) bu konuya ilk burda soru sorarak başladım :) başta Analog devrelerle ppm I pwm E çevirip kullanmaya çalıştım. Çünkü pıc ile ppm işleme olayını bilmiyordum.. Oturup opampla ile karşılaştirici, üçgen dalga üretici ve negatif ve pozitif geri beslemeli karşılaştirici lara çalıştım. Mantığını anladım. Devrem sıkıntısızdi ama analog devrem ilk seferde çalışmadı(demek ki o kadar sıkıntısız değilmiş :) ) . Ben de paralel olarak pıc konusunu da denedim. İnternette sorduklarım ve daha önce yazılmis konularda dolana dolana(bilgisini paylaşan herkese sevgiler saygılar :) ) . Ppm in karakteristiğini çözünce oturup kodu yazdım. İse yaradı. Pic olayına girmeyip Analog devreyi, sinyali isleyemedigim için seçmiştim. Hatta konu açık duruyor :) oturup uğraşıp uzun vadede bişeyler yapcam demiştim. İşte ppm sinyalini işleyebilir hale getirince pıc ile yapayım dedim. Şimdiye kadar da sürekli tekleye tekleye geldim :) bunun da bi çözümü çıkacak ınsalah sizin gibi arkadaşlar sayesinde ama şuana kadar denediklerim ise yaramadı hani :) .bugun kahvaltı yaptım bi tek. İnsan hem uğrasinca hem uğraşı ise yaramayinca acikmiyor :D tüm gün denedim de denedim. baş ağrısı başlayınca bıraktım bu günlük. Sonra da buraya yazdım işte. Yardim ve cevaplar için de herkese teşekkürler :)
 
Frekansı arttırıp denermisin tahminen motorun mırlaması gidecek
 
Frekansı arttırıp denermisin tahminen motorun mırlaması gidecek
Frekansı artırdım bi yere kadar. Mesela Setup_timer_2 (T2_DIV_1,100,1) ayarında pwm 1 100 arası değerle çalışacağı için sinyalimi de 1 100 arası map ediyorum. Ancak daha aşağı çekip frekansı arttirisam bu sefer map ettiğim değerler birbirine çok yaklaşacak ve hız kontrolünun hassasiyeti düşecek. Çözüm frekansı arttırmak ise galiba tek çözüm osilatoru değiştirmek :/ bu durumda kod baştan aşağı düzeltilecek :/
 
Kullandığım mosfetin datasheetinde gate eşik değeri min 2v ve Max 4v diyor. Bu durumda bu pıc ile normal bir transistormus gibi sürülmesi lazım. Ki arduinoda ise yaradı. Dc motor için de 8khz pwm frekansı olursa ses kesilir ve stabil bir çalışma sağlanır diyor. Ben 1 100 arası yapınca zaten frekans bu değeri aştı bile. Yine de çalışmadı motor. Zaten ccp yi kullanıyorum. Hani duty cycle olayi pice kalıyor. O ayarlıyor girilen duty cycle değerine göre. Sadece pwm frekansına etki edebiliyorum ben.o da ise yaramadi :/ sıkıntı nerde anlamadım.
 
Motordan sürekli ses geliyor demişsin frekans ile ilgili olduğunu düşünüyorum (beraber yaptığımız metal dedektör gibi) bu durumda frekansı arttırmayı dene bu da olmazsa oscillatoru değiştirmen gerekebilir. Motor düşük frekanstan dolayı değişik ses çıkarıyor olabilir .ama çalışmamasi tamamen bundan dolayı diyemem Duty cycle ini değerini değiştirerek (yükselt) yapmayı dene. Bu şekilde motor 0- max devir arasında bi değer verecektir
İyi çalışmalar
 

Forum istatistikleri

Konular
128,217
Mesajlar
915,887
Kullanıcılar
450,002
Son üye
enginyayl

Yeni konular

Geri
Üst