회원가입 ID/PW 찾기
AA

코드비전으로 스텝 모터 구동하는 소스를 구해 사용했습니다.

 

#include <mega128.h>
unsigned int cnt0;
unsigned char led=0x88, onoff=1;
interrupt [2] void exint0(void){ // interrupt [EXT_INT0] void exint0(void) 처럼 mega128.h에 저장된 정의를 사용해도 됨
if(onoff == 0) onoff = 1; else onoff = 0;
}
interrupt [17] void timerint0(void){ // interrupt [TIM0_OVF] void timerint0(void)로 해도 됨
if(onoff == 0) if( ++cnt0 == 2 ){
cnt0 = 0; led >>= 1; if(led == 0x08) led=0x88; }
PORTE = led;
TCNT0 = 6; // 재정의 1msec = 64*(256-6)/16 시뮬레이션할 때는 조절할 필요가 있음
}
void main(void){
DDRE = 0x00; // 포트F를 출력으로
DDRD = 0xff; //포트D를 입력으로 디폴트 입력으로 설정되어 있으므로 필요하지는 않음
SREG.7 = 1; //인터럽트 전체 허용
EIMSK |= 0x01;  // INT0 허용
EICRA |= 3; // 상승에지 트리거
TIMSK |= 1; // 타이머0 오버플로 인터럽트 개별허용
TCCR0 |= 4; // 분주비를 64로 설정 시뮬레이션할 때는 조절할 필요가 있음
TCNT0 = 6; // 1msec = 64*(256-6)/16 시뮬레이션할 때는 조절할 필요가 있음
for(;;);
}

 

PORT E에 스텝모터를 두 개 연결해서 구동시켰는데 하나는 정상적으로 시계반대방향으로 작동하는데

 

반대쪽 하나는 걸린듯이 움직이질 않습니다. 손으로 억지로 움직이려 해도 걸린 듯 움직이지 않구요.

 

무엇이 문제인지, 스텝모터를 두 개 모두 정상적으로 구동하렬면 어떻게 해야 하는지 고수님들의 도움 부탁드립니다.

 

댓글 2
  • No Profile

    if(onoff == 0) if( ++cnt0 == 2 ){
    cnt0 = 0; led >>= 1; if(led == 0x08) led=0x88; }
    PORTE = led;

    이 부분이  상 입력부분인 듯 한데요.

    역상으로도 넣는 부분이 필요할 듯 하네요. 아마도 스텝모터에 케이블 방향이 반대일 듯.

  • No Profile

    강제적으로 움직이면 모터 망가집니다... 억지로 해도 안 움직인다면 각 상에 전류가 들어가기 때문에 움직이지 않습니다.

     

    그리고 포트출력으로 스텝모터가 구동되는지 의심이 됩니다. 전류가 충분하지도 궁금하네요...

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
106 펌웨어 & 코딩언어 객체지향프로그래밍4 끼르 373 2017.06.19
105 펌웨어 & 코딩언어 적외선 센서에 대한 질문입니다.3 jaemi2010 354 2016.02.25
104 펌웨어 & 코딩언어 구조체 포인터 캐스팅??1 기다려줄래 324 2015.07.10
103 펌웨어 & 코딩언어 matlab에서 작성된 m file을 c++로 변환하고 싶습니다.1 마린스토리 296 2014.04.28
102 펌웨어 & 코딩언어 HOTC언어로된 MPPT제어 프로그램 Code Vision 으로 변환하기 찰떡젤리 597 2014.04.21
101 펌웨어 & 코딩언어 HOTC 명령어 좀 상세히 알고 싶습니다1 jsp 413 2014.04.03
100 펌웨어 & 코딩언어 HOT피보나치 수열..2 aNitMotD 565 2013.10.30
99 펌웨어 & 코딩언어 HOT1D FEM coding 문제 ..원하는 답이 안나와요 수치해석미쵸 524 2013.09.29
98 펌웨어 & 코딩언어 HOTPIC 16F628A와 CCSC 기반의 프로그래밍 질문입니다. 제발 도와주세요ㅠㅠ 신천동주민 493 2013.09.24
97 펌웨어 & 코딩언어 HOT비주얼베이직 연산 및 줄바꿈에 대한 질문입니다.1 원할머니보고쌈 692 2012.11.07
96 펌웨어 & 코딩언어 HOTc언어 질문인데요..3 하하하하히 410 2012.09.10
95 펌웨어 & 코딩언어 HOTC언어제어3 tbwnaoslwj1 661 2012.08.09
94 펌웨어 & 코딩언어 HOTmatlab 질문입니다.. 소다수1 424 2012.06.06
93 펌웨어 & 코딩언어 HOT-(C언어(함수호출)로 만든 크리스*마스*트리*프로그램)-1 리종순2 1482 2011.12.14
92 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 1389 2011.11.15
91 펌웨어 & 코딩언어 HOTunikey program 수정 jjhuem 1135 2011.10.11
90 펌웨어 & 코딩언어 HOTAtmega128에서 Reset 하는 방법 중 궁금한 점이 있습니다!!!4 공돌이의꿈 3171 2011.06.21
89 펌웨어 & 코딩언어 HOTC언어랑 matlab의 차이?1 약곰탱이 3534 2011.06.02
88 펌웨어 & 코딩언어 HOTVHDL 전가산기 설계 질문입니다. 나트륨 3007 2011.03.26
87 펌웨어 & 코딩언어 HOTC 배열이용해서 엑셀 데이터 끌어오는 방법???2 꼬꼴리 2131 2011.03.24
  • 지식인은 지금까지 일어났던 일을 안다. 천재는 앞으로 일어날 일을 안다.
    - 치아다
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.