[11주차] 초음파 센서 (21.05.12_project 3)
1. 배경지식
01. 초음파 센서 모듈(HC-SR04)
datasheet상에서 제공되는 HC-SR04의 정보는 다음과 같다.
가장 중요한 정보는 power supply가 +5V DC라는 점과 Trigger Input Pulse width의 값이 10us라는 것이다.
datasheet 상의 정보를 통해 초음파 센서는 총 50us 이상의 주기에서 10us의 Trigger input 신호를 주어야 하고, 그 값은 low이어야 한다. 그러므로 이번 실험에서 DC 전압을 pulse로 변환해주는 회로를 구성해야함을 알 수가 있다. 주기를 구하는 식은 실험 파트에서 더 자세하게 다룰 예정이다.
datasheet에 첨부된 초음파 센서를 통해 거리를 구하는 식은 다음과 같다.
02. NE555 발진회로
이번 실험에서는 STMicroelectronic 社의 소자를 사용하였다. 소자의 핀 번호는 다음과 같다.
NE555 소자를 이용한 발진회로로 초음파 센서에 필요한 pulse 신호를 생성할 것이다.
실험에서 사용할 안정 멀티 바이브레이터 회로는 위 사진과 같다. 이 회로는 기본적으로 High 신호를 출력하고 원하는 주기만큼 Low 신호를 출력시킨다. R1과 R2, 그리고 C1을 통해 주기와 trigger 신호를 조정할 수 있다. 계산식은 다음과 같다.
자세한 계산은 실험 파트에서 다루어볼 예정이다. (회로와 계산식은 datasheet에서 발췌한 내용이다.)
2. 실험
01. LM7805: 리니어 레귤레이터
리니어 레귤레이터는 안정적인 DC 전압을 인가해주기 위해 사용한다. LM78XX 시리즈는 XX에 들어가는 크기 만큼의 + Voltage를 출력한다. 그러므로 LM7805는 +5 Voltage를 출력하는 소자이다.
01-1 Pspice 시뮬레이션
자이로 센서때는 리니어 레귤레이터를 통해 안정된 전압을 출력하되, 출력되는 전압보다 낮은 3.3V를 필요로 했다. 그러므로 캐패시터 외에 Resistor를 연결해서 그 값을 조정해주었다면, 이번에는 리니어 레귤레이터 출력 값 자체가 필요한 경우이므로 datasheet에 있는 회로대로 Cin = 0.33uF, Cout = 0.1uF, Vdc = 10V를 사용하였다. Cursor를 통해 5V값과 근사한 4.9968V가 방출됨을 알 수가 있었다.
01-2 Breadboard 회로 구성
Datasheet에서 발췌한 소자 다리는 위 사진과 같다. 이 점을 유의하여 회로를 구성하였다.
실험에서도 캐패시터는 datasheet 내용대로 0.33uF과 0.1uF을 사용하였다. 인가된 전압은 10V이다.
5V가 정상적으로 출력됨을 알 수가 있다.
02. NE555 발진회로
02-1 Pspice 시뮬레이션
Pspice 시뮬레이션 당시에는 최소 50us 주기에 10us의 low 신호가 인가되어야 함을 알지 못했다. 그래서 10us high 신호에 50% duty ratio로 설정하고 설계하였다. 계산식은 다음과 같다.
그러므로 R1 = 5.8kΩ, R2 = 9kΩ, C1 = 1nF, C2 = 0.1uF을 사용하였다.
02-2 Breadboard 회로 구성
피스파이스 구성 당시에는 잘못된 정보를 이용하여 주기를 설정하였기 때문에 필요한 소자들을 새롭게 계산하였다. 주기 T = 1ms, C1 = 1nF, C2 = 0.1uF으로 고정하고 10us씩 low 신호를 주는 발진회로를 구성하였다.
R1과 R2에 해당되는 동일한 저항이 없었으므로 R1은 1.3M, R2는 15k를 사용하였다.
소자의 핀은 다음과 같다.
Vcc는 리니어 레귤레이터의 output 값을 받아왔다. 오실로스코프를 이용해서 파형이 제대로 나오는지 확인하였다. 파형을 제대로 확인하기 위해서 output 부분에 1k옴 저항을 달아 확인하였다.
왼쪽 파형을 보면 주기 약 1ms에 low 파형이 출력되고 있음을 확인할 수 있다. 출력되는 low 파형은 오른쪽 사진에서 보다싶이 10.80us의 주기임을 알 수 있다. 원하는 파형이 출력되고 있음을 확인할 수 있다.
03. 초음파 센서 전체 회로
03-1 회로 구성
초음파 센서 전체 회로는 다음과 같다.
이번에도 출력 파형을 깨끗하게 보기 위해 1k옴 저항을 달았다.
※주의※
초음파 센서를 망가뜨리지 않기 위해서는
GND를 먼저 인가하고 전압을 인가하여야 한다.
왼쪽은 모든 회로를 연결한 사진이고 오른쪽은 초음파 센서에 연결한 모습을 위에서 바라본 모습이다.
초음파 센서가 제대로 작동을 하고 있는지 확인하기 위해 물체를 일정한 거리로 배치하고 실제 거리와 실험을 통해 얻은 값이 얼마나 차이가 나는지 오차를 확인해보았다. (거리를 구하는 식은 배경지식 01 초음파센서에서 equation3를 사용하였다.)
10cm를 제외하고 대체적인 오차율이 15%대 이지만 모듈이 정상적으로 작동함을 확인할 수 있었다.
03-2 구동 영상
3. 고찰
처음에 오차율이 높은 것이 거리 때문이라고 생각했는데 15cm와 10cm 끼리 오차율이 크게 달랐다. 거리를 재는 물체의 표면이 고르지 않아서 오차가 발생한 것 같다.
참고문헌
(datasheet: https://www.alldatasheet.com/ )