MicroMouse 010v4 (~200912)

2009/12/27 02:27 로보트

 

  복학 후 제작한 010v4 마우스. 예전 작업 했던 것을 모두 뒤로하고 처음부터 다시 시작했던 마우스 프로젝트였다. 하지만 이런저런 일로 완성을 하지 못하다가 이번 마지막학기 한달 반정도를 남기고 인천대학교 준비를 하면서 진행해왔다.

  오랜만에 만지는 마이크로마우스였기에 짧은 기간임에도 불구하고 만족감을 갖고 하나하나 완성해 나갔다. 조금 일찍 준비했었더라면 일본대회에 갔을 텐데.. 하는 아쉬움까지 들었으니 말이다. 아마 이 때 마무리하지 않으면 다시 못할 것 같다는 아쉬움이 나를 이끌었던 것 같다.

 

1. Hardware

  사용자 삽입 이미지

  사용자 삽입 이미지


2. Software

- Search Algorithm Simulation

  image

 

- Turn Algorithm Simulation

  image

 

3. Running

- 탐색 주행

    

 

- 아는길 고속 주행

    

 

 

덧붙임) 인천대학교에서..

2009/12/27 02:27 2009/12/27 02:27
  1. 방양  2009/12/27 02:43     댓글주소  수정/삭제  댓글쓰기
    마우스 이름봐바 ㅋㅋㅋㅋ
    완전초딩센스!!!
  2. hwangdo  2009/12/27 04:13     댓글주소  수정/삭제  댓글쓰기
    ㅋㅋ 미안해요.. 대회 나가서..ㅋㅋㅋ좀 열씸히 하지 그랬어요..ㅋㅋ

DC 모터 제어 원리와 구현을 위한 세미나

2008/04/26 03:45 로보트

  MAZE 동아리에서 마이크로 마우스를 시작하는 애들을 위해 DC 모터 제어 원리와 구현을 위한 세미나를 했다. 기왕 하는 김에 훗날에 다른 사람이 세미나를 준비할 때 참고할 수 있고, 자료를 추가로 보강할 수 있는 파워포인트(PPT)로 자료를 만들었다.

차례

1. DC 모터 제어 원리
  1) DC 모터 구동 원리
    2) PWM을 통한 DC 모터 구동
    3) 모터의 회전수 측정
    4) PID 제어


2. DC 모터 제어 구현(TMS320F2808)
  1) Flowchart
   2) 초기화
   3) 모터 제어 구현


  여담으로..

  요즘 이런저런 문서를 작업 할 때 자주 쓰는 방법은 스프링노트를 통해 목차는 먼저 작성하는 것이다. 처음 파워포인트나 워드 툴로 시작을 하면 막막해서 진행이 잘 안 되는데, 이럴 때 스프링노트에 목차를 적어 나가는 방식으로 시작한다.
  틈틈이 생각날 때마다 목차를 하나하나씩 추가하고 보강하다 보면 어느새 틀이 잡힌다. 즉, 골격을 미리 잡고, 살을 붙이는 방식으로 작성해보니 한결 부담이 적고, 빠른 시간 안에 작성이 된다.

2008/04/26 03:45 2008/04/26 03:45
  1. 유훈  2008/04/26 11:47     댓글주소  수정/삭제  댓글쓰기
    수고하셨습니다 엔코더소개쪽에 오타가 있네요.
    레퍼런스에 단국대학교 MAZE 슝슝이 누구죠??
    • Yarmini  2008/04/27 18:16     댓글주소  수정/삭제
      아. 오타네~ㅋ

      슝슝이 병훈이형 마우스 이름이야.. 나도 물어봐서 기억했어.ㅋㅋ

      글고 병훈이형은 언제 만들었었는지..기억 못하시던데^^ㅋ

[010v4] 달리고 싶어하는 마우스..

2008/02/07 01:00 로보트
사용자 삽입 이미지
Canon PowerShot A550 | 1/40sec | F2.6 | ISO-800

