avatar_ete

Volt-Ampermetre

Başlatan ete, 22 Mart 2012, 17:50:40

n.atakan

#120
@F.T

Hocam, TRISA =%000000001 burada 9 bit var haberiniz olsun gözünüzden kaçmış sanırım, bende hataları gidermeye çalışıyorum olucak inşallah :D

   O komutu düzelttim ve DEFINE ADC_BITS 8 idi DEFINE ADC_BITS 10 yaptım çünkü 10 bit üzerinden işlem yapıyoruz diye biliyorum bu şekilde şuan isiste sorunsuz çalıştı, RA3 ten referans voltajı vermeden çalıştırabilir miyiz peki, sizden, ete hocadan ve diğer arkadaşlardan yorumları bekliyorum, teşekkürler.

ete

16f676 hiç tanımadığım bir işlemci. Data sheet incelemek gerek şu anda bunu yapacak durumda değilim. Yarın bakacağım .
Ete

F®T

n.atakan onlar çok sorun değil.işlemcide tık yok.onlara gelene kadar datasheeti sona kadar okudum.a veya c portu tınlamıyor. :)
Ete hocam bende çok merak ettim bunun sonunu.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

n.atakan

@ete

  Tamam hocam teşekkürler.

@F.T

Hocam sizin bahsettiğiniz sorun şu anda tam olarak nedir, ben önceki mesajımda değim gibi  DEFINE ADC_BITS 10 yapınca şu anda sorunsuz çalıştırıyorum. İsiste tabi baskıyı yapamıyorum henüz.

n.atakan

Bu durumda sorun yok gibi görünüyor, devreyi yüklüyorum. İşte birde referans voltajı vermeden çalıştırabilirsek çok daha iyi olur, sayenizde baya yol aldık tek başıma bu kadarı imkansızdı :)

ete

Devrede ve programda bir sorun yok gözüküyor. Komutlar ve regsiter ayarları tamam.
Yalnızca ADCON0=%10000000 şeklinde değer verilmesi daha doğru olur. Sizin komut da bit0=1 yapılmış ki bu ADC modülünü harekete geçirmek için kullanılır ve bunu basic yaptığı için sizin yapmanıza gerek yok.

ADC ölçümünde referans voltajını VDD den mi alacak yoksa REF pinindenmi alacak buna ADCON0 registerinin 6. biti karar veriyor. Bu biti sıfır yaparsanız ki öyle yapmışsınız referans voltajı pic beslemesinden alınacak demektir.
Bu biti 1 yaparsanız Vref pininden (12 nolu pin) ayrıca Vref voltajı girmeniz gerekir.

Sigorta ayarları eksik ama önceki programda varmış onlarıkullanabilirsiniz. Bu işlemcinin dahili OSC si mevcut onuda kullanabilirsiniz.  (@ DEVICE pic16F676, INTRC_OSC_NOCLKOUT)

Başkada sorun yok.
Ete

F®T

n.atakan tebrikler azmettin ve sonunda başardın.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

n.atakan

#127
Öncelikle iki hocama da teşekkür ederim, hocam daha öncede dediğim gibi şu ana kadar 16f84a dan başka bir işlemci kullanmadığım için çok soru soruyorum kusura bakmayın,
@ DEVICE pic16F676, INTRC_OSC_NOCLKOUT komutunu kullandığımda devreye kristal bağlantısı yapmamış mı oluyorum, ETE hocam belki derslerinizde anlatmışsınızdır ama vizelerimizin başlamasına çok az bir zaman kaldığından derslerinizin çok az bir kısmına bakabildim, F.T hocam sizde programı düzenlemeseydiniz bu iş olmazdı, yalnız OSCCAL ve ANSEL gibi hiç duymadığım komutlar var, bu benim ödevim değil öğrenmek amaçlı ve hevesim olduğu için yapıyorum o yüzden sizden son bi rica etsem programdaki ilgili komutların işlevlerini programa yazabilir misiniz? Birde RA3/MCLR bacağı referans voltajı değil ise oraya normal pull-up direci ile 5V vermem gerekir heralde diğer pic lerde isiste burayı boş bıraktığımda çalışıyordu bunda çalışmıyor o yüzden bu bacağın ayrı bir işi mi var acaba diye düşünüyorum, bi devre için sizleri çok uğraştırdım söylediklerimiz yeter gerisi senin işin dersenizde sizi anlarım, teşekkür ederim tekrar :)

Edit: PORTA.4=1 burada niçin 4. biti high yaptık sanırım buna gerek yok.

ete

