자체 제작 디지털 전압계 및 전류계 구성표(SA3162, KR514ID2). 디지털 전압계 : 유형, 다이어그램, 설명 DIY 디지털 전압계 및 전류계 회로

디지털 전압계는 상당히 인기있는 장치입니다. 전기 회로에서 사용할 수 있는 전압을 결정하기 위한 것입니다. 디지털 전압계를 연결하는 방법은 두 가지가 있습니다. 첫 번째 변형에서는 회로와 병렬로 설치됩니다. 두 번째 방법은 장치를 전원에 직접 연결하는 것입니다. 디지털 전압계의 특징은 사용 편의성입니다. 또한 내부 저항이 상당히 큽니다. 이것은 이 매개변수가 장치의 정확도에 영향을 미치기 때문에 매우 중요합니다.

어떤 유형이 있습니까?

모든 전압계는 측정 값의 유형에 따라 나눌 수 있습니다. 주요 유형은 교류뿐만 아니라 직류 장치로 간주됩니다. 차례로 첫 번째 유형은 정류기와 이차 장치로 나뉩니다. 또한 펄스 전압계가 있습니다. 그들의 독특한 특징은 무선 펄스 신호의 측정입니다. 동시에 직류 및 교류의 전압 측정을 수행할 수 있습니다.

디지털 전압계 다이어그램

기존의 디지털 전압계 회로는 이산 값을 기반으로 합니다. 그것의 중요한 역할은 입력 장치에 의해 수행됩니다. 이 경우 제어 장치는 십진수를 통해 디지털 판독 장치와 상호 작용합니다. 입력 장치의 특징은 고전압 분배기입니다. 작업이 교류의 정의로 축소되면 기존 변환기처럼 작동합니다. 이 경우 출력에서 ​​정전류를 얻습니다.

이때 중앙 장치는 아날로그 신호로 점유됩니다. 이 시스템에서는 디지털 코드의 형태로 표현됩니다. 변환 과정은 전압계뿐만 아니라 멀티미터에서도 특징적입니다. 일부 장치 모델은 이진 코드를 사용합니다. 이 경우 신호를 얻는 프로세스가 크게 단순화되고 변환이 훨씬 빨라집니다. 이전 모델의 전압계는 십진수로만 작동했습니다. 이때 측정값을 기록하였다. 또한 디지털 전압계 회로에는 장치의 모든 중요한 구성 요소를 담당하는 중앙 장치가 있습니다.

디지털 전압계 변환기

현재까지 전압계에 설치된 다양한 유형의 변환기가 있습니다. 가장 일반적인 것은 시간 펄스 모델입니다. 또한 펄스 코드 변환기가 있습니다.

다른 장치와 구별되는 특징은 비트 밸런싱에 관여하는 기능입니다. 이때 주파수-펄스 모델에는 이러한 권한이 없습니다. 그러나 공간 코딩에 사용할 수 있으며 이는 일부 연구에서 매우 중요할 수 있습니다. 이것은 전기의 폐쇄 회로에서 전압을 측정할 때 특히 그렇습니다.

수제 전압계

자신의 손으로 전압계 (디지털)를 만들 수 있습니다. 우선 평균 정류 값을 결정하도록 설계된 검출기가 선택됩니다. 이 경우 원칙적으로 AC 변환기 옆에 설치됩니다. 최소 전압은 100MV에서 검출기에 의해 결정되지만 일부 모델은 최대 1000MV의 전류 강도를 인식할 수 있습니다. 또한 손으로 전압계 (디지털)를 만들려면 장치의 감도, 즉 임계 값에 영향을 미치는 트랜지스터가 필요합니다. 그것은 양자 전압 진폭의 수준과 연결됩니다. 장치의 감도도 감도에 영향을 미칩니다. 전압이 100MV 미만이면 저항 수준이 확실히 증가하여 결국 10옴에 도달할 수 있습니다.

회로 저항

시스템에 형성되는 저항은 회로의 문자 수에 따라 다릅니다. 이 경우 전압계의 눈금이 크게 다를 수 있음을 이해해야 합니다. 측정값의 비율은 전압에 정비례합니다. 또한 장치의 저항에도 영향을 미치는 잡음 내성을 고려해야 합니다. 진폭이 큰 것은 디지털 내장형 전압계라는 점에 유의해야 합니다.

이 경우 회로의 노이즈 발생에 큰 영향을 미칩니다. 급격한 점프의 가장 일반적인 원인은 전원 공급 장치의 잘못된 작동으로 간주됩니다. 이 경우 장치의 평균 주파수를 위반할 수 있습니다. 따라서 예를 들어 회로 입력에는 50Hz, 출력에는 10Hz가 있습니다. 결과적으로 연결 와이어에 저항이 형성됩니다. 점차적으로 이것은 누출로 이어지며 이것은 터미널이 있는 곳에서 발생합니다. 이 경우 이 부분을 접지하면 문제를 해결할 수 있습니다. 결과적으로 간섭이 입력 회로로 전달되고 장치의 주파수가 안정화됩니다.

측정 오류

