Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

Algoritma sorusu

Başlatan bulut_01, 11 Nisan 2016, 21:55:10

bulut_01

İyi aksamlar pic proje ailesi küçük bir algoritma sorusu var elimde rc servo var potansiyometre ile servo kontrol edebiliyorum tek sorunum ayarladıgım hızda servonun hareket etmesi ornek potu tam sag ve sol yaptıgımda servo ani olarak değilde ayarladıgım hızda konum değiştirmesini istiyorum bununla ilgili nasıl bir algoritma oluşturmam gerekir çalışan denediğim kod asagıdakidir.dediğim konuda algoritma kafamda oluşmadı.servonun soft konum değiştirmesini istiyorum.


YENİLMEZ..

mehmet

Hız ayar potu ile ilişkili bir değişkenle gecikme yapabilirsiniz...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

zengdai

#2
İyide rc servoda hız kontrolü yapamazsın sabit hızda döner. Hızının şöyle değiştirilebildiğini hatırlıyorum frekankansını değiştirerek.yani 50 hz de ve 60 hz de farklı hızlar oluyor.

düzeltme:
Pardon araya gecikmeler verip değiştiriyorsun herhalde.

bulut_01

Alıntı yapılan: mehmet - 11 Nisan 2016, 22:53:47
Hız ayar potu ile ilişkili bir değişkenle gecikme yapabilirsiniz...
Hocam buna örnek kod verebilirmisiniz ama potla konumu değiştirirken servo ayarladıgım hızda konum değiştirsin ani hareketler olmasın.
YENİLMEZ..

bulut_01

Bir cevapı olan arkadas yok mu  :)
YENİLMEZ..

Eski Klasör

Siz pottan aldığınız değeri konumunu ayarlamak için kullanmışsınız. Nasıl yaparsınız bilmiyorum ama 2. bir pot ekleyip diğer pot ile ayarladığınız değere yavaş yavaş yükselmesini sağlayabilirsiniz (hiç servo ile uğraşmadım) Belki for next ile belirli bir adımda belirli sürelerde artım sağlayabilirsiniz ?

DaRt

Hocam yazdığın kodlar nasıl bilmiyorum ancak basit olarak şöyle yapacaksın. Örneğin potu okuduktan 3 sn sonra kesin konumuna gidecekse önce iki konumun pwm değerleri arasını 30a böl bir pwn değeri bul. Ardından for döngüsü oluştur 30 kademeli her kademede 100ms bekle ve bekledikten sonra pwmyi ilk bulduğun pwm değeri kadar arttırarak set et. 30 döngü 3 sn sürecek ve 3 sn sonra istediğin konumda olacak. Bu 3 sn boyunca başka işlemlerde olacaksa timer kesmesi kur. Bu kadar.

bulut_01

#7
Hocam ben potun tam sol yaptıgımda adc degeri 500 potu tam sag yaptıgımda adc degerim 2500 simdi potla oynarken bu degerleri ayarladıgım hız ile değişmesini istiyorum bununla ilgili nasıl algoritma kurmam lazım ben potu ne kadar hızlı çevirirsemde ayarladıgım hızda yavas hareket etmesini istiyorum servoyu bu kısımla ilgili kod örnek verirseniz makbule geçecek.
YENİLMEZ..

Eski Klasör

Anladığım kadarıyla şu anda servonun hızı sizin için fazla ve yavaşlatmak istiyorsunuz ?

bulut_01

Evet hocam servo ani dönmesini istemiyorum istediğim hızda daha yavas dönmesini istiyorum potu ne kadar hızlı çevirsem bile.
YENİLMEZ..

DaRt

Tam soldan tam sağa kaç sn de gitmesini istiyorsunuz. Yani istediğiniz hız ne. Buna göre yazayım bir şeyler.

Eski Klasör

Kodlarla aram pek iyi değildir ama fikir vermek amacıyla yazıyorum.

500 ile 2500 arasında bir değer alıyor mesela 1500 dersek tam orta konum oluyor heralde bunu 10 a bölsek daha sonra cıkan değeri for döngüsü ile 100 kerede 10 - 20 yada uygun bir değer gecikme vererek arttırsak for döngüsü bittiğinde de sizin istediğiniz konuma gelse hem daha yavaş hareket etmiş olur düşüncesindeyim. bölme oranlarını da düşük rakamlarda yüksek yüksek rakamlarda düşük tutarak  hız farkını ortadan kaldırmış olabilirsin

yada tam olarak detaylı bilmediğim @DaRt hocamın dediği yöntemi araştırabilirsin.




bulut_01

Alıntı yapılan: DaRt - 12 Nisan 2016, 17:13:37
Tam soldan tam sağa kaç sn de gitmesini istiyorsunuz. Yani istediğiniz hız ne. Buna göre yazayım bir şeyler.
Onu biz ayarlayalım örnek değişken bir deger atayarak 5 saniye de 180 dereceyi tamamlayabilir
YENİLMEZ..

necati

[email]entegreterbiyecisi@yahoo.com[/email]

bulut_01

Alıntı yapılan: necati - 12 Nisan 2016, 20:11:44
http://www.sportdevices.com/servo/servo.htm
http://www.sportdevices.com/servo/servo.c
bu olabilir mi
Hocam çok uzun kod bişe anlamadım adc okunan deger atanırken yavas yavas artırmak bu kadar zor olmasa gerek mantıgı kafamda oluşturamadım
YENİLMEZ..