Bir işlemcide dahili osilatör var ise ve sende onu kullanırsan ayrıca kristal bağlaman gerekmez.
Dahili veya harici osilatör seçimleri hep sigorta ayarlarından yapılmaktadır. Bu nedenle bu ayarlar önemlidir ve programın baş tarafına yerleştirilmelidir diyorum sürekli.

MCLR işlemcinin Reset pinidir. Bu pin HIGH da tutulduğu sürece işlemci çalışır durumdadır. LOW a çekilirse reset atar ve içindeki program baştan başlar. Bu nedenle bu pinin Pullup direnci ile HIGH da tutulması gerekir.
Ancak bazı işlemcilerde ki buna 16F676 da dahil bu bacak iptal edilebilir. İptal edilebilir derken Reset özelliği iptal edilebilir ve o pin giriş pini olarak kullanılabilir. Bu işlemde sigorta ayarlarından yapılır.
@ DEVICE pic16F676, MCLR_OFF   komutu reset özlliğini iptal eder. Bu durumda o pin yalnızca giriş amaçlı (çıkış olamaz) kullanılabilir. Böyle ayarlayınca da oraya pullup direnci bağlanması gerekez elbette.

OSCCAL bazı yeni nesil işlemcilerde bulunan Osilatör Kalibrasyon registeridir.

11111100= Maximum Frekans
10000000= Ortalanmış Frekans
00000000 = Minimum Frekans
şeklinde 3 adet ayarı mevcut. Genelde ortalanmış kullanılır.

ANSEL, Analog Select registeridir. Bu da artık yeni nesil işlemcilerde standart analog seçme registeridir.
Kaç tane analog giriş var ise o işlemcide (bu register toplam 8 adedini ayarlayabilir) analog seçilecek girişler için 1 verilmelidir. ANSEL=%00000001 verildiği zaman AN0 pini analog seçilmiş olur. AKsi halde pin Digital giriş çıkış pini olarak çalışır.

Madem finallerin var bırak bunları şimdilik de derslerine çalış. Sonradan sindire sindire öğrenmen gerekenleri öğrenirsin.
Biz buradayız bir yere gitmiyoruz evelallah.

Ete

F®T

Edit: PORTA.4=1 burada niçin 4. biti high yaptık sanırım buna gerek yok.


Bunu ben deneme amaçlı kullanmıştım unutmuşum orda.sil gitsin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

n.atakan

#130
@ete
   Hocam yine üşenmeyip yazmışsınız çok teşekkürler, bu forumu keşfedeli 1.5 hafta oldu olmadı ama o kadar zamanda öğrendiğim şeyleri lisede dahi öğrenemedim sözde microişlemci derslerimiz olduğu halde, 16f84a dan başka bişey duymamıştık, keşke hocalarımız sizin gibi olsaydı evliya gibi çıkardık okuldan :)
   Artık vizeler başlıyor mecbur 2 hafta ara vericez ama bu devreyi de en kısa zamanda karta basıp fotoğraflarınıda buraya atarım yapacak olan diğer arkadaşlara da örnek olur.

   Önceden tecrübelerimi saklamak istiyordum ama burada fikirlerim değişti bundan sonra bildiğim kadarıyla bende diğer arkadaşlara üşenmeden yardımcı olacağım, başta ETE hoca ve F.T hocaya teşekkürler.

MrDodo

Proje kaynak dosyası çok açıklayıcı ve genel itibariyle gayet faydalı bir paylaşım olmuş. Hesaplama mantığını anlatmanız ayrıca takdire şayan. Teşekkürler, Elinize sağlık Hocam.

MrDodo.

yolcu27

#132
16f877 için yazılan kod ve şemaya göre yeniden bir çizim yaptım sprintlayout ile. çizimim fazla iyi değildir. genel itibari ile gözümden kaçan birşey var mı acaba?


kullandığım lcd ekran pinlerine göre çizdim. trimpot yerine 2.2k ve 330r dirençler ile güzel görüntü veriyor elimdeki lcd.

burada güç kaynağı bağlantısını nasıl yapmam gerekiyor. 16f876 için çizimi inceledim güç kaynağına bağlanan 3 yer var. bunları nasıl bağlayacağım orasında takılı kaldım kafam dondu.

blueboard

Ete Hocam, bu mikrodenetleyicide "DEFINE OSCCAL_1K 1" yazılması gerekmez mi?

ete

O komut yalnızca Osccon değeri program hafızasının son adresine yazılmış olan işlemciler için (12f675) geçerli.

Ete

Powered by EzPortal