F I N I S H
4. Results
*수정한 후에 직접 찍은 사진들
> 50mm에서
4. Analysis& Revision
**가까운 거리와 먼거리 둘다에서 실험을통해 오차가 거의 없는 것을 확인 할 수 있다.**
>2000mm에서
http://prezi.com/ddw5rrg-dqzl/present/?auth_key=sm3ips4&follow=pgpfic25mg6h&kw=present-ddw5rrg-dqzl&rc=ref-25430997
감 사 합 니 다.
이유 : 정확히 실온이 25도도 아니고 습도와 잡음 영향을 받고 이론 계산과정에서 근사값때문에 오차가 발생한다. 제일 큰 이유는 센서가 65도 지향각을 가지기 때문에 멀수록 오차가 생긴다.
2008122203 이승훈
=>이 값은 여러번의 실험을 통해서 설정한 값이다.
주의점: 65도의 지향각을 가지기 때문에 낮은거리에서는 멀리 측정이 되지 않으므로 높은곳에서 거리를 측정한다.
2008122295 최 웅
EasySoc-100, HG-C40U(sensor)
검출체에서 반사파의 유무 또는 반사파를 수파하기까지의 시간을 검출하여 검출체의 유무, 위치를 판별함
tigger신호를 주어 distance의 펄스를 측정해, 0v가 되는 구간의 시간을 측정해
거리=1/2*거리를 측정한 시간* 속도
를 사용해 거리를 구한다.
초음파 속도 = 331 + 0.6t [m/s] (t는 섭씨 온도)
실온에서(25도) : 초음파 속도= 346[m/s]
***
거리가 멀수록
초음파의 정밀도
오차가 커지고 있다.
***
3. SW part
a. 순 서 도
b. 거리 공식 적용
2. HW part
a. 순서도
a.순서도
b. 거리 공식 적용
거리=1/2*거리를 측정한 시간* 속도
Ex) 1mm를 측정할 때 걸리는 시간
측정한 시간=2(mm)/346000(mm/s) = 5.8 us
*비례식 적용
-측정한 int값을 segment에 넣기 위해 각 자리를 배열로 나눈 코드
(c++에서 가상 시뮬레이션)
1mm당 count 수 = 진동수/초 * 초/1mm -> 45Mhz*5.8us =261회
길이(mm) = distance_count/(261)
= distance_count*(0.003831417)
ex)distance count=256이면 1mm
distance count=512이면 2mm
c. distance pulse 분석
a. 순서도
c. distance pulse 분석
트리거 신호를 가해줬을때, distance 파형을 오실로스코프로 나타냈을 때의 distance pulse
=>ARM 주파수 45MHZ를 이용해서 펄스의 주기와 폭을 만든다.
거리의 count 측정
(1 / OSC Frequency) * max_clk_cnt
= clk_div(sec) / 2
=> 최대한 큰 주파수로 distance를 카운터해야 정밀한 값이 나온다고 생각 -> ARM의 주파수인 45MHZ를 쓰기로 생각
위 식을 사용해 20ms는 max_cnt가 450000이고, 10us는 max_cnt가 225임을 알수 있다.
ARM의 주파수인 45MHZ를 이용하여 distance의 펄스 폭(0인 부분)을 카운트 한다.
45MHZ의 주기는 1/45M= 0.023us로 distance 펄스의 몇개의 클락이 들어가는지 카운트 한다.
**원래 하기소닉에 나와있는
스펙 자료와 같이 distance 신호가 0인 부분에서 거리거 측정 되는 것을 알 수 있다.**
distance=1 일때 count=0으로 세지 않다가,
distance=0에서 45MHZ clk이 posedge일때마다,
count를 센다.
그리고 distance가 posedge일때, 센 count 값을 code warrier에 넘긴다.