[DIY] 볼트메터 시계만들기 1-5

Analog Meter구동회로 만들기


아두이노의 아나로그 출력은 0~5V가 나옮니다.  아두이노의 아나로그 출력은 실제로는 500HZ의 PWM 으로 출력이 나오니 이 출력을 메터에 공급하면 됩니다.

아나로그 멀티 메터의 출력을 만들기 제어를 해 보기로 합니다. 


멀티메터 회로를 보기로 합시다.

afa385e6d762673f2ba09b0c7f132ad5.png
 

멀티메터의 메터부분은 homo-polar라는 모터인데 다행이 DC 전류에 비례하는 성능이 우수한 기기입니다.  우리가 사용할 메터는 1mA에 Full Scale되는 메터입니다. 외부에 저항을 붙여 1kOhm의 내부 저항을 가진 메터로 구성하기로 합니다.

      

Ra + Rb + Rm = 1kOhm입니다.

아나로그 출력이 3V가 출력되도록 한다면 R1은 2.0kOhm으로 결정되면 메터가 출력됩니다. 


3V가 출력 될 때 메터의 Full Scale로  가게 만들 예정입니다.  이 회로에 C1을 더하여 500Hz의 PWM을 DC전압을 해당하는 전압을 만들어 줍니다. 이 RC회로를 2.5Hz의 주파수 특성을 갖는 회로로 설계하도록 합니다.  이번에 회로에서 필요로하는 C1을 결정하여 보도록 합시다. 

 [너무 어려운 사람들은 그냥 통과 해도 좋습니다.]


2.5 hz의 low pass filter의 전달함수를 구하는 방법은 다음과 같습니다.


2.5Hz는 각 속도로 2 x π x 2.5 = (약) 15 radian/Sec입니다.

             15

   f(s) -------

            s + 15

이 주파수의 시간축 특성과 주파수특성(Bode Plot이라고 합니다.)을 계산하여 실험하여 봅니다. 


이 회로의 15는 어떻게 사용 될까요?


위의 수식의 주파수 특성과 스텝 파형의 출력 특성은 그림과 같습니다. 

ff782c07afe07a6764804da01601b852.png d6bc73d5d9e6f8a6a2c8458eee12645e.png 

그림에서 보여 주듯 0.2초에 목적값의 95%까지 접근하는 전류값이 됩니다. 0.4초에는 99.6%까지 도달하게 됩니다. 이러한 특성을 가진 Filter를 만들면 되는 것을 알수 있습니다. 


이 회로를 시뮬레이션 하려면 그림의 Rth는 데브닌 등가회로 값이라는 값을 가지게 됩니다. 그 값은 1KΩ//2KΩ =0.67KΩ입니다.  15 = 1/(Rth x C1)으로 Rth에 667Ω을 대입하면 C1은 98uF입니다.  즉 100uF를 사용하면 됩니다.

          e40ab006bd899534ea72b863b3f50db1.png   


       c71afb65bff70d22d2c334e71fd82a17.png   





필요한 회로는 Arduino에서 출력 되는 AnalogWrite()에 대하여 알아 보도록 합시다. 


참고로 Arduno의 Timer 3개의 용도는 다음과같다. 

 Timer0: 8bit timer

 __delay()__, __millis()__ and __micros()__

 Pins 5 and 6

 Timer1: 16bit timer

 __Servo library__

 Pins 9 and 10

 Timer2: 8bit timer

 __tone()__

 Pins 11 and 3


아두이노의 3핀을 이용하므로 정확한 시간을 위하여 회로에는 RTC Chip인 DS1307을 사용하여 시간을 외부에서 정확하게 유지하기로 합니다.  시간을 유지하는 별도의 Battery를 가져 전원이 연겨리 안된 상태에서도 정확한 시간을 유지하므로 Timer나 analogWrite를 자유롭게 이용할 수 있습니다.

  

