servo motor

Başlatan burak450, 16 Temmuz 2008, 02:59:28

burak450

arkadaşlar ete hocanın hazır koduyla bunu proteus da deniyoruum fakat servo motor sadece tam sağ dönüp duruyor.Nerde hata yapmış olabilirim?
Rica etsem benim için dener misiniz?
dsn  dosyam burda http://rapidshare.com/files/130010382/servo.dsn.html
hex dosyam burda http://rapidshare.com/files/130010703/SERVO.HEX.html

TRISC=0
TRISB=1

pos     var     word    ' Servo position
servo1  var    PORTC.1 ' Alias servo pin
   Low servo1      ' Servo output low
   Gosub center    ' Center servo
   
   mainloop:
        

        ' Check any button pressed to move servo
        If PORTB.4 = 0 Then
                Gosub left
        Endif
        If PORTB.5 = 0 Then
                Gosub center
        Endif
        If PORTB.6 = 0 Then
                Gosub right
        Endif

       

        servo1 = 1      ' Start servo pulse
        Pauseus 1000 + pos
        servo1 = 0      ' End servo pulse

        Pause 16        ' Servo update rate about 60Hz

        Goto mainloop   ' Do it all forever


' Move servo left
left:   If pos < 1000 Then
                pos = pos + 1
        Endif
        Return


' Move servo right
right:  If pos != 0 Then
                pos = pos - 1
        Endif
        Return


' Center servo
center: pos = 500
        Return

        End

KAZIMUGUR

2 ayrı dosyayı indirdim ve çalıştırdım.Tam dediğiniz gibi oluyor.
Ben olsam , aşağıdaki, @ete hocamın dosyası gibi , hepsi bir arada verirdim. Orada görüleceği gibi motorlar "belirli" yere kadar dönüp duruyorlar.Nedir o belirli yer desen potların ayarlanıp bırakıldıkları yer.Açıları "0" ayarlarsanız ve öylece kapatırsanız (kapanışta onaylarsanız) açılışta bir yere gıyneşmediklerini görürsünüz.

Ben acemiyim hexlerden okuyamıyorum(kodların tamamını da göremediğim için derleyici de gerisini nasıl tamamlayacağımı bilemedim) ama o potların değerlerini (yerine geçenler de olabilir) belirleyen yerlere bakılabilir. :roll:

http://www.4shared.com/file/55347126/7f76e2e1/servo_ete.html

burak450

özür dileyerek düzeltiyorum bunlar ete hocanın diil benim bi siteden bulduğum kodlar ve dsn dosyaları bas dosyasını da veriyorum burda nerde hata yapılmış olabilir??
http://rapidshare.com/files/130078134/servo.bas.html

burak450

ETE hocanın örneğinde 16f876 war ve
Basla:


   PORTC = 0
   pulsout PORTC.0, 120  

   pause 10
   goto Basla
   end
yazınca istenilen açıda dönüyor fakat aynı kodu 16f877a için yazınca motor tam sağ yapıp duruyor  :(

KAZIMUGUR

Ben şeöyle yapıyorum.Bir klasör açıp kısa ,Tr karakteri olmayan bir dosya adı veriyorum,çalışacağım tüm elementleri içerisine kaydediyorum.işim bittiğinde ayrı ayrı olmasın diye rar(sıkıştırma )yapıp öyle yüklüyorum,yoksa dosya içini seçmeye kalkar.

Hiç bir değişiklik yapmadan sadece derleyicide üst satıra (pic seçme penceresi) 16f877 yazdım derledim.Proteus da 876 kaldırdım 877 koydum.
Normal çalışıyor.Açıları 90-90-0 da bıraktım (orta pozisyon).

http://www.4shared.com/file/55426737/3f1e3df9/servo_ete877.html

burak450

arkadaşlar ben birşey daha danışmak istiyorum kullandığım servo motor hextronik hx12k.proteus da şu devrem çalışmasına rağmen devreye kurduğumda servo motordan sadece tık tık diye bi ses geliyor ve motor hiçbir yöne dönmüyor  sebebi ne olabilir???

http://rapidshare.com/files/130236941/servo.rar.html