Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
1338
Tıklama
0
Öne Çıkarma
pic 16 üstü servo controller
İ
17 yıl (104 mesaj)
Çavuş
Konu Sahibi

arkadaslar bnm sorum netten satılan yada semaları bulunan bu pc den servo kontrol devrelerinde yeni devre üstündeki pic den (pici programlayarak) servoları hareket ettirebilirmiyiz kontrol edebilimiyiz ama bu devrenin hiç bir pc ile bağlantısı olmıcak batarya yada pil bağlıcaz devreye vede servoları kontrol edicez ben derdimi assağıdaki resimde acıkca acıklıyım

< Resime gitmek için tıklayın >

bu resimdeki gibi servolar eklemleri kontrol edicek ama pc ile bi kablo vs bağlantısı olmıcak bütün bilgileri picden alıcak enerjisini bataryadan alıcak orda kullanılan microcontroller devre hazır satılıo cok pahalılar tr dede pek yok ve en önemliside bu devreyi alarak yapıcağım robotun ben yaptım demesi biraz zor cünkü herseyi hazır alımış oluyo en azından uğrasıpta yaparsak bana ait bişi olur umarım derdimi anlatabilmisimdir. yardımcı olursanız sevinirim





< Bu mesaj bu kişi tarafından değiştirildi iso93iso -- 13 Temmuz 2009; 17:42:29 >

K
17 yıl (200 mesaj)
Teğmen

bende böyle bir şeyler arıyorum işde bakalım ilgilenen varmı yardımcı ola bileeck biri


Bu mesaja 1 cevap geldi.
O
17 yıl (1431 mesaj)
Yüzbaşı

Eğer daha önce dikkat ettiyseniz servolarda 3 adet pin bulunur, bunlardan ikisi VCC ve toprak görevini üstlenirken, geri kalan uç servo'yu kontrol etmekte kullanılır. Servoları kontrol etmek için ise sadece PWM kullanmak yeterlidir. Genelde servolar saniyede 500us ile 2500us zaman aralığında çalışırlar. Yani siz servoya 500us'lik dalgalar gönderirseniz servo tam sol, 1500us'lik dalgalar gönderirseniz tam orta, 2500us'luk dalgalar gönderirseniz ise tam sağ yapacaktır. Bunu BASIC'te;
 
Servo PortPin, RotationValue

kodunu kullanarak veya PWM ile yapabilirsiniz. Koda sadece kullandığınız pini ve açı değerini (500-2500 us) girmeniz yeterli olacaktır. Uygulamada ise;

 
Dim x as Byte
For x = 0 to y
Servo PORTB.0,1500
Delayms 10
Next x


kodunu kullanmanız gerekmektedir. Koddaki değerleri motorun karakteristiğine göre belirleyebilirsiniz. Motorun hızına ve döneceği açıya göre y değerini belirleyebilir, bekleme süresini ise 10-20 ms arası seçebilirsiniz. y değerini biraz büyük seçerek hesaplama yapmadan tam kontol sağlayabilirsiniz.


Bu mesaja 1 cevap geldi.
İ
17 yıl (104 mesaj)
Çavuş
Konu Sahibi

peki bunu 16f877 ye nasıl uygulayacağız yaklasık 20 servo için ??


Bu mesaja 1 cevap geldi.
O
17 yıl (1431 mesaj)
Yüzbaşı

Bunun için PIC'in I/O portlarını kullanabilirsiniz. 16F877A'nın toplam 40 adet pini vardır, bunların 33'ünü I/O için kullanabilir. I/O işlemi için görevlendirilmiş toplam 5 port vardır, bunlar;

PORTA(0-5)
PORTB(0-7)
PORTC(0-7)
PORTD(0-7)
PORTE(0-2)

portlarıdır. İlk işimiz bunlardan kullanacaklarımızı dijital çıkış portu olarak ayarlamaktır, daha sonra ise kullanacağımız servoların hepsini tek bir seferde sıralayıp ardından bir bekleme süresi bırakmamız yeterli olacaktır. Örnek olarak;

 

Device 16F877A 'Kullanacağımız PIC'i belirledik
XTAL=20 'OSC hızı, ihtiyacınıza değiştirebilirsiniz
ALL_DIGITAL=1 'Tüm portları dijital yaptık

Output PORTA
Output PORTB
Output PORTC 'PORTA, PORTB ve PORTC'yi çıkış olarak ayarladık

Symbol Servo1=PORTA.0
.
.
.
Symbol Servo20=PORTC.5 (İsteğine göre pinlere isim koyabilirsin)

Dim x as Byte 'FOR...NEXT döngüleri için değişken belirledik, kullanacağınız sayıya göre türünü değiştirebilirsiniz ama büyük ihtimalle Byte yeterli olacaktır

basla: 'Programımıza başladık

For x=0 to 15
Servo Servo1, 500
Servo Servo2, 2500
Servo Servo3, 200
Servo Servo6, 1000
Servo Servo8, 1250
Servo Servo15, 1500
.
.
.
.
Servo Servo18, 750
Delayms 20
NEXT x 'Burası tamamen sana ait, istediğin servoları yönlendirdikten sonra tek bir delay yeterlidir, motor karakteristiğine göre de tekrar sayısını belirleyebilirsin.

End



kodunu kullanabiliriz. Kodun içine ihtiyaçlarına göre başka fonkisyonlar veya daha fazla servo komudu ekleyebilirsin.


Bu mesaja 1 cevap geldi.
İ
17 yıl (104 mesaj)
Çavuş
Konu Sahibi

hocam sen napmıssın öle yaaaa allh razı olsun gercekten tam aradıığım seyleri yazdın hatta kodunu bile arıyodum cok sağolasın gercekten


Bu mesaja 1 cevap geldi.
M
17 yıl (12536 mesaj)
Yarbay

omerege çok teşekkürler, Allah senden razı olsun, paylaşımlarının devamını dilerim.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.