'오실로스코프'에 해당되는 글 3건

  1. 2017.12.28 Hardware | HY-SRF05 초음파 거리 측정기를 사용해 보자
  2. 2017.12.01 Hardware | 74HC595 shift register 를 사용해 보자
  3. 2017.03.07 Hardware | DSO150 Oscilloscope

Hardware | HY-SRF05 초음파 거리 측정기를 사용해 보자

|

1. 거리 측정기


거리를 측정하는 방법에는 여러가지가 있습니다.

일전에 laser 모듈을 이용하여 측정하는 방법을 구현해 봤습니다.


* Hardware | VL53L0X 레이저 거리 측정 센서 사용해 보기

http://chocoball.tistory.com/entry/Hardware-VL53L0X-laser-ranging-sensor


다만, 두개의 눈같이 생긴 센서가 자꾸 눈에 들어 옵니다.

로보트를 만든 사람들은 누구나 사용하는 센서인 듯 보이고, Arduino Starter Kit 에도 꼭 포함되어 있는 센서 입니다.


사용해 보지 않을 이유가 없습니다.

궂이 필요성은 없지만 서도...


AliExpress 에서 검색하니 그냥 나옵니다. 흠흠.


* 5Pin HY-SRF05 SRF05 Ultrasonic Distance Sensor Module For Arduino Replace SR04 Electronic Brick Compatible Interface DC 5V


https://ko.aliexpress.com/item/MAX6675-Module-K-Type-Thermocouple-Thermocouple-Sensor-for-Arduino-AL/32247186623.html



지금까지 구입하지 않고 오래 지났으니, 이제 구입할 시기라고 정당화 하면서 바로 구입합니다.




2. 도착


그리 오래 걸리지 않고 도착했습니다.

한 2주 정도?



뽁뽁이로 잘 쌓여 있고요.



아니 이게... WTF.

왜 너는 pin 들이 죄다 구부러져 있니?

너무 이쁘게 구부러져 있어서 원래 그런거라고 자답 위안을 삼아 봅니다.




3. 외형


앞모습 입니다. 두개의 눈처럼 생겼습니다.



뒷모습.



HC-SR04 버전과 비교해 보면, 조금 더 component 들이 더 많이 있음을 알 수 있습니다.




또한, SRF04 의 업그레이드 버전인 SRF08 도 있습니다.


SRF04 > SRF05 (좀더 정확해짐) > SRF08 (거리가 늘어나고 낮은 ampere)


http://www.f15ijp.com/2012/09/arduino-ultrasonic-sensor-hc-sr04-or-hy-srf05/

http://www.junun.org/MarkIII/Info.jsp?item=32


SRF08 은 photoresistor 까지 달려 있네요.




사실은 Ultrasonic 거리 측정기는 제품 넘버링 만큼 많이 있습니다.

https://www.robot-r-us.com/vmchk/sensor-ultrasonic.html






4. Layout


Pin 연결들은 다음과 같습니다.


  HY-SRF05  | Arduino Nano
---------------------------
    Vcc     |     5V
    Trig    |     D13
    Echo    |     D12
    OUT     |     
    GND     |     GND
---------------------------


  SSD1306   | Arduino Nano
---------------------------
    GND     |     GND
    VDD     |     3.3V
    SCK     |     A5
    SDA     |     A4
---------------------------


회로도는 다음과 같습니다.



짜잔~ 전체 사진입니다.






5. Sketch


소스는 아래 link 를 참조하였습니다.


* Distance Measurement with an Ultrasonic Sensor HY-SRF05

- https://create.arduino.cc/projecthub/Nicholas_N/distance-measurement-with-an-ultrasonic-sensor-hy-srf05-64554e


#include "Adafruit_SSD1306.h"
Adafruit_SSD1306 display = Adafruit_SSD1306();

const unsigned int TRIG_PIN=13;
const unsigned int ECHO_PIN=12;
const unsigned int BAUD_RATE=9600;

void setup() {
	pinMode(TRIG_PIN, OUTPUT);
	pinMode(ECHO_PIN, INPUT);
	Serial.begin(BAUD_RATE);
	
	display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3C (for the 128x32)
	// init done
	display.display();
	display.setTextSize(2);
	display.setTextColor(WHITE);
}

void loop() {
	digitalWrite(TRIG_PIN, LOW);
	delayMicroseconds(2);
	digitalWrite(TRIG_PIN, HIGH);
	delayMicroseconds(10);
	digitalWrite(TRIG_PIN, LOW);
	
	const unsigned long duration= pulseIn(ECHO_PIN, HIGH);
	int distance= duration/29/2;
	
	if(duration==0) {
		Serial.println("Warning: no pulse from sensor");
	} else {
		display.clearDisplay();
		display.setCursor(0,0);
		display.print(distance);
		display.print(" Cm");
		
		display.display();
	}
	
	delay(500);
}