사용자 삽입 이미지
Canon PowerShot A550 | 1/25sec | F2.6 | ISO-800

  문득 생각해보니 '010v4'의 마우스 사진이 없다는 것을 알았다. 완성한 지는 꽤 오랜 시간이 지났는데 아직 주행을 못하고 있다. 이런저런 일도 있었다만 게을렀던 문제가 가장 큰 것 같다. 완성해 놓고 멋진 주행을 안 시켜 주다니 내가 미안한 마음마저 드네.

  상반기에 시간을 조금씩 내서라도 작년에 이루지 못한 목표에 다가가도록 노력해야겠다.
2008/02/07 01:00 2008/02/07 01:00
  1. 도형이  2008/02/08 11:00     댓글주소  수정/삭제  댓글쓰기
    ㅋㅋ형 인제 잘 안가더라도 조용히 있을께요...
    너무 부담 갖지 마세요...ㅋㅋ
  2. planck  2008/02/10 15:02     댓글주소  수정/삭제  댓글쓰기
    빨리 보여주오!! ㅎㅎ
  3. planck  2008/02/16 18:54     댓글주소  수정/삭제  댓글쓰기
    그래 천천히~

[010v4] 매트랩을 이용한 마우스 턴 시뮬레이션

2007/11/24 03:10 로보트

사용자 삽입 이미지
 

  예전에 만든 턴 시뮬레이션은 도스환경이기 때문에 이번에 새로 만들기로 했다. 툴은 Visual C와 매트랩이 있었으나 아래와 같은 장점으로 매트랩을 선택하였다.

1. 다양하고 방대한 그래프, 좌표 출력 기능을 제공하기 떄문에 구현이 쉽다.
(실제 시뮬레이션을 코딩해 보면 대부분 시간이 그래프와 좌표 출력 UI를 만드는데 소요된다.)

2. 수식과 관련된 함수가 다양하며 사용법이 쉽다.

3. 좌표나 속도를 나타낼 배열을 행렬로 나타내는 데 행렬 간의 산술 계산이 간단하다.

4. 베이직과 같은 인터프리터 방식으로 디버깅과 코딩이 편하다.


  실제 접해보니 매트랩의 언어는 간단하여 쉽게 사용할 수 있었다. 또한 그래프도 그려주고 세세한 설정까지 가능하니 얼마나 편한가.. 턴 시뮬레이션은 산술적 계산이 적은 편이라 한 페이지 안에 구현되었으며, 여러 기능 보완을 하고자 코드가 늘어났다. 전체적으로 코딩 시간은 그리 길지 않았다.

  또한, Visual C 처럼 UI를 갖추기 위해 매트랩의 GUI 기능을 강좌를 보면서 구현했다. Visual C의 UI를 꾸미는 것과 비슷하여 금방 따라갈 수 있었다.

  매트랩에서만 구동하는 것을 실행 파일로 변환하면 따로 매트랩을 켜지 않아도 독립적으로 실행할 수 있다. 단, 매트랩이 설치 안 된 곳에서는 따로 제공하는 기본 라이브러리를 설치해야 한다.

C:\..>mcc -m filename

  이렇게 명령어를 실행하면 'filename.exe', 'filename.ctf' 파일이 생긴다. 실행을 하면 자동으로 하위 폴더에 압축이 풀리고 실행이 된다. 그다음부터는 압축을 풀지 않고 바로 실행한다.


참고 사이트


- http://www.matlabsolutions.com/ 
- http://matlabschool.com/ 

2007/11/24 03:10 2007/11/24 03:10
  1. 유훈  2007/11/25 14:27     댓글주소  수정/삭제  댓글쓰기
    우왕굳~! 언제 하셨어요 이건~

'BIM-433(418)'을 이용한 시리얼 RF 통신

