Bitirme tezi için yardım lütfen

Başlatan zemberek, 26 Mart 2015, 18:19:49

zemberek

Ete hocam bitirmez tezi olarak pulsout yöntemiyle servo motor kontrolü yapıyorum.Şu ana kadar gelişme kaydedemedim.Sadece bu tezden dolayı okulum uzayabilir.Elimde Devrim ÇAMOĞLU'nun kitabı var.Koodlarım var.Kurulacak olan devre hazır.Fakat çalışmıyor.Sebebini bulamıyorum.Okuldaki hocalarda çözüm üretecek bir şey yapmıyorlar.Kimse vakit ayırmıyor.Ben uğraşıyorum.Ama bilgilerim yetersiz kalıyor.Yıldız Teknik Üniversitesi Elektrik Müh. öğrencisiyim.Anadolu lisesi mezunuyum.Meslek Liseleri gibi elektronik , programlama gibi özelliklerimde yok.PIC ile ilgili ders almadım sadece okuduklarımla yapmaya çalışıyorum.Çevremde bununla uğraşan kimse yok anlıyacağınız.

Kodum aşağıdaki şekilde ;
@  __config _CONFIG1, _INTRC_IO  & _WDT_ON &  _LVP_OFF & _CP_OFF & _MCLR_OFF
OSCCON=%01101110   '4MHz Osilatör hızı.........................................
'ADC tanımları ve Konfigürasyonları............................................
ADCON1=%00000000              'Sonuç sola yaslı................................
ANSEL=%00000010               'Al portu analog giriş...........................
TRISA=%01010010               'PortA nın 1,4,6.pini giriş......................
TRISB=%01010010               'PortB çıkış.....................................
'Değişkenler,Sabitler ve Semboller.............................................
ADCDeger VAR BYTE             'Sonuç 8 bit olacak..............................
ServoNo VAR BYTE              'Servo no degişkeni..............................
SYMBOL ServoButon=PortA.6     'Servo seçme butonu..............................
SYMBOL KomutButon=PortA.4     'Komut Butonu....................................
Symbol Servo1=PORTA.2         'Servo 1 Sinyal..................................
SYMBOL Servo2=PORTA.3         'Servo 2 Sinyal..................................
SYMBOL Led1=PORTB.0           'İndikatör 1.....................................
SYMBOL Led2=PORTB.1           'İndikatör 2.....................................
Sayac VAR BYTE                'Döngü Sayacı....................................
Deger VAR WORD                'Deger Aralıgı...................................
AltDeger CON 100              '4MHzde,1Pulse = 10us............................
'10us x 100 = 1ms Servo 0 açısı : Başlangıç değeri.............................
ServoNo=1                     'Açılışta 1 nolu servo etkin.....................
Program:
ADCIN 1,ADCDeger              'ADC Değeri okuyalım.............................
Deger=(ADCDeger*58)/100       'Skala 150; 0-180 derece.........................
IF ServoButon=0 THEN PAUSE 30:ServoNo=ServoNo+1
IF ServoNo>2 THEN ServoNo=1   'Son servonun indeksi(2).........................
SELECT CASE ServoNO
CASE 1:Led1=1:Led2=0
CASE 2:Led1=0:Led2=1
END SELECT
IF KomutButon=0 THEN PAUSE 30:GOSUB Servo
GOTO Program
Servo:   'Servo hızına göre tekrar sayısı...................................
FOR Sayac=0 TO 40  'Alt Değer+Skala 150 =1ms/2ms..............................
  SELECT CASE ServoNo
   CASE 1:PULSOUT servo1,deger+AltDeger
   case 2:PULSOUT Servo2,deger+AltDeger
  END SELECT
  PAUSE 19 'Min gecikme degeri, Hitec HS311 Standard
NEXT                         'Servo ile test edilmiştir.......................
RETURN

bunu pıc16f88 'e yazıyorum.
sonra devremi kuruyorum board üzerinde
ÇALIŞMIYOR.
Herşeyi kitaptaki gibi yapıyorum.
Basitten başlayayım dedim.Ledi yakıp söndüremiyorum onunda kodları şu şekilde;

@  __config _CONFIG1, _HS_OSC & _WDT_OFF &  _LVP_OFF & _CP_OFF & _MCLR_OFF


TRISB = %11110111

SYMBOL Led =PORTB.3

pause 200

Program:

   LOW Led
   PAUSE 500
   HIGH Led
   PAUSE 500

GOTO Program

normalde config ayarları şu şekilde

@ Device  pic16F88, INTRC_OSC_NOCLKOUT
@ Device  pic16F88, MCLR_OFF

