이번 프로젝트에서는 아두 이노를 이용한 교류 전압 측정기 를 만들어 집에서 교류 전원의 전압을 측정 할 예정입니다. 이 전압을 Arduino IDE의 직렬 모니터에 인쇄하고 멀티 미터에 표시 할 것입니다.
디지털 전압계를 만드는 것은 아날로그 전압계를 만드는 것보다 훨씬 쉽습니다. 아날로그 전압계의 경우 토크, 마찰 손실 등과 같은 물리적 매개 변수에 대해 잘 알고 있어야하지만 디지털 전압계의 경우 LCD 또는 LED 매트릭스를 사용하거나 노트북 (이 경우)도 전압 값을 인쇄합니다. 다음은 디지털 전압계 프로젝트입니다.
- ICL7107을 사용하는 PCB가있는 간단한 디지털 전압계 회로
- LM3914 전압계 회로
- AVR 마이크로 컨트롤러를 사용하는 0-25V 디지털 전압계
필수 구성 요소:
- 12-0-12 변압기 1 개
- 1N4007 다이오드
- 1uf 커패시터
- 저항기 10k; 4.7k.
- 제너 다이오드 (5v)
- Arduino UNO
- 전선 연결
Arduino 전압계 회로도:
이 Arduino 전압계의 회로도 는 위에 나와 있습니다.
사이:
- 변압기의 고전압 측 (220V)을 주전원에 연결하고 저전압 (12v)을 분압 회로에 연결합니다.
- 4.7k 저항과 직렬로 10k 저항을 연결하되 4.7k 저항의 입력으로 전압을 가져와야합니다.
- 그림과 같이 다이오드를 연결합니다.
- 4.7k에 걸쳐 커패시터 및 제너 다이오드 연결
- 다이오드의 n 단자에서 Arduino의 아날로그 핀 A0에 와이어를 연결합니다.
** 참고: Arduino의 접지 핀을 그림과 같이 연결하지 않으면 회로가 작동하지 않습니다.
전압 분배기 회로가 필요하십니까?
220/12 v 변압기를 사용하므로 lv 측에서 12 v를 얻습니다. 이 전압은 Arduino의 입력으로 적합하지 않기 때문에 Arduino에 입력으로 적합한 전압 값을 제공 할 수있는 전압 분배기 회로가 필요합니다.
다이오드와 커패시터가 연결된 이유는 무엇입니까?
Arduino는 음의 전압 값을 입력으로 사용하지 않으므로 먼저 Arduino에서 양의 전압 값만 취하도록 스텝 다운 AC의 음의주기를 제거해야합니다. 따라서 다이오드가 연결되어 강압 전압을 정류합니다. 정류에 대해 자세히 알아 보려면 반파 정류기 및 전파 정류기 회로를 확인하십시오.
이 정류 된 전압은 정확한 아날로그 값을 제공 할 수없는 큰 리플을 포함하므로 부드럽 지 않습니다. 따라서 커패시터는 ac 신호를 부드럽게하기 위해 연결됩니다.
제너 다이오드의 목적은?
Arduino는 5v 이상의 전압이 공급되면 손상을 입을 수 있습니다. 따라서이 전압이 5v를 초과하면 고장이 나는 Arduino의 안전을 보장하기 위해 5v 제너 다이오드가 연결됩니다.
Arduino 기반 AC 전압계 작동:
1. 일반 전력 정격 저항에 사용하기에 적합한 변압기의 lv 측에서 강압 전압을 얻습니다.
2. 4.7k 저항에 적절한 전압 값을 얻습니다.
측정 할 수있는 최대 전압은 proteus에서이 회로를 시뮬레이션하여 찾을 수 있습니다 (시뮬레이션 섹션에서 설명).
3. Arduino는이 전압을 핀 A0의 입력으로 0에서 1023 사이의 아날로그 값 형태로 사용합니다. 0은 0V이고 1023은 5v입니다.
4. 그런 다음 Arduino는이 아날로그 값을 공식에 따라 해당하는 주 AC 전압으로 변환합니다. (코드 섹션에서 설명).
시뮬레이션:
정확한 회로는 proteus에서 만들어지고 시뮬레이션됩니다. 이 회로가 적중을 측정 할 수있는 최대 전압을 찾기 위해 시험 방법이 사용됩니다.
교류 발전기의 피크 전압을 440 (311rms)으로 만들 때 핀 A0의 전압은 5 볼트 즉 최대 값 인 것으로 확인되었습니다. 따라서이 회로는 최대 311 rms 전압을 측정 할 수 있습니다.
220 rms ~ 440v 사이의 다양한 전압에 대해 시뮬레이션이 수행됩니다.
코드 설명:
이 프로젝트의 끝에 완전한 ArduinoVoltmeter 코드 가 주어지며 주석을 통해 잘 설명됩니다. 여기서 우리는 그 일부를 설명하고 있습니다.
m은 핀 A0에서 수신 된 입력 아날로그 값입니다.
m = 핀 모드 (A0, INPUT); // 핀 a0을 입력 핀으로 설정
이 공식에 변수 n을 할당하기 위해 n = (m * . 304177) 먼저 시뮬레이션 섹션에서 얻은 데이터를 사용하여 몇 가지 계산을 수행합니다.
시뮬레이션 사진에서 볼 수 있듯이 입력 AC 전압이 311V 일 때 핀 A0에서 5v 또는 1023 아날로그 값을 얻습니다. 그 후:
따라서 임의의 아날로그 값은 (311/1023) * m에 해당합니다. 여기서 m은 아날로그 값을 얻습니다.
따라서 우리는 다음 공식에 도달합니다.
n = (311/1023) * m 볼트 또는 n = (m *.304177)
이제이 전압 값은 아래 설명 된대로 직렬 명령을 사용하여 직렬 모니터에 인쇄됩니다. 또한 아래 비디오 에서 보여주는 것처럼 멀티 미터에도 표시 됩니다.
화면에 인쇄되는 값은 다음과 같습니다.
코드에 지정된 아날로그 입력 값:
Serial.print ("아날로그 입력"); // 이것은 출력 된 아날로그 값에“아날로그 입력”인 이름을 부여합니다. Serial.print (m); // 이것은 단순히 입력 된 아날로그 값을 출력합니다.
코드에 지정된 필수 AC 전압:
Serial.print ("ac 전압"); // 이것은 인쇄 된 아날로그 값에 "ac 전압"이라는 이름을 부여합니다. Serial.print (n); // 이것은 단순히 ac 전압 값을 인쇄합니다.