2007/11/12 10:20 로보트
  이번 동아리 전시회 때 로봇축구의 팀원으로 RF 통신을 해보았다.

  RF 모듈은 Radiometrix(http://www.radiometrix.co.uk )의 BIM-433모델을 사용했다. RF 통신으로 흔히 사용되는 모듈로 우리나라에서도 흔히 쓰이는 듯하다.
  'BIM-433-40'은 Euro Version이고, 'BIM-418-40'은 UK Version이다. 기능은 똑같아서 쌍으로 사용하면 된다.

  기본적으로 컴퓨터 Serial Port에 연결하여 송신하고, 로봇에서 수신하는 방식을 사용하기로 했다. 단방향은 전환 시간이라든지 노이즈가 가장 덜 타기 때문에 사용이 쉽다고 한다.

사용자 삽입 이미지

  송신부를 회로를 보면 'Transmitter Enable'로 설정되어 항상 데이터를 전송하고 있다. 그래서 수신부의 'Carrier Detect' 핀을 찍어보면 항상 Low로 떨어져 있다.
 
  "RS232" Serial Data 전송 방법은 데이터시트 뒷부분에 나오나 Radiometrix사이트 App note에 자세히 나온다.
http://www.radiometrix.co.uk/apps/apnt101.htm 

 실제 데이터를 전송하기 전에 아래의 순서로 헤더 코드를 붙여준다.

Preamble -> UART Sync -> Start Code

Preamble - '0x55(고주파 데이터)'를 대략 3ms 이상 전송한다.
UART Sync - '0xFF'를 1, 2 바이트 전송한다.
Start Code - 고유한 시작코드를 전송한다. 수신부에서는 이 신호를 기점으로 실제 데이터를 받을 준비를 한다.

  RF 통신의 특성상 데이터가 저주파성분(0xFF나 0x00)을 띨 때 노이즈가 생길 확률이 높아진다. 따라서 0(mark), 1(space) 비트 비율이 50:50이 되도록 맞추길 강조한다. 그래서 데이터시트에서는 3가지의 인코딩 방법을 추가로 설명해 주었다. 총 전송 데이터의 양이 늘어나는 대신 에러율이 적어 속도를 높일 수 있다.
 

  일단 로봇축구에서는 많은 데이터나 높은 속도가 요구되지 않기 때문에 인코딩 방법은 추가로 사용하지 않았다.

  CPU로 사용된 TMS320F2808의 SCI 핀과 RF 모듈을 연결하였으나 문제가 발생했다. CPU의 SCI핀은 기본 HIGH 상태에서 LOW로 떨어지는 시점을 시작으로 인식했으나, BIM-433의 RXD(RF->CPU)핀은 기본이 LOW였다.  신호의 극성은 맞으나 초기상태가 틀려 문제가 발생했다.

  RXD Pin을 풀업해도 BIM-433의 내부저항으로 신호가 풀업이 되는 것이 아니고 중간에 뜨게 된다. 그래서 버퍼를 사용하려 했느나 'Enable'을 연결할 핀이 없어 못하는 중에 동아리 선배분이 도와주었다^^.

 문제점은 CPU(TMS320F2808)에서 SCI(UART) 에러 처리를 하지 않았던 것. 첫 비트가 HIGH->LOW가 아니라서 Rx 오류가 발생하게 되는 데, 이 오류를 클리어 해주면 다음 데이터 부터는 정상적으로 받을 수 있다는 것이다. 즉, Rx 에러 비트를 클리어해줌으로서  첫 바이트는 오류로 버리고 다음 바이트부터 데이터를 정상적으로 받을 수 있었다.


 
  또한 PC와 CPU간의 통신 시 데이터 형을 구조체로 선언하여 바이트 오더와 정렬을 하여 간편하게 받아오고 싶었으나, TMS320F2808의 데이터 크기와 메모리 구조가 PC와 차이점이 커서 결국 변수 하나하나 넣어주는 방식을 사용하게 되었다. TMS320F2808에서 sizeof의 크기가 일반적인 것과 달라 고생했다. 결국 하윤이형이 찾아 줘서 넘어갔다.

  Note: TMS320C28x Byte Is 16 Bits

By ANSI/ISO C definition, the sizeof operator yields the number of bytes required
to store an object. ANSI/ISO further stipulates that when sizeof is applied to char,
the result is 1. Since the TMS320C28x char is 16 bits (to make it separately
addressable), a byte is also 16 bits. This yields results you may not expect; for
example, size of (int) = = 1 (not 2). TMS320C28x bytes and words are equivalent
(16 bits).
2007/11/12 10:20 2007/11/12 10:20
  1. 진이  2007/12/24 15:53     댓글주소  수정/삭제  댓글쓰기
    안녕하세요 구성하신 회로에 궁금한점이 있어 이렇게 덧글 남깁니다. 제가 2812로 테스트중인데 rxd와 txd를 Yarmini님께서 구성하신 회로데로 물려도 되는지 궁금해서 문의드립니다. 저는 rxd를 저항을 이용해서 5v->3.3v 레벨로 변환했고 txd를 바로 연결했는데 오류가 좀 많이 있어서요. dsp의 SCI와 연결할때 Yarmini님께서 구성하신 회로데로 바로연결해도 문제없을까요?
    • Yarmini  2007/12/24 23:44     댓글주소  수정/삭제
      안녕하세요^^ 메일주소 남겨주시면 더 좋았을텐데^^;;
      처음에는 3.3V로 바꿔줘야 하지 않을까.. 하다가 일단 그냥 달아봤는데요.
      별 문제 없이 동작하더라구요.

      전 BPS 4800으로 느린속도를 사용하였기 때문에 오류가 적었을 수도 있네요^^
  2. 진이  2007/12/25 17:42     댓글주소  수정/삭제  댓글쓰기
    감사합니다. ^^ 느린속도로 하니 오류가 거의 없어졌습니다. 덕분에 크리스마스는 집에서 보냅니다~ ^^; 그럼 즐거운 연말 크리스마스 보내세요~ ^^ ~
  3. 준이  2007/12/27 12:54     댓글주소  수정/삭제  댓글쓰기
    안녕하세요 yarmini님...제가 이번에 RF통신에 입문하게되었는데요...정말 왕초보에요...혼자 공부해서 시작해나가야하는데...어떻게 시작을 해야할지 감이안와서요...그리구 위의 회로는 yarmini님이 직접 만드신거죠? 전 BIM-418을씁니다...aj53s@nate.com으로 답글주세요...궁금한거있음 계속 여쭤바도 될런지 ^^; 참고로 데이터 시트는 볼줄압니다...
  4. 주이  2008/07/16 17:29     댓글주소  수정/삭제  댓글쓰기
    안녕하세요~ rf통신을 공부하고 있는 학생인데요 ㅋ 일단 하드웨어는 만든다고 만들었는데.. 근데 셀렉트에 저항 꼭 달아야하나요?? 그리구.. 프로그래밍을 코드비젼을 사용해서 하는데 아무리 찾아도 저랑 같은 조건인 프로그램은 없더라구요.. ㅜㅅㅜ 혹시 간단한 회로 테스트 할만한 프로그램 있으면 알려주심 안될까요?? 대충 개념은 있는데.. 값을 전송할때 한 핀을 통해서 직렬로 전송하는게 쫌 이해가 안되네요;; 어떻게 프로그램해야지 그렇게 나가는지;; 도움좀 주시면 감사하겠습니다~
    제 메일 주소는 yellow79012@naver.com 이에요~ 부탁드려요 ^^ㅋ
  5. 동혁  2008/10/09 14:34     댓글주소  수정/삭제  댓글쓰기
    안녕하세요?저도 이것과 비슷한 것을 만드려고하는데요..제가 워낙 초보라서 어려움이 많이있습니다. 이것저것 여쭤보려고하는데..우선 어떤 부품들을 사용하셨는지 궁금합니다. hyuck96@nate.com으로 메일주시면 감사하겠습니다. 그럼 수고하세요^^

2009년도 일본 마이크로마우스 1/2 Half Size로 규정 변경

2007/10/19 16:30 로보트

  일본 마이크로 마우스 대회 규정이 2009년도부터 바뀌게 된다. 기존의 벽과 마우스 크기가 반으로 줄어든다.
아래는 일본 마이크로마우스 대회의 공지사항.


  경기 규정의 중요한 변경 계획의 소식
  (마이크로 마우스 경기에 관한 크기의 변경))   
