|
장비쪽에 있으시군요. *^0^*
기본적으로 펄스제어 방식의 모터 구동에는 몇가지 모드가 있습니다.
1. Cw/CCw 방식
- 모터 드라이버에 순방향으로 가려면 Cw에 신호를 인가하고,
역방향으로 가려면 Ccw에 신호를 인가하는 방식.
2. Pulse/Direction 방식
- Pulse 채널에는 모터의 속도 지령 펄스를 인가하고,
Direction 채널에 모터의 방향 출력을 내는 방식.
(실제 드라이버 접점은 Cw = Pulse, Ccw = Direction입니다.)
아래의 문제는 모터가 Cw/Ccw 방식인데 아진 보드에서는 Pulse/Direction으로 설정되었을 경우 발생됩니다.
이유는, 아무리 출력을 내도 Cw로만 속도지령 펄스가 나오기 때문입니다.
결론은,
// 펄스 출력 방식 함수군 -====================================================================// 펄스 출력 방식을 설정/확인한다.
// method : 출력 펄스 방식 설정(typedef : PULSE_OUTPUT)
// OneHighLowHigh = 0x0, 1펄스 방식, PULSE(Active High), 정방향(DIR=Low) / 역방향(DIR=High)
// OneHighHighLow = 0x1, 1펄스 방식, PULSE(Active High), 정방향(DIR=High) / 역방향(DIR=Low)
// OneLowLowHigh = 0x2, 1펄스 방식, PULSE(Active Low), 정방향(DIR=Low) / 역방향(DIR=High)
// OneLowHighLow = 0x3, 1펄스 방식, PULSE(Active Low), 정방향(DIR=High) / 역방향(DIR=Low)
// TwoCcwCwHigh = 0x4, 2펄스 방식, PULSE(CCW:역방향), DIR(CW:정방향), Active High
// TwoCcwCwLow = 0x5, 2펄스 방식, PULSE(CCW:역방향), DIR(CW:정방향), Active Low
// TwoCwCcwHigh = 0x6, 2펄스 방식, PULSE(CW:정방향), DIR(CCW:역방향), Active High
// TwoCwCcwLow = 0x7, 2펄스 방식, PULSE(CW:정방향), DIR(CCW:역방향), Active Low
BOOL PASCAL EXPORT CFS20set_pulse_out_method(INT16 axis, UINT8 method);
이 함수를 사용하여 4 ~ 7번으로 설정해야합니다. *^0^*
빌더 왕초보 님이 쓰신 글 :
: 안녕하세요 ...
: 고수님들에 도움으로 하루하루를 살고 있습니다..
: 다름이 아니라...제가 이번에 진행하게 되는 프로젝트에...
: 마우스로 모터를 구동해야 하는 기능이 있습니다.
: 마우스 Move이벤트로 움직일때 마다..같은 방향으로 이동을 해야 하는데
: 한쪽방향으로 가다가 반대로 마우스를 움직이면 가던방향으로 계속 가네요...
: 음...이건 물리적으로 어쩔수 없는건가요?
: 아님...어떤 방법이 있을까요...참고로 아진모션보드를 사용합니다.
: 함수는 V_move입니다...(속도무브)..질문이 이해불가 이면 다시 올리겠습니다.
|