Piyasada bulabileceğim digital pot entegresi?

Başlatan learner, 25 Ağustos 2009, 22:27:41

Tagli

DS1868 10k'lık versiyonu BlueMavi'de var görünüyor. Sanırım yakında benim de işim düşecek bu entegreye...

Dorukan ve Int-el'de de bazı dijital pot'lar var ama iki kanallısına rastlamadım. Fiyat olarak da yakınlar, çift kanallıyla bir farkları yok.
Gökçe Tağlıoğlu

mcn

konu açılmışken sorayım,Ben bluemavi den geçen ay 10 k lık ds1868 almıştım,ancak bir türlü çalıştıramadım.SERDAR ÇİÇEK in kitabındaki uygulamayı yapıyorum,devre vs herşey çalışıyor,ancak ds1868 in uçlarında sürekli megaohm civarında değer görüyorum ve değişmiyor hiç.BAcak bağlantıları vs herşey doğru.NEden olabilir,daha önce ds1868 le çalışan,çalıştıran oldu mu?




Kod Seç
/******************************************************************
 PIC16F877 ile DS1868 Dijital Potansiyometre Uygulaması
*******************************************************************/
#include <16f877.h>     // Kullanılacak denetleyicinin başlık                 // dosyası tanıtılıyor.
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

#include <DS1868.c>  // DS1868.c dosyası programa ekleniyor

// Butonlar ve Anahtar Tanımlamaları Yapılıyor
#define pot_reset pin_a0
#define pot_sec   pin_a1
#define arttir    pin_a2
#define azalt     pin_a3

int i=0,j=0// Tam sayı tipinde değişkenler tanımlanıyor

//******************* ANA PROGRAM FONKSİYONU *******************
void main ()
{
   
setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   
setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   
setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   
setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   
setup_adc(ADC_OFF);             // ADC birimi devre dışı
   
setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   
setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı

   
init_pots(); // 2 potansiyometre değeri ilk anda sıfırlanıyor

   
while(1// Sonsuz döngü
   
{
     if (
input(pot_reset))  // Eğer Pot reset butonuna basıldı ise
     
{
        
init_pots();        // 2 potansiyometreyi de sıfırla
        
i=0j=0;           // i ve j değerleri de sıfırla
     
}

     if (
input(pot_sec)) // 0. Potansiyometre seçilmiş ise
     
{
        if (
input(arttir))       // Arttir butonuna basılmış ise
        
{
           
i++;                  // i değerini bir arttır
           
set_pot(0,i);         // 0. potansiyometreyi i değerine ayarla
           
while(input(arttir)); // Butondan el çekile kadar bekle
        
}

        if (
input(azalt) && (i!=0)) // Azalt butonuna basılmış ise ve
        
{                           // i değeri 0 değil ise
           
i--;                     // i değerini bir azalt
           
set_pot(0,i);            // 0. potansiyometreyi i değerine ayarla
           
while(input(azalt));     // Butondan el çekile kadar bekle
        
}
     }
     else  
// 1. potansiyometre seçilmiş ise
     
{
        if (
input(arttir))       // Arttir butonuna basılmış ise
        
{
           
j++;                  // j değerini bir arttır
           
set_pot(1,j);         // 1. potansiyometreyi j değerine ayarla
           
while(input(arttir)); // Butondan el çekile kadar bekle
        
}

        if (
input(azalt) && (j!=0)) // Azalt butonuna basılmış ise ve
        
{                           // j değeri 0 değil ise
           
j--;                     // j değerini bir azalt
           
set_pot(1,j);            // 1. potansiyometreyi j değerine ayarla
           
while(input(azalt));     // Butondan el çekile kadar bekle
        
}
     }
   }
}
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

Salih

Arkadaşlar bende @mcn nin örneğini kullanarak DS1868 ilk defa çalıştırmaya çalışıyorum. Maalesef başarılı olamadım.
Isis de çalışıyor fakat gerçek devre üzerinde çalışmıyor. Haberleşme sinyallerinide lojik analizörle izliyorum. Herşey doğru fakat entegrenin çıkış direnci değişmiyor. Bu konuda tecrübesi olanlar paylaşırsa memnun olurum.

mcn

salih hocam,o kadar araştırdım ettim,yok sanırım bu entegreyi pic le çalıştıran,başka dijital pot yöntemlerini bi araştırmak lazım.Ben ds den umudumu kestim :-\
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

Salih

Evet gerçek devre üzerinde çalıştırana rastlamadım. Elimde lojik analizör de var. Sinyal hatlarını kontrol ediyorum.
Datasheet'indeki şartlar yerine geliyor fakat pot direnç değerleri değişmiyor. Aklıma aldığımız bütün ds1868 ler
bozukmu ki diyesim geliyor :).