실제로 회로는 기존의 메터를 개조하는 순서부터 진행하도록 합니다. 


메터를 뜯어 보면 내부에 AC전압을 DC전압으로 변환하는 화로가 있습니다.  이 회로를 피하고 동작하는 회로를 개조하여 보도록 하겠습니다. 


아나로그 메터 무브먼트는 그림과 같은 형태입니다.  메터 안에 어댑터 회로가 있어 900V전압을 측정하게 하여 줍니다, 무브먼트가 1.0mA가 full Sacle이므로 1V에 1mA에 맞게 회로를 변경하면 됩니다. 


8ecf38af5e24fe33c40fe4f065785f5b.png 62ccf9cd4b9b07c7d85fab9b85279be9.png 
 

아두이노 회로는 다음과 같습니다. 


e1782c1c3dd92e4d6bc4717d7579b3ad.png
 

기능을 정리하면 

1.  Analog Meter로 가는 analog 출력은 digital 핀으로 P9, P10, P11번 핀으로 출력 2. 필요한 경우 LED Display는 TM1637을 통하여 시간을 디스플레이 시킬 수 있다. 

3. 별도의 Battery로 시간이 백업되는 RTC가 연결되어 시스템에 전원이 연결 안되어도 시간을 다시 설정할 필요가 없다.


로 정리됩니다. 

그리고 시간 설정은 스위치 S1~S4로 설정되는데 이 부분은 추후 설정하기로 합니다. 


아나로그 출력을 이해 하기로 합니다. 


아나로그 출력은 회로를 만능 보드에 설치하고 오실로스코프로 파형을 보고, 또 전원메터를 연결하여 동작을 살펴 보는 것으로 하겠습니다. 


우선 동작을 실험할 회로부터 간단하게 꾸미고, 소프트웨어를 작성하도록 합시다. 

회로는 그림과 같이 간단하게 만듭니다.  위에 표시된 회로 전체는 추후 만들고 지금은 한가지만 집중하여 실험할 것이므로 간단하게 실험 회로를 꾸밉니다. 

f4a595432849aca583bfeb632c555a6b.png
 


그리고 회로실험에 사용될 오실로스코프와 아두이노 나노 보드가 있으면 전체 준비 끝입니다.

6fab9a309cb5185e317fcabd3268ace0.png
 

그리고 프로그램을 작성합니다.


프로그램 내용 

a. analog Port로 1초동안 5V 출력하고 , 1초동안 0V 출력하는 프로그램 

b. analog Port로 1초동안 2.5V 출력하고, 1초동안 0V 출력하는 프로그램 

c. 0V 부터 5까지 0~59등분하여 출력하는 프로그램, 각 Step은 1초임. (초시계 구동과 유사)

  // program 1

  // analog Port로 1초동안 5V 출력하고 , 

  // 1초동안 0V 출력하는 프로그램 

  #define OutSecond 9


  void setup() {

    pinMode(OutSecond, OUTPUT);

  }


  void loop() {

    analogWrite(OutSecond, 255);

    delay(1000);

    analogWrite(OutSecond, 0);

    delay(1000);

  }


  // program 2

  // analog Port로 1초동안 2.5V 출력하고 , 

  // 1초동안 0V 출력하는 프로그램 

  #define OutSecond 9


  void setup() {

    pinMode(OutSecond, OUTPUT);

  }


  void loop() {

    analogWrite(OutSecond, 127);

    delay(1000);

    analogWrite(OutSecond, 0);

    delay(1000);

  }


  // program 3

  // analog Port로 매초 일정 전압증가 

  // 60초동안 출력하는 프로그램 

  #define OutSecond 9


  void setup() {

    pinMode(OutSecond, OUTPUT);

  }


  void loop() {

    for (byte X = 0; X < 60; X++){ 

      analogWrite(OutSecond, X*4);

      delay(1000);

    }

  }


실험 결과입니다.  