수정한 부분은 output 을 Serical Monitor 가 아닌, OLED 로 표시하는 부분 뿐입니다.




6. 측정


구성을 하고 몇가지 측정해 봤습니다.



오차가 좀 있지만, 조정만 하면 정확한 계측용으로 사용이 가능할 것 같습니다.

20Cm 정도 떨어트린 곳에서 측정해보면 20Cm 정도 나오는 장면입니다.


동영상으로도 찍어 봤습니다.

40Cm > 30Cm > 20Cm > 10Cm > 0 순으로 해봤습니다.



센서 바로 앞은 논리적으로 0Cm 이지만 이상한 값을 뿌려줍니다.

이는 Ultrasonic 을 보내고 받을 수 있는 공간이 나오지 않아서 그런것 같아요.




7. 추가


뜬금없이 사용 전류량을 알고 싶어졌습니다.

전류 측정은 직렬로 연결해야 알 수 있으므로, sensor 의 ground 부분을 멀티미터 +/- 를 통하게 만들어서 측정해 봤습니다.



대략 5.36 mA 가 나오네요.

스펙상으로는 2mA 이하라고 나오는데, 어느쪽이 잘못된건지 모르겠습니다.


측정할 수 있는 최대 거리를 보고자 10m 정도 앞을 비추었더니, 아래와 같이 38m 값이 나옵니다.

유효한 거리는 대략 4m 정도로 보입니다. (스펙에도 4.5 m 로 표기되어 있슴)



오실로스코프를 이용하여 Ultrasonic sound 와 반사파를 측정하는 동영상이 있습니다.


* #40 Ultrasonic Distance Sensors Arduino Tutorial and Comparison for HC-SR04, HY-SRF05, US-015

https://www.youtube.com/watch?v=aLkkAsrSibo



거리에 따라 Response 값이 변하는 것을 알 수 있습니다.



그치만, 저의 DIY 오실로스코프는 측정하지 못합니다.

DC 에 200 us 이 필요한데, 제가 만든 DIY 오실로스코프는 10us 가 최대치 입니다.


* Hardware | DSO150 Oscilloscope

http://chocoball.tistory.com/entry/HardwareDSO150Oscilloscope


처음으로 좀더 좋은 Oscilloscope 를 갖고싶다는 생각을 했습니다.




FIN


로보트 등에 많이 사용되는 센서인데, 구동이나 사용법은 간단한것 같습니다.

Ultrasonic 이라서, 귀에 들리지 않는다는 것이 좀 아쉽고 궁금하군요.

(아니 당연한 것을...)


And

Hardware | 74HC595 shift register 를 사용해 보자

|

1. Shift Register


LED bar graph 를 컨트롤 하려면 shift register 가 필요 합니다.


Arduino 의 digital pin 에 직접 연결하면 LED bar graph 를 컨트롤 할 수 있습니다만,

D2 ~ D13 에서, 총 12개의 LED 만 동시에 컨트롤을 할 수가 있습니다.


LED bar graph 에 대해서는 다음 글을 참고해 주세요.


* Hardware | LED bar graph 를 이용해 보자

http://chocoball.tistory.com/entry/Hardware-LED-bar-graph


이제 Shift Register 를 구입해 보고자 합니다.




2. 구입


AliExpress 에서 검색해 봅니다.

10개에 1천원도 하지 않는 가격!!! 거기에 무료 배송이라니.

오히려 제가 업자 걱정을 하게 되는 가격입니다.


https://ko.aliexpress.com/item/10pcs-free-shipping-SN74HC595N-SN74HC595-74HC595N-74HC595-DIP-16-Counter-Shift-Registers-Tri-State-8-Bit/32429190104.html





3. 도착


포장은 DIP 다리가 잘 보호되도록 플라스틱 릴에 넣어서 왔습니다.



제가 개인적으로 좋아하는 Texas Instruments 사에서 제조된 chip 입니다.



대학교 실험과목에서 많이 썼었는데...

그땐 공부가 너무 싫어 놀기에만 정신이 팔려 자세히 알지도 못했습니다.


이제는 공부의 개념이 아니라 취미의 개념으로 접근하니 즐겁기만 합니다.




4. Specification


스펙은 제조사에서 공유하고 있습니다.


sn74hc595.pdf


아마 이 문서만 빠삭하게 알고 있으면 활용도 100% 일 듯 합니다.

온갓 온도 / 전압 특성과 패키징에 대해서 자세히 나와 있습니다.


Chip 개발에 있어, 간단한 것이라도 이렇게 많은 내용을 포함해야 한다니 대단한 작업인것 같습니다.



회로 구성에 있어서 보통 5V 로 구동한다고 하지만,

Texas Instruments 에서 생산한 SN74HC959 는 3.3V 에서도 잘 동작하도록 제조된것 같습니다.

