본문 바로가기

전체 글111

[쿼드콥터] SPI 통신 < MPU6050 -> MPU6000 > MPU6050 / MPU6000 에 대하여 mpu6050은 6축 자이로 가속도 센서이다. 6축이라는건 3축 자이로와 3축 가속도 센서가 합쳐진 것인다. 그렇다면 이 자이로 가속도 센서라는게 어떤값을 출력하는지 알아야지 사용하지 않겠는가?? 그래서 어떤값을 출력하는지 보자면 아래와 같다. 3축 자이로 센서 - 각 축에 대한 회전 각가속도 값3축 가속도 센서 - 각 축에 대한 가속도 값 + 중력 가속도 값 (아래의 4.데이터 수신 및 변환 꼭 볼것!) 그래서 자이로 가속도 센서를 이용하여서 궁극적으로 각도를 추정할 수 있게 됩니다. 이 추정하는 과정에서 상보필터 혹은 칼만필터를 사용하기도 하는데 이 부분은 복잡하므로 다음으로 설명을 미루겠다. 하여튼 이 자이로 가속도 센서의 값을 받아오는 통신 같은 경우는 .. 2015. 11. 20.
[쿼드콥터] SPI 통신 <기본 이론편> 통신에 관하여 기기와 기기 또는 칩과 칩의 데이터를 읽기 위해서는 통신이 필요하다. 내가 만드는 쿼드콥터에서는 Cortex M3 (MCU) 와 센서들간의 데이터를 읽어오기 위해서는 필요하다. 통신의 종류는 SPI, I2C, Serial 등 다양하다. 나같은 경우는 MPU6050 과 SPI 통신을 이용하여 데이터를 주고 받았다. SPI 통신 SPI 통신은 Motorola에 의해 개발된 전이중 통신 방식으로 1 대 1 또는 1 대 다수의 통신을 위해서 구상되었다. SPI 통신의 특징을 꼽자면 SPI 통신은 4개의 핀을 이용하여서 통신한다. 그 4개의 핀 같은 경우는 아래의 그림과 같다.핀 종류 유사 이름 설명 SCLK SCK, CLK Serial Clock MISO SDI, DI, SI Master Inpu.. 2015. 11. 17.
[쿼드콥터] 하드웨어 구성 본격적으로 온 재료를 가지고 쿼드콥터 구성을 해봤다. 단순히 이미 있는 프레임과 모터를 조립하는 과정은 그리 어렵지 않았다. 그냥 나사가지고 조립하면 되기 때문에... 그.러.나. 저 전원부 납땜같은경우는 매우 어려웠다. 납땜을 거의 해보질 않아서 힘들게 한 걸지도 모른다. 아마도 납땜 고수라면 금방하지 않을까 생각한다. 자꾸 안붙고 떨어져서 문제였고 또한 ESC 연결 선 같은경우는 바나나 잭이 연결되어 있지 않은 타입이라 바나나잭을 납땜 했어야 하는데 내가 느끼기에도 초보자는 아마 많이 힘들거 같다는 생각이 든다. 나도 바나나잭 납땜해서 연결할려다가 실패한 바나나잭이 몇개인지......... 정말 끔직했다. 바나나잭 납땜이 완벽히 붙은 줄 알고 수축튜브도 덮어서 완료한듯 싶으면 갑자기 작동이 잘 안돼서.. 2015. 11. 14.
[쿼드콥터] 하드웨어 구성에 앞서 쿼드콥터 모양의 간략한 설명 모양의 타입 쿼드콥터 같은 경우는 마주보는 4개의 모터와 프로펠러를 가지는 기체이다. 마주보는 두개의 프로펠러가 서로 같은 방향으로 돌고 근접한 두개의 프로펠러가 반대방향으로 돌아가기 때문에 회전을 하지 않고 공중에 비행할 수 있는것이 쿼드콥터의 구조에 대한 간략한 이해이다. 여기서 말하고 싶은 바는 센서의 방향에 배치에 따른 같은 쿼드콥터지만 조금의 차이를 둘 수 있다는걸 말하고 싶은 것이다. (이 부분은 나도 거의 쿼드콥터를 완성할 때 쯤 깨달았다.) 쿼드콥터의 2가지 타입 쿼드콥터는 x type 과 + type 으로 나누어질 수 있다. 사실상 쿼드콥터의 헤드(앞)나 뒤 같은 경우는 우리가 정해주기 나름이기 때문에 사실상 이 type을 나누는 것은 센서 부착 방향에 따라서 달라진다. 위의 그림에서 보.. 2015. 11. 12.
[쿼드콥터] 쿼드콥터 조립에 앞서서 기본 지식 <오일러각> 오일러 각 오일러 각이란 강체가 놓인 방향을 3차원 공간에 표시하기 위해 레온하르트 오일러가 도입한 세 개의 각도이다. - 위키백과 즉 이 말을 쿼드콥터로 생각하고 표현하자면 쿼드콥터(강체)가 가지는 좌표계를 지구좌표계로 변환해 주기 위해서는 회전축이 다른 3번의 회전으로 표현할 수 있고, 이 때의 회전하는 회전각을 오일러 각이라고 생각하면 된다. 하지만 여기서 유의해야할 점은 오일러 각이 같아도 회전하는 순서를 달리하면 회전체가 나타내는 모양이 달라진다는 것이다. 예를 들어서 먼저 X축을 회전시키고 Y축을 회전시키고 Z축을 회전시킨 모양과 Y축을 회전시키고 Z축을 회전시키고 X축을 회전시킨 모양이 다르다 이 부분이 궁금하신 분은 근처의 물체를 가지고 실험해보시길 바란다. 보통 기체나 항공기의 자세는 Z.. 2015. 11. 10.
[쿼드콥터] 쿼드콥터 조립에 앞서서 기본 지식 <좌표 변환> 좌표 변환에 대해서[기체 좌표계]의 글에서 말했듯이 좌표변환은 좌표계의 변화를 주기 위해서 필요하다. 그래서 좌표 변환을 설명하겠다. 좌표 변환(Coordinate Transformation) 그림에서 보느거와 같이 2차원 벡터 P 에 대해서 출발점이 같아도 좌표계에 따라서 표현되는게 다른것을 알 수 있다. A 좌표계 : , B 좌표계 : A 좌표계와 B 좌표계의 차이는 축을 만큼 회전시켰다는 것에 있다. 그렇다면 A 좌표값을 B 좌표값으로, B좌표값을 A 좌표값으로 어떻게 변화를 주는가? 하면 이렇게 나온다. 저 행렬 식들을 좌표변환행렬(Coordinate Transformation Matrix), 또는 방향코사인행렬 DCM(Direction Cosine Matrix)라 한다.그래서 저 행렬식을 표시를.. 2015. 11. 10.
728x90