POT KOMUTUNU KULANARAK İŞ BİTMİŞ DEGİL YARDIMINIZI BE

Başlatan yusuftr80, 02 Temmuz 2006, 21:24:06

yusuftr80

Arkadaşlar 2 adet potansiyo metre anahtarla motoru sağa ve sola döndürmek istiyorum ama
Potansiyo metre nin biri elle kontorl edilecek birini ise motora bağladım motor kontrol edecek daha önce arkadaşlar bana güneş takip sisteminden faydalanmamı istediler sa olsunlar ama ben bunu programla yapmak istedim başaramadım elde kontrol etim potansiyo metrenin değerini motordaki pot la ayni oldu zaman motor durması gerek  :roll:  :?:
herkeşe selam lar koaygelsin  
BASLA:
TRISB=%00000011 ' PORTB YE 2 ADET TRİNPOT BAGLIYORUZ?
TRISA=%00000000
PORTB=0
X VAR BYTE
X1 var byte

POT PORTB.0, 127,X ' BURDA Kİ POT ELLE KONTROL EDİLİYOR
LCDOUT $FE,1,"POT=",#X


'******************************
POT PORTB.1, 127,X1 ' BU POTU İSE MOTOR KONTROL EDİYOR YANİ MOTORUN
' MİLİNE BAGLI
LCDOUT $FE,$C0,"POT=",#X1
PAUSE 50
'******************************
IF X=0 AND X1=0 THEN ' X İLE X1 AYNI DEGERDE OLUN CA
PORTB.7=0
PORTB.6=0
ENDIF

'**********************************
' ELE KONTROL EDİLEN POTUN DEGERLERİ
IF X=1 THEN
PORTB.7=1
ENDIF
IF X=3 THEN
PORTB.7=1
ENDIF
IF X=4 THEN
PORTB.7=1
ENDIF
IF X=6 THEN
PORTB.7=1
ENDIF
IF X=8 THEN
PORTB.7=1
ENDIF
IF X=10 THEN
PORTB.7=1
ENDIF
IF X=11 THEN
PORTB.7=1
ENDIF
IF X=13 THEN
PORTB.7=1
ENDIF
IF X=15 THEN
PORTB.7=1
ENDIF

'**********************************
' MOTORUN KONTROLÜNE BAGLI POT DEGERLERİ YAPMASI GEREKEN LER AŞAGIDA
IF X1=1 THEN
PORTB.7=0
ENDIF
IF X1=2 then
PORTB.7=0
ENDIF
IF X1=4 then
PORTB.7=0
ENDIF
IF X1=6 then
PORTB.7=0
ENDIF
IF X1=8 then
PORTB.7=0
ENDIF
IF X1=10 then
PORTB.7=0
ENDIF
IF X1=11 then
PORTB.7=0
ENDIF
IF X1=13 then
PORTB.7=0
ENDIF
IF X1=156then
PORTB.7=0
ENDIF
GOTO BASLA
END

En son yusuftr80 tarafından Pts Tem 03, 2006 1:32 am tarihinde değiştirildi, toplamda 2 kere değiştirildi

Logan

Yazdığın programdan anladığıma göre kullandığın entegrenin ADC'si yok.Sana tavsiyem entegreyi değiştirmendir.Analog-Dijital çeviricisi olan bir entegre kullanırsan işin çok basit.Potların birer bacaklarını +5v'a, diğer bacaklarını ise şase'ye bağlarsın.Adcin komutunu kullanarak iki bacağı kıyaslarsın ve sonuca ulaşırsın.Pot komutu her zaman tam randımanlı çalışmayabilir.
İmza.

yusuftr80

SELAM  16F628 kulansam   olur mu?  daha da olmasa ufak bir programla yardımcı olabilirseniz çok sevinirim  iyi çalışmalar  çevabınızı  8O le  bekliyorum  saygılar .

ibrsel

16F628 in Analog digital dönüştürücü özelliği yok..Bunun için 16F88 kullanabilirsin.bacak bağlantı yapısı 16F628 ile aynı ve Analog bilgi işleyebilme özelliğine sahip.Yada Pic 16F877..

DEFINE  ADC_BITS 8               'A/D çevirim sonucu kaç bit olacak
DEFINE  ADC_CLOCK 3                 'Clock kaynağı (3=rc)
DEFINE  ADC_SAMPLEUS 50               'örnekleme zamanı
'-------------------------------------------------------------------------------
ADCON1=%00001110  8 bitlik işlem yapılacak '-------------------------------------------------------------------------------
analog  VAR WORD
'-------------------------------------------------------------------------------
pause 500
LCDOut $FE,1                
                         
'-------------------------------------------------------------------------------

BASLA:
     ADCIN 0,analog  '0 nolu kanaldan Analog değeri oku ve
     lcdout $FE,1,"Deger =",#analog
     analog=(analog * 196)  '' NOT 8 bit ile işlem yapılınca en fazla 255 değeri okunur analoggirişten
                     '' Girişe 5K pot baglar isen  255  eğeri 5K ya denk gelir. 1 birim için ölçülen deger 5/256 =0,0195 olur
                     '' işlem yapabilmek için 0,0195 * 10000 =195  

goto basla


programa ekleme yaparak istedigin işlemi gerçekleştirebilirsin

yusuftr80

ARKADAŞLAR zahmet olacak ama bana bunu isiste çizip ve proğramını da yazıp yolamanızı rica ederim. :oops:
inanın ne yaptıysam ben bunu başaramadım tek çare  sisler kaldınız  yardımlarınız için şimdiden çok teşekkür ediyor  ve işlerinizin hayırlara vesile olması dileğiyle salıcakla kalın  ama cevabı  sizlerdende bekliyorum kolay ğelsin .

ete

Program ve isis dosyaları aşağıdaki linkte verilmiştir.
Versiyon farklılığına karşılık sec uzantılı dosyayıda verdim.
Dene bakalım nasıl olmuş.

http://www.hemenpaylas.com/download/1114141/yusuf.rar.html

kolay gelsin
ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ete

Aynı programın 16F84 ile çalışan versiyonunu ve gerekli olanH-Köprü devresi şemasını aşağıdaki linke koydum.

http://www.hemenpaylas.com/download/1116853/yusuf_2.rar.html

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com