취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

NI 9401을 이용한 센서 감지 및 서보모터 동작

거리센서.png

 첫 사진은 NI 9401을 이용한 hc-sr04 초음파센서 코드입니다. distance 값이 10 이하이면 서보모터가 작동하고 3~5초간 시간 지연을 줘서 그만큼 늦게 올라오게끔 코딩하고 싶습니다.

서보모터.png

 high time control로 서보모터의 각도를 제어하는데 저 high time은 맨 처음 사진 while문 안에 있는 case문에서 distance가 10 이하인것이 true일 때의 값으로 설정하려고 합니다.

 

거리 + 서보.png

 따라서 이렇게 플랫시퀀스를 이용해 앞 시퀀스가 감지부, 뒤쪽이 동작부로 만들어, true일 때 whlie문이 종료되게 설정하고 그 때의 값을 high time에 넣어주면 논리적인 오류는 없는 것인가요? 서보모터 동작 후 원래 hightime 값으로 되돌아오게 하려면 어떻게 해야하는지도 궁금하네요.

0 포인트
1/2 메시지
1,849 조회수

일단 서보 모터가 어떻게 동작하는 모터인지 모르겠네요.

 

서보모터는 대충  위치제어 모드, 속도 제어 모드가 있는데

 

모드에 따라서 입력으로 넣어주는 값도 다릅니다.

 

질문의 느낌상 위치 제어를 하려고 하시는 것 같은데,

 

펄스(사각 파형 1개)를 원하는 만큼 출력하는 방식이 있고(예를 들면 펄스 1개에 1도씩 움직임)

 

펄스의 high, low 시간의 비율로 회전시키는 방식이 있고

(원하는 위치에서 멈춤 high, low 시간을 동일하게 주거나(+,- 전압일 때,) 아예 꺼버리거나(+,0 전압일 때)

 

그냥 전압으로 회전시키는 방식(원하는 위치에서 멈춤. 멈출려면 0V 를 출력함) 등이 있습니다.

-----------

LabVIEW는 그냥 코딩의 한 형태일 뿐, 센서와 제어의 원리는 일반적인 사항을 그대로 따릅니다.

따라서, 도움을 받으시려면 좀 더 자세히 알려주시거나

 

위의 서보모터 동작원리를 좀 더 확인해 보시는 것이 좋을 것 같습니다.

 

 

0 포인트
2/2 메시지
1,790 조회수