2007.8.1

2009 연도보다 마이크로 마우스 경기 「익스퍼트 클래스」에 대한 마이크로 마우스 본체 및 미로의 구획등의 크기를 각각1/2 (으)로 변경으로 하는 일을 검토중입니다.

이 변경에 의해, 현행규정에 의한 최종의 전국 대회는 내년2008 해의 제29 회전일본 마이크로 마우스 대회가 되어, 다음2009 해의 제30 회전일본 마이크로 마우스 대회로부터 신규정을 채용하는 경기회가 됩니다.

현재의 변경 계획
  ·마이크로 마우스의 크기:
   한 변25 cm의 정방형 → 한 변12.5 cm
  ·미로의 단위 구획·높이·두께:
   18 cm/5 cm/1.2 cm → 9 cm/2.5 cm/0.6 cm 


현행규정에 의한 최종의 전국 대회를 내년2008 해의 제29 회전일본 마이크로 마우스 대회로서 다음2009 해의 제30 회전일본 마이크로 마우스 대회에서 신규정을 채용하는 경기회로 하는 것을 계획중입니다.

다만, 현재의 단계에서는 「freshman 클래스」에 있어서 규정의 변경에 대해서는 미정입니다.

배경:
마이크로 마우스가 미국에서 제안되었다1977 해당시는 마이크로 프로세서가 등장해 동안도 없는 시기이며, 현행규정의 사이즈로 제작하는 일도 그 나름대로 실장 기술이 요구되었습니다만, 이미30 해가 경과한 것으로부터, 본경기에 대해도 새로운 기술적 챌린지적 요소가 필요하다고 생각하고 있기 때문에(위해)입니다.

