728x90
반응형
센서
- 초음파 센서
- 초음파의 진행속도 : 331.5 + (0.607*t) m/s
- t : 온도
- 상온에서의 속도 : 약 346m/s
- 초음파가 어떤 거리를 왕복하는 시간
- 시간 = 이동거리/속도
- 예) 초음파가 10cm 거리를 왕복하는데 소요되는 시간
- t = (10cm*2)/(346m/s)
- t = 578us
- 초음파 센서로 측정 가능한 최대 거리 : 3~4m
- 센서 동작 모드
- 트리거 입력과 에코 출력 핀을 같이 쓰는 모드
- 트리거 입력과 에코 출력 핀을 따로 쓰는 모드
- 프로그래밍에서 고려할 점
- 트리거 펄스 신호폭이 10us 이상되어야 센서가 정상적으로 동작
- 에코 펄스의 시간폭을 측정하여 거리를 측정
- 개인 실습
- 장애물이 10cm 이내로 들어오면 LED 불이 켜지는 프로그램
- ARM에서의 초음파 센서 실습 코드에 10cm 이하에서 LED를 ON 시키는 조건문 추가
- 실행 결과
ARM
- PWM 데이터시트 분석
- PWM 블럭 다이어그램
- PWM 레지스터
- PWM on/off 제어
- PWM_ENA : 시작
- PWM_DIS : 정지
- PWM_SR : PWM 동작 상태
- PWM 펄스 주기&duty 제어
- PWM_CCNT : 공급 클럭에 맞춰 증가하는 카운터
- CCNT 값이 CPRD 값과 같아지면 카운터 리셋(or 감소)
- CPRD : 펄스 주기 결정
- CCNT 값이 CDTY 값과 같아지면 PWM 출력 토글
- CDTY : 펄스 duty 결정
- CDTY의 값이 작아지면 PWM의 duty가 커지며 신호의 전력도 증가
- PWM 동작 모드 제어
- PWM_CMRx
- CCNT 증감 파형
- Center_Aligned : 피라미드 모양 카운터
- Left_Aligned : 톱니모양 카운터
- PWM 초기값
- low에서 시작
- high에서 시작
- PWM 타이밍도
pwm.c 코딩
- 초기화 함수 작성 순서
- PWM 장치에 클럭(MCK) 공급
- PWM 핀 설정
- 핀 선택
- 핀 pull-up disable
- PIO 기능 disable
- PWM 기능 enable(Peripheral B 기능 on)
- CLKA, CLKB 설정
- 20kHz으로 설정
- PWM 동작 설정
- PWM 클럭 선택 : CLKA
- 카운터 모양 : left-aligned
- PWM 출력 : low level start
- CUPD 입력으로 PWM의 duty를 변경시키도록
- 다음주 계속.....
1. PWM에 MCK 공급
- PMC_PCER 레지스터의 PWM 장치번호 비트를 set
2. PWM으로 사용할 핀 설정
- PIOA_PPUDR
- PA25의 pull-up disable
- PIOA_PDR
- PA25의 PIO 기능 off
- PIOA_BSR
- PA25의 peripheral B 기능 사용 (PWM2 enable)
3. PWM 카운터(PWM_CCNT)에 사용할 클럭 설정
- CLKA, CLKB를 20kHz 클럭으로 설정 ( PWM_MR 레지스터 설정)
- PREA, PREB로 MCK의 분주비 선택
- 8분주 선택
- 1에서 구한 클럭은 DIVA, DIVB로 나눔
- DIVx는 30으로 설정
- 카운터의 클럭으로 CLKA(20kHz)를 선택
- PWM_CMR 레지스터 사용
- PWM_CMR은 PWM 채널 각각 따로 존재함
4. PWM 동작 설정(PWM_CMR)
- CALG 비트 = 0
- 카운터 모양 : left aligned
- CPOL 비트 = 0
- PWM 펄스 시작점 : low level start
- CPD 비트 = 0
- Writing to the PWM_CUPDx will modify the duty cycle at the next period start event
728x90
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20150916-18번-안해운 - ADC (6) | 2015.09.17 |
---|---|
20150915-14번-박제혁 일일업무일지 - PWM을 이용한 멜로디 연주 (4) | 2015.09.16 |
20150947-13번-박서연 일일업무일지 - PWM, 스피커 (6) | 2015.09.14 |
pwm 파일입니다 (2) | 2015.09.14 |
20150910 출석번호 9번 김태현 업무일지 -초음파 센서 (6) | 2015.09.10 |
ARM -Ultra Sonic 소스 입니다~ (0) | 2015.09.10 |
20150909-7번-김재홍-초음파센서(ARM7) (3) | 2015.09.10 |
20150908-3번-권오민 - 센서(서미스터) & ARM(Timer & Ultra Sonic) (12) | 2015.09.08 |