프로그램 1을 실행하여 봅니다. 


test Point의 전압을 보면 부드럽게 둥글둥글 하게 신호가 변하는 것을 볼 수있습니다. 

8de35b1d0f1a681b30cc58e797e991c0.png


전압은 1.1Volt로 다소 높게 올라가는 것을 알 수 있습니다.  


다음은 프로그램 2를 구동하여 봅니다. 


331481e7c79ff41a67b0e66df27e9447.png 


파형은 전과 아주 유사한데 파형만 50%로 변하는것을 알 수 있습니다. 거의 1초마다 신호가 변합니다.  


이때 analog 출력단자의 전압을 살펴보기로 합니다. 아나로그 출력은 사실은 해당하는 PWM으로 출력이 되어 아나로그가 아닌 것을 검증하는 단계인셈이죠. ㅎㅎㅎ

f5f8968c10a521b04c7dbecf1771afa2.png
 

  출력은 2.5volt는 사실은 50%의 5V와 0V 의 PWM입니다.


여기서 다시 보면 5V도 사실은 정확한 5V가 아니고, 4.7V정도 전압입니다. 


여러 가지 생각할게 많은 사항을 한꺼번에 가져 온 것 같습니다. 


일단 회로를 연결하고 메터의 음직을 살펴 보기로합시다. 

  

955ffd464cae2e209e79475cb75fa21c.png9155c858dd92977bb497731131c752ce.png

  6 STEP입니다.                                        60 sTEP 구동 
 

[잘 됩니다]

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 DIY

번호 제목 글쓴이 날짜 조회수
35 DIY 청계천 근드운 2020 만들기 자료 입니다. [1] +1 icon 청계천도사 11-02 11,677
34 DIY Q2.0 핸드폰 멀티 충전기 [2/5] icon 청계천도사 05-23 12,622
33 DIY Q2.0 핸드폰 멀티 충전기 [1/5] icon 청계천도사 05-20 12,676
32 DIY 볼트메터 1-7 +1 icon 청계천도사 05-03 12,471
31 DIY 핸드폰 충전기를 시험하는 측정기 개발중 [2/5] icon 청계천도사 05-02 12,494
30 DIY 핸드폰 충전기를 시험하는 측정기 개발중 [1/5] icon 청계천도사 04-18 12,824
29 DIY 볼트메터 시계만들기 1-6 icon 청계천도사 04-05 12,862
28 DIY 반려 카세트 진행 icon 청계천도사 03-24 12,947
27 DIY Hell Maker Sand Clock KIT (ver 1.0) icon 양재동메이커 02-27 12,897
26 DIY 반려 카세트 진행문제 - 여러분 의견을 묻습니다. +3 icon 청계천도사 02-17 13,341
25 DIY 볼트메터 시계만들기 1-5 icon 청계천도사 01-21 13,186
24 DIY Arduino Nano보드를 만들기 개요 [기초편] +1 icon 청계천도사 01-19 18,580
23 DIY 전동 오르골 시계 만들기 2-1 +1 icon 청계천도사 01-06 13,626
22 DIY 불꽃감지 보드만들기 하였습니다. - 시계만들기 다시 시작해야지용.. +2 icon 청계천도사 12-29 11,798
21 DIY 크리스마스 폼폼이 LED 종이리스 만들기 입니다. 달빛메이커 12-20 13,032
20 DIY 볼트메터 시계 만들기 1-4 +2 icon 청계천도사 12-13 11,587
19 DIY 볼트메터 시계 만들기 1-3 icon 청계천도사 12-13 11,693
18 DIY 볼트메터 시계 만들기 1-2 icon 청계천도사 12-12 13,096
17 DIY 볼트메터 시계 만들기 1-1 +1 icon 청계천도사 12-10 11,486
16 DIY 시계만들기 Prolog, 0-1 영번째 아이템 / 첫번째 기록 icon 청계천도사 12-10 11,917