분류 전체보기
-
blheli_s littlebee 30a esc calibration쿼드 콥터 2023. 4. 17. 12:12
비프음 들으면서 esc calibration 하는 방법을 썼다. 보니까 blheli는 calibration해주는 프로그램이 있는 모양인데 지원하는 보드가 한정적이라 결국 각자의 보드에 맞는 calibration을 진행하려면 이 방법 밖에 없지 않을까 싶다. void do_calibration () { update_throttle(3480); // max throttle pwm signal HAL_Delay(10000); update_throttle(1750); // min throttle pwm signal HAL_Delay(10000); } 왜 하필 10 seconds의 대기가 필요한지 궁금하다면 blheli 사의 비프음과 관련된 manual을 읽어야 한다. 만약 calibration은 이미 됐고 바로..
-
stm32 uart without HALMCU 2023. 4. 17. 11:52
stm32 펌웨어 작성시 uart송신을 할 때 보통 HAL_UART_Receive_IT로 interrupt를 활성화하고 HAL_UART_RxCpltCallback으로 interrupt를 처리하는 방식을 많이 사용할 거 같다. 이 방식에는 단점이 존재한다. 수신이 완료 되면 인터럽트가 비활성화 되므로 HAL_UART_RxCpltCallback 에서 HAL_UART_Receive_IT를 다시 호출해야 하는데 데드락 문제로 HAL_UART_RxCpltCallback이 호출되지 않으면 더 이상 수신을 받을 수 없다. 수신 사이즈가 정해져 있어서 가변적인 data나 실시간 data 수신에 제약이 있다. 그렇다고 수신 사이즈를 1로 설정하면 HAL라이브러리가 무거워서 그런지 오버런이 엄청 발생한다. 그래서 필요에 ..
-
블랙홀 렌더링블랙홀 렌더링 2023. 3. 27. 12:04
이런 그림들은 어떻게 그리는 걸까? 만약 물리학에 근거해서 그린거라면 어떻게 그린걸까? 원리는 정말 간단하다. 원근법을 도시한 이 그림에 우리 눈이 보는 방식이 들어 있다. 여기서 블랙홀 주위에서 빛의 경로가 우리 예상을 기준으로 휘어지는 것을 고려하면 ray-tracing (광원 역 추적)을 통해서 강착원반을 그릴 수 있을 것이다. 역 추적이 키 포인트 인데, 위 그림에서 광선들은 물체에서 눈으로 들어가지만 역 발상으로 눈에서 나가는 광선이 강착원반에 닿는지 check하면 된다. 여기서 픽셀 수 만큼 광선을 만들어 내야 한다. 다음 그림은 특정 픽셀에서 나간 광산이 강착원반과 닿으면 흰색 안 닿으면 검정색으로 렌더링한 결과이다. 방법은 알았으니 이제 빛이 블랙홀 주위에서 어떻게 휘는 지만 알면 된다. ..
-
쿼드콥터 제작쿼드 콥터 2023. 3. 18. 23:49
쿼드콥터는 알기 쉽다. 목표값을 생성할 때 제어가 필요하다. 생성된 목표값으로 개별 구동기의 합리적인 출력을 결정할 때 동역학이 필요하다. 예를 들면 방위각을 제어하고 싶다면? 센싱 방위각과 목표 방위값의 차이가 타겟 방위 미분값이 되고 목표 방위 미분값과 센싱 방위 미분값의 차이가 목표 각 가속도가 된다. 여기까지가 제어의 영역 이후 모터 4개의 출력값으로 각 가속도를 구하는 연산의 역을 취하면 각 가속도 -> 모터 4개의 출력 여기까지가 동역학의 영역 목표값과 센서값을 이용해서 출력을 얻었고 그 과정이 타당하다. 그리고 KITECH 양광웅씨가 작성한 "쿼드콥터 동역학 해석"과 "쿼드콥터 제어기 설계" pdf 2개를 꼭 보기 바란다. pdf 파일은 구글에 검색하면 쉽게 찾을 수 있다. ("KITECH ..