02.09.2019

Değişken dijital kontrollü direnç. Dallas Dijital Potansiyometre


Dijital potansiyometre bir değişken dirençFırça pozisyonu mikrodenetleyici kullanılarak programlı olarak ayarlanabilir. Bazen çok uygundur, cihazı sökmeye ve düzelticiyi bükmeye gerek yoktur. Genellikle, devreleri, ADC'nin referans voltajını, kazancını, LCD ekranın kontrastını, ekolayzerlerde ve daha birçok yerde ayarlamak için kullanılır. Çoğu durumda dijital potansiyometreler mekanik emsallerinin yerini alabilir. Serin detaylar üzerinde çalışmak için eziyet etmek için, edinildi. Tartışılacak.

Cihazın ana özellikleri:

  • Empedans - 10 kOhm
  • Fırça Direnci - 52 Ohm
  • 2,7 V - 5,5 V besleme gerilimi
  • Fırça pozisyonu sayısı - 256
  • Sıcaklık aralığı -40 ... + 85 ° C
  • Arayüz - SPI

Bu özellikler. Gerçekte, potansiyometrem 8,7 kOhm empedansa sahipti. Ancak bu rakam veri sayfasında verilen maksimum değerlere uyuyor, bu yüzden endişelenecek bir şey yok. Bu arada, aynı potansiyometreden iki tane daha var, ancak 50 kOhm ve 100 kOhm dirençli. Benzer özelliklere sahip çift potansiyometre de vardır. Bu potansiyometre için fırçanın konumu hatırlanmaz ve buna ihtiyaç varsa, bu programlı olarak uygulanmalıdır. Açıldıktan sonra fırça her zaman orta konumda yükselir.

Potansiyometre kontrolü
Bu cihaz hafifçe kesilmiş bir SPI ile kontrol edilir. MISO hattı yok, çünkü Potansiyometreden hiçbir şey okunamaz, sadece yazabilirsiniz. Potansiyometre ile çalışma algoritmasının parçalanması kolaydır:

1) CS düşük mantık seviyesini ayarlayın
2) İstediğiniz komutu gönderin
3) Veri baytı gönderme
4) CS yüksek mantık seviyesini ayarlayın

Komut baytını daha ayrıntılı olarak düşünün:


C1 ve C0 bitleri yürütülebilir komutu seçmek için kullanılır. NOP'u saymayan sadece iki tane var. Neden boş bir komuta ihtiyacım var, hala veri sayfasından anlamıyorum.

P1 ve P0, komutun yürütüleceği potansiyometreyi seçer. Çünkü Potansiyometrem çift olmadığından, P1 biti benim için tamamen işe yaramaz.

Yeni yazılımımda hata ayıklama kontrol yazılımı oluyordu. Bu ilk ateş vaftiziydi. :-) Potansiyometreyi kontrolöre aşağıdaki gibi bağladım:


Potansiyometrenin yedinci ve altıncı çıkışı arasında dirençteki değişikliği gösteren bir multimetre bağlanır. Ayrıca sonuçları 4 ve 5 yere getiren iki düğme vardır (şemaya çizmeyi unuttum). Ürün yazılımını denetleyiciye diktikten sonra deneyebilirsiniz (bu tür videoları ilk kez filme alıyorum, bu yüzden lütfen çok fazla tekme atmayın):

