PID 튜닝 방법 이번 포스팅 에서는 PID 튜닝 방법에 대해 알아보도록 하겠습니다. 알아보기 전에!! PID 제어가 무엇인지 잘 모르시는 분들은 이전 포스팅 게시물을 한번 확인을 해주시고 오시면 도움이 될거 같아요^^ [드론] PID 제어기 개념정리 개발자(나)가 결정을 하게 되는 값 : 게인(gain) -> 이득값, 증폭값도 동일한 말 입니다.게인(gain)은 PID 제어기 개념정리에서 보여졌던 매개변수(Ku, Ki, Kp)들을 의미합니다. 그러면 이제 게인(gain)을 알면 PID 튜닝을 할 수 있다고 하는데 어떻게 얻어지는지 한번 알아보도록 하겠습니다. 게인(gain) 결정 방법 튜닝(tunning) 게인(gain)을 수학적 or 실험적-경험적 방법으로 계산하는 과정 튜닝하는 방법 지글러 - 니콜..
가속도 센서를 이용한 각도 구하기 [기본 개념]MPU-6050 가속도 자이로 센서 [처리루틴]기본 루틴 구현하기센서 보정 루틴 구현하기시간 처리 루틴 구현하기 이번에는 가속도 센서를 처리해서 Roll, Pitch, Yaw의 각도를 구해보는 시간을 가지도록 하겠습니다. 일반적으로 기본 루틴 구현하기에서 구한 AcX, AcY, AcZ도 동일한 가속도 센서 값 입니다. 그러나 여기 소스코드에 보시면 아시겠지만 별도로 계산을 해서 accel_x, accel_y, accel_z의 값들을 구하는걸 볼 수 있을 것입니다.그 이유는 MPU-6050의 가속도 센서를 이용한 드론을 지면 수평한 상태에 놓으면 미세한 떨림에 의해서 부유한 값을 얻게 됩니다. 그러한 현상들을 해결 하기 위해서 가속도 센서의 현재 위치하고 있는..
상보필터 상보필터에 대한 개념을 이해할려면 가속도와 자이로 센서에 대해 이해를 먼저 해야지만 이해를 할 수 있더라고요 ㅎㅎMPU-6050 가속도 자이로 센서 여기로 들어가셔서 포스팅을 해둔것을 읽어보시면 도움이 되실거 같습니다. 간단하게 여기다가 다시 정리를 해둘게요 가속도 센서 : 어느 정도로 기울어졌는지 각도('중력 가속도'를 이용)를 측정*중력 가속도 : 연직 방향으로 작용하는 중력을 어느 각이 어느정도로 받고 있는지 이용하여 기울어진 정도 측정 자이로 센서 : 각 속도를 측정하는 센서, 특정 축을 기준으로 회전하는 속도를 나타냄-> 자이로 값을 적분하여서 '각도'를 얻음※자이로 센서는 매 순간 값은 정확하나 평균적인 값은 믿을 수 없다. -> 이러한 이유를 잘 보여주는 포스팅이 Geek Mom P..
오랜만에 게시글을 올리게 되네요 ㅎㅎ드론에 대해 공부해서 정리하는겸 포스팅을 하고 있습니다. 그래서 오랜만에 오게 되었어요 이번 포스팅에서는 이전 시간에 알아본 MPU-6050 센서에 대해서 알아본것을 토대로 자이로 가속도 값을 해석하는것을 목표로 두겠습니다. [드론]MPU-6050 가속도 자이로 센서 제가 이전 포스팅에서 "왜 소스코드에서 int16_t 타입으로 변수를 선언 했었는지 언급을 했었습니다. 이렇게요 추가적으로 이어서 설명을 드리자면 16bit 변수를 통해서 표현할 수 있는 숫자의 범위는 -32768 ~ 32767 사이의 정수 값 입니다. 본격적으로 가속도 센서 값을 해석하는 방법에 대해서 알아보도록 하겠습니다. 가속도 센서 값 해석하기 선언한 변수를 보시게 되면 AcX, AcY, AcZ가 ..
MPU6050 드론에는 위와 같은 가속도 자이로 센서가 필요합니다. 제가 사용하는 드론에서는 GY-521 MPU6050 모듈이 장착되어 있습니다. 이 센서를 이용하는 목적을 한번 알아보도록 하겠습니다. 센서 이용 목적드론의 기울어진 정도회전한 정도 MPU6050에 포함되어 있는 센서 가속도 3축자이로 3축온도센서총 7가지 센서[*3축 : x축, y축, z축] 저는 위 센서 중 온도센서는 사용을 안합니다. 왜냐하면 가속도, 자이로 값은 온도에도 영향을 받기 때문에 온도센서도 포함이 되어있는 것 입니다. 그렇지만 상온에서는 가속도 자이로 센서가 온도에 크게 영향을 받지 않기 때문에 사용을 안할 것 입니다. 만약 영하권으로 내려가는 지역에서는 사용해야겠지요? MPU6050의 특징 하나의 칩 안에 MEMS 가속..
목표 이번 포스팅에서는 프로세싱을 이용해서 GUI 환경에서 AP 모드인 ESP8266을 컴퓨터에서 와이파이 모듈로 접속을 해서 프로세싱으로 스크롤바를 움직이면 그 움직인 값에 따라서 드론의 croess 모터들이 회전하도록 하는 포스팅을 해보도록 하겠습니다.이전 아두이노 IDE에서 작성을 해야하는 소스코드는 밑에 링크로 들어가시면 됩니다. *드론 모터속도 조절하기 아두이노 IDE편* GUI 환경 작업을 하기위한 'controlP5' 라이브러리 설치 controlP5는 사용자 정의 인터페이스를 구성하기 위한 GUI 라이브러리라고 합니다. 소스코드 import controlP5.*; import processing.net.*; //network communication ControlP5 cp5; //contr..
이번 포스팅에서는 프로세싱으로 GUI를 구성해서 ESP8266과 연결된 아두이노를 이용하여 마우스 휠을 움직이면 움직인 만큼 모터의 속도를 조절하게 하는 프로젝트를 작성해보겠습니다. 여기서 파일명은 throttle라고 설정을 해주세요 그 이유는!! 이러한 의미때문입니다. throttle가 모터 등의 추력을 조절하기 위한 조종장치를 의미한다고 하네요 해야할 순서는 '아두이노 IDE 프로그램 작성하기 -> 프로세싱 스케치 프로그램 작성하기 -> AP 모드의 ESP8266과 연결하기 -> 최종 테스트 1. 아두이노 IDE 프로그램 작성하기 여기서는 사용자(클라이언트)로부터 모터의 속도를 입력을 받아서 모터의 속도를 직접적으로 조절을 해주기 위한 목적이 있습니다.[ESP8266 WiFi 모듈과 연결해서 속도를 ..
일반적으로 고가의 드론용 모터에는 BLDC 모터(브러시가 없는 모터)가 이용이 됩니다. BLDC 모터는 DC 모터의 일종입니다. BLDC 모터의 소개BLDC 모터는 회전축에 연결되어 코일 내의 전원의 방향을 바꾸는 역할을 하는 브러시가 없습니다.대신 모터의 내부 주변에 코일이 원통에 고정이 되어있어서 동작을 하게 되면 몸통이 돌아가므로 DC모터와는 다르게 BLDC 모터의 몸통을 잡고있으면 모터가 타버려서 망가집니다. 또한 BLDC 모터는 따로 컨트롤러를 이용해서 구성해야지만 구동이 되는 단점이 있지만 단점이 있으면 장점이 있는 법! 수명이 매우 길고 마찰이 적어 고속동작이 됩니다. 따라서 이러한 모터는 마찰이 적어야되는 우주 항공 분야, 의료 분야, 반도체, 측정기, 로봇 등 정밀제어가 필요한 분야에서 ..