몰디브를 꿈꾸며...

스탭 모터 구동하기 본문

하드웨어 일반

스탭 모터 구동하기

노란채송화 2010. 2. 6. 18:52

MCU : ATMEGA88

모델명 : 35BYJ46

제품 페이지 : http://www.china-jiuling.com/encp-1.php?pid=4&pname=35BYJ46


제품 카달로그가 인터넷에서 제공되지 않는다. 못찾겠다.

MCU 포트와 케이블 연결은 아래와 같이 했다.

케이블 번호

5 <---> 12V

4<--->PC0

3 <---> PC1

2 <---> PC2

1 <---> PC3

1-2 여자방법으로 구현하여 보았다. 정/역방향 동작을 테이블화 해보면,

const char forward_step_tbl[8] = {
0x01,
0x03,
0x02,
0x06,
0x04,
0x0c,
0x08,
0x09
};
const char backward_step_tbl[8] = {
0x09,
0x08,
0x0c,
0x04,
0x06,
0x02,
0x03,
0x01
};

위에서 작성한 테이블값은 카달로그상 동작관련 표를 보고 작성한것이다.

각 테이블에 있는 값을 순서대로 해당 포트로 때려주면 모터가 동작한다.

차례로 때려줄때 중간에 DELAY를 넣어줘야 한다.

시험결과 약 12000uS 지연이 최대인듯 하다.

그런데 정방향/1초대기/역방향/1초대기로 시험해본결과 위치가 조금씩 어긋나서 시간이 경과돼면

처음 시작한 위치보다 많이 벗어나 있다.

그래서 정지상태에서 모터를 구동/ 모터 정지시DELAY를 따로 설정해서 동작 시켰다.

약 2ms를 줬다.

결과적으로 처음과 달리 제위치로 돌아 온다.

Comments