전압계의 측정오차는 직접적으로 관련되는데 이때 출력단의 픽업전압을 고려해야 한다. 대부분 일반적인 간섭은 저항 매개변수를 변경합니다. 결과적으로 이 수치는 크게 감소할 수 있습니다. 현재까지 전압계의 다양한 종류의 간섭을 처리하는 세 가지 입증된 방법이 있습니다. 첫 번째 트릭은 차폐 전선을 사용하는 것입니다. 이 경우 장비에서 전기 회로의 입력을 분리하는 것이 매우 중요합니다.

두 번째 방법은 통합 요소를 갖는 것입니다. 결과적으로 간섭 기간을 크게 줄일 수 있습니다. 마지막으로 마지막 기술은 전압계에 특수 필터를 설치하는 것으로 간주됩니다. 그들의 주요 임무는 전기 회로의 저항을 높이는 것입니다. 결과적으로 블록 후 출력에서 ​​노이즈의 진폭이 크게 감소합니다. 또한 많은 트랜스듀서 시스템이 측정 속도를 크게 높일 수 있다는 점에 유의해야 합니다. 그러나 성능이 향상되면 데이터 로깅의 정확도가 떨어집니다. 결과적으로 이러한 변환기는 전기 회로에 큰 노이즈를 유발할 수 있습니다.

코드 펄스 전압계

코드 펄스 디지털 AC 전압계는 비트 균형 원리로 작동합니다. 이 경우 보상 전압 측정 방법은 이러한 장치에 적용됩니다. 차례로 계산 프로세스는 정밀 분배기를 사용하여 수행됩니다. 또한 전기 회로의 기준 전압이 계산됩니다.

일반적으로 보상 전류에는 여러 레벨이 있습니다. 양자 이론에 따르면 계산은 이진 십진법으로 이루어집니다. 자동차에 두 자리 디지털 전압계를 사용하면 전압이 최대 100V까지 인식됩니다. 전체 프로세스는 명령으로 수행됩니다. 응력의 비교는 작업에서 특별한 주의를 기울일 가치가 있습니다. 제어 펄스의 원리를 기반으로 하며 특정 시간 간격으로 시스템에서 발생합니다. 이 경우 하나의 분배기의 저항을 전환할 수 있습니다.

그 결과 출력에서 ​​제한 주파수가 변경됩니다. 동시에 지표를 비교하기 위한 별도의 장치를 연결할 수 있습니다. 가장 중요한 것은 링크의 구분선 크기를 고려하는 것을 잊지 않는 것입니다. 이 경우 장치가 신호를 수신하지 못할 수 있습니다. 결과적으로 키의 위치로 데이터를 비교할 수 있습니다. 사실 전압계로 읽는 코드입니다.

코드 펄스 전압계 전류계의 단순화된 다이어그램

디지털 DC 전압계-전류계는 전기 회로의 상호 작용 요소로 개략적으로 나타낼 수 있습니다. 가장 중요한 것은 전압 레퍼런스 역할을 하는 입력 장치입니다. 따라서 정밀 분배기는 비교기에 연결됩니다.

차례로 디지털 판독 메커니즘은 전기 회로의 저항을 보여줍니다. 또한 제어 장치는 입력 장치와 직접 상호 작용하고 주 전압 표시기를 비교할 수 있습니다. 가장 간단한 측정 과정은 무게의 형태로 나타낼 수 있습니다. 이 경우 시스템이 자주 충돌합니다. 대부분의 경우 잘못된 비교로 인해 관련이 있습니다.

측정의 정확도

전압계-전류계의 측정 정확도는 기준 전압의 안정성과 직접적인 관련이 있습니다. 또한 입력 장치의 정밀 분할기 임계값을 고려해야 합니다. 체인의 간섭에 대한 보호도 고려됩니다. 이를 위해 전기 회로의 맨 처음에 필터가 있습니다. 결과적으로 실험실 작업의 품질이 크게 향상될 수 있습니다.

시간 펄스 유형의 변환기가 있는 전압계

이러한 유형의 전압계는 특정 시간 간격에서만 전압을 측정하는 특수 변환기를 사용합니다. 이 경우 전기 회로의 임펄스 진동이 고려됩니다. 또한 시스템의 평균 전압 주파수가 계산됩니다. 이를 안정화하기 위해 일반적으로 변환기 출력에서 ​​전송되는 이산 신호가 사용됩니다.

이 경우 카운팅 펄스를 크게 줄일 수 있습니다. 많은 요소가 전압계의 측정 오류에 영향을 미칩니다. 우선 신호 샘플링에 관한 것입니다. 또한 문제는 주파수 불안정성일 수 있습니다. 전기 회로의 감도 임계값과 연결됩니다. 결과적으로 장치의 전압 비교는 비선형입니다.

변환기가 있는 전압계-전류계의 간단한 회로

주파수 변환기가 있는 디지털 전압계-전류계에는 반드시 전기 회로의 전압 변화를 모니터링하는 발전기가 포함됩니다. 이 경우 측정은 간격을 두고 단계적으로 수행됩니다. 전기 회로의 발전기는 선형 유형으로 사용됩니다. 수신된 데이터를 비교하기 위해 장치에는 트리거가 있습니다. 차례로 주파수를 계산하려면 이산 신호를 수신하는 카운터를 사용하는 것이 중요합니다. 이것은 전압계-전류계 변환기의 출력에서 ​​발생합니다. 이 경우 제한 응력의 크기가 고려됩니다.

