로그인 | 회원가입 | 주문 조회
참고자료 [ICCAVR V7] MS2 속도, 방향조절 예제입니다.
글쓴이 administrator 등록일 2012-05-08 조회 7,356

안녕하세요?

고객님들 중에 AM-MS2를 이용할 때, 스테핑 모터의 속도를 스위치로 조절하고 싶다고 하셔서,

참고하실 만한 소스를 올려드립니다. 예전에 짯던 소스 중의 일부를 편집한 것입니다.

[소스 설명] 타이머를 활용하여, MS2에 넣어주는 클럭을 넣는 타이밍을 조절하면 속도가 조절 됩니다. TS8을 이용하여 속도와 아울러 방향도 조절하도록 프로그래밍 되어 있습니다. 

이 소스에서 main 함수의 swtich(SW_PORT) 구문에서

D0~D3번키 1번모터구요
  D0번키 : 1번모터 CCW 구동
  D1번키 : 1번모터 CW 구동
  D2번키 : 1번모터 정지
  D3번키 : 1번모터 동작

D4~D7번키 2번모터구요
  D4번키: 2번모터 CCW 구동
  D5번키 : 2번모터 CW 구동
  D6번키 : 2번모터 정지
  D7번키 : 2번모터 동작

이렇게 되어 있습니다만,
motor1durate 값을 조절하면 모터 속도가 조절됩니다.

모터가 두 개 구동이 필요 없다면, D4~D7번을 새롭게 짜서 넣으면서,
1번 모터의 구동에 관련해서 모터 속도 조절하는 부분을 넣으면 될 것 같습니다.

아니면, 그냥 스위치 보드인 TS8을 두 개 사용하면 될 것 같습니다.
즉 위의 구동은 포트 A에 포트 D 에도 하나 꽂아주면 그것은 속도 조절에 쓰게 됩니다.
D0~D3을 쓰고 있습니다.
  D0~D1 : 모터 1의 속도 증감
  D2~D3 : 모터 2의 속도 증감

만약,

switch(SW_PORT){
case 0x01 : .....................
.......................여기까지는 똑같이 놓고.
아래 부분만 변경
case 0x80 : speedswstate[0] = PRESS;       
        break;
case 0x40 : speedswstate[1] = PRESS;
        break;
case 0x20 :
         break;               
case 0x10 :
         break;


그리고, // 이후 모터의 속도 컨트롤
            switch(SPEEDSW_PORT&0xC3){
이 부분의 swtich 문은 삭제 이렇게 하면 쉬울 것 같네요.

수고하세요.

다음글 AB-E128 확장용 보드 (AM-128PRO 등의 모듈의 만능기판용 확장모듈)
이전글 KR-DL128 V01