Resimde
D0 -> Reset
D1 -> Clock
D2 -> Data

Pot0 ve Pot1 değerleri nin ikiside 4 dür.

mcn

Direk firmaya mail atmayı düşünüyorum,bakalım onlar çalıştırabilmişler mi  ;D
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

ahmet2004

Akım kazancı prensibine göre çalışıyor bu tür entegreler.

O yüzden öyle direnç ölçemezsin.

Çalışıyor görünüyor.


mcn

@ahmet2004 hocam,proteusta her türlü çalışıyor,ama devre üzerinde tık yok.

Sizin demek istediğiniz,direk kullanacağımız yere bağlayalım mı yani,o şekilde mi devreyi deneyelim?
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

Salih

19 Mayıs 2010, 14:52:23 #23 Son düzenlenme: 19 Mayıs 2010, 15:06:15 salih
Ben her şekilde ölçtüm. H0 ucuna +5v L0 ucunada şaseyi bağladım. Ve W0 ucunu şaseye göre ölçtüm. Sonuç yok.
Gerilim vermeden direnç değişimlerini ölçtüm yine sonuç yok.

ahmet2004

Devrelerini yapamayan varsa bana ÖM ile ulaşabilirsiniz.Veya başka herhangi bir devresini yapamayanda gönderebilir.

Adres vereyim kargolayın bakayım.Başka aklıma birşey gelmiyor.

picmanya

Alıntı yapılan: salih - 19 Mayıs 2010, 14:52:23
Ben her şekilde ölçtüm. H0 ucuna +5v L0 ucunada şaseyi bağladım. Ve W0 ucunu şaseye göre ölçtüm. Sonuç yok.
Gerilim vermeden direnç değişimlerini ölçtüm yine sonuç yok.


bu entegreyi bu amaçlamı kullanacaksınız yanlış anlamadıysam potun bir ucu +5V. diğer ucu toprak orta ucuda ayarlı gerilim referansı olarak kullanılacak doğrumudur?

Salih

19 Mayıs 2010, 23:16:15 #26 Son düzenlenme: 19 Mayıs 2010, 23:17:48 salih
Alıntı yapılan: picmanya - 19 Mayıs 2010, 22:04:00
Alıntı yapılan: salih - 19 Mayıs 2010, 14:52:23
Ben her şekilde ölçtüm. H0 ucuna +5v L0 ucunada şaseyi bağladım. Ve W0 ucunu şaseye göre ölçtüm. Sonuç yok.
Gerilim vermeden direnç değişimlerini ölçtüm yine sonuç yok.


bu entegreyi bu amaçlamı kullanacaksınız yanlış anlamadıysam potun bir ucu +5V. diğer ucu toprak orta ucuda ayarlı gerilim referansı olarak kullanılacak doğrumudur?


Bir anfinin girişinde ses ayarı yapmak için kullanılacak idi :).

picmanya

H0 veya L0 uçlarından biri iptal edilip iptal edilmeyen diğer uçla birlikte orta ucu kullanıp ayarlanabilir direnç olarak kullanılacaksa bir şey diyemem
H0=+5V.  L0=toprak  W0=ayarlı pozitif gerilim referansı olarak kullanılmak isteniyorsa bu tür bir çalışma için bu entegreye gerek yok diyecektim

Salih

Haklısın dediğin tür işlemler için (DAC) dijital_analog çevirici entegreler daha uygundur. Biz bir anfinin girişinde ses, ton vs
kontrolu yapmak istiyorduk.

mcn

Bende motor kontrolü için kullanmayı düşünüyordum.DC motor kontrolü yapan bir motor sürücüm var ve hız vs ayarını bir tane 10 k pot ile yapıyorum.Bunu dijitale çevirmeyi düşünüyordum,daha sonra da bu devreye RF modül vb ekleyip uzaktan kontrolde etmeyi düşünüyordum ama daha en başta takıldık.

Benim yapmaya çalıştığım uygulama için picle başka bir çözüm yolu olabilir mi?
www.teknikyazi.com --üşenme,erteleme,vazgeçme...