정보는 전압계-전류계의 입력에 직접 공급됩니다. 이 단계에서 비교 프로세스가 수행되고 임펄스가 발생하면 시스템이 0 레벨을 고정합니다. 전압계-전류계의 신호가 트리거에 직접 닿아 결과적으로 출력에서 ​​양의 전압이 얻어집니다. 펄스는 비교 장치 이후에만 원래 위치로 돌아갑니다. 이 경우 주어진 시간 간격에 형성된 제한 주파수의 모든 변경 사항이 고려됩니다. 변환 계수도 고려됩니다. 신호 강도 표시기를 기반으로 계산됩니다.

또한 공식에는 생성기의 출력에 나타나는 카운팅 펄스가 포함되어 있습니다. 결과적으로 전압은 전기 회로에서 발생하는 특정 변동이 있는 경우에만 표시될 수 있습니다. 궁극적으로 신호는 트리거 출력에 도달하고 여기에서 고려되어야 합니다. 이 경우 펄스 수는 전압계-전류계에 기록됩니다. 결과적으로 전압이 있음을 나타내는 표시기가 활성화됩니다.

이중 통합 전압계

이중 적분 디지털 DC 전압계는 주기적 반복 원리로 작동합니다. 이 경우 회로의 소스 코드 반환은 자동으로 수행됩니다. 이 시스템은 직류로만 작동합니다. 이 경우 주파수가 미리 정류되어 출력 장치에 공급됩니다.

전압계의 이산화 오류는 고려되지 않습니다. 따라서 카운팅 펄스가 일치하지 않는 순간이 있을 수 있습니다. 결과적으로 간격의 시작과 끝에서 하나의 매개변수가 매우 다를 수 있습니다. 그러나 원칙적으로 오류는 변환기 작동으로 인해 중요하지 않습니다.

노이즈 간섭은 특별한 문제입니다. 결과적으로 전압 표시기가 크게 왜곡될 수 있습니다. 궁극적으로 이것은 임펄스의 크기, 즉 지속 시간에 반영됩니다. 따라서 디지털 전압계 중에서 이러한 유형은 그다지 인기가 없습니다.

처음에는 종소리와 휘파람없이 간단하게 수집하는 많은 초보 라디오 아마추어가 앞으로 기능을 확장하고 싶을 것이라고 생각합니다. 여기에는 두 가지 옵션이 있습니다. 보호 기능, 전류 조정 및 기타 고급 기능이 포함된 새 전원 공급 장치를 즉시 조립할 수 있습니다. 또는 업그레이드를 통해 진행한 방법, 즉 오랜 시간 테스트를 거친 기존 전원 공급 장치를 개선합니다.

한때 나는 간단한 조정 전원 공급 장치를 위해 전류 조정 보드와 단락 보호 보드를 조립하여 회로를 보완했습니다. 그러나이 전원 공급 장치를 사용할 때 이전과 마찬가지로 전압계로 켜진 멀티 미터의 판독 값을 기준으로 출력 전압을 설정해야했습니다. 또한 출력 전류 조정이 켜진 상태에서 전류는 테스터 밀리암미터의 판독값에 따라 설정되어야 했습니다. 불편 해 보였고 전류와 전압의 디지털 표시가 있기를 원했고 AVR Mega 8 마이크로 컨트롤러 등에서 암페어 전압계 회로를 찾기 시작했습니다. YouTube에서 동영상 중 하나를 볼 때 아래 사진과 같이 다양한 전자 장치에 내장된 암페어 전압계와 같은 전원 공급 장치에서 보았습니다.

영상 아래에는 중국 온라인 스토어 알리익스프레스로 연결되는 링크가 있었다. 나는 이미 알리와 함께 주문한 경험이 있습니다. 아직 서비스를 사용하지 않은 분들을 위해 로트에 무료 배송이 표시되면 배송은 캐치없이 정말 무료라고 말할 것입니다. 상품은 45일 이내에 러시아에 도착합니다.

또한 미배송 또는 이와 유사한 문제가 발생하면 구매자가 지불 한 금액을 전액 받고 신속하게 반품하는 경험이 있습니다. 이러한 암페어 미터의 비용은 3.6 달러에 불과하며 달러의 성장에도 불구하고 적은 금액입니다. 그래서 오래 망설이지 않고 가장 유리한 제안을 찾아 주문했습니다. 연결용 커넥터가 있는 배선은 장치와 함께 제공됩니다.

암페어-볼트 미터는 3핀 커넥터를 사용하여 측정된 장치에 연결됩니다. 두 번째 2핀 커넥터를 사용하여 암페어 - 전압계에 전원이 공급되며 범위는 4.5~30볼트입니다. 모든 특성에 대한 자세한 내용은 위의 그림을 보면 알 수 있습니다. 처음에는 3핀 커넥터를 연결하는 것이 어려웠고 주문 페이지에는 혼란스러운 다이어그램만 있었습니다. 그 후 유사한 제품인 다른 판매자의 페이지에서 다음 그림-연결 다이어그램을 찾았습니다.

