1. sayfa
|
Ilk kodunun calismama nedeni zamanlama olabilir. Ayrica direk olarak duty cycle'i artirmissin. Bunu yaparsan esc koruma moduna gececektir. Escnin calismasi icin ilk basta bir sure 0.8ms lik sinyal gonderilmesi gerekiyor. Ayrica yaptigin oldukca tehlikeli. Esc olduda calisti diyelim birden max gaza cikacak! Ikinci kod daha iyi aslinda onu kullanmalisin. Timerlari kullanmak her zaman daha iyidir. Ancak ben ikinci kodu da onermem sana. Cunku belli acilar icin yapilmis sadece. Araba yapacagim diyorsan cozunurlugun daha yuksek olmali. Asagida yazdigim kod en mantiklisi. Compilerim olmadigi icin deneyemedim ama muhtemelen calisacaktir. Gazi butonla artirmak icin bir kod yerlestirdim main'e. Istersen kendin de degerler verebilirsin. minimum gaz icin 'gaz' degiskenine 0, max icin ise 750 gondermelisin. Ekleme: Kodu oncelikle proteus ya da benzeri simulasyon programlarinda denersen olusabilecek kazalari engellemis olursun. Kolay gelsin. //////////// |
|
çok teşşeür ederim, benim verdigim 2. kod dediginiz gibi belirli acilarda calisiyor ve guc kesildiginde anlik oalrak sinyal kaybediyordu. ama sizin verdiginiz kodda dediginiz gibi sinyal kaybı ortadan kalkti ayrica buton yerine pot taktim, butona ile cebellesmekten kurtuldum ancak anlamadigimi bir kac nokta var, 0.8ms lik pwm ile 2ms pwm yapalamak icin verdigimiz T(0.8ms)=65036 ve T(2ms)=64286 >>> yani timer kesmemiz bu iki deger arasinda baslamliki motor donsun ama 20ms lik peryot yakalamak icin timer'i T1=12500 baslatmak gerek, ama burda >>> 65036-(52536+500+gaz) <<< yaptigimiz tam olarak nedir. neden bu degerden baslattik. gaz malum max 750 olur o zaman T min 65036-(52536+500+750)=11250 ediyor ??? |
Eheh... Sayılar birbirine karışmış galiba set_timer1(54286-gaz); olmalı o kısım. Tam kodu bir daha ekleyeyim: //////////// İnşallah bu sefer doğrudur. Neyse zaten hesaplamayı kodun içerisinde verdim. İstediğiniz değere ayarlayabilirsiniz. |
|
Hocam tekradan merhaba, dediginiz kod ile sorunsuz rf iletişim üzerinden escyi ve motoru kontrol ediyor, bu konuda sagolun. bir konuda daha yardımınıza ihtiyacım var, bizim suan uyguladigimiz method ile esc tek yonlu calisiyor ve gucu kesinde fren uyguluyor. hadi freni gectim ben nasil bir yontem ile esc yi geri dondurebilrim. sinyal peryodum filanmi degiscek ki |
|
ESC terse dondurmeyi desteklemiyorsa tek yapabilecegin motora giden 2 kablonun yerlerini degistirmen. (Hangisini degistirecegin farketmiyor. Istedigin ikisini yer degistir.) Destekliyorsa nasil yapacagina dair bir fikrim yok ama. Ekleme:Bir baktim, reverse olanlarda 1.5ms tam gaz ileri, 1 ms tam gaz geri. 1.25 ise normal. |
|
isin ilginc yani elimde iki tane esc var birisi Turmigy 20A Brused ( sadece ileri) digeri ise Hard Dual Mode Esc ( hem ileri hem geri hemde fren ) en son yazdıgımız kod ile sadece turnigy calisiyor hemde super verimlilikte ck rahat kotrol ediyorum. ama diger esc calismiyor. diger esc ise en basta sayfada verdigim iki kod varya onlarda belirli acilarda donen ile calisiyor ama herhangibir noktada geri donme yok sadece fren yapıyor ve giderek hizlaniyor. ortalik karsiti bu escler beni bitirdi |
| reverse özelliği olan esc var elimde. Ama nasıl motoru ters yönde döndürebileceğimi hala bilmiyorum. Farklı değerlerde pwm sinyali verdim fakat pwm sinyali ile sadece hızı ayarlanıyor. |
1. sayfa
bir proje kapsamında elimdeki pic16f877a ile turnigy brushed 20a esc (fırçalı 20A esc) var. bunlarla uzaktan kumandalı yüksek torku olan bir motor ile araba yapıyoruz. araçın motoj işlemleri hallettim. sıra kodlayama geçti. ancak burda takıldım. sizlerden yardım isitiyorum.
şimdi internnetten araştırdığım kadarıyla esc ler pwm ile çalışıyor. çok fazla örnek inceledim. pwm biliyorum yani. esc ler genel olarak 50hz(20ms) lik frekans ile çalıyorlar genellikle. Ve çoğunlukla escleri servo motor sürme tekniği ile sürülüyor. hobi ile uğraşan bir çok arkadaş bilir millet genellikle esc'leri pic yada mikrodenetleyiciler ile değilde uzaktan kumandaının recever'ları ile sürüyor.(yani bildiğiniz yap boz, kabloları bağla çalıştır) Bu sebeble olcakki pic ile esc sürme ile iligli pek kaynak bulamadim nette gerek türkçe gerekse yabancı sitelerde.
şimdi öğrendiğim kdarıyla iki yöntem var PWM ve PPM
PWM: periyot anında başlıyor ve istediğimiz duty_cycle() kadar artıyoruz.
PPM: ancak ppm peryot içersinde anlık darbe vuruyor ve sönuyor, bunu defalarca yapıyor.
< Resime gitmek için tıklayın >
benim kodlarıma gelince iki tane yazdım, birisi ppm ile olanı ben yazdım digerini degistirdim(tmr kesmesi kullanılmı)
benim yazdıgım calistirmiyor escyi, digeri caslitiriyor. Ancak ikiside 50Hz frekas uretiyor.
Ve ben calisan ornege buton(pot) ekleyemiyorum( hizlandirma yada yavaslatmak icin)
Sizlerden istedigim, ilk kod neden çalışmıyor, çalışabilir formata nasil dönüştürebilirizi ( ona buton yada pot eklemedek daha kolay bence )
yada diger ornege nasil ekleye bilirim pot, zaten kod calisinca ben calistirmiyro escyi 1 yada 2 sn sonra basliyor. pot ile nasil yapabilirim bu isi
acikcasi kodu tam analmadim, acilari filan nasil belirmis adam :(, kesme kontorlumde olmadigi icin buton eklesem bile butona bastigimda timer hala saıyorsa bir ise yaramiyır benim buton :(