Şimdi Ara

pic 16 üstü servo controller

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
1.214
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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

     pic 16 üstü servo controller


    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 >







  • bende böyle bir şeyler arıyorum işde bakalım ilgilenen varmı yardımcı ola bileeck biri
  • 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.




  • peki bunu 16f877 ye nasıl uygulayacağız yaklasık 20 servo için ??
  • 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.




  • 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
  • omerege çok teşekkürler, Allah senden razı olsun, paylaşımlarının devamını dilerim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.