사양서에도 2V ~ 6V 사이에 구동된다고 합니다.



Clock 에 따라서 각각의 pin state 를 컨트롤 하고 있다는 것을 알 수 있습니다.




Function table 을 가지고 chip 의 기능을 모두 설명해 놨습니다.
위의 두개의 표만으로 이 chip 의 구동에 대해서 설명이 됩니다.




5. Layout


Shift Register 를 이용하여 arduino 와 연결하면 다음과 같은 구성이 됩니다.


  LED       | Shift Register | Arduino
  Bargraph  |   SN74HC595N   |  Nano
---------------------------------------
  anode 1   | Q1 (pin 1)     |
  anode 2   | Q2 (pin 2)     |
  anode 3   | Q3 (pin 3)     |
  anode 4   | Q4 (pin 4)     |
  anode 5   | Q5 (pin 5)     |
  anode 6   | Q6 (pin 6)     |
  anode 7   | Q7 (pin 7)     |
            | GND (pin 8)    |  GND
            | Vcc (pin 16)   |  3.3V
  anode 0   | Q0 (pin 15)    |
            | DS (pin 14)    |  D11     --> dataPin
            | OE (pin 13)    |  GND
            | ST_CP (pin 12) |  D8      --> latchPin
            | SH_CP (pin 11) |  D12     --> clockPin
            | MR (pin 10)    |  3.3V
----------------------------------------


회로도는 다음과 같습니다.



회로도에서도 알 수 있듯이, arduino 와의 연결선은 단 3개로 단축됩니다.



모든 연결은 shift register 가 담당하니, 선의 복잡도는 그대로일 수 밖에 없습니다.

다만, 복잡한 연결은 shitf register 가 담당하고 arduino 는 추가 기기들을 연결하는 controller 역할을 더 수행할 수 있게 됩니다.





6. Source


구동 source code 입니다.


int latchPin = 12;
int clockPin = 11;
int dataPin = 13;
byte leds = 0;
int currentLED = 0;

void setup() {
	pinMode(latchPin, OUTPUT);
	pinMode(dataPin, OUTPUT);
	pinMode(clockPin, OUTPUT);
	
	leds = 0;
}

void loop() {
	leds = 0;
	
	if (currentLED == 7) {
		currentLED = 0;
	} else 	{
		currentLED++;
	}
	
	bitSet(leds, currentLED);
	
	digitalWrite(latchPin, LOW);
	shiftOut(dataPin, clockPin, LSBFIRST, leds);
	digitalWrite(latchPin, HIGH);
	
	delay(250);
}




7. 확인


실제 연결 사진입니다.



스파게티~~~.





8. 번외


Shift register 는 clock 과 전압 high/low 를 통하여 컨트롤 하게 됩니다.


예전에 AliExpress 에서 부품을 조립하여 사용하는 Oscilloscope 인 DSO 150 를 만들어 놨으니,

파형을 확인해 보고 싶어졌습니다.


* Hardware | DSO150 Oscilloscope

http://chocoball.tistory.com/entry/HardwareDSO150Oscilloscope


Arduino 의 D12 에서 clock 을 발생하므로 확인해 봅니다.



흠흠, 정말 사각형 클럭이 보이네요.


D11 인 data 통신을 확인해 봅니다.



필요한 값을 shift register 에게 보내고 있다는 것을 알 수 있습니다.


LED 측의 값을 확인해 봅니다.



LED 점등은 shift register 를 통하여 High/Low 로 확인이 됩니다.




FIN


Shift register 는 정말 clock 으로 동작하는 것을 확인할 수 있었습니다.

이제 LED bar graph 두개 이상을 한번 연결해 보고싶네요.

And

Hardware | DSO150 Oscilloscope

|

1. 시작하기

예전부터 Oscilloscope 가 있으면 좋겠다는 생각을 하고 있었습니다.

특히 통신이라던지 회로에서 주파수 특성을 보고싶었습니다.

왜나구요? 뭔가 있어 보이잖아요.


아, 그리고 저는 graph fetish 입니다. 그래프로 된 것은 뭐든지 좋아하고,

일 할때도 가능한 graph 로 작성하려 합니다.


그래서 구글링 검색을 시작합니다.


그런데~ 오! "DSO138 DIY Kit" 이라는 것을 발견합니닷!



저 깔끔한 투명 아크릴! 회로가 다 보이는 기판! 거기에 손수 부품을 납땜해야 하는 DIY!

그러나 그 무엇보다도 가격이 "쌉"니다.



2. 구입하기

Aliexpress 를 검색할 때, oscilloscope 를 검색하면, 맨 먼저 DSO138 가 뜹니다.

더 확인해 보면 출시된지 꽤 된 제품입니다.

