NT-ARSv1 CAN 통신하기
NT-ARSv1의 CAN 통신을 사용위한 연결 방법입니다.
먼저 PC에서 USB 포트를 이용하여 CAN bus를 쉽게 접근하기 위해서는 USB to CAN bus 어댑터 모듈이 필요합니다.
저희는 11월중 순에 엔티렉스에서 출시 될 [ LinKerS USB2CAN ] 제품을 사용하였습니다.
두 번째로 CAN통신을 위해 배선을 연결해 주어야 합니다.
NT-ARSv1의 4 pin(CAN H)을 USB2CAN의 7 pin(CAN H)에
NT-ARSv1의 5 pin(CAN L)을 USB2CAN의 2 pin(CAN L)에
그리고
NT-ARSv1의 6 pin(GND)을 USB2CAN의 3 pin(GND)에 연결해 줍니다.
마지막으로 NT-ARSv1은 CAN H/L 단자간 종단저항 120옴 정도가 필요합니다.
본글에서 예제로 사용한 CAN2USB의 경우는 간단히 점퍼 설정으로도 가능해서 처리했지만,
다른 장비를 사용하시는 경우는 종단저항을 연결하시기 바랍니다. (NT-ARSv1의 메뉴얼 참고)
USB2CAN과의 배선 연결이 끝나면 세 번째로 CAN 통신 속도를 설정해 주어야 합니다.
최고 속도인 [ 1000Kbps ]로 설정해서 PC와 CAN 통신을 할…
[소스코드공개] Processing을 이용한 NT-ARSv1 모니터링 프로그램
이번 글의 목적은 사실 Processing이라는 언어에서 저희 제품인 NT-ARSv1의 데이터를 핸들링하는 예제를 보여드릴려고 했습니다. 그런데 예제 작업을 하다보니 그냥 정식버전이라고 부르기엔 좀 약하지만 어쩌다 보니 그냥 모니터링 프로그램이 되어 버렸습니다. 그래도 Processing의 전체 소스코드도 공개하는 (사실 배포본을 만들어도 소스는 공개되지만 말이죠^^) 모양새가 되었습니다.
이 프로그램은 자바기반의 Processing으로 만들어 졌습니다. 그래서 자바가 설치되어 있어야합니다. 윈도우에 기본으로 포함되어 있진 않아도 다들 깔려있기 때문에 별 문제없이 실행이 될겁니다. NT-ARSv1[바로가기]과의 연결은 이전에 응용예제[바로가기]에서 많이 다루었으니 그 글들을 확인하시기 바랍니다. 일단 PC와 NT-ARSv1은 잘 연결되었다고 보고 글을 적도록 하죠.
일단 프로그램부터 다운로드 받으셔야죠^^
먼저 압축된 파일을 풀고
하나밖에 없는 응용프로그램을 실행하시면 됩니다. Processing 에디터인 PDE프로그램에서 source 폴더에 있는 pde화일을…
아두이노에서 NT-ARSv1의 데이터를 받는 예제
NT-ARSv1의 출력 데이터를 아두이노에서 해석하는 예제입니다. Roll, Pitch와 그 각속도 이렇게 4개의 값중에서 사용자가 선택할 수 있으며, 출력된 데이터는 문자열이 아니라 double형의 숫자로 받도록 했습니다. 이미 예전에 [바로가기]에서 NT-ARSv1의 데이터를 받는 부분을 다루었는데요. 당시에는 단순히 값을 한 번 확인하는 것과 아두이노와 ARS와의 연결에 대한 부분을 다루었다면 이번에는 약간 함수화를 했습니다. 기본적으로 하드웨어적인 연결은 [바로가기]와 같으니 먼저 읽고 넘어오시기 바랍니다.
일단 오늘 보여드릴 예제는 몇몇개의 함수로 구현되어 있어서 함수별로 하나씩 확인해보도록 하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
String getARSresultAtOnece() { String outputValuesOfARS = ""; Serial1.print("<CAO>"); delay(2); while (Serial1.available()) { char incomingChar = Serial1.read(); outputValuesOfARS += incomingChar; } return outputValuesOfARS; } |
먼저 getARSresultAtOnce() 함수입니다. 이 함수는 NT-ARSv1의 데이터를 STRING의 형태로 저장하는 것이 목적입니다. 여러가지 형태로 다양하게 사용하실려면 이 함수만 사용하신 다음 간편하게 응용하시면 됩니다. 함수이름에도 나타나 있지만, ARS의 <CAO>명령을 사용합니다. 만약 사용자가 <CAH>명령을…
아두이노에서 NT-ARSv1의 데이터 받기
아두이노 Arduino MEGA ADK에서 NT-ARSv1데이터를 받아서 각도(degree)로 환산하는 예제 코드입니다. 아두이노로 저희 NT-ARSv1를 다룰려고 하시는 분들께 도움이 될 수 있으면 좋겠습니다.
우리 연구소에서는 아주 예전에 Pitch와 Roll각도를 받을 수 있는 NT-ARSv1[바로가기]이라는 저가의 ARS 모듈을 출시했었습니다.
오늘은 여러 유저들께서 자주 요청하시던 아두이노에서 이 ARS의 데이터를 받는 예제를 공개할려고 합니다. 일단, 이 글에서 테스트 되는 아두이노 보드는 Arduino MEGA ADK[판매 페이지 바로가기]입니다. 왜 MEGA ADK 버젼을 사용했냐면, 저는 PC에서 데이터를 확인하고 싶었기 때문에 ARS와 시리얼 통신으로 연결될 여분의 시리얼 포트가 더 필요했기 때문입니다. Arduino MEGA ADK는 총 4개의 시리얼 포트를 가지고 있어서 선정했구요.
그런데 연결하다보니 약간의 문제를 만났네요. 어떤 문제냐면, NT-ARSv1의 시리얼통신 출력은 RS232신호로 나온다는…
NT-Terminal v1.0을 이용하여 NT-ARSv1동작확인하기
안녕하세요
오늘은 저희의 터미널명령입력기NT-Terminal v1.0)를 사용하여 각도센서 NT-ARSv1의 데이터값을 받아보도록 하겠습니다.
먼저 RS232통신을 위해 NT-ARSv1를 컴퓨터와 아래와 같이 연결해줍니다.
(※자세한 연결 방법 및 정보는 메뉴얼을 참고하도록 합니다)
메뉴얼에 나와있는 핀맵을 보고 컴퓨터와 연결을 해주었다면
다음으로 필요한 NT-PortCheker를 다운받아 설치해주시기 바랍니다
프로그램 다운로드 후 설치를 완료하였으면 이제 동작을 확인해보도록하겠습니다.
먼저 NT-Terminal v1.0를 실행시키고 Search Comm Port 버튼으로 연결된 포트를 찾습니다.
저 같은 경우에는 NT-ARSv1이 포트6에 연결되어 있습니다.
NT-ARSv1은 초기 통신속도값이 115200bps로 설정되어있으므로 통신 속도값을 맞춰준 후 Connect버튼을 눌러 연결을 시켜줍니다.
그다음 동작에 필요한 명령어들을 make Command 버튼을 이용하여 아래와 같이 간단하게 단축키로 지정해줍니다.
단축키 지정 후 전부 적용을 눌러 단축키 세팅을 완료합니다.
단축키 세팅까지 완료하였으면 이제 본격적으로 동작을 시켜보겠습니다.
먼저 단일명령 입력란을 한번 클릭한후…
초보자를 위한 NT-ARSv1 (Attitude Reference System) 보강
* Previously…
초보자를 위한 NT-ARSv1(Attitude Reference System)을 게시했었습니다.
이번에는 NT-ARSv1 (Attitude Reference System)을 좀 더
자유롭게 구동하기 위한 보강 Source를 만들어 보았습니다.
Radian 값과 Degree 값 모두 볼 수 있게 되어 있습니다.
* NT-ARSv1 Source
그럼 상세하게 NT-ARS의 <CAH>각도 값을 출력시키기 위한
비주얼 베이직 6.0 Source를 설명해 드리겠습니다.
Private Sub receive_Click()
receive.Enabled = True
Disconnect.Enabled = True
MSComm1.CommPort = 3
MSComm1.Settings = “115200,n,8,1″
MSComm1.PortOpen = True
MSComm1.Output = “<CAH>”
End Sub
Private Sub MSComm1_OnComm()
Dim n As Integer
Dim n0 As Integer
Dim n1 As Integer
Dim n2 As String
Dim n3 As Integer
Dim n4 As String
Const pi = 3.141592
Const deg = 180/pi
If MSComm1.PortOpen = False Then
Exit Sub
End If
Static…
초보자를 위한 NT-ARSv1 (Attitude Reference System)
* G.INS NT-ARSv1란?
G.INS의 G는 관성항법장치에서 중요한 요소인 Gravity를 의미하기도 하며, 사용자에게 좀 더 나은 결과값을 제시하기 위해 Genius한 제품을 만들기 위한 저희의 의지를 의미하기도 합니다.
또한 G.INS의 INS는 관성항법장치(Inertial Navigation System)을 의미하는데, 관성항법장치는 엔코더와 같이 고정점이 있어야만 상대각도를 측정할 수 있는 자신의 자세를 측정하기 위한 필수 장비입니다.
이번에 저희 ㈜엔티렉스는 G.INS 제품군의 첫 제품으로 NT-ARSv1을 출시하게 되었습니다.
* NT-ARSv1(Attitude Reference System)란?
자이로센서와 가속도센서를 융합하여 각도를 추정할때, 흔히 공간상의 3개 자세중에서, z축 중심의 회전인 yaw를 제외하고, pitch와 roll을 측정하는 장비를 ARS라고 합니다.
ARS를 만들기 위해서는 3축 가속도 센서와 2축 자이로센서에 추가로 자이로의 온도특성을 보정하기 위한 온도센서,3개의 센서를 융합하고 필터를 설계하기 위한 MCU가 포함됩니다. 만약, Yaw까지 측정한다면, 흔히 AHRS라고 부릅니다.
ARS(Attitude Reference System)는…