전압과 전류를 측정하는 것은 전기 시스템을 만들거나 디버깅하는 동안 항상 도움이됩니다. 이 프로젝트에서는 PIC16F877A 마이크로 컨트롤러와 전류 센서 ACS712-5A를 사용하여 자체 디지털 전류계 를 만들 것 입니다. 이 프로젝트는 0.3A의 정확도로 0-30A 범위에서 AC 및 DC 전류를 모두 측정 할 수 있습니다. 코드를 거의 수정하지 않으면이 회로를 사용하여 최대 30A를 측정 할 수도 있습니다. 그럼 시작하겠습니다 !!!
필요한 재료:
- PIC16F877A
- 7805 전압 조정기
- ACS712 전류 센서
- 16 * 2 LCD 디스플레이
- 정션 박스 및 부하 (테스트 용)
- 전선 연결
- 커패시터
- 브레드 보드.
- 전원 공급 장치 – 12V
ACS712 전류 센서 작동:
프로젝트 구축을 시작하기 전에 ACS712 전류 센서가 프로젝트의 핵심 구성 요소이므로 작동을 이해하는 것이 매우 중요합니다. 전류, 특히 AC 전류를 측정하는 것은 부적절한 절연 문제 등과 관련된 노이즈로 인해 항상 어려운 작업입니다.하지만 Allegro가 설계 한이 ACS712 모듈 덕분에 훨씬 쉬워졌습니다.
이 모듈은 Edwin Hall 박사가 발견 한 Hall-effect 원리로 작동합니다. 그의 원리에 따르면 전류 전달 도체를 자기장에 배치하면 전류와 자기장의 방향에 수직 인 가장자리에 전압이 생성됩니다. 개념에 너무 깊이 들어 가지 말고 홀 센서를 사용하여 전류 전달 도체 주변의 자기장을 측정하면됩니다. 이 측정은 우리가 홀 전압이라고 부르는 밀리 볼트 단위입니다. 측정 된 홀 전압은 도체를 통해 흐르는 전류에 비례합니다.
ACS712 전류 센서 사용의 가장 큰 장점은 AC 및 DC 전류를 모두 측정 할 수 있고 부하 (AC / DC 부하)와 측정 장치 (마이크로 컨트롤러 부분) 간의 절연을 제공한다는 것입니다. 그림에서 볼 수 있듯이 모듈에는 각각 Vcc, Vout 및 Ground 인 세 개의 핀이 있습니다.
2 핀 터미널 블록은 전류 전달 와이어가 통과되어야하는 곳입니다. 모듈은 + 5V에서 작동하므로 Vcc는 5V로 전원이 공급되고 접지는 시스템의 접지에 연결되어야합니다. Vout 핀의 오프셋 전압은 2500mV입니다. 즉, 전선을 통해 흐르는 전류가 없을 때 출력 전압은 2500mV가되고 전류가 양수이면 전압이 2500mV보다 크고 전류가 음수이면 전압이 전압은 2500mV 미만입니다.
우리는 PIC 마이크로 컨트롤러의 ADC 모듈을 사용하여 모듈의 출력 전압 (Vout)을 읽을 것입니다. 이는 전선을 통해 흐르는 전류가 없을 때 512 (2500mV)가 될 것입니다. 이 값은 전류가 음의 방향으로 흐르면 감소하고 전류가 양의 방향으로 흐르면 증가합니다. 아래 표는 와이어를 통해 흐르는 전류에 따라 출력 전압 및 ADC 값이 어떻게 변하는 지 이해하는 데 도움이됩니다.
이 값은 ACS712의 데이터 시트에 제공된 정보를 기반으로 계산되었습니다. 아래 공식을 사용하여 계산할 수도 있습니다.
Vout 전압 (mV) = (ADC 값 / 1023) * 5000 와이어를 통과하는 전류 (A) = (Vout (mv) -2500) / 185
이제 ACS712 센서의 작동 방식과 그로부터 기대할 수있는 사항을 알았습니다. 회로도를 살펴 보겠습니다.
회로도:
이 디지털 전류계 프로젝트 의 전체 회로도 가 아래 이미지에 나와 있습니다.
완전한 디지털 전류계 회로 는 7805 전압 조정기에 의해 조정되는 + 5V에서 작동합니다. 우리는 전류 값을 표시하기 위해 16X2 LCD를 사용했습니다. 전류 센서 (Vout)의 출력 핀은 AN4 인 PIC 의 7 번째 핀에 연결되어 아날로그 전압을 읽습니다.
또한 PIC의 핀 연결은 아래 표에 나와 있습니다.
S.No: |
핀 번호 |
핀 이름 |
연결됨 |
1 |
21 |
RD2 |
LCD의 RS |
2 |
22 |
RD3 |
LCD의 E |
삼 |
27 |
RD4 |
LCD의 D4 |
4 |
28 |
RD5 |
LCD의 D5 |
5 |
29 |
RD6 |
LCD의 D6 |
6 |
30 |
RD7 |
LCD의 D7 |
7 |
7 |
AN4 |
현재 Sesnor의 Vout |
이 디지털 전류계 회로를 브레드 보드에 구축 하거나 성능 보드를 사용할 수 있습니다. PIC 튜토리얼을 따라했다면 PIC 마이크로 컨트롤러 학습에 사용한 하드웨어를 재사용 할 수도 있습니다. 여기 에서는 아래와 같이 PIC 마이크로 컨트롤러로 LED 깜박임을 위해 구축 한 것과 동일한 성능 보드 를 사용했습니다.
참고: 이 보드를 빌드하는 것은 필수가 아닙니다. 회로도를 따라 브레드 보드에 회로를 만들고 덤퍼 키트를 사용하여 프로그램을 PIC 마이크로 컨트롤러에 덤프 할 수 있습니다.
시뮬레이션:
이 전류 측정기 회로 는 실제로 하드웨어를 사용하기 전에 Proteus를 사용하여 시뮬레이션 할 수도 있습니다. 이 튜토리얼의 끝에 주어진 코드의 16 진수 파일을 할당하고 재생 버튼을 클릭합니다. LCD 디스플레이에서 전류를 확인할 수 있어야합니다. 램프를 AC 부하로 사용했습니다. 램프를 클릭하여 램프를 통해 흐르는 전류를 변경함으로써 램프의 내부 저항을 변경할 수 있습니다.
위 그림에서 볼 수 있듯이 전류계는 약 3.52A의 램프를 통해 흐르는 실제 전류를 나타내고 LCD는 약 3.6A의 전류를 보여줍니다. 그러나 실제적인 경우 0.2A까지 오류가 발생할 수 있습니다. ADC 값과 전압 (mV)도 이해를 돕기 위해 LCD에 표시됩니다.
PIC 마이크로 컨트롤러 프로그래밍:
앞에서 말했듯이 전체 코드는이 기사의 끝에서 찾을 수 있습니다. 코드는 주석 라인으로 자체 설명되며 PIC 마이크로 컨트롤러를 사용하여 LCD를 인터페이스하고 PIC 마이크로 컨트롤러를 학습하는 이전 튜토리얼에서 이미 다룬 PIC 마이크로 컨트롤러에서 ADC 모듈을 사용하는 개념을 포함합니다.
센서에서 읽은 값은 전류가 번갈아 가며 노이즈를 받기 때문에 정확하지 않습니다. 따라서 ADC 값을 20 회 읽고 평균을내어 아래 코드와 같이 적절한 전류 값을 얻습니다.
전압과 전류 값을 계산하기 위해 위에서 설명한 것과 동일한 공식을 사용했습니다.
for (int i = 0; i <20; i ++) // 20 번 값 읽기 {adc = 0; adc = ADC_Read (4); // ADC 전압 읽기 = adc * 4.8828; // 전압 계산 if (Voltage> = 2500) // 전류가 양수이면 Amps + = ((Voltage-2500) /18.5); else if (Voltage <= 2500) // 전류가 음수이면 Amps + = ((2500-Voltage) /18.5); } Amps / = 20; // 20 회 읽은 값의 평균
이 프로젝트는 또한 AC 전류를 읽을 수 있기 때문에 전류 흐름도 음과 양이 될 것입니다. 그것은 출력 전압의 값이 2500mV보다 높거나 낮을 것입니다. 따라서 아래와 같이 음의 값을 얻지 않도록 음의 값과 양의 전류의 공식을 변경합니다.
if (Voltage> = 2500) // 전류가 양수이면 Amps + = ((Voltage-2500) /18.5); else if (Voltage <= 2500) // 전류가 음수이면 Amps + = ((2500-Voltage) /18.5);
30A 전류 센서 사용:
5A 이상의 전류를 측정해야하는 경우 ACS712-30A 모듈을 구입 하고 동일한 방식으로 인터페이스하고 아래와 같이 18.5를 0.66으로 대체하여 아래 코드 줄을 변경할 수 있습니다.
if (Voltage> = 2500) // 전류가 양수이면 Amps + = ((Voltage-2500) /0.66); else if (Voltage <= 2500) // 전류가 음수이면 Amps + = ((2500-Voltage) /0.66);
또한 저 전류를 측정하려면 AVR 마이크로 컨트롤러를 사용하여 100mA 전류계를 확인하십시오.
일:
PIC 마이크로 컨트롤러를 프로그래밍하고 하드웨어를 준비했으면. 부하와 PIC 마이크로 컨트롤러의 전원을 켜기 만하면 LCD 화면에 표시된 전선을 통과하는 전류를 볼 수 있습니다.
참고: ASC7125A 모듈을 사용하는 경우 부하가 5A 이상을 소비하지 않는지 확인하고 전류 전달 컨덕터에 더 높은 게이지 와이어를 사용하십시오.
의 전체 작업 PIC 마이크로 컨트롤러를 기반으로 전류계 프로젝트는 에 표시됩니다 비디오 아래. 프로젝트가 제대로 작동하고 즐겼기를 바랍니다. 의심스러운 점이 있으면 아래 댓글 섹션에 작성하거나 포럼에 게시 할 수 있습니다.