실험실 전원 공급 장치의 마이크로 컨트롤러에 있는 전압 전류계입니다. PIC12F675 및 LED 표시기에 내장된 전류계 전압계 마이크로컨트롤러 전압계 LED 회로

주파수가 50Hz인 간단한 교류 전압계는 내장형 모듈 형태로 제작되어 별도로 사용하거나 완제품 장치에 내장할 수 있습니다.
전압계는 PIC16F676 마이크로컨트롤러와 3자리 표시기에 조립되어 있으며 부품이 많지 않습니다.

전압계의 주요 특성:
측정된 전압의 모양은 정현파입니다.
측정된 전압의 최대값은 250V입니다.
측정된 전압의 주파수 - 40~60Hz;
측정 결과 표시 해상도는 1V입니다.
전압계 공급 전압은 7~15V입니다.
평균 전류 소비 - 20mA
두 가지 설계 옵션: 온보드 전원 공급 장치 포함 및 미포함
단면 PCB
컴팩트한 디자인
3자리 LED 표시기에 측정값 표시

교류 전압 측정용 전압계의 개략도


후속 값 계산 및 표시기로의 출력을 통해 교류 전압을 직접 측정했습니다. 측정된 전압은 R3, R4, R5에 만들어진 입력 분배기에 공급되고 분리 커패시터 C4를 통해 마이크로 컨트롤러의 ADC 입력에 공급됩니다.

저항 R6 및 R7은 ADC 입력에서 2.5V(전력의 절반)의 전압을 생성합니다. 비교적 작은 용량의 커패시터 C5는 ADC 입력을 우회하여 측정 오류를 줄이는 데 도움이 됩니다. 마이크로 컨트롤러는 타이머의 중단을 기반으로 동적 모드에서 표시기 작동을 구성합니다.

--
관심을 가져주셔서 감사합니다!
Datagor 매거진의 편집장 Igor Kotov


🕗 01/07/14 ⚖️ 19.18Kb ⇣ 238 안녕하세요, 독자님!제 이름은 Igor이고 45세입니다. 저는 시베리아 사람이고 열렬한 아마추어 전자 엔지니어입니다. 저는 2006년부터 이 멋진 사이트를 고안하고 만들고 유지해 왔습니다.
10년 넘게 우리 잡지는 오로지 내 비용으로만 존재했습니다.

좋은! 공짜는 끝났습니다. 파일과 유용한 기사를 원하시면 도와주세요!


우리는 마이크로프로세서를 기반으로 하는 전압계-전류계를 구현하기 위한 옵션을 계속해서 이해하고 있습니다.
파일이 포함된 아카이브를 잊지 마세요. 오늘은 파일이 필요합니다.

대형 표시기를 설치하려면 MK 포트를 통해 전류 소비를 제한하는 문제를 해결해야 합니다. 이 경우 인디케이터의 각 자리에 버퍼 트랜지스터를 설치해야 합니다.

대형 표시기


따라서 앞서 설명한 회로는 그림 1과 같은 형태를 취하게 됩니다. 2. 버퍼 스테이지의 3개 트랜지스터 VT1-VT3이 표시기의 각 자리에 추가되었습니다. 설치된 버퍼 스테이지는 MK의 출력 신호를 반전시킵니다. 따라서 VT2를 기반으로 한 입력 전압은 지정된 트랜지스터의 컬렉터에 대해 역전되므로 출력에 쉼표 형성 출력을 공급하는 데 적합합니다. 이를 통해 이전에 그림 1의 회로에 있던 트랜지스터 VT1을 제거할 수 있습니다. 1, 후자를 디커플링 저항 R12로 대체합니다. 트랜지스터 VT1-VT3의 기본 회로의 저항 값도 변경되었음을 잊지 마십시오.
비정상적으로 큰 크기의 표시기를 설치하려면 표시된 트랜지스터의 컬렉터 회로에 저저항(1~10Ω) 저항기를 설치하여 트랜지스터를 켤 때 전류 서지를 제한해야 합니다.