※또한 거기에 따라, 마이크로 마우스2007 에 두어 신규정에 준거했다1/2 사이즈의 마이크로 마우스와 미로에 의한 데모를 실시할 계획입니다.( 상세한 예정은 후일 발표하겠습니다)

※또, 신규정의 도입에 아울러, 초심자의 분을 대상으로 한, 신규정에 준거하는 마이크로 마우스·킷을 제공할 수 있는 님, 검토를 진행하고 있습니다.


  올해 11/16~11/18일에 하는 일본 대회는 갈 수 있을 지 모르겠다. 그 때 쯤이면 다리는 걸을 수 있을 지.. 또 마우스는 언제 굴려 볼 것인지.. 에혀. 걱정이다. 더군다나 참가 신청 기간은 10/15일 까지라 지나버려서, 일단 접수는 해놓지만 어떻게 될 지 모르겠다.

  내후년부터는 일본 대회 규정이 1/2 Half Size라 해서 미로벽 크기가 반으로 줄어 든다. 따라서 대각을 하려면 마우스의 크기도 상당히 줄어 들어야 된다. 일단 PCB는 당연히 떠야 할 듯 하고, 모터와 엔코더를 작은 것을 써야 될 듯 하다. 암튼 새로 바뀌는 건 하드웨어 뿐이니.. 재미가 더 있을 지는 모르겠다.


*-*-*-*-* 추  가 *-*-*-*-*

Mr. Park Sun-Eung.


Thank you for your participation application of MICROMOUSE 2007.


An application form of the Micromouse contest expert class (1 robots) were accepted.


Please send a technical seat by the end of October.

 
  다행이 늦었지만 신청되었다는 메일이 날라왔다. 선택 할 수 있는 기회 가 생겼구나^^!!