실제로는 모든 것이 더 단순해 보이고 빨간색 와이어와 부하로 가는 전원이 있습니다. 전원 마이너스는 검은색 전선으로 가고 나머지 파란색 전선(그림에서 노란색)은 부하 마이너스로 갑니다. 따라서 우리 전류계는 마이너스 개방 회로에 포함됩니다. 사용할 때 전류계가 필요하지 않은 경우 검은색과 빨간색 전선만 연결하고 파란색(노란색) 전선은 어디에도 연결하지 않습니다. 완전히 정확하지는 않지만 모든 것이 작동합니다. 내 앰프 미터는 전류와 전압 모두에서 약간 부정확했으며 두 개의 멀티미터 중 하나가 배터리가 부족하여 거짓말을 하기 시작할 경우를 대비하여 두 개의 멀티미터 판독값을 확인하여 교정했습니다.

이 장치는 Phillips 스크루드라이버용 헤드 두 개를 회전시켜 전류 및 전압에 대한 교정을 제공합니다. 암페어 - 전압계는 상단과 하단에 쌍으로 위치한 4개의 플라스틱 스페이서를 사용하여 부착됩니다. 소형 키 스위치도 같은 방식으로 부착됩니다. 암페어-볼트 미터를 사용할 때 확인된 유일한 단점은 0.01A의 선언된 해상도에도 불구하고 0이 아닌 약 30-50mA의 전류를 표시하므로 이를 통해 작은 전류를 설정하는 것이 문제가 될 수 있다는 것입니다.

일반적으로 MK에서 암페어 미터를 직접 조립하기 시작하면 확실히 크기가 더 커지고 비용이 더 많이 들기 때문에 장치에 만족했습니다. 물론 이 장치의 범위는 조정된 전원 공급 장치에만 국한되지 않고 전류 및 전압 제어가 중요한 모든 장치에 내장될 수 있습니다. A/V-미터는 션트가 내장되어 있어 최대 100볼트의 전압에서 최대 10암페어의 전류를 측정할 수 있습니다. 이러한 장치를 직접 조립해야 하는 경우 회로도와 펌웨어가 들어 있습니다.

모든 것을 스스로 생각해내는 것은 불가능합니다. 마이크로 프로세서 프로그래밍에 대한 지식이 충분하지 않지만 (저는 배우는 중입니다) 뒤처지고 싶지 않습니다. 인터넷 서핑은 회로의 복잡성과 수행되는 기능 및 프로세서 자체 측면에서 여러 가지 옵션을 제공했습니다. 지역 라디오 시장의 상황에 대한 분석과 냉정한 접근 방식(감당할 수 있는 것을 구입하고, 실제로 할 수 있는 것을 하고, 제조 공정과 설정 시간이 무제한으로 지연되지 않음)을 전압계 회로에서 선택했습니다. www.CoolCircuit.com에 설명되어 있습니다.

그래서 아래 이미 수정된 회로도. 펌웨어는 기본으로 유지되었습니다(main.HEX - 첨부).

"자주 프로세서를 손에 쥐고 있는" 사람들은 더 이상 읽지 않을 수 있지만 나머지, 특히 처음 사용하는 사람들에게는 최적은 아니지만 모든 작업을 수행하는 방법을 알려 드리겠습니다. 프리젠테이션), 그러나 결국 올바르게.
참고로 14핀 프로세서의 PIC 제품군은 핀아웃이 다르므로 소켓이 있는 프로그래머가 이 칩에 적합한지 확인해야 합니다. 일반적으로 8 핀 소켓에주의하십시오. 정확히 맞고 맨 오른쪽에 결론이 있습니다. 나는 일반적인 PonyProg 프로그래머를 사용했습니다.

PIC를 프로그래밍할 때 칩 내부 오실레이터의 보정 상수를 덮어쓰지 않는 것이 중요합니다. 여기서는 외부 석영을 사용하지 않기 때문입니다. 프로세서 메모리의 마지막 셀(주소)에 기록됩니다. MK 유형을 선택하여 IcProg를 사용하는 경우 주소 03F8로 표시된 마지막 줄의 "프로그램 코드 주소"창에서 가장 오른쪽 4자는 지정된 개별 상수입니다. (칩이 새 것이고 프로그래밍된 적이 없는 경우 3FFF 문자 뒤에 - 마지막 문자는 3454와 같은 것입니다 - 이것이 바로 그 것입니다).

전압계 판독 값의 계산이 사실이되고 모든 것을 올바르게 수행하고 일어나는 과정을 이해하기 위해 최적은 아니지만 제안하지만 이해할 수있는 알고리즘을 바랍니다.

MK를 프로그래밍하기 전에 먼저 IcProg에서 "모두 읽기" 명령을 내리고 위의 메모리 셀을 살펴봐야 합니다. 이 칩의 개별 상수가 거기에 나열됩니다. 종이에 다시 작성해야 합니다(기억하지 마십시오! - 잊어버릴 것입니다).
- *.hex 확장자(이 경우 - "main.hex")가 있는 MK 펌웨어 프로그램 파일을 로드하고 이 소프트웨어 제품의 동일한 셀에 어떤 상수가 기록되어 있는지 확인합니다. 다른 경우 커서를 놓고 이전에 종이에 기록된 데이터를 입력하십시오.
- 프로그램 명령을 누르십시오. - "파일에서 오실레이터 데이터를 사용할지 여부"와 같은 질문 후에 - 동의합니다. 필요한 것이 있는지 이미 확인했습니다.

