게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
혹시 하드웨어 하시는분있나요? avr 스탭모터 구동질문드립니다
게시물ID : programmer_3168짧은주소 복사하기
작성자 : ducking(가입:2013-10-20 방문:89)
추천 : 0
조회수 : 971회
댓글수 : 31개
등록시간 : 2014/05/09 22:18:17
11.jpg

유니폴라 1상 2여자 스탭모터에 뉴티씨사 위제품을 모터드라이브로 사용하고있습니다.

여기서 문제가되는게 직진을 구동하려고
int step_f[]={0x88, 0xcc, 0x44, 0x66, 0x22, 0x33, 0x11, 0x99}; 
int x =0;
DDRD = 0xff;

모터구동

PORTD = step_f[x];
x++;
if(x==7)x=0;


이러한식으로 구동을하였고 모터는 일단잘돌아갑니다 하지만 문제가되는게 양쪽모터 모두 같은방향으로 회전되

직진이안됩니다.

step_f배열이문제인것같아
int step_f[]={0x89, 0xc1, 0x43, 0x62, 0x26, 0x34, 0x1c, 0x98}; 
로도바꿔보고
심지어
int step_f[]={0x80, 0xc0, 0x40, 0x60, 0x20, 0x30, 0x10, 0x90}; 
로 한쪽 출력을 모두 0으로 만들어버려도 양쪽이 동시에 똑같은 방향으로 회전합니다. 

아직이유를찾지는못했네요

원래 

PORTD &= 0x0F;
PORTD |= step_f[x];
PORTD &=0xF0;
PORTD |= step_f[x];

이런식으로 상위비트 하위4비트 따로구동했을때는 되긴했는데 이렇게하면 양쪽 모터의 오차가 생겨버립니다. 혹 원인이나 해결책이 뭔지알수있을까요

전체 추천리스트 보기
댓글쓰기
리스트 페이지로
데이터절약모드
◀뒤로가기
PC버전
맨위로▲
공지 운영 게시판요청 자료창고