2007/10/19 16:30 2007/10/19 16:30

[010v4] 모터 가감속 제어 시 2차 곡선 가속도 사용

2007/08/01 03:30 로보트

마이크로마우스나 라인트레이서나 잘 가는 로봇들은 하나 같이 주행이 부드럽다는데 있다. 마치 물 흐르듯이 주행한다.
(하윤이형꺼는 워낙 빨라서..안보이고^^)

즉, 모터의 속도를 변경 할 때 속도 곡선이 부드럽게 이어지며 모터에 무리가 가지 않기 때문에 더 높은 속도를 낼 수 있는 것이다.


이것을 계기로 가감속 시 2차 곡선 가속도를 사용하게 되었다.


기존의 경우  모터 가감속 제어시 가속도는 아래와 같았다.
사용자 삽입 이미지

여기서 꺽이는 부분을 부드럽게 이어주는 2차 곡선을 추가하면 아래와 같다.
사용자 삽입 이미지


실제 주행 해 본 결과 같은 가속도에서 보다 부드럽게 가감속을 했으며, 더 높은 가속도에도 안정적인 주행을 보였다.

또한 소스 추가도 4줄 정도이기 때문에 부하에 대한 부담도 없고 문제점도 적다.

여기서 증가율만 높인다면 기존 방식과 거의 시간 차이는 나지 않을 것이다(10틱안팍)

추가 해야 할 것은 거리 계산 법을 다시 맞춰야 한다. 오차 계산.
2007/08/01 03:30 2007/08/01 03:30
  1. inno  2007/08/01 04:35     댓글주소  수정/삭제  댓글쓰기
    늦은시간까지 열심이네^^
    나도 간만에 열혈 작업모드야~ ㅋㅋ
  2. koguryo  2007/08/01 13:56     댓글주소  수정/삭제  댓글쓰기
    이상하다...
  3. bin  2008/04/10 20:38     댓글주소  수정/삭제  댓글쓰기
    그래프는 혹시 매트랩으로 그리셨나요??ㅎ

[010v4] Que 버퍼를 이용한 속도 프로파일 모터 제어

2007/08/01 02:50 로보트

모터 제어 시 속도 프로파일을 Que에 넣어 자동으로 수행되도록 하는 알고리즘이다.

예를 들어 가감속을 할 경우 일반적인 순서는 아래와 같다.

1. 가속을 위한 목표 속도(2m/s), 가속도, 거리 설정
2. 목표 거리에 도달 할 때 까지 대기
3. 감속을 위한 목표 속도(0.1m/s), 가속도, 거리 설정
4. 목표 거리에 도달 할 때 까지 대기


이렇게 진행되는 데, 여기에 Que 버퍼를 이용하여 아래와 같이 바꾼다.

1. 가속을 위한 제어 프로파일 구조체 생성(속도, 가속도, 거리, 보정비 등등 정보 포함)
2. 감속을 위한 제어 프로파일 구조체 생성(속도, 가속도, 거리, 보정비 등등 정보 포함)
3. 모터 제어 Que 버퍼에 1, 2번 구조체를 Push
4. Que 버퍼의 정보가 완료 될 때 까지 대기


이런 식으로 진행하며, 모터 인터럽트에서는 Que 버퍼의 내용을 검사하여 목표 거리에
도달 했는 지, 다음 수행 할 제어정보가 있는 지 검사하며 구동된다.

이 구동 방식은 마우스가 턴을 할 때 또한 사용할 수 있으며, 따로 직진과 턴의 인터럽트를 분리 하지 않아도
사용이 가능 할 꺼 같다.

또한 프로파일에 여러 정보들을 쉽게 설정 하고 적용 할 수 있으며 프로파일 단위로 진행 되기 때문에 각각의 최적 상수를 적용하고 문제점을 찾는데 도움이 될 듯 하다.