국내에서도 많은 분들이 리뷰를 해 주셨네요.


뭔가 새로운 스멜이 납니다.


올해는 2017년! 더 새로운게 없나 찾아보다가 BINGO !!! DSO150 의 존재를 알게 됩니다!




바로 구입합니다. (22.80 USD ! )



3. 개봉

생각외로 크기가 작습니다. 손바닥 안에 들어와요.

구성품은 케이스, 기판, 전자부품, 프로브 정도 입니다.



납땜에는 꽝손인 저에게 다행이도 SMD 나 CHIP 은 이미 실장이 되어 있습니다.



기판에 시리얼 넘버 스티커가 부착되어 있습니다.

저게 없으면 비품이라고 하네요.



그렇다라고 한다면, 스위치, 저항, 콘덴서, 트렌지스터 정도의 납땜이네요.

부품 갯수는 그리 많지 않습니다.




4. 테스트

아무 생각없이 만드느라 중간 과정 사진이 없습니다.

기계적으로 납땜하면 됩니다.

민감한 부품들이므로, 꽝손인 저는 최대한 열을 받지 않도록 주의하면서 납땜 합니다.


전원 인가하고 스위치를 넣어 봅니다.

오오오오오오!!!! 나옵니다. 뚝딱 만들고 이렇게 표시만이라도 되니 일단 신기합니다.

(작업 시작 후 6시간 경과...)


케이스를 완전히 닫기 전에 calibration 하라고 설명서에 나와 있습니다.

그렇게 많이 틀어진 것 같지는 않습니다.



뚜껑을 닫고 마무리 합니다.



5. 전원

예전 대학 실험 때, 항상 주의해야 하는 것은 "전원" 이었습니다.

이거 잘못하면 부품 태우는 원인이기도 하죠.


사용 설명서와 메뉴얼의 주의사항이 계속 눈에 걸립니다.




혹시나 해서, 사용하던 9V 어뎁터를 테스터기로 찍어 봅니다.



What the fu...!!! 약 13V !!!!!!!!!!!!!!!!!!!


6시간과 돈이 날라갈 뻔 했습니다.

오래 사용하지 않아서 정말 다행입니다.



궁금했습니다. 전류는 얼마일까....



넘쳐납니다.


급히 다른 녀석을 찾아 나섭니다.

전자기기가 많다 보니 온갖 어뎁터가 나옵니다.


발견!!! 9V DC 어뎁터 하나 더 있었습니다.



고객 만족 제품이라고 합니다.

찍어보니 만족입니다.

9.41 V 면 착한겁니다. 10V 가 넘지 않고 실제로 체결해 보면 좀더 낮아질 꺼니 문제 없습니다.



암페어도 측정해 봅니다. 적절하네요.



이걸로 이젠 문제 없습니다.



6. function generator

왠 뜬금없이 function generator 냐...

바로 "파형을 만들기 위해서죠.


Oscilloscope 가 있으니, 여러가지 파형들이 잘 나오는지 테스트 해 보고 싶었습니다.


처음에 물망에 오른 기기는, 역시 Aliexpress 발 function generator 였습니다.



테스트를 위해 다시 구매하고, 배송 기다리고, 만드는 프로세스라니...

다른 방법이 없나 찾아봅니다.


그러던 중, 아래 blog 에서 스마트폰 어플을 사용할 수 있다는 것을 알게 됩니다. (이자리를 빌어 감사의 말씀을 올립니다)

 - http://blog.naver.com/twophase/220779670370


iOS 용으로 찾아보니 "Audio Signal Generator including Sweeps & Noise" 어플이 좋아 보입니다.



깔아서 실행.



iPhone 오디오잭에서 신호를 받아야 하니, 이어폰잭이 필요합니다.

LG 휴대폰에 딸려 있던 이어폰 줄이 늘어나 내부 단선인 관계로 희생시킵니다.



과감하게 자릅니다.



서라운드 이니 3가닥으로 분리하고...



프로브에 연결해 줍니다...

만, 신호가 안뜨네요.



전선이 코팅되어 있어서 그런가 하고, 불로도 지져보고 온갖 다 해봐도 안됩니다.

잭과 선 사이에 발생한 중간 단선이 원인인 듯 하네요.


아예 벗겨 내고 프로브를 직접 꼽도록 합니다.



이제 iPhone + 잭 + 프로브 + DSO150 을 연결합니다.




오홋!!!!!!!!!! 신호가 잘 나옵니다.

그것도 정확하게 잡힙니다.



정말 깨끗하게 잡히네요.

예상 외로 잘 동작하여 놀라고 신기해 합니다.


Sawtooth 파형도 해보고...



Triangle 파형도 해보고.



Square 파형도 해보고...



실시간으로 변하는 파형도 해보고...



성공입니다!



FIN

이제 뭘하지?

And
prev | 1 | next