Her şey basit. Montajcıya bayılıyorum \u003d) C Kötü biliyorum.
Üst düzey programlama dillerinden mikropaskal tercih ederim.

  • Serafim 21 Ekim 2010 18:38

    İyi günler. Bana koordinatlarını ver (Email).
    Size AVR için C hakkında güzel bir kitap (Rusça) göndereceğim,
    ve% 100 çalışma CVAVR yükleyin. Ve bir ay içinde (hatta daha erken)
    C'ye çılgınlık atacaksınız (ve geçmiş hakkında gülümseyeceksiniz). Özellikle şık modelinizle ...
    Geliştirme hızı, birçok hazır kütüphane - ASMa'dan ayrılma sebebi budur. ... Bu AVR, PIC vb. İçindir.

    Ve bilgisayarın yanından (Dullar) - Hızlı bir uygulama için -DELPHI öneririm.

    1995-1996'nın ilk Çeçen savaşına “KAFKASLAR annelerin ağlamasıdır”.
    (ve kişisel olarak, KAFKÜS 1981-1985 Kuzey Osetya'da harcanan ordu yıllarında pahalıdır).

  • İlerleme sadece bisikletten değil. Günümüzde pek çok uygulamada geleneksel değişkenler ve ayar dirençleri dijital dirençlere yol açmaktadır. İngilizce kaynaklarda dijital potansiyometre, RDAC veya digiPOT denir. Bu cihazların kapsamı, ses sinyali seviyesini ayarlamaktan çok daha geniştir. Özellikle, geleneksel DAC'leri kullanarak uygulanması zor olan geri besleme parametrelerini değiştirmek gerektiğinde birçok durumda kurtarmaya gelirler.

    İşlemsel yükselteçlerle birlikte kullanımları özellikle etkilidir. Böylece ayarlanabilir amplifikasyon aşamaları, çeşitli dönüştürücüler, filtreler, entegratörler, voltaj ve akım kaynakları ve çok daha fazlasını elde edebilirsiniz. Tek kelimeyle, bu çok ucuz ve kompakt cihazlar her elektronik geliştirici ve radyo amatör için yararlı olabilir ...

    Başlangıçta kısa bir makale yazmak istedim, ancak konunun derinlemesine bir çalışmasının sonucu olarak, malzeme neredeyse iki parçaya sığmıyor. Bugün bu cihazların mimarisi, yetenekleri, kullanım kısıtlamaları ve geliştirme trendleri hakkında konuşmaya çalışacağım. Sonuç olarak, uygulama alanları konusuna kısaca değineceğim, çünkü ikinci aşamada bunlara dayalı programların pratik uygulamalarına ilişkin spesifik örnekler dikkate alınacaktır. Birçok örnek!

    Şahsen, son beş yılda, bazı gelişmelerimde dijital direnci başarıyla kullandım, umarım bu makale dizisi birçok kişi için yararlı olacak ve birçok sorunu bugünden daha zarif ve basit bir şekilde çözmenize yardımcı olacaktır. Elektronikten uzak insanlar için bu makale, değişken dirençler gibi basit şeylerin bile dijital teknolojinin saldırısı altında nasıl geliştiğini göstererek ufuklarını genişletebilir.

    Not: Böylece, zaten bir örnek verildiği ve sadece bir örnek olduğu ortaya çıktı, ancak ayrıntılı olarak analiz edildi. Vaat edilen örneklerin geri kalanı için üçüncü bir tane yazmanız gerekecek.

    Mimari.

    Bu cihazın nasıl çalıştığını anlamak için fonksiyonel şemaya dönüyoruz. Dijital 8 bitlik direncin analog kısmını gösterir.

    Cihazın temeli, CMOS teknolojisi kullanılarak yapılan aynı dereceye sahip 255 direnç ve çift yönlü elektronik anahtarlardır. 0-255 aralığındaki dijital değer, kod çözücüye sağlandığı kayıt defterine yazılır. Kayıtta depolanan değere bağlı olarak, ortalama W çıkışını doğrusal direnç matrisi Rs'de seçilen noktaya bağlayan tuşlardan biri tetiklenir. Aşırı sonuçları A ve B bağlamak için iki tuş daha kullanılır. Yardımları ile cihaz etkin olmayan moda geçebilir.

    Sonuçlar A ve B değişken dirençli uç terminallerin analoglarıdır, W motorun normal değişken dirençlere bağlandığı orta terminaldir.


    Olası anahtarlama şemaları da geleneksel değişken dirençlere benzer ...

    10 kilo-ohm direnç örneğinde gerekli direncin nasıl ayarlanacağını düşünün. Başlangıç \u200b\u200bolarak, bu tür bir direnç oluşumu için gerekli olan montaj dirençlerinin her birinin değerini hesaplıyoruz Rs \u003d 10000/256 \u003d 39.06 Ohm. W ve B terminalleri arasındaki direnci ayarlamaya çalıştığımızı varsayalım. Sıfır almak için bu değeri kontrol kaydına yazın, ancak istenen sıfır yerine 100 ohm'luk bir direnç elde ederiz. Neden? Gerçek şu ki, cihazın kontaklarının her birinin kendi dahili direnci vardır ve dikkate alındığında 50 Ohm'a eşittir, bu nedenle bu potansiyometre kullanılarak elde edilebilecek minimum değer sıfır değildir, ancak W ve B kontaklarının direncine yüz Ohm'dir. Birim kaydı 50 + 50 + 39 \u003d 139 Ohm alır.

    Genel durumda, W ve B terminalleri arasındaki direnç, formülle D kaydının değerine bağlı olarak hesaplanabilir:

    • D - 0 ile 255 arasında kayıt değeri
    • Rab - nominal direnç
    • Rw - bir temasın direnci
    W ve A terminalleri arasındaki direncin şu şekilde hesaplandığını tahmin etmek kolaydır.

    Bağlantı arayüzleri.

    Şimdi bir I2C arayüzü ile tüm cihazın fonksiyonel diyagramını düşünün.


    Burada sadece AD0 çıkışı bazı sorulara neden olabilir. Bir I2C kanalında iki potansiyometreyi aynı anda kullanma olasılığı için tasarlanmıştır. Üzerinde mantıksal sıfır veya bir tane olmasına bağlı olarak, I2C veriyolundaki aygıt adresi değişir. Bir veriyolundaki iki yonganın bağlantı şeması aşağıda gösterilmiştir.


    I2C arayüzüne ek olarak, SPI arayüzü genellikle bu cihazları kontrol etmek için kullanılır. Bu durumda, aynı veri yolunda birkaç cihazı kontrol etmek de mümkündür. Bunu yapmak için bir zincirde birleştirilirler. Örneğin, şöyle:


    Bu modda, değer yazmanın arabellek kaydı bir kaydırma yazmacı olarak çalışır. Her yeni bit DIN girişine gider ve SCLK ile flaştaki en az önemli bite yazılır. Aynı zamanda, yüksek dereceli bit SDO piminden dışarı çıkar ve zincirdeki bir sonraki cihaza gider. Tüm cihazlarda bilgi kaydedildikten sonra, zincirdeki tüm cihazların yeni kayıt değerlerinin tampondan çalışma kaydına üzerine yazıldığı bir SYNC geçit darbesi alınır. Bu çözümün bariz dezavantajı, tek bir cihaza bilgi yazmanın bir yolu olmamasıdır. Değerlerdeki herhangi bir değişiklik için, tüm zincirdeki kayıtların içeriği güncellenmelidir.

    Bu tür problemleri çözmek ve nihai fiyatı kurtarmak için, aynı anda iki, dört ve hatta 6 dijital direnç içeren mikro devreler tarafından çözümler yapılır.

    Çalışma gerilimi ve akımı

    Belki de ilk gelişmelerin en büyük dezavantajı, terminallerde izin verilen sınırlı voltajdı. 2.7 ila 5.5V aralığında olabilecek besleme voltajını aşmamalıdır ve en önemlisi, negatif devrelere giremedi, çünkü mikro devrelerin kullanımı tek kutuplu güce sahip cihazlarla sınırlıydı. Her şeyden önce, mühendisler bipolarite sorununu çözdüler. Bu nedenle, 5.5 Volt'a kadar tek kutuplu bir voltajdan çalışabilen ve ± 2.75 V'a kadar iki kutuplu bir besleme modunu destekleyebilen cihazlar vardı. Daha sonra maksimum güç kaynağı ± 5.5 ve hatta ± 16.5 olan versiyonlar görünmeye başladı (AD5291 / 5292'de 33 voltaja kadar tek kutuplu). Tabii ki, geleneksel dirençler hala bu parametreden büyük ölçüde faydalanıyor, ancak devrelerin büyük çoğunluğu için 33 volt yeterli.

    Bununla birlikte, cihaz tarafından maksimum voltaj ne olursa olsun, izin verilen sınırların ötesine geçmek mümkünse, en azından diyotlar veya baskılayıcılarla en basit koruma uygulanmalıdır.


    Bir başka ciddi sorun ise, esas olarak küçük boyutlarından dolayı dijital dirençlerin düşük maksimum çalışma akımıdır. Zaman içinde bozulma riski olmadan, çoğu model için ortalama doğru akım 3 mA'yı geçmemelidir. Akan akım darbeli ise, maksimum değeri daha yüksek olabilir.

    Doğruluk mücadelesi. Kontrollü kaos teknolojisi

    Ne yazık ki, mevcut üretim teknolojisi, dijital dirençlerde kullanılan entegre dirençlerin nominal değerin yüzde 20'sine kadar direncinin sapmasına izin veriyor. Bununla birlikte, bir parti ve özellikle belirli bir cihaz içinde, direnç farkı% 0.1'i aşmaz. Kurulumun doğruluğunu arttırmak için, üretici dirençlerin en azından her bir plaka üzerindeki direncini ölçmeye ve her bir mikro devrenin uçucu olmayan belleğine nominal değil, üretim sırasında elde edilen gerçek direnci yüzde 0.01 doğrulukla yazmaya başladı. Böyle bir mekanizma, özellikle AD5229 / 5235 mikro devrelerinde, çok turlu dirençlerde bile ulaşılamayan bir hata ile direnç ayarının gerçek doğruluğunu hesaplamaya izin verir - yüzde 0.01. Buna dayanarak, dijital bir kodun dirence dönüştürülmesi işlemi ayarlanabilir. Temel direncin 100 ohm olduğunu varsayalım. Daha sonra, direnci 1K'ya ayarlamak için dijital kayıtta 10'u ayarlayın, ancak gerçek cihazda direnç nominal değerden yukarı doğru saparsa ve 110 Ohm'a eşitse, o zaman seviye 10'da 1.1K alırsınız. Bununla birlikte, direncin gerçek değerini göz önünde bulundurarak, mikrodenetleyici kodu yeniden hesaplayabilir ve gerçekte on yerine kod 9'u verebilir.O zaman gerçekte 9 * 110 \u003d 990 Ohm elde ederiz.

    Buna ek olarak, AD% 1 hassasiyetle patentli direnç kalibrasyon teknolojisine sahiptir. Ne yazık ki, çalışma mekanizmasının ne olduğu hakkında bilgi bulamadım.

    Direnç tesisatının ayrıklığını arttırmak için, 1024 ayar adımı sağlayan 10 bitlik bir dekodere sahip cihazlar geliştirilmiştir. Bu parametrede başka bir artış, farklı derecelere sahip iki dijital direncin seri veya paralel bağlantısı kullanılarak elde edilebilir.

    Sıcaklık kararlılığı

    Hiç fena değil. Film yapımı dirençlerin kullanımı, 35 ppm / ° C'yi (% 0.0035) aşmayan bir sapma seviyesine ulaşmayı mümkün kılar. Sıcaklık dengelemesi 10ppm / ° C seviyesinde olan termal kompanzasyonlu cihazlar vardır. Bu parametrede, dijital dirençler birçok motor muadilinden daha üstündür. Bu parametrenin ilgili olmadığı uygulamalar için, sürüklenmenin 600 ppm / ° C olduğu yarı iletken dirençlere sahip daha ucuz cihazlar seçebilirsiniz.

    ADI'nin çoğu cihazının çalışma sıcaklığı aralığı, uygulamaların büyük çoğunluğu için yeterli olan -40 ° C ila + 125 ° C arasındadır.

    Bir dizi mevcut direnç.

    Tabii ki, geleneksel sürgü dirençleri kadar çeşitlilik yoktur, ancak aralarından seçim yapabileceğiniz çok şey vardır. Aşağıdaki tablo, mevcut dirençlerin cihazın bit derinliğine bağımlılığını göstermektedir.


    Sinyal bozulması

    Dijital amplifikatörler tarafından verilen sinyalin ana bozulması iki sınıfa ayrılabilir.
    • Harmonik bozulma veya Batı tarzı toplam harmonik bozulma (THD).


    Bu çarpmalar artan voltaj ile artar. AD9252 için derlenen aşağıdaki tablodan tipik değerleri hakkında bir fikir edinebilirsiniz ...


    Bazı durumlarda, bu tür bozulma -60 dB'ye yükselebilir

    Bu etkinin etkisi, cihazın direnci arttıkça artar. Aşağıdaki tablo, farklı derecelerde farklı dirençler için 3 desibel sinyal zayıflamasının hangi frekansta gözlemlendiğini göstermektedir.


    Daha fazla netlik için, 20 ve 100 kilo-ohm farklı derecelerde AD5291 yongaları için sinyal iletiminin ayarlanan direnç seviyesine bağımlılığının daha fazla grafiğini vereceğim.


    Böylece, direnç derecesi ne kadar yüksek olursa, çalışma frekansı o kadar düşük olur.

    Evrimin "çipleri"

    Üreticiler, çeşitli hoş şeyler icat ederek cihazla çalışmayı en rahat hale getirmeye çalışıyorlar. Sonuç olarak, dijital dirençler hem bir kez hem de tekrar tekrar programlanabilir dahili kalıcı bellek elde etti.

    Ana amacı, güç açıldıktan hemen sonra otomatik olarak ayarlanan başlangıç \u200b\u200bdirenç değerini saklamaktır. İlk elektronik direnç modelleri, güç orta konuma getirildiğinde monte edildi, daha sonra sıfıra sıfırlamak için ek bir ayak belirdi, sonra hafızaya kaydedilen değer kullanılarak seviye ayarlanabilir. En gelişmiş modellerde, hafızaya birkaç önceden ayarlanmış değer yazılabilir; bunlar arasında kullanıcının düğmelere basarak hızlıca geçiş yapması sağlanır.


    Ek olarak, kodlayıcıları bağlamak için bir arayüz ortaya çıktı.


    Geliştirmek için başka neler var?

    Dijital direnç üretimindeki ilerlemenin hangi yönde gelişeceğini hayal edebilirsiniz.
    Daha yüksek doğruluk elde etmek için, anahtarlama sistemi değişebilir.

    Örneğin, geleneksel devreye paralel, iki, paralel bir direnç eklemek. Üst omuzda simetri için bir şey daha - direnç ayarının doğruluğunu iki katına çıkarabilirsiniz! Bir muhafazadaki iki cihazın kombinasyonu, gizliliği ve doğruluğu birkaç kez artırmayı mümkün kılacaktır.

    Kod çözücüyü kontrol eden en basit mikrodenetleyici davasına giriş, elde edilen dirençlerin gerçek değerine dayanarak, cihazın direncini çok yüksek doğrulukla ayarlamak için bir anahtarlama programı oluşturmaya izin verecektir -% 0.1 ve daha yüksek. Bir sıcaklık sensörünü bu tür cihazlara entegre ederek, çok geniş bir sıcaklık aralığında doğrusallığı korumak için dengeleme uygulanabilir. Belki de bir durumda birkaç direnç olacak HiFi ekipmanı için frekans dengelemeli dirençlerin analoglarının görünümü. Bunlardan biri ses seviyesini ayarlamak için diğeri frekans telafisi için kullanılacaktır.

    Kullanım alanları

    Makalenin bir sonraki bölümünde dijital dirençlere dayanan özel devre çözümleri vereceğim, bu arada uygulamayı düşünün.

    Tabii ki, ayarlanabilir kazançlı amplifikatörler akla ilk gelir.


    Ayar değerlerinin doğruluğunu arttırmanın bir sonucu olarak, enstrümantal amplifikatörlerin kazanç seviyesi için kontrol devrelerinde elektronik direnç kullanmak mümkün hale geldi.


    Sıvı kristal ekranın kontrastındaki otomatik veya programlı bir değişiklik, 10 kilo-ohm'luk bir elektronik direnç kullanılarak düzenlenebilir.


    Dijital dirençlere dayanarak, kontrollü filtrelerin uygulanması kolaydır. Yüksek dereceli filtreler genellikle aynı dereceye sahip birkaç ana direnç gerektirir. Bu, bir muhafazada birkaç direnç içeren cihazlarla uygulanması çok uygundur, çünkü bu durumda mükemmel tekrarlanabilirlik elde ederiz. Şekil, en basit kontrollü alçak geçiren filtrenin basitleştirilmiş bir diyagramını göstermektedir.


    AD5292'e göre nispeten yüksek besleme voltajına sahip logaritmik amplifikatör.


    Yazılım kontrollü voltaj regülatörü.


    ADI dizisi

    Sonuç olarak, Analog Devices şirketinden bugün mevcut elektronik potansiyometrelerin tam bir listesini vereceğim. Sadece bu şirketin bu tür cihazları üretmediğine dikkat edilmelidir. Örneğin, MAXIM ayrıca uzun süre iyi talaşlar yapar.

    Yeni başlayanlar için, kullanıcı programlamasını desteklemeyen cihazlar.


    Sonuç olarak, programlanabilir cihazlar. Belirli bir model seçerken, hem programlanabilir hem de yeniden programlamayı desteklediklerine dikkat etmek önemlidir. Ayrıca, çok sayıda döngü yalnızca EEPROM teknolojisi tarafından üretilen belleğe sahip mikro devreler sağlar.


    Bu inceleme sona erer. Bir sonraki makale, dijital dirençler kullanan pratik devrelerin ele alınmasına ayrılacaktır.

    Not; Öyle oldu ki, zaten serbest bırakıldı

    Yük altındaki çeşitli devreleri test etmek için, bir radyo amatörü genellikle farklı derecelerde ve buna göre farklı kapasitelerde büyük bir direnç deposuna ihtiyaç duyar. Size yardımcı olacak hantal bir dizi test direncinden kurtulun elektronik dirençŞeması aşağıda sunulmuştur.

    Özellikle, bu şema yapılandırmaya yardımcı olacaktır güç kaynağı: dalgalanmanın hangi yükte büyüdüğünü, çıkış voltajının değerinin değiştiğini öğrenin, aşırı yüke karşı elektronik koruma kurmanıza yardımcı olur.
    Yük eşdeğeri devre Çok basit. Devrenin ana elemanı MOSFET-N transistörüdür. Akım tüketimi, potansiyometre R2 kullanılarak kapıdaki voltaj değiştirilerek düzenlenir. MOS transistörün direnci, kapıdaki voltaja bağlı olarak değişir. Potansiyometre girişindeki voltaj Zener diyot VD1 sayesinde sabittir.

    Basit yük eşdeğeri devresi

    Küçük bir çıkış voltajı olan bir kaynağı test etmek için MOSFET mantığını kullanmalısınız (MOSFET bir mantık seviyesinden geçmek için tasarlanmıştır). Daha düşük bir eşik voltajına sahiptir ve 4 V'a kadar gerilimli güç kaynaklarını kontrol etmenizi sağlar. Mantık transistörleri için, klasik MOSFET'ler - 9 V için 5 V zener diyot uygundur. büyük radyatör . TO220 paketindeki transistörün kısa süreli yükü 100 watt'a ulaşabilir. Sürekli olarak büyük bir radyatör ile 50 watt'a kadar bir yük ile çalışabilir. Bu 4 - 25 V giriş gerilimi aralığında çalışır. Mantık transistörleri kural olarak DS terminalleri arasındaki maksimum gerilime 30V'dir.

    Değişken dijital kontrollü direnç. Bu cihaz, mekanik bir potansiyometre veya değişken direnç ile aynı elektronik düzenleme işlevini yerine getirir. Sayım girişine CLK bir saat darbesi uygulandığında direnç ayrı ayrı değişir, sayma yönü (direncin artması veya azalması) YUKARI / AŞAĞI girişindeki sinyal seviyesi tarafından belirlenir.

    128 ayrık direnç değeri mevcuttur, nominal potansiyometre 10, 50 ve 100 kOhm aralığı.

    Üzerinde şek.1 Dijital bir potansiyometrenin fonksiyonel diyagramı gösterilmiştir. Nominal değeri 10 kOhm ile A ve B terminalleri arasındaki direnç sabittir ve 10 kOhm'a eşittir ve direnç artışının artışı aşağıdakilere eşit olacaktır:

    R ADIM - 10 kOhm / 128-78 Ohm.

    Tipik besleme gerilimi 5 V, akım tüketimi en fazla 40 μA.

    Pim ataması incir. 2.

    Üzerinde Şekil 3 AD5220 dijital potansiyometre için tipik bir bağlantı şeması gösterilmiştir.


    İncir. 4. Dairesel sensörlü devre arayüzü

    Üzerinde şekil 4 AD5220 dijital potansiyometrenin, dairesel motor mili konum sensörü RE11CTV1Y12-EF2CS ile arabirim devresinde kullanımı gösterilmiştir. Şema P. Kairolomuk (California, ABD) tarafından geliştirilmiştir. Döner enkoder, şaftın açısal pozisyonunu bir kuadratür dekodere (LS7084 - 90 ° faz kaydırma dekoderi) gönderilen bir koda dönüştürür. Kod çözücü, dijital potansiyometre için CLK ve U / D kontrol sinyalleri üretir.

    A ve B sinyalleri ( şek.5) dairesel kodlayıcı, A ve B sinyalleri arasındaki faz farkını AD5220 için CLK ve U / D kontrol sinyallerine dönüştüren bir dörtlü kod çözücüden geçer. B sinyali A sinyalinin önünde olduğunda (motor mili saat yönünde döner), dijital potansiyometreye yüksek bir U / D seviyesi uygulanır. A sinyali B sinyalinin önünde olduğunda (motor şaftı saat yönünün tersine döner) dijital potansiyometreye düşük bir U / D seviyesi uygulanır. Kareleme kod çözücüsü aynı anda AD5220 için senkron bir saat sinyali üretir. RBIAS ayarlanarak saat darbesinin genişliğinde doğrusal bir değişiklik yapılır.

    Kareleme sinyallerinin kodunun çözülmesine ek olarak açısal pozisyon ve bir saat üreten LS7084 ayrıca gürültü, titreşim ve diğer geçici etkiler için filtreleme sağlar. Bu özellik, bu tür cihazlar için önemlidir. Optik enkoderlerin aksine, RE11CT-V1Y12-EF2CS, şaftın herhangi bir dönüşünün, anahtarın metal kontaklarının kusurlu doğası nedeniyle güçlü bir şok veya gürültü patlaması yaratabileceği düşük maliyetli bir elektrikli dairesel kodlayıcıdır. LS7084 bu tür parazitlerin AD5220 dijital potansiyometreye iletilmesini önler.

    Cihazın çalışma prensibi çok basittir. Motor mili saat yönünde döndüğünde, B1 ve RWB1 terminalleri arasındaki direnç, dijital potansiyometrenin değişken direnç değeri maksimum değerine ulaşana kadar artar. Aynı yönde daha fazla mil dönüşünün çıkış empedansı üzerinde hiçbir etkisi yoktur.
    Benzer şekilde, şaft saat yönünün tersine döndüğünde, B1 ve RWB1 terminalleri arasındaki direnç, direnç sıfıra ulaşıncaya kadar azalır ve şaftın aynı yönde daha fazla dönmesinin bir etkisi olmaz.

    Edebiyat.

    1. Peter Khairolomour, Analog Devices, San Jose, CA 6 Mart 2003

    2. Radyo diyagramı, No. 4/2011 lipen-orak

    Sonraki örnekler olarak, bir grup dijital potansiyometre aldım Analog cihazlar. Şey ilginç ve umut vericidir. AD8400 / AD8402 / AD8403 hattını anlamaya çalışacağım. Kendi aralarında sadece bir çipteki potansiyometre sayısında farklılık gösterirler: sırasıyla 1, 2 ve 4. AD8402'yi aldım, yani. bir çipte iki R ile. Akış şemasını veri sayfasında görebilirsiniz - orada her şey basit. Şu anda doğrudan değişken direncin uygulanması gösterilmemiş. Bu boşluğu internetten bir diyagramla dolduracağım:
    Şekilde görüldüğü gibi, direnç elemanı Rh - Rl N-1 dirençlerinden ve N (bu kapasitesi) anahtarlama anahtarları MOS transistörleri biçiminde oluşur. Benim durumumda - N \u003d 256 ve bundan sonra bunu kastedeceğim . Kod çözücü kodu, devreye bağlı "kaydırıcıyı" tanımlar rw karşılık gelen MOS transistör aracılığıyla, 255 seri bağlı direncin bağlantı noktası. Potansiyometrenin bağımlılığı doğrusal ise (benim durumumda olduğu gibi), o zaman direnç hattını oluşturan direnç değerleri aynı olacaktır. Soldaki şekildeki sembollerin veri sayfasındaki sembollere karşılık geldiğini not ediyorum: Rh -\u003e A, R1 -\u003e B ve Rw -\u003e W.
    Kurulum komutları 10 bitlik bir seri SPI arabiriminde alınır.

    Sonra, taşın pinoutuna bakın. Veri sayfasındaki şekil:
    AGND - analog "toprak";
    A2, B2 - 2. direncin direnç elemanı;
    W2 - 2. direncin kaydırıcısı;
    DGND - dijital "dünya";
    SHDN - her iki direncin sürgülerinin donanım kurulumunun minimum değere sinyali;
    CS - standart "kristal seçimi";
    SDI - seri veri girişi;
    CLK - seri arayüzün saat sinyali;
    RS - her iki direncin kaydırıcılarının donanım değerinin ortalama değerdeki sinyali;
    Vdd - + beslenme;
    W1 - 1. direncin sürgüsü;
    A1 - B1 - 1. direncin direnç elemanı.
    Şimdi kontrol sözcüğü yapısı aynı veri sayfasından:
    Bir kelime 10 rakamdan oluşur. A1 ve A0 ayarlanan değerin baytının hangi dirence (00 - 1 ve 01 - 2) gönderileceğini belirleyin D7 - D0 Gördüğünüz gibi, kesinlikle karmaşık bir şey yok.

    Breadboard ATtiny2313 için eski hata ayıklama modülünü tahtadan tasarladım.


    Ve kodu yazdı:

    #Dahil etmek #Dahil etmek #define PORT_SPI PORTD / * bağlantı noktası ve sinyal atamaları * / #define DDR_SPI DDRD #define PIN_SPI PIND #define SDO PD0 #define CKL PD1 #define CS PD2 #define SHDN PD3 #define RS PD4 geçersiz init_SPI (geçersiz) // yazılım SPI'sını başlatma işlevi (DDR_SPI | \u003d (1< < SDO) | (1 << CKL) | (1 << CS) | (1 << SHDN) | (1 << RS) ; // tüm sinyal çıkışları PORT_SPI | \u003d (1<< CS) | (1 << SHDN) | (1 << RS) ; //с лог. 1 PORT_SPI &= ~(1 << SDO) ; //и лог. 0 PORT_SPI &= ~(1 << CKL) ; // } void set_resistance (unsigned char addr, unsigned char value) //функция записи { unsigned char i; // döngü için değişken unsigned int addr_value; // kontrol kelimesini hesaplamak için ara değişken addr_value \u003d ((imzasız int) (addr<< 8 ) ) | ((unsigned int ) value) ; // adresin iki bitinden ve direnç baytından bir kontrol kelimesi oluşturun PORT_SPI & \u003d ~ (1<< CS) ; // çip seçimi için (i \u003d 0; i< 10 ; i++ ) // kontrol kelimesinin 10 biti için (eğer (0x0001 & (addr_value \u003e\u003e (9 - i)))) PORT_SPI | \u003d (1< < SDO) ; // bit bir ise, birimi ayarlayın başka PORT_SPI & \u003d ~ (1<< SDO) ; // aksi takdirde - sıfır ayarla PORT_SPI | \u003d (1<< CKL) ; // saatin önü PORT_SPI & \u003d ~ (1<< CKL) ; // saatin durgunluğu ) PORT_SPI | \u003d (1<< CS) ; // bir yonga seçmeyin ) int main (geçersiz) // ana işlev (imzasız karakter q; // döngü için değişken init_SPI (); // yazılım SPI'sını başlat süre (1) // sonsuz bir döngü içinde ((q \u003d 0; q için< 255 ; q++ ) // 256 direnç değerinin tümü için (set_ direnci (0x01, q); // 1. potansiyometre için birer birer ayarlayın // _ delay_ms (500); // bu kurulum içindir, 1. potansiyometrenin direnç değişimini bir ohmmetre ile izleyebilirsiniz. } } }

    Şimdi akış şemasına geri dönelim. Ona dikkatlice tekrar bakın ... Bir şeye benziyor mu? Direnç elemanının çıkışlarından birine referans voltajı uyguluyoruz ve ... DAC dijital-analog dönüştürücü! Ve bu işlev için kod yazılır - mikro devrenin bir osiloskopla çalışmasını gözlemlemek daha iyi olurdu. Bir ohmmetre ile kontrol etmek istiyorsanız, gecikmeyi bırakın. O zaman dirençte bir değişiklik göreceksiniz.
    Ve son olarak, kendini araştır.
    Dijital potansiyometrenin bir ohmmetre ile çalıştığından ve SHDN ve RS sinyallerinin doğru çalıştığından emin olduktan sonra, yukarıda belirtilen yarım saniyelik gecikmeyi yorumladım ve çipin davranışını bulmaya karar verdim.
    1. Dirençe doğrudan çipin güç kaynağından gelen voltaj kaynağı, yani. galvanik olarak çözülmez. Resim böyle çıktı.