본문 바로가기

아두이노+랩뷰 컴파일러 서보모터 제어하기

반응형

LINX를 활용하여 서보모터제어를 하는 법은 간단햇는데 오늘은  Arduino Compatible Compiler for   LabVIEW를 사용하여 서보모터를 제어하는 법은 우여곡절이 있었습니다.


http://eleit.tistory.com/349


위의 포스팅에서 처럼 LINX를 사용해서 서보모터 제어할 때는 타워프로의 SG-90이라는 제품을 사용했습니다. 모터 결선하고 예제 돌리면 바로 제어가 가능합니다.그런데 어떤 이유에서인지 랩뷰&아두이노 컴파일러를 사용해서 PWM을 제어하니  SG-90가 하나씩 고장나서 결국에는 가지고 있는 3개다 고장이 나버렸습니다. 정확한 이유는 아직도 모르겠네요. PWM제어를 한 것 밖에 없는데 말이죠. SG-90이랑 뭔가 안맞는가 해서 myRIO에서 GWServo를 사용하는 예제가 있어서 알리바바에서 GWServo구매했습니다. 



 그런데 랩뷰&아두이노 컴파일러가 업데이트 되면서 기존에 없는 서보VI랑 예제도 업데이트가 되었네요. 예제를 넣어보니 완전 잘 돌아갑니다. 결국 되긴 되는데 뭐가 문제 였는지는 알 수 없게됬네요;;; 나중에 타워프로 SG-90 서보모터를 구하게 되면 테스트 해보겠습니다.


[준비물]


아두이노, USB 케이블

서보모터

랩뷰와 Arduino Compatible Comfpiler for LabVIEW가 설치된 노트북


[결선도]




[코드]


-프런트패널-


-블럭다이어그램-


While문에 For문이 들어가있는 구조로 서보모터에는 Servo Write Angle VI에는 0~179 값이 들어가게 됩니다. 그래고 179값이 입력되면 For문의 좌측상단에 180으로 입력이 되어 있기 때문에 180번 반복을 끝내고 나가서 While문을 다시 실행하게 되면서 반복됩니다. 그래서 모터는  0~180도를 계속 반복합니다. 아래 코드를 만들어 보시면 이해를 하실 수 있을 것 같습니다.



[실행화면]





반응형
-->