보강할 점으로는 모터에 특정 제어가 바로 적용할 필요가 있을 수 있으니 예외 처리를 추가하여야한다.


2007/08/01 02:50 2007/08/01 02:50

[010v4] PID제어시 QEP설정과 센서값 적분 입력

2007/07/20 23:42 로보트

PID 제어를 위해 2811 코드를 참고로 포팅하다 보니

QEP를 0으로 변경시에 초기화 명령어를 사용하지 않고, 2811처럼 Count Register에 0을 입력 하였더니,

가끔씩 0으로 초기화가 되지 않는 문제 발생. 이것때문에 PID제어시 톡톡 튀는 증상이 있었다.

----

센서 입력 방식을 기존의 절대값에서 하윤이형의 적분 방식으로 변경 시도.

ADC Sequence에 입력을 동일하게 8개를 설정한 후

한번에 연속적으로 8번 ADC하여 값을 구하는 방식을 사용.

이때 Sequence Clock을 조정하여 시간차를 구함.


설계가 간단하여 코드가 기존의 방식과 별로 차이가 없을 듯 하다.


그런데 현재 적분과 관계없이 센서값이 일정 값이상 들어오면 ADC값이 안들어오는

문제가 있다.

----

마우스 이름은 '010v4' 5글자인데. VFD는 4글자다...

마우스의 Display화면에 마우스 이름을 다 넣지 못하다니..

큰일이 아닌것 같지만서도.. 몬가 찜찜한 문제.

스크롤 방식을 짜던가, 010v4의 닉네임을 만들어야겠다ㅋ

----


하나하나 의외로 발생하는 문제들 때문에 진도가 잘 나가지 않고 있다.

휴.. 서울대회가 얼마 안남았는데..

 

2007/07/20 23:42 2007/07/20 23:42
  1. koguryo  2007/07/21 10:16     댓글주소  수정/삭제  댓글쓰기
    sequence clock은 머여? ACQ_PS로 안해? 그리고
    continuous cascaded sequential samping 이 편하지 않나? 인터럽트 모드 쓰면 8번 구하고 나서 자동 인터럽트 걸리게 하믄 될텐데...
    • Yarmini  2007/07/23 22:40     댓글주소  수정/삭제
      아.. ADC 클럭하고 ACQ_PS클럭 조정하면서 했어요^^ 자동 인터럽트 방식 안쓰고요. 그냥 기존의 타이머로 돌리는 것을 그대로 사용하되 한번에 하나씩 ADC하는 것을 한번에 8번씩 하는 것으로 바꿨어요. 버그도 잡고 이제 보정해야죠`

[010v4] TMS320F2808 Port Pulldown으로 고생

2007/07/03 14:40 로보트

사용자 삽입 이미지
Canon DIGITAL IXUS 65 | 1/50sec | F2.8


센서부를 제외한 보드 조립을 완료하여 JTAG을 연결, 테스트 해봤다.

통신까지는 잘 되는데, Monitor Program으로 점프 뛰는 명령어에서 예외 처리가 발생.

진행이 되지 않는다. 기존 테스트 보드에서와 결과가 비슷하여 온갖 사항을 다 점검하여 시도해 봤으나 잡히지 않았다. 결국 하루 종일 고생하고 새로운 PCB에 다시 최소한의 부품으로 조립하게 되었는데, 잘 되는 것이 아닌가..

원인을 검토 해 본 결과 스위치로 쓸 포트를 풀다운 하면 그런 증상이 발생 하였다. 보통 스위치포트에는 풀업 저항을 연결 하는데 난 스위치가 눌릴 때 'HIGH'상태로 하고 싶어 풀다운 저항을 연결하였었다. 풀업으로 바꾸니까 바로 정상 동작!

GPIO13, 14포트의 초기 풀다운 시의 원인은 좀 더 살펴 봐야 겠다.


(순식간에 보드가 두장이 됬네...)

2007/07/03 14:40 2007/07/03 14:40
menu openmenu close