Arduino를 사용하여 디지털 DC 전압계를 만드는 방법?

전압계는 전기 회로의 특정 지점에서 전압을 측정하는 데 사용되는 전압 측정 장치입니다. 전압은 전기 회로의 두 지점간에 생성되는 전위차입니다. 전압계에는 두 가지 유형이 있습니다. 일부 전압계는 DC 회로의 전압을 측정하도록 설계되었으며 다른 전압계는 AC 회로의 전압을 측정하기위한 것입니다. 이 전압계는 추가로 두 가지 범주로 분류됩니다. 하나는 디지털 화면에 측정 값을 표시하는 디지털 전압계이고 다른 하나는 정확한 판독 값을 표시하기 위해 눈금을 가리 키기 위해 바늘을 사용하는 아날로그 전압계입니다.



디지털 전압계

이 프로젝트에서는 Arduino Uno를 사용하여 전압계를 만들 것입니다. 이 기사에서는 디지털 전압계의 두 가지 구성에 대해 설명합니다. 첫 번째 구성에서 마이크로 컨트롤러는 0 – 5V 범위의 전압을 측정 할 수 있습니다. 두 번째 구성에서 마이크로 컨트롤러는 0 – 50V 범위의 전압을 측정 할 수 있습니다.



디지털 전압계를 만드는 방법?

우리가 알고 있듯이 전압계에는 아날로그 전압계와 디지털 전압계의 두 가지 유형이 있습니다. 장치의 구성을 기반으로하는 몇 가지 추가 유형의 아날로그 전압계가 있습니다. 이러한 유형 중 일부는 영구 자석 이동 코일 전압계, 정류기 유형 전압계, 이동 철 유형 전압계 등이 있습니다. 디지털 전압계를 시장에 도입 한 주된 목적은 아날로그 전압계의 오류 가능성이 더 높기 때문입니다. 바늘과 눈금을 사용하는 아날로그 전압계와 달리 디지털 전압계는 판독 값을 화면에 숫자로 직접 표시합니다. 이것은 가능성을 제거합니다 제로 오류 . 아날로그 전압계에서 디지털 전압계로 전환하면 오류 비율이 5 %에서 1 %로 감소합니다.



이제이 프로젝트의 개요를 알았으므로 더 많은 정보를 수집하고 Arduino Uno를 사용하여 디지털 전압계를 만들기 시작하겠습니다.



1 단계 : 구성 요소 수집

프로젝트를 시작하는 가장 좋은 방법은 구성 요소 목록을 만들고 이러한 구성 요소에 대한 간략한 연구를 진행하는 것입니다. 그 이유는 구성 요소가 빠졌다는 이유만으로 프로젝트 중간에 머무르고 싶어하는 사람이 없기 때문입니다. 이 프로젝트에서 사용할 구성 요소 목록은 다음과 같습니다.

  • Arduino 우노
  • 10k-ohm 전위차계
  • 점퍼 와이어
  • 100k-ohm 저항기
  • 10k-ohm 저항기
  • 12V AC-DC 어댑터 (Arduino가 컴퓨터로 전원이 공급되지 않는 경우)

2 단계 : 구성 요소 연구

Arduino UNO 아두 이노 .cc에서 개발 한 마이크로 칩 ATMega 328P로 구성된 마이크로 컨트롤러 보드입니다. 이 보드에는 다른 확장 보드 또는 회로와 인터페이스 할 수있는 디지털 및 아날로그 데이터 핀 세트가 있습니다. 이 보드에는 14 개의 디지털 핀, 6 개의 아날로그 핀이 있으며 유형 B USB 케이블을 통해 Arduino IDE (통합 개발 환경)로 프로그래밍 할 수 있습니다. 전원을 공급하려면 5V가 필요합니다. 의 위에 그리고 C 코드 작동합니다.

Arduino 우노



LCD는 사용자에게 텍스트 나 숫자 또는 그림을 표시해야하는 모든 전자 장치에서 볼 수 있습니다. LCD는 액정을 사용하여 가시적 인 이미지 나 텍스트를 생성하는 디스플레이 모듈입니다. ㅏ 16 × 2 LCD 디스플레이 한 줄에 16 개의 문자를 표시하고 한 번에 화면에 총 두 줄을 표시하는 매우 간단한 전자 모듈입니다. 이러한 LCD에 문자를 표시하는 데 5x7 픽셀 매트릭스가 사용됩니다.

