[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

번호 제목 글쓴이 날짜 조회수
200 DIY RHA_014 이불에 쌓여온 Marantz오디오 icon 청계천도사 08-20 1,312
199 DIY RHA_013 김창완(산울림)의 녹음기(Revox Mk2) 수리하기 icon 청계천도사 07-30 2,034
198 DIY RHA_012 황동버너 수리하기2(결론: 재 탄생) icon 청계천도사 07-30 2,044
197 DIY RHA_011 황동 버너 수리의 기억 icon 청계천도사 07-30 2,119
196 DIY Arduino uno보드를 만들기 icon 청계천도사 02-16 4,440
195 DIY Digilog Electronics 005 - Digilog Electronics 이야기 icon 청계천도사 02-12 4,257
194 DIY Digilog Electronics 004 - IC/전자 부품 핀 간격 이야기 icon 청계천도사 01-05 4,722
193 DIY Digilog Electronics 003 -Summing Amplifier icon 청계천도사 01-04 4,805
192 DIY Digilog Electronics 002 - 전자회로 기ch , 실험 환경 꾸미기 +1 icon 청계천도사 01-03 5,006
191 DIY Digilog Electronics 001 - 전자회로 기초 (사실은 복습입니다) icon 청계천도사 01-02 4,956
190 DIY MC-001 가을입니다. [알레르기 시작] icon 청계천도사 09-09 5,487
189 DIY RHA_010 밥통아~!! 너도 고장 나나냐?!! icon 청계천도사 08-28 5,412
188 DIY RHA_009 Magnet Contator (마그네트스위치 전자접촉기)교체 icon 청계천도사 08-16 5,891
187 DIY RHA_008 독일제 기계도 고장나면 고물 - 결국 수리함 icon 청계천도사 08-11 6,092
186 DIY RHA_007 [야매] 휴즈 만들어 끼우기 icon 청계천도사 08-11 5,383
185 DIY RHA_006 목공용 수평 멀티 드릴 수리하기 icon 청계천도사 08-06 5,706
184 DIY RHA_005 선풍기 수리 (대형 30인치, 15파이) icon 청계천도사 08-01 6,104
183 DIY RHA_004 대형 CNC 베어링 오일 주입기 수리(미스트 오일 주입기) icon 청계천도사 07-22 5,927
182 DIY RHA_003B 지게차 수리하기 (지게차 배터리선 연결하기) icon 청계천도사 07-22 5,722
181 DIY RHA_003A 지게차 수리하기 icon 청계천도사 07-19 5,794