02.09.2019

디지털 제어가 가능한 가변 저항기. 달라스 디지털 전위차계


디지털 전위차계는 가변 저항기, 마이크로 컨트롤러를 사용하여 프로그래밍 방식으로 설정할 수 있는 브러시의 위치. 때로는 매우 편리하며 장치를 분해하고 트리머를 돌릴 필요가 없습니다. 일반적으로 볼륨 제어 회로, ADC 기준 전압, 이득, LCD 대비, 이퀄라이저 및 기타 여러 곳에서 사용됩니다. 디지털 전위차계는 대부분의 경우 기계적 대응물을 아주 잘 대체할 수 있습니다. 멋진 세부 사항 연구를 괴롭히기 위해 구입했습니다. 그에 대해 논의 될 것입니다.

장치의 주요 특성:

  • 임피던스 - 10kOhm
  • 브러시 저항 - 52옴
  • 2.7V ~ 5.5V의 공급 전압
  • 브러시 위치 수 - 256
  • 온도 범위 -40 ... + 85 ° C
  • 인터페이스 - SPI

이러한 특성은 에 나와 있습니다. 실제로 내 전위차계의 임피던스는 8.7kΩ이었습니다. 그러나 이 수치는 데이터시트에 주어진 최대값에 맞으므로 걱정할 필요가 없습니다. 그건 그렇고, 정확히 동일한 전위차계가 두 개 더 있지만 저항은 50kOhm과 100kOhm입니다. 비슷한 사양의 이중 전위차계도 있습니다. 이 전위차계의 브러시 위치는 기억되지 않으며, 필요한 경우 소프트웨어에서 구현해야 합니다. 힘을 가한 후 브러시는 항상 중간 위치로 올라갑니다.

전위차계 제어
이 장치는 약간 잘린 SPI를 통해 제어됩니다. MISO 라인이 없기 때문에 전위차계에서는 아무 것도 읽을 수 없으며 쓰기만 가능합니다. 전위차계로 작업하는 알고리즘은 엄청나게 간단합니다.

1) CS 레그를 로직 로우로 설정
2) 필요한 명령 보내기
3) 데이터 바이트 보내기
4) CS 레그를 높은 논리 수준으로 설정합니다.

명령 바이트를 자세히 살펴보겠습니다.


비트 C1 및 C0은 실행할 명령을 선택하는 데 사용됩니다. NOP를 제외하고 두 개만 있습니다. 빈 명령이 필요한 이유는 여전히 데이터 시트에서 이해하지 못했습니다.

P1 및 P0은 명령이 실행될 전위차계를 선택합니다. 때문에 내 전위차계가 두 배가되지 않으면 P1 비트가 완전히 쓸모가 없습니다.

제어 소프트웨어가 내 새 소프트웨어에서 디버깅되었습니다. 이것은 그녀의 첫 번째 불 세례였습니다. :-) 다음과 같이 전위차계를 컨트롤러에 연결했습니다.


저항의 변화를 보여주는 전위차계의 일곱 번째와 여섯 번째 핀 사이에 멀티미터가 연결되어 있습니다. 핀 4와 5를 접지에 닫는 두 개의 버튼도 있습니다(다이어그램에 그리는 것을 잊었습니다). 펌웨어를 컨트롤러에 꿰매고 실험할 수 있습니다(이러한 비디오는 처음으로 촬영하므로 너무 많이 걷어차지 마십시오).

