March 28, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

초보자를 위한 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라고 합니다.

001

ARS를 만들기 위해서는 3축 가속도 센서와 2축 자이로센서에 추가로 자이로의 온도특성을 보정하기 위한 온도센서,3개의 센서를 융합하고 필터를 설계하기 위한 MCU가 포함됩니다. 만약, Yaw까지 측정한다면, 흔히 AHRS라고 부릅니다.
ARS(Attitude Reference System)는 관성항법장치들 중에서 직행방향과 측면방향을 중심으로 회전하는 각도(Roll,Pitch)를 의미합니다.
저희 NT-ARSv1은 32 비트 ARM Cortex-M3 마이크로프로세서를 탑재하여 3축 가속도센서, 2축 자이로센서의 데이터를 사용하여 6개의 3차원 자세정보(X, Y, Z, ROLL, PITCH, YAW) 중 ROLL 과 PITCH의 각을 구하는 ARS 모듈로써, Roll과 Pitch의 각도와 각속도를 사용자에게 RS232나 CAN통신으로 라디안(radian) 단위로 출력해 주도록 설계되어 있습니다.
저희 NT-ARSv1은

-. 소형 항공기의 자세측정이나

-. 로봇의 특정 지점의 절대각도

-. 세그웨이와 같은 밸런싱로봇의 자세측정

등에 활용할 수 있습니다.

 

* NT – ARSv1 제품 특징 

NT-ARSv1은 RS232통신과 CAN통신이 지원됩니다.
흔히 쓰이는 RS232통신을 사용하여 사용자가 쉽게 접근할 수 있고, 장거리 멀티 통신인 CAN(Control Area Network)을 인터페이스로 사용함으로 주 메인 컨트롤러보드에서의 장착을 벗어나, 로봇의 중심에서 정확한 각도를 검출하여 사용자에게 알려줄 것입니다.
NT-ARSv1은 센서 특성에 따라 오차가 발생하는 것을 줄이기 위해, 출하 단계 에서 모든 Calibration을 마치고 출고합니다.
따라서, 처음 전원 인가 시 Booting 시간을 제외하고 별도의 대기 상태가 필요 없습니다.
또한 사용자가 편의에 따라 Calibration을 할 수 있도록 Software 명령어를 준비해 두었습니다.
NT-ARSv1은 1.6T의 알루미늄 케이스 타입으로 소형화 하여 제작하였기 때문에, 큰 충격에서도 제품을 보호할 수 있습니다.

 

* NT ARS Source Code

폼화면

* 비주얼 베이직 6.0에서  MSComm을 이용하여 ARS 각도를
측정하기 위한 Form화면을 구성하였습니다.
* MSComm과 CommandButton 2개  TextBox 1개를 사용하였습니다.
MSComm : Rs232c통신을 하기 위한 컨트롤
CommandButton : Connect , Disconnect
TextBox : ARS변환 각도를 보여줌

20130425_183927

* 보시다 시피 MSComm Commport는 연결된 3번을 입력해 주었고
*  InputLen을 1로 주어 입력버퍼에서 8bit씩 받게끔 해주었습니다.
일반적인 통신 설정에서 9600 bps만 115,200 bps로 주었습니다.
1초당 115,200씩 전송된다는 의미 입니다.
따라서  14,400 byte 씩 전송이 되겠지요
* RThreshold는 이벤트가 발생되기 전에 수신할 문자의 개수를 설정하는 것인데
여기서는 0으로 주어도 상관없습니다.

Private Sub Command1_Click()

Dim FileName As String
MSComm1.CommPort = 3
MSComm1.Settings = “115200,n,8,1″
MSComm1.PortOpen = True

PC와 ARS를 연결
MSComm1을 115200 bps , Non Praity , 8bit , Stop bit 1
로 설정

FileName = InputBox(“저장할 파일명을 입력하세요.”)
If FileName = “” Then
If MSComm1.PortOpen = False Then
Exit Sub
End If
End If

만약 Port가 연결되지 않았다면 구동하지 않음

Open App.Path & “\” & FileName & “.txt” For Output As #1
Print #1, “ARS(Attitude Reference System) Pitch,Roll (각도)값의 변경에 따라 메모장.txt로 나타내기” & vbCrLf
MSComm1.Output = <CAH>

MSComm1에 각도값을 입력 , 각도값 : <CAH>

Command1.Enabled = True
Command2.Enabled = False
Exit Sub
End Sub

————————————————————

Private Sub Co

Command2_Click()

Close #1
If MSComm1.PortOpen = False Then
Exit Sub
End If
End Sub

Command2 버튼을 클릭할 경우 닫기

————————————————————

Private Sub MSComm1_OnComm()
If MSComm1.PortOpen = False Then
Exit Sub
End If

Static BUF As String
Static tmpBuf As String
tmpBuf = MSComm1.Input

정적변수로 선언한 tmpBuf를 MSComm1 수신버퍼로 선언

If tmpBuf = “<” Then
BUF = “”
End If

만약 tmpBuf = “<”라면  BUF  와 tmpBuf 문자열을 결합

BUF = BUF & tmpBuf
If tmpBuf = “>” Then
Text1.Text = Text1.Text & BUF & vbCrLf

만약 tmpBuf = “>”라면  Text1.Text에 Text1.Text 와
BUF , tmpBuf 문자열을 결합한 것을  대입

Print #1, BUF 
End If
Text1.SelStart = Len(Text1.Text) + 1
End Sub

20130425_183521

* ARS 각도를 측정하기 위한 Source Code 입니다.
* PC 통신포트는 COM3, 통신 속도는 115200BPS , Non Parity, 8 Data Bit, 1 Stop Bit를 설정하였습니다.

* 결과

Leave A Comment

*