다시 한번 프로그래밍을 많이 하시고 그러지 않으시는 분들께 죄송하지만 이 마이크로프로세서의 상당히 중요한 소프트웨어 요소에 대한 정보를 초보자들에게 전달하고 간혹 발생하는 다양한 상황으로 인해 잃어버리지 않도록 노력하고 있습니다. 완전히 이해할 수 없거나 나중에 설명할 수 없습니다. 특히 설레는 마음으로 악수를 하며 처음으로 컴퓨터와 조립하고 연결한 프로그래머에 칩을 집어넣고 걱정스럽게 프로그램 버튼을 누르면 이 기술의 기적도 이해할 수 없는 질문을 하기 시작한다. 질문 - 여기에서 모든 문제가 시작됩니다.

따라서 모든 단계가 올바르게 완료되면 MK 칩을 사용할 수 있습니다. 다음은 기술의 문제입니다.
저를 대신하여 여기서 트랜지스터가 중요하지 않다고 덧붙이고 싶습니다. 모든 p-n-p 구조가 적합합니다. 소련, 플라스틱 케이스. 수입 가전제품에서 납땜하여 전도성 구조 준수 여부를 확인한 후 사용하였습니다. 이 경우 또 다른 뉘앙스가 내재되어 있습니다. 트랜지스터베이스의 출력 위치는 케이스 중간이나 가장자리에있을 수 있습니다. 회로 작동을 위해 이것은 무관심하며 납땜시 그에 따라 결론을 내리기 만하면됩니다. 전압 분배기의 고정 저항 - 정확히 지정된 값. 수입 된 50kOhm 트리밍 저항을 찾을 수 없다면 소련에서 만든 68kOhm을 조금 더 사용하는 것이 좋으며 47kOhm을 사용하지 않는 것이 좋습니다. 전압 분배기 저항의 계산된 비율이 손실되어 랙 스탠드로 고정하기 어려울 수 있습니다.

이미 쓴 것처럼 전원 공급 장치에는 두 개의 암이 있으므로 한 보드에 한 번에 두 개의 전압계를 만들고 표시기를 별도의 보드로 가져와 전면 패널의 공간을 절약했습니다. 일반적인 요소 아래에 퍼집니다. 보드 레이아웃, 소스 및 16진수 파일이 아카이브에 첨부됩니다. SMD가 있으면 리메이크가 어렵지 않으니 필요하시면 연락주세요.

이 전압계를 반복하고 저와 마찬가지로 공통 중간점이 있는 바이폴라 전원 공급 장치를 갖고 싶은 사람들을 위해 두 개의 개별(전기적으로 분리된) 소스에서 두 전압계에 전원을 공급해야 한다는 점을 상기시켜 드립니다. 전원 변압기의 별도 권선 또는 옵션으로 펄스 변환기이지만 항상 7V의 두 권선 (불안정)이 있다고 가정 해 봅시다. "펄스"를 만드는 사람들을 위해 전압계의 전류 소비는 표시기의 크기와 색상에 따라 70 ~ 100mA입니다. 그렇지 않으면 MK 포트에 음의 전압을 가할 수 없습니다.
변환기 회로가 필요한 사람이 있으면 포럼에서 질문하십시오. 현재 이 문제를 해결하고 있습니다.

SLayout-5rus에서 필요한 데이터 및 씰과 함께 아카이브:

오늘 수업에서는 단일 배터리의 전압을 측정하기 위해 집에서 만든 디지털 전압계를 만드는 옵션을 고려할 것입니다. 전압 측정 한계는 1-4.5볼트입니다. 측정된 것을 제외한 외부 추가 전원이 필요하지 않습니다.

25년 전에 나는 카세트 플레이어를 가지고 있었다. 450mAh 용량의 Ni-Cd 배터리 NKGTS-0.45를 공급했습니다. 도로에 이미 설치된 배터리와 여전히 작동하는 배터리를 확인하기 위해 간단한 장치가 만들어졌습니다.


배터리 축전지 진단 및 측정 단지.


두 개의 트랜지스터의 전압 변환기 회로에 따라 조립됩니다. 출력 LED가 켜져 있습니다. 배터리에 연결된 입력과 병렬로 니크롬으로 감긴 저항이 연결됩니다. 따라서 배터리가 약 200mA를 전달할 수 있으면 LED가 켜집니다.

단점 중-접점의 치수는 AA 요소의 길이에 대해 엄격하게 구부러져 있으므로 다른 모든 표준 크기를 연결하는 것이 편리하지 않습니다. 글쎄, 당신은 긴장을 볼 수 없습니다. 그래서 디지털 시대에 더 첨단 기기를 만들고 싶었다. 그리고 물론 마이크로 컨트롤러가 없는 곳에서 :)

따라서 설계된 장치의 구성표입니다.

중고 부품:
1. 0.91인치 128x32 OLED 디스플레이(약 $3)
2. SOIC 패키지의 ATtiny85 마이크로컨트롤러(약 $1)
3. Linear Technology의 부스트 DC/DC 컨버터 LT1308. (5개에 $2.74)
4. 결함이 있는 비디오 카드에서 납땜된 세라믹 커패시터.
5. COILTRONICS CTX5-1 또는 COILCRAFT DO3316-472의 인덕턴스.
6. 쇼트키 다이오드, MBR0520(0.5A, 20V) 사용

