16f676 Comparator Modulü

Başlatan zeus48, 05 Nisan 2016, 10:46:59

zeus48

Arkadaşlar mrb, 16f676 ile ve lm358 ile 12v şarz devresi yaptım gayet güzel çalışıyor.

Bilmek istediğim lm 358 kullanmadan pic in Comparator Modulünü kullanarak yapabilirmiyim. Comparator Modülünü yazılımda nasıl aktif edebilirim bilmiyorum. Datasheet baktım ama anlayamadım. Bilgisi olan arkadaşlardan çevap bekli,yorum . Teşekkürler

Elzemefe

#1
Devreyi  paylaşırmısın   bakalım  oluyor mu_?
LM358 sanırım sarz olduğunu  ve şarzı kesmek
için  karşılaştırıcı olarak  kullanuyorsun  ...

zeus48

Arkadaşım devremde  volt ve amp okuyorum sorun yok . Ben sadece lm 358 kullanmadan bu işi yapabiliyormuyum

Elzemefe

#3
ölçmek istediğin aralık 0-5V aralığında ise  herşeyi
ölçebilirsin ...
Volt okuyabilirsin . ama akım çok küçük değer olduğu  için
devreye bakmak lazım hangi  metodla akımı ölçüyorsun
... yapabilyormuyum sorusunun cevabına
gelince bu tamamen sana  bağlı ...

ete

Komparatör Türkçe anlamı karşılığı karşılaştırıcı demek oluyor.
İki tane giriş var. Bunlara A ve B derseniz A>B ise cıkış biti 1
veya tersi B>A ise çıkış biti 0 olarak size bunu bildirebiliyor.
Daha iyi anlamak için 16F628A komparatör sistemini inceleyelim.

Her şeyden önce aksine bir komut verilmez ise komparatör aktif olarak
işlemci çalışmaya başlar. Bu durumda 2 nolu komparatör için, PORTA.0 pini Vin-
ve PORTA.3 pini Vin+ pini olarak çalışır.

Benzer şekilde 1 nolu komparatör için, PORTA.1 pini Vin- ve PORTA.2 pini Vin+
girişi olarak kullanılır.

Öncelikle kaç adet komparatör kullanacağınıza karar verip kendinize bir mod
seçmeniz gerekiyor. Bunu CMCON registeri ayarlamaktadır.
Data sheet de bu register bitlerinin ne işlere yaradıkları detaylı şekilde açıklanmıştır.
Mod seçimini CMCON registeri 2-0 arasındaki bitler sağlamaktadır.
Toplamda 8 adet mod bulunmakta bunlardan bir tanesi komparatörlerin iptal edildiği %111 konumudur.

Şimdi sırası ile inceleyelim;
ilgili bitlere (2-0) %000 değeri verilir ise;
Bit-7 C2OUT biti olarak çalışır. Bu çıkışı invert eden yani ters çevirebilen 5 nolu bit,
şayet 0 ise (C2INV=0)
-Şayet bit-7=1 ise  C2 Vin+>C2 Vin- Başka bir deyişle PORTA.3 den giren voltaj > PORTA.0 dan giren voltaj.
-Şayet bit-7=0 ise  C2 Vin+<C2 Vin- Başka bir deyişle PORTA.3 den giren voltaj < PORTA.0 dan giren voltaj. 

Şayet C2INV=1 ise yani çıkış invert edilmiş ise doğal olarak yukardakilerin terslerini görmeniz gerekir.
-Şayet bit-7=1 ise  C2 Vin+<C2 Vin- Başka bir deyişle PORTA.3 den giren voltaj < PORTA.0 dan giren voltaj.
-Şayet bit-7=0 ise  C2 Vin+>C2 Vin- Başka bir deyişle PORTA.3 den giren voltaj > PORTA.0 dan giren voltaj.

Kısaca 2 nolu komparatör çıkışını bu 7 nolu bit ile tespit edebiliyor ve çıkış 1 ise A>B imiş veya çıkış 0 ise B>A diyebiliyorsunuz.

Bit-6 da benzer işleri Komparatör-1 için yapmaktadır. Komparatör-1 girişleri ni yukarıda verdim.
1 nolu komparatörün çıkış INVERT biti 4 nolu bitdir. Bu çıkış için 4 nolu bit'e ne verildiği önem kazanıyor.

Invert bitlerini altlarsak sıra 3 nolu bite gelirki buda ınput switch bitidir.
%010 ve %001 şeklindeki mod seçimleri Multiplex girişli sistemlere ait seçimler olmaktadır.
Bu seçimler de PORTA 0-3 pinlerinin hangi girişlere bağlanması gerektiğini buradan ayarlayabiliyorsunuz.

Biraz da modlar üzerinden konuşalım.
Mod=%000 (Komparatorler Reset)

Mod=%100 (İki bağımsız komparatör kullanım modu)

Mod=%011  (Ortak Referansı olan iki komparatör kullanım modu)

Mod=%101  (Tek bağımsız komparatör kullanımı)

Mod=%111   (Komparatörler iptal)

Mod=%010   (4 giriş, iki komparatöre verilmiş seçenekli komparatör kullanımı)

Mod=%110   (2 ortak referanslı ve çıkışları olan komparatör kullanımı)

Mod=%001   ( 3 giriin 2 komparatöre multiplex ile kullandırılmasını sağlayan kullanım şekli)
Artık hangisini kullanacaksanız ona göre bu 2-0 bitlerine değer verip diğer CMCON bitlerinide seçininize göre ayarlayıp komparatörü kullanabilirsiniz.

Ete

zeus48

Hocam tşk harika açıklamışsınız. Sağol

Powered by EzPortal