16 × 2 LCD 디스플레이

브레드 보드 솔더리스 장치입니다. 임시 프로토 타입 전자 회로 및 설계를 만들고 테스트하는 데 사용됩니다. 대부분의 전자 부품은 브레드 보드에 핀을 삽입하기 만하면 브레드 보드에 연결됩니다. 브레드 보드의 구멍에 금속 조각이 놓여 있고 구멍은 특정 방식으로 연결됩니다. 구멍의 연결은 아래 다이어그램에 나와 있습니다.

브레드 보드

3 단계 : 회로도

측정 범위가 0 ~ 5V 인 첫 번째 회로는 다음과 같습니다.

0-5V 용 전압계

측정 범위가 0 ~ 50V 인 두 번째 회로는 다음과 같습니다.

전압계 0-50V

4 단계 : 작동 원리

Arduino 기반 디지털 DC 전압계 프로젝트의 작업이 여기에 설명되어 있습니다. 디지털 전압계에서 아날로그 형식으로 측정 된 전압은 아날로그-디지털 변환기를 사용하여 해당 디지털 값으로 변환됩니다.

측정 범위가 0 ~ 5V 인 첫 번째 회로에서 입력은 Analog pin0에서 이루어집니다. 아날로그 핀은 0에서 1024 사이의 값을 읽습니다. 그러면이 아날로그 값은 총 전압 (5V)을 곱하고 총 해상도 (1024)로 나누어 디지털로 변환됩니다.

두 번째 회로에서는 범위가 5V에서 50V로 증가되므로 전압 분배기 구성을 만들어야합니다. 전압 분배기 회로는 10k-ohm 및 100k-ohm 저항을 사용하여 만들어집니다. 이 전압 분배기 구성은 입력 전압을 Arduino Uno의 아날로그 입력 범위로 가져 오는 데 도움이됩니다.

모든 수학적 계산은 Arduino Uno의 프로그래밍에서 수행됩니다.

5 단계 : 구성 요소 조립

LCD 모듈과 Arduino Uno 보드의 연결은 두 회로에서 동일합니다. 유일한 차이점은 첫 번째 회로에서 입력 범위가 낮기 때문에 Arduino의 아날로그 핀으로 직접 전송된다는 것입니다. 두 번째 회로에서 전압 분배기 구성은 마이크로 컨트롤러 보드의 입력 측에 사용됩니다.

  1. LCD 모듈의 Vss 및 Vdd 핀을 Arduino 보드의 접지 및 5V에 각각 연결합니다. Vee 핀은 디스플레이의 제약 조건을 조정하는 데 사용되는 핀입니다. 한 핀이 5V에 연결되고 다른 핀이 접지에 연결된 전위차계에 연결됩니다.
  2. LCD 모듈의 RS와 E 핀을 Arduino 보드의 pin2와 pin3에 각각 연결합니다. LCD의 RW 핀은 접지에 연결됩니다.
  3. 4 비트 데이터 모드에서 LCD 모듈을 사용할 것이므로 4 개의 핀 D4 ~ D7이 사용됩니다. LCD 모듈의 D4-D7 핀은 마이크로 컨트롤러 보드의 pin4-pin7에 연결됩니다.
  4. 첫 번째 회로에서는 측정 할 최대 전압이 5V이기 때문에 입력 측에 추가 회로가 없습니다. 두 번째 회로에서는 측정 범위가 0-50V이므로 10k-ohm 및 100k-ohm 저항을 사용하여 전압 분배기 구성이 이루어집니다. 모든 근거가 공통적이라는 점에 유의해야합니다.

6 단계 : Arduino 시작하기