전압 변환기 LT1308

LT1308 설명의 특성:

그들은 하나의 NiCd 요소에서 300mA 3.3V를 약속하므로 우리에게 적합합니다. 출력 전압은 분배기, 저항 330kOhm 및 120kOhm으로 설정되며 표시된 등급으로 변환기의 출력 전압은 약 4.5V입니다. 출력 전압은 리튬 배터리의 최대 측정 전압보다 약간 높은 컨트롤러와 디스플레이에 전원을 공급하기에 충분하도록 선택되었습니다.

전압 변환기의 잠재력을 최대한 활용하려면 내가 가지고 있지 않은 인덕턴스가 필요하므로(위의 단락 5 참조) 내가 조립하는 변환기의 매개변수는 분명히 더 나쁩니다. 하지만 내 짐은 아주 작습니다. 마이크로 컨트롤러와 OLED 디스플레이에서 실제 부하가 연결되면 이러한 부하 테이블이 얻어집니다.

좋습니다. 계속 진행하겠습니다.

마이크로컨트롤러에 의한 전압 측정의 특징

ATtiny85 마이크로컨트롤러에는 10비트 ADC가 있습니다. 따라서 읽기 수준은 0-1023(2^10) 범위에 있습니다. 전압으로 변환하려면 다음 코드를 사용하십시오.
플로트 Vcc = 5.0; 정수 값 = analogRead(4); / A2 플로트 볼트에서 판독값 읽기 = (값 / 1023.0) * Vcc;
저것들. 공급 전압은 엄격하게 5V라고 가정합니다. 마이크로컨트롤러의 공급 전압이 변경되면 측정된 전압도 변경됩니다. 따라서 공급 전압의 정확한 값을 알아야 합니다!
ATmega 및 ATtiny 시리즈를 포함한 많은 AVR 칩은 내부 전압 레퍼런스를 측정하는 수단을 제공합니다. 내부 기준 전압을 측정하여 Vcc 값을 결정할 수 있습니다. 방법은 다음과 같습니다.
  • 전압 기준 analogReference(INTERNAL)를 설정합니다.
  • 내부 1.1V 공급에 대한 ADC 판독값을 읽습니다.
  • 다음 공식을 사용하여 1.1V 측정값을 기준으로 Vcc 값을 계산합니다.
Vcc * (ADC 판독값) / 1023 = 1.1V
다음 내용에서:
Vcc = 1.1V * 1023 / (ADC 판독값)
인터넷에서 컨트롤러 공급 전압을 측정하는 기능이 발견되었습니다.

readVcc() 함수

