AT89S52를 이용한 Elevator
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

AT89S52를 이용한 Elevator에 대한 보고서 자료입니다.

목차

1. 서론

2. 본론
2.1 기본원리
2.2 구현내용
2.3 회로도

3. 결과
3.1 구현방식
3-1-1. 프로그램 구현
3-1-2. 엘리베이터 외형 구현
3-2. 기능 설명.

4. 제작 시 발생한 문제점

5. 참고문헌

본문내용

r
Stepping Moter를 제어하기 위해 제작된 드라이버입니다. Stepping Moter는 4개의 전선에 전류를 어떤 순서로 보내 주느냐에 의해 그 움직임이 정해지는데 4개의 전선에 전류를 흘려 주기위해 제작했습니다. 방향 설정 Pin, 클럭 Pin, 모터 Enable Pin.
L297 : 위에서 설명한 것과 같이 단일 클럭 입력을 4개의 상으로 만들어 냅니다. 사용이 간편하고 매우 정확하게 동작을 하면 L298과의 연결 또한 용이합니다. 클럭단자는 상당히 민감해서 손으로 잡아도 돌아갑니다. 위에서 설명한 ENABLE, 회전방향, 클럭 이외에도 2개 이상의 L297을 사용할 경우 정확한 동기를 위한 SYNC입력 등이 있으나 저희 시스템에서는 사용하지 않았습니다.
L298 : 이것은 DC모터나 스텝 모터에 브릿지 구동을 위한 전류 증폭 소자입니다. L297의 4개의 위상 출력을 바로 받아들일 수 있는 입력단자를 가지고 있습니다. 브릿지 구동 방식이기 때문에 항상 많은 전류가 흐르고 있습니다. 모터가 정지했을 경우 가장 많은 전류가 흐르는데 잘못하면 소자가 타버리는 경우도 많습니다. 모터를 돌리지 않는 경우에는 되도록 전원을 끄는 것이 안전합니다.
2.3 회로도
① AT89S52
② Stepping Moter Clock
③ Sensor
④ Switch의 LED
3. 결과
3.1 구현방식
3-1-1. 프로그램 구현
전원이 들어오면 Reset이 걸리게 됩니다. 발진회로가 안정될 때에 칩에 리셋신호가 풀리게 되어 00H주소의 명령을 수행하게 됩니다. Reset은 모든 Data를 초기화 시키며, 엘리베이터를 1층으로 내려 보내게 됩니다.
1층으로 내려온 후부터는 스위치가 눌리기를 기다리면서 스위치와 연결된 port의 값을 계속 확인하며 무한 루프를 돌게 됩니다. 만약 스위치가 눌려지면 그 값을 해석하여 적절한 동작을 취해줍니다. 같은 층일 경우 문을 열어주고 다른 층이라면 위 혹은 아래로 이동시켜줍니다.
무한 루프를 도는 동안 Timer0는 정해진 시간마다 동작을 Interrupt1은 센서를 만날 때 동작하게 됩니다. Timer0은 스위치 옆에 붙은 LED를 켜주는 역할을 하며, 또한 모터에 들어가는 Clock을 제공해줍니다. Interrupt1은 센서를 만날 때마다 센서의 정보를 읽고, 그 값을 CPU에 전달, 7-SEG에 값을 줍니다. 그리고 엘리베이터가 위 혹은 아래로 움직이는 것을 인지하고 눌러진 키에 대한 대응을 합니다.
예를 들자면, 위로 올라가는 엘리베이터에서 외부 위로 올라가길 원하는 키의 층 혹은, 내부 원하는 층을 확인 같은 층이면 멈춰서 서 문을 열어줍니다. 또한 아래로 내려가길 원하는 키의 층이 눌렸을 경우는 외부 위로 올라가길 원하는 키와 내부 원하는 층이 안 눌렸을 때 동작하게 됩니다.
Timer1은 문을 열어주고, 열린 채로 대기하고, 닫을 때 그 시간을 제어하는 데에 사용합니다. 문이 열려야 할 때만 동작합니다.
3-1-2. 엘리베이터 외형 구현
처음에 엘리베이터의 외관을 구현하기 전에 굉장히 쉽다고 생각했습니다. 그러나 막상 시작을 하고 나니 여러 가지 문제가 생겼습니다. 우선 외형이 튼튼해야만 했습니다. 처음에 앵글로 만들려다가 과학 상자를 알아보고 여러 조각의 부품을 연결하여 전체적인 틀을 만들었습니다. 그러나 이 틀은 전체적으로 삐뚤어져 있어 균형이 맞지 않았습니다.
균형이 맞지 않는 상황에서 엘리베이터 내부를 일직선으로 잡아줄 것이 필요했습니다. 그래서 끊어지지 않은 일직선은 봉 같은 것을 달았습니다.
엘리베이터의 외형은 튼튼하고, 안정적이며, 미적인 것을 추구했습니다.
3-2. 기능 설명.
일반 엘리베이터와 키 기능은 동일하게 만들었습니다. 층마다 올라가기를 원하는 키와 내려가기를 원하는 키를 만들어 엘리베이터가 올라가는 중일 때는 올라가기를 원하는 사람들을 태우게 되고 내려가는 중이면 내려가기를 원하는 사람들을 태우게 됩니다.
기존의 팀들은 엘리베이터를 위에 모터를 두고 끌어 올리는 형식으로 외형을 구성했습니다. 그러나 그런 형식은 균형적으로 굉장히 불안정합니다. 그리고 모터가 받는 힘이 굉장히 큽니다. 그래서 다른 팀과는 달리 모터를 아래쪽에 두면서 엘리베이터를 구동하는 방법을 연구하게 되었습니다. 도르래를 이용하여 엘리베이터의 밑 부분에 힘을 줌으로서 내려올 때는 하중에 의해 쉽게 내려오고 올라갈 때는 엘리베이터를 밑에서 받쳐줘, 기존의 엘리베이터보다 안정적입니다.
4. 제작 시 발생한 문제점
① 모터에 걸린 부하가 높을수록 높은 전압을 요구하게 되어 우리 시스템에서는 12Volt를 사용하게 됐습니다.
② AT89S52에 맞는 동글이를 만들지 못했습니다.
(뒤지다가 간단히 제작 가능한 동글이 찾아서 해결.)
③ 동글이 인식 안 됨,
(xp에서는 안되는 것이었음, 98에서 동작, )
④ 모터 토크가 안 걸림.
(Enable은 주되, 클럭을 정지시키는 방법으로 해결)
⑤ AT89S52의 파워온 리셋이 안 됨
(커패시터와 저항을 달아서 해결)
⑥ 센서에 문제가 있음.
(문제가 있는 줄 알았으나 센서에는 문제가 없고 센서의 정보를 MCU로 보내는 회로에 문제 있었음. 2층, 5층에서는 정보를 하나씩 빼고 보냈었음. 다 연결했더니 문제 해결.)
⑦ 1,3,5층에서 reset이 걸림.
(프로그램에서 port3에 1을 내보내서 받아들일 준비함. 해결, 준양방향성 입출력 포트)
⑧ 균형이 안 맞음.
( 도르래의 조정으로 해결)
⑨ 엘리베이터 외형이 정확한 직사각형이 아닙니다.
( 아크릴이나 기타 장식물을 철골 구조의 휨에 따라 붙임)
⑩ 엘리베이터가 움직일 때 일직선의 라인을 따라서 움직여야 하는데 앵글을 가지고 연속적으로 끊어지지 않고 이어나가기가 힘듭니다.
( 끊어지지 않고 한번에 일직선으로 된 재료를 선정해서 사용함 )
⑪ 소켓으로 깨끗한 선 처리를 유도했으나, 깨끗함 뒤에는 접속 불량이 있었음
5. 참고문헌
80C196 KC/KD와 그 응용 (청문각)
초보자를 위한 PC 인터페이스 입문 C가 미는 로봇
마이크로프로세서 8051 (박권서 저, 일진사)
시뮬레이터에 의한 8051 (진달복 저, 양서각)
  • 가격1,500
  • 페이지수10페이지
  • 등록일2005.12.11
  • 저작시기2005.12
  • 파일형식한글(hwp)
  • 자료번호#325784
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니