이 옵션에 대한 MK의 작동 논리는 비트, 즉 포트 RA0, RA1, RA5를 제어하기 위해 출력 신호 반전 측면에서 프로그램의 약간의 변경만 필요합니다.
변경될 사항, 즉 코드 이름 "동적 표시 생성 기능"으로 이미 우리에게 알려진 서브루틴만 고려해 보겠습니다. 목록 번호 2(아카이브의 "tr_OE_30V" 폴더 또는 기사의 첫 번째 부분 참조):

16. 무효 표시기()( 17. while(show_digit< 3) { 18. portc = 0b111111; // 1 ->C 19. if (show_digit == 2)( Delay_ms(1); ) 20. porta = 0b100111; 21. 쇼_디지트 = 쇼_디지트 + 1; 22. 스위치 (show_digit) ( 23. 케이스 1: ( 24. if (digit1 == 0) ( ) else ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1<<0)); //0 ->A0 27. ) 중단;) 28. 사례 2: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1<<1)); //0 ->A1 31. 중단;) 32. 사례 3: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1<<5)); //0 ->A5 35. break;) ) 36. Delay_ms(6); 37. if (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((show_digit >= 3)!= 0) break; 40. ) show_digit = 0;)


두 옵션을 모두 비교하십시오. RA 포트(목록 번호 2의 라인 20)의 신호 반전은 이진 형식으로 작성되므로 읽기 쉽습니다. MK의 출력과 이진수를 결합하는 것으로 충분합니다. 19행과 37행에서는 처음에는 없었던 약간 이상한 조건이 나타났습니다. 첫 번째 경우: "두 번째 숫자가 표시되는 동안 포트 RA1에서 논리 0 신호를 지연합니다." 두 번째: "포트 RA2에 논리적 0이 있으면 반전됩니다." 프로그램의 최종 버전을 컴파일할 때 이를 제거할 수 있지만 PROTEUS의 시뮬레이션에는 필요합니다. 그렇지 않으면 쉼표와 "G" 세그먼트가 정상적으로 표시되지 않습니다.
왜? - 첫 번째 옵션이 훌륭하게 작동했기 때문에 묻습니다.

결론적으로 영화 "사랑의 공식"에 나오는 대장장이의 말을 기억하세요. "...한 사람이 만들면 다른 사람은 언제든지 분해할 수 있습니다!"
행운을 빌어요!

독자 투표

이 기사는 27명의 독자로부터 승인을 받았습니다.

투표에 참여하려면 사용자 이름과 비밀번호를 사용하여 사이트에 등록하고 로그인하세요.

프로그램 로직

프로그램 시작 시 초기화 기능이 실행됩니다. ADC가 구성되어 시작되고, 인디케이터가 연결된 포트가 구성되고, T0 타이머가 구성됩니다. 그런 다음 인터럽트가 활성화되고 마이크로 컨트롤러가 무한 루프를 실행합니다. 이 사이클에서는 ADC 소프트웨어 버퍼가 폴링되고 전압 값이 계산됩니다. 계산된 값은 표시 함수에 전달되어 이를 2진수 십진수로 변환한 후 표시 숫자 코드로 변환하고 이를 배열(버퍼)에 씁니다.

메인 프로그램과 병행하여 ADC 및 타이머 T0의 인터럽트가 호출됩니다. ADC는 내부 기준 전압이 2.56V인 단일 변환 모드에서 작동합니다. 오른쪽 정렬에서는 10자리 숫자가 모두 사용됩니다. ADC 변환 결과는 8회씩 변수에 누적되어 평균화되어 소프트웨어 버퍼에 기록됩니다.

T0 타이머 인터럽트는 이를 다시 시작하고 표시기 업데이트 기능을 호출합니다. 현재 표시된 방전을 끄고 다음 방전을 켭니다.

프로젝트 구조

이 프로젝트는 3개의 소프트웨어 모듈로 구성됩니다.
main.c – 메인 프로그램
adc.c – ADC 작업을 위한 함수
Indicator.c – 7세그먼트 4자리 표시기의 드라이버.

실험실 PSU의 마이크로컨트롤러 전압전류계

진보하는 시대에 무선 아마추어가 장치를 설정할 때 가장 중요한 장치는 실험실 전원 공급 장치(PSU)입니다.전원 공급 장치는 집에서 만들 수도 있고 공장에서 만들 수도 있습니다. 복잡성이 다르며 하나의 선형 전압 조정기(예: LM317T)를 사용하여 조립할 수 있으며 연산 증폭기 또는 트랜지스터를 사용하여 조립할 수 있습니다.전원 공급 장치에는 단락 보호 기능이 있거나 그 반대의 경우 조정 가능한 출력 전류 제한 기능이 있을 수 있습니다. 그리고 고급 전원 공급 장치에는 "단락 보호/출력 전류 제한" 스위칭 모드가 있습니다. 그러나 거의 모든 전원 공급 장치에는 기껏해야 전압계가 장착되어 있습니다. 디지털 전압계는 제조 및 구성이 어렵고 대부분 KR572PV2A와 같은 특수 ADC 칩을 사용해야 합니다.

그러나 전체적인 어려움은 보드 제조에 있는 것이 아니라 지정된 마이크로 회로에 전원을 공급하기 위해 양극 전원 공급 장치 +5V, -5V를 사용해야 한다는 것입니다. 이를 위해서는 별도의 저전력 전원 공급 장치 또는 별도의 변압기 권선이 필요합니다. 따라서 이러한 ADC는 아마추어 무선 실습에서 입증되지 않았습니다.무슨 일이야? 21세기인데 아마추어 전원장치의 디자인은 발전에 영향을 받지 않았나요? 이 상황은 바로잡아야 합니다! 이에 대해 생각한 결과 마이크로컨트롤러의 전원 매개변수를 표시하는 장치를 직접 만들어야 한다는 결론에 도달했습니다.이와 관련하여 디지털 전압전류계라는 모듈이 개발되었습니다. 이에 대해 더 자세히 논의하겠습니다. 이 개발은 파일럿 버전으로 제작되었으며 개선이 필요하기 때문에 반복 및 개선을 위해 제공되지만 이 버전에서도 이 계획은 실행 가능하며 초보 라디오 아마추어에게도 반복을 위해 제공될 수 있습니다.주된 강조점은 초보 무선 아마추어를 뒤처지지 않도록 복잡성을 최소한으로 유지하는 것이었습니다. 내가 얻은 것은 다음과 같습니다.

인쇄 회로 기판의 회로도와 그림은 다음과 같습니다.

장치는 다음 매개변수와 기능을 제공합니다.

  • 1. 0.01V의 분해능으로 0~100V 범위에서 전원 공급 장치의 출력 전압을 측정하고 표시합니다.
  • 2. 10mA 분해능으로 0~10A 범위의 전원 공급 장치 부하 출력 전류 측정 및 표시
  • 3. 측정 오류 - ±0.01V(전압) 또는 ±10mA(전류)보다 나쁘지 않음
  • 4. 전압/전류 측정 모드 간 전환은 누른 위치에 잠긴 버튼을 사용하여 수행됩니다.
  • 5. 측정 결과를 큰 4자리 표시기로 출력합니다. 이 경우 세 자리는 측정값의 값을 표시하는 데 사용되고 네 번째 자리는 현재 측정 모드를 나타내는 데 사용됩니다.
  • 6. 전압전류계의 특별한 기능은 측정 한계를 자동으로 선택하는 것입니다. 아이디어는 0-10V의 전압이 0.01V의 정확도로 표시되고 10-100V의 전압이 0.1V의 정확도로 표시된다는 것입니다.
  • 7. 실제로 전압 분배기는 예비로 설계되었습니다. 측정된 전압이 110V 이상 증가하면(어쩌면 누군가가 덜 필요하면 펌웨어에서 이 문제를 해결할 수 있음) 과부하 기호가 표시기에 표시됩니다 - O.L ( 과부하). 전류계에서도 마찬가지이며, 측정된 전류가 11A를 초과하면 전압계는 과부하 표시 모드로 들어갑니다.

전압계는 양의 전류와 전압 값만 측정하고 표시하며, 음의 회로에 있는 션트를 사용하여 전류를 측정합니다.이 장치는 DD1 마이크로컨트롤러(MK) ATMega8-16PU에서 제작되었습니다.

ATMEGA8-16PU의 기술 매개변수:

  • AVR 코어
  • 비트 크기 8
  • 클록 주파수, MHz 16
  • 8K ROM 용량
  • RAM 용량 1K
  • 내부 ADC, 채널 수 23
  • 내부 DAC, 채널 수 23
  • 타이머 3채널
  • 공급 전압, V 4.5…5.5
  • 온도 범위, C 40...+85
  • 하우징 유형 DIP28

추가 회로 요소의 수는 최소화됩니다. (MK에 대한 더 완전한 데이터는 해당 데이터시트에서 찾을 수 있습니다.)다이어그램의 저항은 MLT-0.125 유형 또는 수입 아날로그, 전해 커패시터 유형 K50-35 또는 이와 유사하며 전압이 최소 6.3V이며 용량이 위쪽으로 다를 수 있습니다. 0.1μF 커패시터는 수입 세라믹입니다. DA1 7805 대신 모든 아날로그를 사용할 수 있습니다. 장치의 최대 공급 전압은 이 마이크로 회로의 최대 허용 입력 전압에 의해 결정됩니다. 표시기 유형은 아래에 설명되어 있습니다. 인쇄 회로 기판을 처리할 때 SMD를 포함한 다른 유형의 부품을 사용할 수 있습니다.

저항기 R... 수입 세라믹, 저항 0.1Ω 5W, 인장 크기가 설치를 허용하는 경우 더 강력한 저항기를 사용할 수 있습니다.또한 전원 공급 장치 전류 안정화 회로를 연구해야 합니다. 아마도 네거티브 버스에 이미 0.1Ω 전류 측정 저항이 있을 수 있습니다. 가능하다면 이 저항을 사용하는 것이 가능할 것입니다.장치에 전원을 공급하려면 별도의 안정화된 +5 V 전원 공급 장치를 사용하거나(DA1 칩이 필요하지 않음) 불안정한 +7...30 V 소스(DA1 필수 사용)를 사용할 수 있습니다. 장치에서 소비하는 전류는 80mA를 초과하지 않습니다. 공급 전압의 안정성은 전류 및 전압 측정의 정확성에 간접적으로 영향을 미칩니다.표시는 일반적인 동적 표시이며 특정 순간에는 한 자리 숫자만 켜지지만 시력의 관성으로 인해 네 개의 표시기가 모두 빛나는 것을 보고 이를 정상적인 숫자로 인식합니다.

이 회로에서 MK 포트의 최대 전류가 허용되는 40mA를 초과하지 않기 때문에 표시기당 하나의 전류 제한 저항을 사용하고 추가 트랜지스터 스위치에 대한 필요성을 포기했습니다. 프로그램을 변경하면 공통 양극과 공통 음극을 모두 사용하는 표시기를 사용할 수 있는 가능성을 실현할 수 있습니다.지표 유형은 국내 및 수입 모두 가능합니다. 내 버전은 숫자 높이가 12mm인 두 자리 VQE-23 녹색 표시기를 사용합니다(이것은 오래된 재고에서 발견되는 고대의 저휘도 표시기입니다). 여기서는 참조용으로 기술 데이터를 제공하겠습니다.

  • 표시기 VQE23, 20x25mm, OK, 녹색
  • 두 자리 7세그먼트 표시기.
  • 유형 공통 음극
  • 색상 녹색(565nm)
  • 밝기 460-1560uCd
  • 소수점 2
  • 정격 세그먼트 전류 20mA

아래는 핀의 위치와 표시기의 치수 도면입니다.

  • 1. 양극 H1
  • 2. 양극 G1
  • 3. 양극 A1
  • 4. 양극 F1
  • 5. 양극 B1
  • 6. 양극 B2
  • 7. 양극 F2
  • 8. 양극 A2
  • 9. 양극 G2
  • 10. 양극 H2
  • 11. 양극 C2
  • 12. 양극 E2
  • 13. 양극 D2
  • 14. 공통 음극 K2
  • 15. 공통 음극 K1
  • 16. 양극 D1
  • 17. 양극 E1
  • 18. 양극 C1

공통 음극을 사용하여 1자리, 2자리, 4자리 표시기를 모두 사용할 수 있으며 인쇄 회로 기판의 배선만 수행하면 됩니다.보드는 양면 포일 유리 섬유로 만들어졌으며,하지만 단면 사용도 가능합니다. 점퍼 몇 개만 납땜하면 됩니다. 보드의 요소는 양쪽에 설치되므로 조립 순서가 중요합니다.

먼저 표시기 아래와 마이크로 컨트롤러 근처에 많은 점퍼(비아)를 납땜해야 합니다.
. 그런 다음 마이크로 컨트롤러 DD1. 콜릿 소켓을 사용할 수 있지만 마이크로 회로 측면의 핀을 납땜할 수 있도록 보드에 끝까지 설치해서는 안 됩니다. 왜냐하면 발 아래에는 콜릿 소켓이 없었으며 MK를 보드에 단단히 납땜하기로 결정했습니다. 초보자에게는 추천하지 않습니다; 펌웨어가 실패할 경우 28각 MK를 교체하는 것은 매우 불편합니다.
. 그런 다음 다른 모든 요소.

이 전압전류계 모듈의 작동에는 설명이 필요하지 않습니다. 전원과 측정 회로를 올바르게 연결하면 충분합니다.열린 점퍼 또는 버튼 - 전압 측정, 닫힌 점퍼 또는 버튼 - 전류 측정.사용 가능한 방법을 사용하여 펌웨어를 업데이트할 수 있습니다. 퓨즈 비트에서 수행해야 할 작업은 내장된 4MHz 발진기를 활성화하는 것입니다. 플래시하지 않으면 나쁜 일이 일어나지 않습니다. MK는 1MHz에서만 작동하고 표시기의 숫자가 많이 깜박입니다.

다음은 전압전류계 사진입니다.

장치를 특정 전원 공급 장치 회로에 연결하는 방법에 대해서는 위의 것 외에 구체적인 권장 사항을 제시할 수 없습니다. 그 중 너무 많습니다! 이 작업이 정말 제가 상상하는 것만큼 쉬웠으면 좋겠습니다.

추신 이 회로는 실제 전원 공급 장치에서 테스트되지 않았으며 프로토타입으로 조립되었으며 향후 이 전압 전류계를 사용하여 간단한 조정 가능한 전원 공급 장치를 만들 계획입니다. 작동 중인 이 전압전류계를 테스트하고 중요하지만 그다지 중요하지 않은 단점을 지적해 주신 분들께 감사드립니다.기본은 radiocat 웹사이트의 ARV Modding 전원 공급 장치 회로입니다. CodeVision AVR C Compiler 2.04용 소스 코드가 포함된 펌웨어와 ARES Proteus 형식의 보드는 에서 다운로드할 수 있습니다. 또한 ISIS Proteus의 작업 초안도 첨부되어 있습니다. 자료 제공 - i8086.

Vladimir의 전압계 구현

표시기 양극에 스위치를 추가하여 디스플레이의 밝기를 높이고 더 강력한 디스플레이를 사용할 수 있습니다.

DIP14 및 SO14용 인장 2개

회로는 BC847(KT3102) 트랜지스터를 사용합니다.

전압계에 대한 주요 기사를 업데이트하는 동안 회로의 전압 분배기가 교체되고 Vladimir의 씰이 교체되었습니다. 전압계의 펌웨어는 주요 기사에 있습니다.

Wali Marat의 네트워크 전압계 구현

인장은 저항 R2 및 R3을 하나의 4.7k 트리머로 교체하고 제너 다이오드 VD1이 없다는 점에서 회로와 다릅니다.

수정된 네트워크 전압계 회로도 전송되었으며, 이는 전압계의 공급 전압을 안정화하기 위한 더 나은 품질의 회로를 갖추고 있습니다.

네트워크 전압계 사진

Wali Marat의 전압계/전류계 구현

마이크로컨트롤러의 ADC 입력을 과전압으로부터 보호하기 위해 Wali Marat의 모든 회로에 5.1V 제너 다이오드 VD1(녹색으로 표시)이 추가되었습니다.