long readVcc() ( // AVcc에 대한 1.1V 참조 읽기 // 참조를 Vcc로 설정하고 측정을 내부 1.1V 참조로 설정 (REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1), #elif 정의됨(__AVR_ATtiny24__) || 정의됨(__AVR_ATtiny44__) || 정의됨(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV (MUX0); #elif 정의됨(__AVR_ATtiny25__) || 정의됨(__AVR_ATtiny45__) || 정의됨(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); MUX2) | _BV(MUX1); #endif delay(75); // Vref가 ADCSRA를 정할 때까지 대기 |= _BV(ADSC); // (bit_is_set(ADCSRA,ADSC)) 동안 변환 시작; // uint8_t low 측정 = ADCL; // 먼저 ADCL을 읽어야 합니다 - 그런 다음 ADCH를 잠급니다 uint8_t high = ADCH; // 둘 다 잠금 해제합니다 long result = (high<<8) | low; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts }


화면에 표시하기 위해 16x32 글꼴이 포함된 Tiny4kOLED 라이브러리가 사용됩니다. 글꼴에서 라이브러리의 크기를 줄이기 위해 사용하지 않는 2개의 문자(및 -)를 제거하고 누락된 문자 "B"를 그렸습니다. 이에 따라 라이브러리 코드가 변경되었습니다.
또한 표시되는 측정값을 안정화하기 위해 작성자 덕분에 with 함수를 사용했습니다. 다이맥스, 잘 작동합니다.

arduino IDE에서 Digispark 보드의 코드를 디버깅했습니다. 그 후 ATtiny85를 납땜 제거하고 브레드보드에 납땜했습니다. 우리는 브레드 보드를 조립하고 트리머 저항으로 변환기 출력의 전압을 설정합니다 (처음에는 출력을 5V로 설정했지만 변환기 입력의 전류는 170mA 미만이었고 전압을 4.5V로 줄였습니다. 전류 100mA로 떨어짐). ATtiny85가 브레드보드에 납땜되면 프로그래머를 사용하여 코드를 채워야 하고 일반 USBash ISP가 있습니다.


프로그램 코드

// SETUP /* * Set #define NASTROYKA 1 * 컴파일, 코드 입력, 실행, 디스플레이의 값 기억(예: 5741) * 멀티미터로 변환기 출력의 실제 전압 측정(예: 4979 ( 이것은 mV 단위입니다) * 우리는 (4979/5741) * 1.1=0.953997 * 계산 0.953997*1023*1000 = 975939 * 결과를 결과 = 975939L로 라인 100에 씁니다 * #define NASTROYKA 0 설정 * 컴파일, 코드 업로드, 실행 , 완료. */ #define NASTROYKA 0 #include #포함하다 longVcc; 플로트 Vbat; // 스무딩 알고리즘 미세 조정 shumodav() #define ts 5 // *테이블 크기* 데이터 저장을 위한 배열의 행 수, ± 2 카운트의 편차, 최적의 행 4개 및 예비 행 1개. #define ns 25 // *숫자 샘플*, 10~50은 알고리즘의 첫 번째 부분을 분석하기 위한 최대 샘플 수입니다. #define ain A2 // 읽을 아날로그 입력(A2는 P4) #define mw 50 // *max wait* 15..to 200ms에서 알고리즘의 두 번째 부분이 계산을 반복할 때까지 대기 unsigned int myArray, aread, firstsample, oldfirstsample, numbersamples, rezult; 부호 없는 긴 prevmillis = 0; 부울 waitbegin = 거짓; //활성화된 카운트다운 대기 카운터의 플래그 void setup() ( oled.begin(); oled.clear(); oled.on(); oled.setFont(FONT16X32_sega); ) void loop() ( for (byte i = 0) 나< 5; i++) { Vcc += readVcc(); } Vcc /= 5; shumodav(); Vbat = ((rezult / 1023.0) * Vcc) / 1000; if (Vbat >= 0.95) ( oled.setCursor(16, 0);#if NASTROYKA oled.print(result); #else oled.print(Vbat, 2); oled.print("/"); #endif ) Vcc = 0; ) long readVcc() ( // 실제 공급 전압 읽기 // AVcc에 대한 1.1V 참조 읽기 // 참조를 Vcc로 설정하고 측정을 내부 1.1V 참조로 설정 #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) | | #elif 정의됨(__AVR_ATtiny24__) || 정의됨(__AVR_ATtiny44__) || 정의됨(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif 정의됨(__AVR_ATtiny25__) || 정의됨(__AVR_ATtiny45__) || 정의됨(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(75); // Vref가 ADCSRA를 정할 때까지 대기 |= _BV(ADSC); // (bit_is_set(ADCSRA, ADSC)) 동안 변환 시작 ; // uint8_t low = ADCL 측정; // 먼저 ADCL을 읽어야 합니다. 그런 다음 ADCH를 잠급니다. uint8_t high = ADCH; // 두 long을 모두 잠금 해제합니다. 결과 = (높음<< 8) | low; // result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 // индикатор показывал 4990, вольтметр 4576мВ (4576/4990)*1.1=1.008737 result = 1031938L / result; // Calculate Vcc (in mV); 1031938 = 1.008737*1023*1000 return result; // Vcc in millivolts } void shumodav() { // главная функция //заполнить таблицу нолями в начале цикла for (int s = 0; s < ts; s++) { for (int e = 0; e < 2; e++) { myArray[s][e] = 0; } } // основной цикл накопления данных for (numbersamples = 0; numbersamples < ns; numbersamples++) { #if NASTROYKA aread = readVcc(); #else aread = analogRead(ain); #endif // уходим работать с таблицей//// tablework(); } // заполнен массив, вычисляем максимально повторяющееся значение int max1 = 0; // временная переменная для хранения максимумов for (byte n = 0; n < ts ; n++) { if (myArray[n] >max1) ( // 문자열의 2개 요소를 반복합니다. max1 = myArray[n]; // 가장 많이 히트한 firstsample = myArray[n]; // 1개 요소 = 중간 결과를 기억합니다. ) ) //***** 알고리즘의 두 번째 단계 *********///// // 이전 샘플이 새 샘플과 같지 않고 //시간 카운트 활성화 플래그가 없는 경우 if (oldfirstsample != firstsample && waitbegin == false) ( prevmillis = millis(); // 시간 카운터를 시작으로 재설정 waitbegin = true; ) // 대기 플래그를 활성화합니다. // 시간 제한이 만료되기 전에 카운트다운이 // if (waitbegin == true && oldfirstsample == firstsample ) ( waitbegin = false; rezult = firstsample; ) // 카운트다운이 여전히 같지 않고 대기 시간이 초과된 경우 플래그를 제거합니다. if (waitbegin = = true && millis() - prevmillis >= mw) ( oldfirstsample = firstsample; waitbegin = false; rezult = firstsample; ) //그러면 새 샘플을 함수의 최종 결과로 인식합니다. ) // 메인 함수의 끝 void tablework() ( // 테이블에 데이터를 입력하는 함수 // 테이블의 카운트가 같으면 // 두 번째 요소의 카운터를 증가시킵니다. for (byte n = 0; n< ts; n++) { if (myArray[n] == aread) { myArray[n] ++; return; } } // перебираем ячейки что б записать значение aread в таблицу for (byte n = 0; n < ts; n++) { if (myArray[n] == 0) { //если есть пустая строка myArray[n] = aread; return; } } // если вдруг вся таблица заполнена раньше чем кончился цикл, numbersamples = ns; } // то счётчик циклов на максимум


위에서 언급한 바와 같이 컨트롤러에는 내부 1.1V 전압 레퍼런스가 있습니다. 안정적이지만 정확하지는 않습니다. 따라서 실제 전압은 1.1V와 다를 가능성이 큽니다. 실제로 얼마인지 알아 보려면 다음을 보정해야합니다.

* 세트 #define NASTROYKA 1
* 컴파일, 코드 입력, 실행, 디스플레이의 값 기억(예: 5741)
* 멀티미터로 변환기 출력의 실제 전압을 측정합니다(예: 4979(mV 단위)).
* 우리는 (4979/5741)*1.1=0.953997을 고려합니다. 이것은 기준 전압 소스의 실제 전압입니다.
* 계산 0.953997*1023*1000 = 975939
* result = 975939L로 결과를 라인 100에 씁니다.
* 세트 #define NASTROYKA 0
* 컴파일, 코드 입력, 실행, 준비.

DipTrace 프로그램에서 우리는 37x12mm OLED 디스플레이 크기의 보드를 번식시킵니다.


사랑받지 못한 LUT 활동의 30분.


10개의 차이점 찾기

미러 보드를 처음 망가뜨리고 에칭했을 때 요소 납땜을 시작했을 때만 이것을 알았습니다.



우리는 납땜합니다. SMD 인덕턴스 4.7uH가 나에게 친절하게 제공되었습니다. Sergey에게 감사드립니다.


보드와 화면에서 샌드위치를 ​​수집합니다. 전선 끝에 작은 자석을 납땜했고 전압계 자체가 측정 된 배터리에 고정되었습니다. 80도 이상으로 가열하면 네오디뮴 자석은 자기 특성을 잃어 버리므로 Wood 또는 Rose의 저 융점 합금으로 매우 빠르게 납땜해야 합니다. 다시 한 번 측정 정확도를 보정하고 확인합니다.






리뷰 좋아요 +126 +189

그림 1은 전원 공급 장치, 변환기, 충전기 등의 회로에 추가로 사용할 수 있는 디지털 전류계 및 전압계의 다이어그램을 보여줍니다. 회로의 디지털 부분은 PIC16F873A 마이크로컨트롤러에서 만들어집니다. 이 프로그램은 전압 측정 0...50 V, 측정된 전류 - 0...5 A를 제공합니다.

공통 음극 LED 표시기는 정보를 표시하는 데 사용됩니다. LM358 칩의 연산 증폭기 중 하나는 전압 팔로워로 사용되며 비상 상황에서 컨트롤러를 보호하는 역할을 합니다. 그래도 컨트롤러의 가격은 그리 작지 않습니다. 전류는 LM358 마이크로 회로의 연산 증폭기 DA1.2와 트랜지스터 VT1-KT515V로 만든 전류-전압 변환기를 사용하여 간접적으로 측정됩니다. 이러한 변환기에 대해 읽을 수도 있습니다. 이 회로의 전류 센서는 저항 R3입니다. 이 전류 측정 회로의 장점은 밀리옴 저항을 미세 조정할 필요가 없다는 것입니다. 트리머 R1을 사용하여 상당히 넓은 범위 내에서 전류계 판독 값을 간단히 조정할 수 있습니다. 추가 디지털화를 위한 부하 전류 신호는 변환기 부하 저항 R2에서 가져옵니다. 전원 장치의 정류기(안정기 입력, 다이어그램의 3번 지점) 뒤 필터 커패시터의 전압은 32볼트를 넘지 않아야 합니다. 이는 연산 증폭기의 최대 공급 전압 때문입니다. KR142EN12A 마이크로 회로 안정기의 최대 입력 전압은 37V입니다.

전압계의 조정은 다음과 같습니다. 모든 절차(조립, 프로그래밍, 규정 준수 확인) 후에 조립한 작업에 공급 전압이 공급됩니다. 저항 R8은 KR142EN12A 스태빌라이저의 출력에서 ​​5.12V의 전압을 설정한 후 프로그래밍된 마이크로 컨트롤러가 소켓에 삽입됩니다. 신뢰할 수 있는 멀티미터로 지점 2의 전압을 측정하면 저항 R7이 동일한 판독값을 얻습니다. 그런 다음 제어 전류계가 있는 부하는 출력에 연결됩니다(지점 2). 이 경우 두 장치의 판독 값의 동등성은 저항 R1을 사용하여 달성됩니다.

예를 들어 강선을 사용하여 전류 센서 저항을 직접 만들 수 있습니다. 이 저항의 매개변수를 계산하려면 "" 프로그램을 사용할 수 있습니다. 프로그램을 다운로드하셨나요? 열었습니까? 따라서 공칭 값이 0.05옴인 저항이 필요합니다. 제조를 위해 직경 0.7mm의 강선을 선택합니다. 저는 그렇게 가지고 있고 녹슬지 않습니다. 프로그램을 사용하여 이러한 저항이 있는 세그먼트의 필요한 길이를 계산합니다. 이 프로그램의 창 화면을 봅니다.

따라서 직경 0.7mm, 길이 11cm의 스테인리스 스틸 와이어가 필요합니다. 이 세그먼트를 나선형으로 비틀고 모든 열을 한 지점에 집중시킬 필요는 없습니다. 그게 다인 것 같습니다. 이해가 되지 않으면 포럼으로 이동하십시오. 행운을 빌어요. K.V.Yu. 파일을 거의 잊었습니다.

로드 중...로드 중...