이전에 아두 이노 IDE에 익숙하지 않더라도 걱정하지 마세요. 아두 이노 IDE를 사용하여 마이크로 컨트롤러 보드에서 코드를 굽는 명확한 단계를 볼 수 있습니다. 최신 버전의 Arduino IDE를 다운로드 할 수 있습니다. 여기 아래에 언급 된 단계를 따르십시오.

  1. Arduino 보드가 PC에 연결되면 '제어판'을 열고 '하드웨어 및 소리'를 클릭합니다. 그런 다음 '장치 및 프린터'를 클릭합니다. Arduino 보드가 연결된 포트의 이름을 찾으십시오. 제 경우에는“COM14”이지만 PC에서는 다를 수 있습니다.

    포트 찾기

  2. LCD 모듈을 사용하려면 라이브러리를 포함해야합니다. 라이브러리는 코드와 함께 다운로드 링크에 첨부되어 있습니다. 이동 스케치> 라이브러리 포함> .ZIP 라이브러리 추가.

    라이브러리 포함

  3. 이제 Arduino IDE를 엽니 다. 도구에서 Arduino 보드를 Arduino / Genuino UNO.

    설정 보드

  4. 동일한 도구 메뉴에서 제어판에서 본 포트 번호를 설정하십시오.

    포트 설정

  5. 아래 첨부 된 코드를 다운로드하여 IDE에 복사하십시오. 코드를 업로드하려면 업로드 버튼을 클릭하십시오.

    업로드

다음 방법으로 코드를 다운로드 할 수 있습니다. 여기를 클릭하십시오.

7 단계 : 코드

코드는 매우 간단하고 잘 설명되어 있습니다. 그러나 여전히 일부는 아래에 설명되어 있습니다.

1. 처음에는 LCD 모듈을 Arduino Uno 보드와 인터페이스하고 그에 따라 프로그래밍 할 수 있도록 라이브러리를 사용합니다. Arduino 보드의 핀이 초기화되어 LCD 모듈과 연결하는 데 사용됩니다. 그런 다음 나중에 계산에 사용되는 런타임에 값을 저장하기 위해 다른 변수가 초기화됩니다.

#include 'LiquidCrystal.h'// Arduino 보드와 LCD 모듈을 인터페이스하는 라이브러리 포함 LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // 사용할 LCD 모듈의 핀 float voltage = 0.0; 부동 온도 = 0.0; // 입력 값의 디지털 값을 저장할 변수 int analog_value; // 입력에 아날로그 값을 저장하는 변수

2. 무효 설정 () 장치가 시작되거나 활성화 버튼을 눌렀을 때 한 번만 실행되는 기능입니다. 여기에서 시작하기 위해 LCD를 초기화했습니다. LCD가 시작되면 'Arduino Based Digital Voltmeter'라는 텍스트가 표시됩니다. Baud Rate도이 기능에서 설정됩니다. Baud Rate는 Arduino가 외부 장치와 통신하는 속도 (초당 비트 수)입니다.

void setup () {lcd.begin (16, 2); // LCD와 통신 시작 lcd.setCursor (0,0); // 처음부터 커서 시작 lcd.print ( 'Arduino based'); // 첫 줄에 텍스트를 인쇄합니다. lcd.setCursor (0,1); // 커서를 다음 줄로 이동 lcd.print ( 'Digital Voltmeter'); // 두 번째 줄에 텍스트 인쇄 delay (2000); // 2 초 동안 기다립니다}

삼. 무효 루프 () 루프에서 지속적으로 실행되는 함수입니다. 여기서 아날로그 값은 입력 측에서 읽혀집니다. 그런 다음이 아날로그 값은 디지털 형식으로 변환됩니다. 조건이 적용되고 최종 측정이 LCD 화면에 표시됩니다.

void loop () {analog_value = analogRead (A0); // 아날로그 값 읽기 temp = (analog_value * 5.0) / 1024.0; // 디지털 전압에서 아날로그 값 반전 = temp / (0.0909); if (전압< 0.1) { voltage=0.0; } lcd.clear(); // Clear any text on the LCD lcd.setCursor(0, 0); // Mve the cursor to the initial position lcd.print('Voltage= '); // Print Voltgae= lcd.print(voltage); // Print the final digital value of voltage lcd.setCursor(13,1); // move the cursor lcd.print('V'); // print the unit of voltage delay(30); // wait for 0.3 seconds }

응용

디지털 전압계의 일부 응용 분야는 다음과 같습니다.

  1. 위에서 만든 회로는 모든 전기 회로에서 고정밀로 다양한 범위의 전압을 측정하는 데 사용할 수 있습니다.
  2. 회로를 약간 변경하면 마이크로 컨트롤러가 AC 회로의 전압도 측정 할 수 있습니다.