böyle yazınca hata alıyorum.bunu size sorduğumda yukardakii gibi yapmamı söylediniz.fakat yukarda ıntr_ıo  yerine hs_osc yazdım.15 ve 16. pinlere üzerinde 20000 yazan kristal ekleyip bu uçları gnd ye bağladım.(bunlar okuldaki hocalardan birinin tavsiyesiydi.)
benim bu tezi yapmamın yolu 1e 1 pıc le uğraşan biriyle oturup bu işi çözmek.Kendim  uyguluyorum sonuç alamıyorum.Okuyorum sebeblerini araştırıyorum olmuyor.
Bu yazıyı yazmadan öncede ledle denetleyicimi yaktım (galiba). elimde tek denetleyici kaldı.Alınır o problem değil fakat uğraştıkça birşeyler elde edemiyorum.Kime gitsem tavsiye veriyor uyguluyorum olmuyor.Kimsede alıp incelemiyor.Bu nedir ne değildir diye.Ben bu işi öğrenmek istiyorum.

LED devresini proteusta çizdim çalıştı.fakat 0.5 sn de yanıp sönmesi gerekirken 3 snde 1 yanıyo. proteus dosyalarını ekledim.bu led için.

servo motor kontrolü içinse proteus çalışmıyor fakat.devresini aşağı yukarı çizdim proteusta.onuda ekledim.

Başarısız olmaktan nefret ediyorum.Bu işi yapmam lazım.Yardım edin lütfen.İletişim bilgilerimi verebilirim.Bu işle uğraşan öğretmen varsa yönlendirebilirmisiniz.
Özel dersin fiyatları nasıldır bilemiyorum.Anlayışınız için teşekkürler.



ete

#1
Programına bakıyorum. Ancak bu cevabı yazmadan edemedim. Çizdiğin şemaya bir bak lütfen. Ünversitede hemde Elektrik mühendisliği okuyan bir kişisin. Bir butonun işlemciye nasıl bağlanacağını bilmiyorsan mantığındamı çalışmıyor? Bir motorun besleme voltajı olmadan çalışmayacağını bilmiyormusun yada düşünemiyormusun. Bunları öğrenmen gerekmiyorki okula mantığını geliştirmek içinde gidiyorsun ama kullanmıyorsan o senin bileceğin şey elbette. Ama başkalarının senin adına mantık kullanmasınıda beklememelisin.   Şimdi hazırlanan şemaya bakıyorum ve yazılan programa bakıyorum ve birde ettiğin sitemlere bakıyorum ve bu konuda yeterince çalışmadığını sağdan soldan bir şeyler kopyalamaya çalıştığını ve yaptığın şeyin doğal olarak çalışmaması durumunda da hem kel hem fodul misali herkesi suçladığını düşünüyorum. Akisini düşünemiyorum çünki bunu düşündürecek hiç bir şey yok ortada.
Programlamayı henüz öğrenmemiş olabilirsin. Ama şundan da eminimki bilmediğin bir şeyi senden kimse istemez. Bilmemek senin eksikliğin bundan da eminim. Çünki ben bir elektronik amatörüyüm senin bilmediklerini bende kendi başıma hemde internet olmadan üstelik Türkçe kitap bile olmadan öğrendim ve ders verecek hale geldim. Hiç sitem etmedim. Kendimi hep eksik bilgili gördüm ve her gün bir şey öğreniyorum.  Dersler yayınladım senin gibi bilmeyenler öğrensin diye baktınmı hiç o derslere bakmadığından eminim. Üstelik projeler kısmında Servo kontrolü konusunda örnek projeler yayınladım. Baktınmı onlara tabiiki hayır baksan yazdıklarında bir nizam olurdu.
Evet sonuca gelelim. Programına bakacağım şemanı düzelteceğim. Hatta programını çalışır hale getireceğim tabiiki ne yapmaya çalıştığını bana anlatırsan. Anlatmazsan müneccim değilim programdan anlayamıyorum çünki.

Ete

NOT:Anladığım kadarı ile Çalışan Program ve Simulasyon dosyası ilişiktedir.

zeus48

Böyle minareye böyle kılıf :-))))

zemberek

Hocam şu an yerin dibindeyim.Yaptığınız sistem basit gözüküyor.Dediğiniz her şey hakkında haklısınız.Ama bir konuda aynı fikirde değilim.Servo motor kontrolü yapmadan önce ledle çalışıyordum.Dersinizi okuyupta anladıklarımı uyguladım.Kabul ediyorum bu işte beceriksizim.Led yine yanmadı.Bunu denedikten sonra o mesajı size gönderdim.Galiba haksızım.Sizi kızdırdıysam ve değerli vaktiniz böyle bir şey için harcattıysam sizden özür dilerim hakkınızı helal edin.Birşeyi yapmak zorunda olmak gerçekten kötü bir şey.Bu yapcağınız şeyi siz seçtiyseniz ve yapamadıysan o daha kötü birşey.Tez konusu seçerken hiç bilmediğim bir konu hakkında bunu yapmam akılsızlık ve mantıksızlık.Dedikleriniz benim için gerçekten çok önemliydi.Bu noktadan sonra PIC hakkında kendimi geliştireceğime söz veriyorum.Bir gün gelecek bu forumdaki arkadaşlar için çözümler üreteceğim.
Tekrardan özür dilerim.Her şey içinde teşekkür ederim.Bu forumda aktif bir üye olacağım.
Saygılar.

Powered by EzPortal