Section 03 트랜지스터를이용한스위칭동작 15/45 스위치 ON/OFF 의전기적특성 트랜지스터와기계적인스위치를이용한 LED ON/OFF 동작비교 LED 를켜기위한회로 ([ 그림 5-6])
Section 03 트랜지스터를이용한스위칭동작 16/45 트랜지스터의직류특성 활성 직류상황에서전류 I C 는전류 I B 보다 h FE 배만큼더많은전류가흐름» 베이스와이미터가순방향으로바이어스» 컬렉터와베이스가역방향으로바이어스 차단 만일 I B 가 0[A] 이면컬렉터전류 I C 는거의 0[A], 트랜지스터는차단 포화 베이스와이미터, 컬렉터와베이스가모두순방향 I B 가계속증가하더라도최대로흐를수있는이상 I C 는증가하지않음
Section 03 트랜지스터를이용한스위칭동작 17/45 트랜지스터포화 / 차단과스위치 ON/OFF 관계 트랜지스터포화 / 차단전기적특성 기계적인스위치 ON/OFF 에의한전기적특성
Section 03 트랜지스터를이용한스위칭동작 18/45 ATmega128 디지털 I/O 핀을이용한트랜지스터스위치 ON/OFF [ 그림 5-6(a)] 회로의트랜지스터스위치를 ON 동작 PC0 출력핀에 HIGH 디지털전압레벨출력 R B 가작으면트랜지스터는포화영역에있게됨 트랜지스터는스위치 ON 동작과같게됨 트랜지스터의 I C 정격전류까지흐르게할수있음 [ 그림 5-6(a)] 회로의트랜지스터스위치를 OFF 동작 PC0 출력핀에 LOW 디지털전압레벨을출력 베이스전류가거의 0[A], 트랜지스터는차단영역에있게됨 트랜지스터는스위치 OFF 동작을하게됨
19/45 Section 04 트랜지스터를이용한 ATmega128 정격초과전류공급 NPN 트랜지스터를이용한구동회로 ATmega128 정격을초과하는전류공급사례 고휘도 LED 4개를구동 PC0에 HIGH 디지털전압레벨이출력» Q1의스위칭동작은 ON» LED 켜기에충분한전류가흐름 LOW 디지털전압레벨이출력» Q1 의스위칭동작은 OFF» LED 꺼짐 [ NPN 트랜지스터를이용한정격초과전류공급회로 ] 범용 NPN 트랜지스터 2N2222A 의포화, 차단스위칭특성 (Philips datasheet 참조 )
20/45 Section 04 트랜지스터를이용한 ATmega128 정격초과전류공급 I C = 75[mA] 계산값 VCE(Sat)=0.3[V], LED 전압강하 3.2[V] I B = 6[mA] 계산값, 출력핀으로충분히공급할수있음 20[Ω] 양단의전압강하는 5-3.2-0.3 = 1.5[V] 측정값 77[mA]
Section 05 디지털 I/O 핀을이용한릴레이구동 21/45 사전지식 릴레이동작 코일에전류가흐르면, 코일은전자석이되어위의판을끌어당김 COM과연결된접점의접촉위치가변경 평상시 N.C.(Normal Close) 위치, 전자석이되면 N.O.(Normal Open) 과연결 [ 소형릴레이 JS1F-5V 구조 [ 출처 : NAIS JS Relay 데이터시트 (c)]]
Section 05 디지털 I/O 핀을이용한릴레이구동 22/45 소형릴레이 JS1F-5V 사례 전자석이되기위해 5[V] 조건에서 72[mA] 가필요 디지털 I/O 핀으로직접구동이어려움 출력핀으로트랜지스터를구동한컬렉터전류를사용하여간접구동 릴레이구동을위한회로
Section 05 디지털 I/O 핀을이용한릴레이구동 23/45 릴레이구동을위한프로그램 핀신호방향설정입력신호내부풀업 PG1 스위치눌림을폴링으로감지 PG2 스위치눌림을폴링으로감지
Section 05 디지털 I/O 핀을이용한릴레이구동 24/45 릴레이구동회로동작을 LED 로확인 N.C. 가연결될때 N.O. 이연결될때 서로다른 LED가켜지게구성된회로 릴레이 ON/OFF 작동
Section 05 디지털 I/O 핀을이용한릴레이구동 25/45 실험 5-5 릴레이구동 (video.zip 참고 / 5-5)
Section 06 프로세서연산에의한강제시간지연 26/45 GNU gcc 컴파일러의라이브러리시간지연함수 CPU 가외부장치에명령을보낸후, 적절한동작이완성되기까지기다려야하는경우가많기때문 시간지연라이브러리함수 <util/delay.h> 를 include 해야사용할수있음 위함수사용을위해 F_CPU가정의하는방법 Project 메뉴 Configuration Options General Frequency 항입력 < 혹은 > #define F_CPU 16000000UL로정의, CPU 주파수가 16MHz인경우
Section 06 프로세서연산에의한강제시간지연 27/45 스위치디바운싱현상과소프트웨어적인해결방법 입력핀에인가되는전압을결정하는회로 [ 통상적인푸시버튼스위치입력회로 ]
Section 06 프로세서연산에의한강제시간지연 28/45 스위치바운싱현상 스위치를여러번누른동작으로오동작할수있음 스위치의기계적인특성으로발생 전압변화유발 소프트웨어적으로스위치디바운싱역할수행» 스위치변화를처음감지후, 일정시간동안변화를무시함 [ 스위치바운싱에의한전압변화 ]
Section 07 시간지연함수를이용한 1 초마다숫자증가 29/45 실험목적 시간지연함수를호출하여 1 초마다숫자가증가되는동작을이해 회로
30/45 Section 07 시간지연함수를이용한 1 초마다숫자증가 실험절차 5.2 절에서실험한 7- 세그먼트 LED 디스플레이를위한배열사용 #include <util/delay.h> 를포함하여 _delay_ms( ) 함수호출가능 _delay_ms(1000) 함수호출은 1000[msec] 즉 1 초시간지연 _delay_ms() 함수에서 F_CPU 매크로레이블정의필요 #define F_CPU 16000000UL에의한정의 혹은, 개발환경에서 Frequency 항목기록에의해정의 둘다사용하면프로그램에서경고발생» #define F_CPU 16000000UL 정의가사용됨 sec % 10 연산은정수 sec 을 10 으로나눈후, 나머지값 0 ~ 9 까지만디스플레이됨
Section 07 시간지연함수를이용한 1 초마다숫자증가 31/45 _delay_ms( ) 함수를이용한 1 초지연프로그램
Section 08 시간지연함수를이용한스위치디바운싱 32/45 실험목적 스위치바운싱현상에의한오동작을확인 시간지연을이용한스위치디바운싱현상을확인 스위치디바운싱을위한회로
Section 08 시간지연함수를이용한스위치디바운싱 33/45 실험절차 초기화과정 // 스위치눌린횟수 // 초기스위치는개방된상황으로간주 스위치눌림감지는 before 값과현재의 PD0 핀논리값검사
Section 08 시간지연함수를이용한스위치디바운싱 34/45 바운싱현상을제거하지못한프로그램
Section 08 시간지연함수를이용한스위치디바운싱 35/45 소프트웨어적인디바운싱 스위치변화후, 일정기간강제시간지연을갖게함
36/45 Section 09 H- 브리지회로를이용한소형 DC 모터정 역회전 DC 모터의정회전과역회전을위한 H- 브리지회로 H-브리지회로 모터의전류흐름 : 좌 우» A, D 단락» B, C 개방 모터의전류흐름 : 우 좌» A, D 개방» B, C 단락 모터전류차단» A, B, C, D 모두개방» ( 혹은 ) A, B 개방혹은 C, D 개방 [ H- 브리지회로와스위치 ]
37/45 Section 09 H- 브리지회로를이용한소형 DC 모터정 역회전 소형모터구동을위한 H- 브리지회로 [ H- 브리지회로를이용한 DC 모터정 역방향제어회로 ]
38/45 Section 09 H- 브리지회로를이용한소형 DC 모터정 역회전 베이스저항값이 470[Ω] 일때 직류전류이득을 50 이라가정해도» 450[mA] 까지구동할수있음 DC 모터양단에걸리는전압 4.6[V], 450[mA] 범위의소형또는마이크로 DC 모터를구동
39/45 Section 09 H- 브리지회로를이용한소형 DC 모터정 역회전 DC 모터정회전, 역회전을위한디지털전압레벨 [ 그림 5-21] 회로의 DC 모터회전을위한 A, B, C, D 입력신호 AC, BD 디지털전압레벨을동일하게하면간소화된 H-브리지회로 [ 그림 5-22] 회로의 DC 모터회전을위한 AC, BD 입력신호
40/45 Section 09 H- 브리지회로를이용한소형 DC 모터정 역회전 소형모터를위한간소화된회로 주의사항 전원을연결하고 AC 혹은 BD 신호를개방시키면안됨 트랜지스터가모두 ON 되어쇼트된다. AC, BD 는 HIGH 혹은 LOW 가항상인가되어야함
Section 10 H- 브리지회로를이용한소형 DC 모터정 역회전 41/45 실험목적 트랜지스터를이용한 H-브리지회로동작을구현하여확인 시간지연함수를이용한스위칭디바운싱기능 H-브리지회로의정 역회전을디바운싱스위치로제어하는프로그래밍 한개의스위치로정지, 정회전, 역회전동작 DC 모터정 역회전, 공통캐소드 7- 세그먼트 LED 디스플레이결합회로 ([ 그림 5-21])
42/45 Section 10 H- 브리지회로를이용한소형 DC 모터정 역회전 실험절차 모터연결신호레이블 모터동작레이블 모터정회전, 역회전, 정지명령 // number 에대한 1 의자리가 1 일때 // number 에대한 1 의자리가 3 일때 // number 에대한 1 의자리가기타값
43/45 Section 10 H- 브리지회로를이용한소형 DC 모터정 역회전 7- 세그먼트 LED 값과모터의회전 H- 브리지회로를이용한 DC 모터의회전
44/45 Section 10 H- 브리지회로를이용한소형 DC 모터정 역회전 실험 5-10 H- 브리지회로를이용한소형 DC 모터정 역회전 (video.zip 참고 / 5-10)
IT CookBook, 마이크로컨트롤러 AVR ATmega128