간단 해. 나는 어셈블러를 사랑합니다 =) 나는 C를 잘 압니다.
저는 고급 프로그래밍 언어에서 마이크로파스칼을 선호합니다.

  • 세라핌 2010년 10월 21일 18:38

    안녕하세요. 좌표를 알려주세요(이메일).
    AVR용 C에 관한 훌륭한 책(러시아어)을 보내 드리겠습니다.
    100% 작동 CVAVR을 설치합니다. 그리고 당신은 한 달 안에 (또는 더 일찍)
    당신은 C에서 때릴 것입니다 (그리고 과거에 대해 미소). 특히 당신의 화려한 레이아웃으로 ...
    개발 속도, 많은 기성 라이브러리 - 이것이 ASMa를 떠나는 이유입니다. ... AVR, PIC 등을 위한 것입니다.

    그리고 컴퓨터 쪽(Widows)에서는 - 빠른 구현을 위해 -DELPHI를 권장합니다.

    "CAUCASUS - 어머니의 외침" - 첫 번째 헌정 체첸 전쟁 1995-1996
    (그리고 저는 개인적으로 1981-1985년 북오세티아에서 보낸 군대 기간 동안 CAUCASUS에 대해 관심을 갖고 있습니다.)

  • 진보는 자전거뿐만 아니라 아끼지 않았습니다. 오늘날 기존의 가변 저항 및 트리밍 저항은 많은 응용 분야에서 디지털 저항으로 바뀌고 있습니다. 영어 소스에서는 디지털 전위차계, RDAC 또는 digiPOT이라고 합니다. 이러한 장치의 범위는 레벨 제어보다 훨씬 넓습니다. 소리 신호... 특히 매개변수를 변경해야 하는 경우가 매우 많습니다. 피드백이는 기존 DAC로 구현하기 어렵습니다.

    연산 증폭기와 함께 사용하면 특히 효과적입니다. 따라서 조정 가능한 증폭기 단계, 다양한 종류의 변환기, 필터, 적분기, 전압 및 전류 소스 등을 얻을 수 있습니다. 한마디로, 이 매우 저렴하고 컴팩트한 장치는 모든 전자 개발자와 라디오 아마추어에게 유용할 수 있습니다 ...

    처음에는 짧은 글을 쓰고 싶었지만, 그 주제에 대해 심도 있게 연구한 결과, 자료가 2부로 쪼개지기 어려웠습니다. 오늘 저는 이러한 장치의 아키텍처, 기능, 사용 제한 및 개발 동향에 대해 이야기하려고 합니다. 결론적으로, 나는 두 번째 부분에서 그것들을 기반으로 한 계획의 실제 구현에 대한 구체적인 예를 고려할 것이기 때문에 응용 분야의 주제에 대해 간단히 다룰 것입니다. 많은 예!

    개인적으로 지난 5년 동안 저는 여러 개발에 디지털 저항을 성공적으로 적용했습니다. 이 일련의 기사가 많은 사람들에게 유용하고 오늘날보다 더 우아하고 간단하게 많은 문제를 해결하는 데 도움이 되기를 바랍니다. 전자 제품 개발과는 거리가 먼 사람들을 위해 이 기사는 가변 저항과 같은 단순한 것들이 디지털 기술의 맹공격 아래 ​​어떻게 진화하는지 보여줌으로써 단순히 시야를 넓힐 수 있습니다.

    P.S 이미 나왔는데 그 안에 예가 하나밖에 없어서 이렇게 자세히 분해해 봤습니다. 나머지 약속된 예제의 경우 세 번째를 작성해야 합니다.

    건축학.

    이 장치가 어떻게 작동하는지 이해하기 위해 기능 다이어그램을 살펴보겠습니다. 디지털 8비트 저항의 아날로그 부분을 보여줍니다.

    이 장치는 CMOS 기술을 사용하여 만든 동일한 정격의 255개 저항과 양방향 전자 키를 기반으로 합니다. 0-255 범위의 디지털 값은 디코더에 공급되는 레지스터에 기록됩니다. 레지스터에 저장된 값에 따라 키 중 하나가 트리거되어 중간 단자 W를 저항 Rs의 선형 매트릭스에서 선택한 지점에 연결합니다. 극단 터미널 A와 B를 연결하는 데 두 개의 추가 키가 사용됩니다. 도움으로 장치는 비활성 모드로 들어갈 수 있습니다.

    결론 A와 B는 가변 저항의 극단 단자의 아날로그이고 W는 엔진이 일반 가변 저항에 부착되는 중간 단자입니다.


    가능한 연결 방식은 기존 가변 저항과 유사합니다 ...

    10kohm 저항의 예를 사용하여 필요한 저항을 설정하는 방법을 살펴보겠습니다. 먼저 이러한 저항 Rs = 10000/256 = 39.06 Ohm을 형성하는 데 필요한 각 어셈블리 저항의 값을 계산해 보겠습니다. 핀 W와 B 사이의 저항을 조정하려고 한다고 가정해 보겠습니다. 0을 얻으려면 이 값을 제어 레지스터에 쓰지만 원하는 0 대신 100옴의 저항을 얻습니다. 왜요? 사실 장치의 각 접점에는 자체 내부 저항이 있으며이 경우 50 Ohms이므로이 전위차계를 사용하여 얻을 수있는 최소값은 0이 아니라 100 Ohms입니다. 접점 W와 B. 레지스터 단위로 쓰면 50 + 50 + 39 = 139 Ohm이 됩니다.

    일반적으로 다음 공식을 사용하여 레지스터 D의 값에 따라 터미널 W와 B 사이의 저항을 계산할 수 있습니다.

    • D - 0에서 255까지의 레지스터 값
    • Rab - 공칭 저항
    • Rw - 한 접점의 저항
    터미널 W와 A 사이의 저항은 다음과 같이 계산된다고 쉽게 추측할 수 있습니다.

    연결 인터페이스.

    이제 I2C 인터페이스가 있는 전체 장치의 기능 다이어그램을 고려하십시오.


    여기서 몇 가지 질문은 AD0 출력에 의해서만 발생할 수 있습니다. 하나의 I2C 채널에서 두 개의 전위차계를 동시에 사용할 수 있도록 설계되었습니다. 논리적 0 또는 1이 있는지 여부에 따라 I2C 버스의 장치 주소가 변경됩니다. 하나의 버스당 두 개의 미세 회로의 연결 다이어그램은 다음과 같습니다.


    I2C 인터페이스 외에도 SPI 인터페이스는 이러한 장치를 제어하는 ​​데 자주 사용됩니다. 이 경우 하나의 버스를 통해 여러 장치를 제어하는 ​​것도 가능합니다. 이를 위해 체인으로 결합됩니다. 예를 들면 다음과 같습니다.


    이 모드에서 값을 쓰기 위한 버퍼 레지스터는 시프트 레지스터로 작동합니다. 각각의 새로운 비트는 DIN 입력에 도달하고 SCLK의 스트로브에 의해 최하위 비트에 기록됩니다. 동시에 최상위 비트는 SDO 핀을 통해 나와 체인의 다음 장치로 이동합니다. 정보가 모든 장치에 기록된 후 SYNC 스트로브 펄스가 도착하고 이에 따라 체인에 포함된 모든 장치의 새 레지스터 값이 버퍼 레지스터에서 작업 레지스터로 다시 작성됩니다. 이 솔루션의 명백한 단점은 단일 장치에 정보를 쓸 방법이 없다는 것입니다. 값을 변경하려면 전체 체인의 레지스터 내용을 업데이트해야 합니다.

    이러한 종류의 문제를 해결하고 최종 가격을 절약하기 위해 솔루션은 동시에 2개, 4개, 심지어 6개의 디지털 저항을 포함하는 미세 회로로 구성됩니다.

    작동 전압 및 전류

    아마도 첫 번째 설계의 가장 중요한 단점은 단자에서 허용되는 제한된 전압이었을 것입니다. 그것은 2.7 ~ 5.5V 범위에있을 수있는 공급 전압을 초과해서는 안되며 가장 중요한 것은 음의 영역으로 들어갈 수 없기 때문에 미세 회로의 사용이 단극 전원 공급 장치가있는 장치로 제한 된 이유입니다. 엔지니어들이 가장 먼저 한 일은 양극성 문제를 해결하는 것이었습니다. 이것이 최대 5.5V의 단극 전압에서 작동하고 최대 ± 2.75V의 양극 전원 공급 모드를 지원할 수 있는 장치가 등장한 방식입니다. 그런 다음 ± 5.5 및 심지어 ± 16.5(AD5291 / 5292의 경우 최대 33볼트 단극)의 최대 전원 공급 장치로 버전이 나타나기 시작했습니다. 물론이 매개 변수에서 기존 저항은 여전히 ​​큰 이점이 있지만 대부분의 회로에서는 33볼트로 충분합니다.

    그럼에도 불구하고 장치가 지원하는 최대 전압에 관계없이 허용 한계를 넘어설 가능성이 있는 경우 최소한 다이오드 또는 억제기로 가장 간단한 보호를 적용해야 합니다.


    또 다른 심각한 문제는 디지털 저항의 낮은 최대 작동 전류이며, 이는 주로 크기가 작기 때문입니다. 시간 경과에 따른 성능 저하 위험 없이 대부분의 모델에 대한 평균 DC 전류는 3mA를 초과하지 않아야 합니다. 흐르는 전류가 펄스 특성인 경우 최대값이 더 높을 수 있습니다.

    정확성을 위한 싸움. 통제된 혼돈 기술

    불행히도 기존 제조 기술은 디지털 저항에 사용되는 통합 저항의 저항 편차를 공칭 값의 최대 20%까지 허용합니다. 그러나 하나의 배치 내에서, 그리고 더 많은 경우 하나의 특정 장치 내에서 저항의 차이는 0.1%를 초과하지 않습니다. 설치의 정확도를 높이기 위해 제조업체는 최소한 각 플레이트에서 저항의 저항을 측정하고 각 미세 회로의 비휘발성 메모리에 공칭이 아닌 실제 저항을 기록하기 시작했습니다. 0.01%의 정확도로 생산 중입니다. 이러한 메커니즘을 통해 특히 AD5229/5235 마이크로 회로에서 다중 회전 트리밍 저항(0.01%)에서도 도달할 수 없는 오류로 저항 설정의 실제 정확도를 계산할 수 있습니다. 이를 기반으로 디지털 코드를 저항으로 디코딩하는 동작을 수정하는 것이 가능하다. 기본 저항이 100옴이라고 가정합니다. 그런 다음 저항을 1K로 설정하기 위해 디지털 레지스터 10에 설정합니다. 그러나 실제 장치에서 저항이 공칭 값에서 위쪽으로 편차가 있고 110 Ohms와 같으면 10 레벨에서 1.1K를 받게 됩니다. 그러나 저항의 실제 값을 읽은 후 마이크로 컨트롤러는 코드를 다시 계산하고 실제로 코드 9를 10 대신 디코더에 보낼 수 있습니다. 그러면 실제로는 9 * 110 = 990 Ohm이 됩니다.

    또한 에이디는 1%의 정확도로 저항값을 교정하는 기술에 대한 특허를 보유하고 있습니다. 불행히도 작업 메커니즘이 무엇인지에 대한 정보를 찾을 수 없었습니다.

    저항 설정의 해상도를 높이기 위해 1024단계 조정을 제공하는 10비트 디코더가 있는 장치가 개발되었습니다. 정격이 다른 두 디지털 저항의 직렬 또는 병렬 연결을 사용하여 이 매개변수를 추가로 늘릴 수 있습니다.

    온도 안정성

    전혀 나쁘지 않습니다. 필름 기술을 사용하여 제조된 저항기를 사용하면 35ppm/°C(0.0035%)를 초과하지 않는 드리프트 수준을 달성할 수 있습니다. 10ppm / ° C의 온도 드리프트를 가진 온도 보상 기기가 있습니다. 이 매개변수에서 디지털 저항은 많은 엔진 대응물보다 우수합니다. 이 매개변수가 관련이 없는 애플리케이션의 경우 드리프트가 600ppm/°C 수준인 반도체 저항이 있는 저렴한 장치를 선택할 수 있습니다.

    대부분의 ADI 기기의 작동 온도 범위는 -40°C ~ +125°C로 대부분의 애플리케이션에 충분합니다.

    사용 가능한 저항 범위.

    물론 여기에는 기존 모터 저항과 같은 다양성이 없지만 선택할 수 있는 항목이 많습니다. 아래 표는 장치의 용량에 대한 사용 가능한 저항의 의존성을 보여줍니다.


    신호 왜곡

    디지털 증폭기에서 발생하는 주요 신호 왜곡은 두 가지 클래스로 나눌 수 있습니다.
    • 고조파 왜곡 또는 서양식 총 고조파 왜곡(THD).


    이 왜곡은 인가된 전압에 따라 증가합니다. AD9252 용으로 컴파일 된 다음 표에서 일반적인 값에 대한 아이디어를 얻을 수 있습니다 ...


    경우에 따라 이러한 유형의 왜곡은 최대 -60dB까지 증가할 수 있습니다.

    이 효과의 영향은 장치의 저항이 증가함에 따라 증가합니다. 아래 표는 다른 명칭의 서로 다른 저항에 대해 신호가 3데시벨만큼 감쇠되는 주파수를 보여줍니다.


    더 명확하게 하기 위해 20 및 100 킬로옴의 정격이 다른 AD5291 초소형 회로의 설정된 저항 수준에 대한 신호 전송 의존도 그래프도 제공합니다.


    따라서 저항 등급이 높을수록 작동 주파수가 낮아집니다.

    진화의 "팁"

    제조사들은 다양하고 즐거운 작은 것들을 발명함으로써 가능한 한 편안하게 장치를 사용하도록 노력하고 있습니다. 결과적으로 디지털 저항은 내부 비휘발성 메모리를 한 번 및 반복적으로 프로그래밍했습니다.

    주요 목적은 전원을 켠 직후 자동으로 설정되는 초기 저항 값을 저장하는 것입니다. 전자 저항기의 첫 번째 모델은 전원이 중간 위치에 인가되었을 때 설치되었으며 0으로 재설정하기 위해 추가 다리가 나타나며 메모리에 저장된 값을 사용하여 레벨을 설정할 수 있습니다. 가장 진보된 모델에서는 사용자가 버튼을 눌러 빠르게 전환할 수 있는 여러 사전 설정 값을 메모리에 저장할 수 있습니다.


    또한 인코더 연결을 위한 인터페이스가 등장했습니다.


    또 무엇을 개선할 수 있습니까?

    디지털 저항 생산의 발전이 어떤 방향으로 발전할지 상상할 수 있습니다.
    더 높은 정확도를 달성하기 위해 스위칭 시스템을 변경할 수 있습니다.

    예를 들어, 기존 회로에 병렬로 하나의 저항만 추가하면 두 개입니다. 대칭을 위해 팔뚝에 하나 더 - 저항 설정의 정확도를 두 배로 높일 수 있습니다! 하나의 케이스에 두 개의 장치를 결합하면 불연속성과 정확도를 몇 배로 높일 수 있습니다.

    디코더를 제어하는 ​​가장 간단한 마이크로 컨트롤러의 경우에 도입하면 얻은 저항의 실제 값을 기반으로 0.1% 이상의 매우 높은 정확도로 장치의 저항을 설정하기 위한 스위칭 프로그램을 생성할 수 있습니다. 이러한 장치에 온도 센서를 통합함으로써 매우 넓은 범위에서 선형성을 유지하도록 보상을 도입할 수 있습니다. 온도 범위... HiFi 장비에 대한 주파수 보상 저항의 아날로그가 나타날 수 있으며 이는 한 경우에 여러 저항을 나타냅니다. 그 중 하나는 볼륨 레벨을 조정하는 데 사용되고 다른 하나는 주파수 보정에 사용됩니다.

    사용 영역

    이 기사의 다음 부분에서 디지털 저항을 기반으로 하는 특정 회로 솔루션을 제공할 것입니다. 지금은 적용 영역을 살펴보겠습니다.

    물론 가변 이득 증폭기가 먼저 떠오릅니다.


    값 설정의 정확도를 높인 결과 악기 증폭기의 이득 제어 회로에서 전자 저항을 사용할 수 있게 되었습니다.


    10Kilohm의 전자 저항을 사용하여 액정 디스플레이의 대비에서 자동 또는 소프트웨어 변경을 구성할 수 있습니다.


    디지털 저항을 기반으로 제어 필터를 구현하는 것은 쉽습니다. 고차 필터에는 종종 동일한 정격의 여러 드라이버 저항이 필요합니다. 이것은 하나의 패키지에 여러 저항을 포함하는 장치로 구현하는 것이 매우 편리합니다. 이 경우 우수한 반복성을 얻을 수 있기 때문입니다. 그림은 가장 단순한 제어 저역 통과 필터의 단순화된 다이어그램을 보여줍니다.


    AD5292를 기반으로 하는 비교적 높은 공급 전압의 대수 증폭기.


    소프트웨어 제어 전압 조정기.


    ADI의 선형 범위

    결론적으로 나는 현재 Analog Devices에서 구할 수 있는 전자 전위차계의 전체 목록을 제공할 것입니다. 이러한 장치는이 회사에서만 생산되는 것이 아닙니다. 예를 들어, MAXIM도 오랫동안 좋은 미세회로를 만들어 왔습니다.

    우선 사용자 프로그래밍을 지원하지 않는 장치.


    결론적으로 프로그래밍 가능한 장치. 특정 모델을 선택할 때 한 번 프로그래밍할 수 있고 재프로그래밍을 지원한다는 사실에 주의해야 합니다. 또한 EEPROM 기술을 사용하여 만든 메모리가 있는 미세 회로에 의해서만 많은 주기가 제공됩니다.


    이것으로 리뷰를 마칩니다. 다음 기사에서는 디지털 저항을 사용하는 실제 회로를 고려하는 데 전념할 것입니다.

    추신 이미 나왔던 일이 일어난 것이다.

    부하 상태에서 다양한 회로를 테스트하기 위해 아마추어 라디오는 종종 정격이 다르고 그에 따라 전력이 다른 저항기가 많이 필요합니다. 번거로운 테스트 저항 세트를 제거하는 데 도움이 될 것입니다. 전자 저항기, 그 다이어그램이 아래에 나와 있습니다.

    특히 이 다이어그램은 전원 장치: 어떤 부하에서 리플이 증가하는지, 출력 전압 값이 변하는지 알아내고, 전자 과부하 보호를 설정하는 데 도움을 줍니다.
    더미 부하 다이어그램매우 간단합니다. 회로의 주요 요소는 MOSFET-N 트랜지스터입니다. 전류 소비는 전위차계 R2를 사용하여 게이트 전압을 변경하여 조절됩니다. MOSFET의 저항은 게이트 전압에 따라 변합니다. 전위차계 입력의 전압은 제너 다이오드 VD1 덕분에 안정적입니다.

    단순 더미 부하 다이어그램

    출력 전압이 낮은 소스를 테스트하려면 로직 MOSFET을 사용해야 합니다(MOSFET은 로직 레벨에서 전환하도록 설계됨). 임계 전압이 낮고 최대 4V의 전압으로 전원 공급 장치를 테스트할 수 있습니다. 로직 트랜지스터의 경우 5V 제너 다이오드가 적합하고 클래식 MOSFET - 9V에 적합합니다. MOSFET은 다음 위치에 배치해야 합니다. 대형 라디에이터... TO220 트랜지스터의 단기 부하는 최대 100W일 수 있습니다. 대형 방열판으로 최대 50W의 부하로 지속적으로 작동할 수 있습니다. 이것은 4 - 25V의 입력 전압 범위에서 작동합니다. 논리 트랜지스터는 일반적으로 30V의 DS 핀 사이의 최대 전압을 갖습니다.

    디지털 제어가 가능한 가변 저항기. 이 장치는 동일한 기능을 수행합니다. 전자 기능기계적 전위차계 또는 가변 저항기로의 조절. CLK 카운터 입력에 클록 펄스가 인가될 때 저항이 불연속적으로 변경되며, 계수 방향(저항 증가 또는 감소)은 UP/DOWN 입력의 신호 레벨에 의해 결정됩니다.

    128개의 개별 저항 값을 사용할 수 있으며 전위차계의 공칭 범위는 10, 50 및 100kOhm입니다.

    그림 1디지털 전위차계의 기능 다이어그램이 표시됩니다. 공칭 값이 10kOhm이면 단자 A와 B 사이의 저항은 일정하고 10kOhm에 달하며 저항을 증가시키는 단계는 다음과 같습니다.

    R 단계 - 10kOhm / 128 - 78Ohm.

    일반적인 공급 전압 5V, 소비 전류 40μA 이하.

    핀 할당은 다음과 같습니다. 그림 2.

    그림 3 AD5220 디지털 전위차계의 일반적인 배선 다이어그램을 보여줍니다.


    쌀. 4. 원형 센서와의 인터페이스 회로

    그림 4모터 샤프트 RE11CTV1Y12-EF2CS의 로터리 인코더가 있는 인터페이스 회로에서 디지털 전위차계 AD5220의 사용을 보여줍니다. 이 계획은 P. Kairolomuk(미국 캘리포니아)에 의해 개발되었습니다. 원형 인코더는 샤프트의 각도 위치를 코드로 변환하여 쿼드러처 디코더(LS7084 - 90° 위상 편이 디코더)에 제공됩니다. 디코더는 디지털 전위차계에 대한 CLK 및 U/D 제어 신호를 생성합니다.

    신호 A 및 B( 그림 5원형 인코더의 ) 신호는 신호 A와 B 사이의 위상차를 AD5220용 제어 신호 CLK 및 U/D로 변환하는 쿼드러처 디코더를 통과합니다. 신호 B가 신호 A를 리드할 때(모터 샤프트가 시계 방향으로 회전), 디지털 전위차계는 다음을 수신합니다. 높은 레벨유/디 신호 A가 신호 B보다 앞서 있을 때(모터 샤프트가 시계 반대 방향으로 회전), 디지털 포텐셔미터는 U/D가 낮아집니다. 직교 디코더는 AD5220에 대한 동기 클록 신호를 동시에 생성합니다. 클록 폭은 RBIAS를 조정하여 램프됩니다.

    직교 신호 디코딩 외에도 각도 위치 LS7084는 또한 노이즈, 발진 및 기타 과도 효과에 대한 필터링을 제공합니다. 이 기능은 이러한 유형의 장치에 중요합니다. 광학 엔코더와 달리 RE11CT-V1Y12-EF2CS는 스위치 금속 접점의 불완전한 특성으로 인해 샤프트의 회전으로 인해 심각한 충격 또는 노이즈 버스트가 발생할 수 있는 저가형 전기 원형 센서입니다. LS7084는 이러한 종류의 노이즈가 AD5220 디지털 전위차계를 통과하는 것을 방지합니다.

    장치의 작동 원리는 매우 간단합니다. 모터 축이 시계 방향으로 회전하면 디지털 포텐셔미터의 가변 저항 값이 최대 값에 도달할 때까지 단자 B1과 RWB1 사이의 저항이 증가합니다. 같은 방향으로 샤프트를 더 회전해도 출력 저항에는 영향을 미치지 않습니다.
    마찬가지로 축을 반시계 방향으로 돌리면 저항이 0이 될 때까지 단자 B1과 RWB1 사이의 저항이 감소하고 같은 방향으로 축을 더 이상 회전해도 효과가 없습니다.

    문학.

    1. Peter Khairolomour, Analog Devices, San Jose, CA 2003년 3월 6일

    2. 무선 회로, No. 4/2011 덩굴 린든 나무

    다른 샘플로, 나는 디지털 전위차계의 배치를 받았습니다. 아나로그디바이스... 그 일은 흥미롭고 유망합니다. AD8400 / AD8402 / AD8403 라인을 이해하도록 노력하겠습니다. 그것들은 하나의 미세 회로의 전위차계 수 (각각 1, 2 및 4)에서만 서로 다릅니다. 나는 AD8402를 얻었다. 하나의 칩에 두 개의 R이 있습니다. 데이터 시트에서 블록 다이어그램을 볼 수 있습니다. 모든 것이 간단합니다. 하지만 직접 가변 저항기의 구현 표시되지 않습니다. 나는 이 격차를 인터넷의 광대함에서 가져온 다이어그램으로 채울 것입니다.
    그림에서 알 수 있듯이 저항 요소는 Rh - Rl N-1 저항과 MOS 트랜지스터 형태의 N(이것이 용량) 스위칭 스위치로 구성됩니다. 내 경우 - N = 256, 그리고 더 나아가 나는 그것을 의미 할 것입니다. ... 디코더 코드는 체인에 연결된 "슬라이더"를 결정합니다. 해당 MOS 트랜지스터를 통해 255개의 직렬 연결된 저항의 연결 지점. 전위차계의 종속성이 선형이면 (내 경우와 같이) 라인을 구성하는 저항의 저항 값은 동일합니다. 왼쪽 그림의 명칭은 데이터시트의 명칭과 일치합니다. Rh -> A, Rl -> B 및 Rw -> W.
    설정 명령은 직렬 10비트 SPI 인터페이스를 통해 수신됩니다.

    다음으로 돌의 핀아웃을 살펴보자. 데이터시트의 그림:
    AGND- 아날로그 "접지";
    A2-B2- 두 번째 저항의 저항 요소;
    승2- 두 번째 저항의 슬라이더;
    DGND- 디지털 "토지";
    SHDN- 두 저항기 슬라이더의 하드웨어 설정 신호를 최소값으로 설정합니다.
    CS- 표준 "크리스탈 선택";
    SDI- 직렬 인터페이스 데이터 입력;
    CLK- 직렬 인터페이스의 클록 신호;
    루피- 두 저항기 슬라이더의 하드웨어 설정 신호를 평균값으로 설정합니다.
    Vdd- + 음식;
    W1- 첫 번째 저항의 슬라이더;
    A1 - B1- 첫 번째 저항의 저항 요소.
    이제 동일한 데이터 시트의 제어 단어 구조:
    단어는 10자리 숫자로 구성됩니다. A1그리고 A0어떤 저항(00이 첫 번째, 01이 두 번째)이 설정 값의 바이트를 보낼지 결정합니다. D7 - D0슬라이더 W의 경우입니다. 보시다시피 복잡한 것은 전혀 없습니다.

    브레드보드 보드에서 ATtiny2313용 오래된 디버그 모듈을 구성했습니다.


    그리고 코드를 작성했습니다.

    #포함하다 #포함하다 #define PORT_SPI PORTD / * 포트 및 신호 할당 * /#define DDR_SPI DDRD #define PIN_SPI PIND #define SDO PD0 #define CKL PD1 #define CS PD2 #define SHDN PD3 #define RS PD4 void init_SPI(무효) // 소프트웨어 SPI를 초기화하는 함수(DDR_SPI | = (1< < SDO) | (1 << CKL) | (1 << CS) | (1 << SHDN) | (1 << RS) ; // 모든 신호가 출력됨포트_SPI | = (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; // 루프용 변수부호 없는 정수 addr_value; // 제어 단어를 계산하기 위한 중간 변수 addr_value = ((부호 없는 정수) (addr<< 8 ) ) | ((unsigned int ) value) ; // 2개의 주소 비트와 저항 바이트에서 제어 워드를 형성합니다. PORT_SPI & = ~ (1<< CS) ; // 칩 선택(나는 = 0; 나는< 10 ; i++ ) // 제어 워드의 10비트용(if (0x0001 & (addr_value >> (9 - i))) PORT_SPI | = (1< < SDO) ; // 비트가 1이면 1을 설정합니다.그렇지 않으면 PORT_SPI & = ~ (1<< SDO) ; // 그렇지 않으면 - 0으로 설정포트_SPI | = (1<< CKL) ; // 동기 펄스의 앞 PORT_SPI & = ~ (1<< CKL) ; // 동기 펄스의 감소) 포트_SPI | = (1<< CS) ; // 마이크로 회로를 선택하지 않음) int 메인(무효) // 주요 기능(부호 없는 char q; // 루프용 변수 init_SPI(); // 소프트웨어 SPI 초기화동안 (1) // 무한 루프에서((q = 0; q에 대해< 255 ; q++ ) // 256개의 모든 저항 값에 대해(set_resistance(0x01, q); // 첫 번째 전위차계에 대해 교대로 설정 // _ delay_ms (500); // 조정용으로 1차 전위차계의 저항 변화를 저항계로 볼 수 있습니다. } } }

    이제 블록다이어그램으로 돌아가 봅시다. 그녀를 다시 유심히 보세요... 뭔가 닮았나요? 우리는 저항 요소의 단자 중 하나에 기준 전압을 적용하고 다음을 얻습니다. DAC는 디지털-아날로그 변환기입니다! 그리고이 기능을 위해 코드가 작성되었습니다. 오실로스코프로 미세 회로의 작동을 관찰하는 것이 좋습니다. 음, 저항계로 확인하려면 지연의 주석을 제거하십시오. 그러면 저항의 변화가 보일 것입니다.
    마지막으로 직접 조사입니다.
    디지털 전위차계가 저항계와 함께 작동하고 SHDN 및 RS 신호의 올바른 작동을 확인한 후 위의 0.5초 지연을 주석 처리하고 다음과 같은 경우 칩의 동작을 알아보기로 결정했습니다.
    1. 마이크로 회로 자체의 전원 공급 장치에서 직접 저항에 전압을 공급하십시오. 갈바닉 절연이 아닙니다. 사진은 이렇게 생겼습니다.