📱인프런 모바일 App 😆
STM32CubeIDE를 이용한 STM32F4 자작드론 개발하기

STM32CubeIDE를 이용한 STM32F4 자작드론 개발하기

(0개의 수강평)

16명의 수강생

110,000원

12 개월
중급, 활용
수료증
11개 수업, 총 6시간 12분
위시리스트 추가

안녕하세요 M-HIVE ChrisP 입니다.

본 강좌는 STM32F4 Micro Controller를 이용한 자작드론 개발하기 강좌로써 드론의 비행제어시스템(Flight Control System) 개발을 위한 센서 인터페이스부터 비행제어까지 전 과정을 다룹니다.

다른 드론 개발 강좌와 다르게 STM32F4를 이용하여 센서 인터페이스부터 시작해서 PID 제어까지 모든 소스코드를 직접 하나씩 다 작성하는 강의입니다. 오픈소스를 사용하지 않고 모든 기능들을 직접 하나씩 구현하기 때문에 드론을 개발하는 과정들을 쉽게 이해하실 수 있습니다.

게다가 본 강의에서 개발한 드론의 성능은 pixhawk, ardupilot같은 상용품에 비해 전혀 뒤떨어지지 않기 때문에 단순 교육용 드론을 넘어 연구용, 산업용으로도 응용 가능합니다! 또한 본 강좌에서 사용하는 MH-FC V2.2는 드론 뿐 아니라 움직이는 모든 무인이동체에 적용가능하니 무인 자동차같은 시스템에도 응용될 수 있겠죠!

회로도 작성

1축 PID제어 테스트

자작 GCS연동 실시간
데이터 시각화 및 로그 저장

  • 본 강의를 들으시려면 M-HIVE 에서 제작한 MH-FC V2.2 FC 가 반드시 필요합니다!!! (엠하이브 네이버 카페를 통해 구매하실 수 있습니다.)

  • FC 이외의 모든 부품은 직접 구매하셔야 합니다. 네이버 카페에 구매처 링크를 정리해서 올려놨으니 확인 후 같은 제품으로 구매하시는게 좋습니다!

  • 그 외의 공지사항은 엠하이브 네이버 카페에서 확인해주세요.

 

강의는 총 3개의 파트, 11개의 챕터로 구성되어 있습니다.

파트1 에서는 FC(Flight Controller)의 기초

  • CH1. 임베디드 시스템 개발을 위한 디버그 환경 구축

  • CH2. 센서 인터페이스 (BNO080 9축 센서, ICM-20602 6축 센서, LPS22HH 기압 센서)

  • CH3. GPS 데이터 수신 및 파싱 (M8N)

  • CH4. 리시버 데이터 수신 (FS-iA6B)

  • CH5. 기체 셋팅 (QAV210)

  • CH6. 모터 구동

파트2 에서는 통신 및 부가기능

  • CH7. 무선 데이터 송수신 (기체 상태 정보 송신 및 제어 파라미터 수신)

  • CH8. 부가기능 (EEPROM, 배터리 전압 체크, 자이로 캘리브레이션)

  • CH9. 안전기능 (Fail-safe 등 안전을 위한 기능)

파트3 에서는 비행 제어(PID Control)

  • CH10. 롤, 피치 제어 (더블 PID => P-PD 제어)

  • CH11. 헤딩 제어 (싱글 PID => PD 제어)

의 순서로 진행됩니다.

 

본 강의에서는 STM32F405RGT Cortex M4 마이크로 컨트롤러를 메인 프로세서로 사용하고, 자세제어를 위한 BNO080 9축 센서, ICM-20602 6축 센서와 고도제어를 위한 LPS22HH 기압센서를 사용합니다. 또한 실외 자동 비행을 위한 UBLOX M8N GPS 데이터 수신까지 다룹니다. (단, 고도제어와 GPS 제어는 본 강의에서는 다루지 않음)

본 강좌의 목적은 고성능 드론을 개발하는 것이지만, 그 개발하는 과정에 대해 더 심도있게 다룹니다.

드론 비행을 위한 가장 기초단계인 센서 데이터 인터페이스 부터 자세제어를 위한 PID Control 까지 다룹니다.

임베디드 어플리케이션을 개발하기 위한 과정들을 집중적으로 설명드리고, 그것들이 합쳐져 드론비행제어 시스템이 완성됩니다.

 

2019년 말 또는 2020년 초까지 업로드 될 예정입니다.

유익한 동영상 강의 되도록 항상 노력하겠습니다.

 

- M-HIVE ChrisP

배우면 할 수 있는 것들

  • STM32F4 기반 고성능 드론 비행제어시스템 개발
  • STM32CubeIDE 사용법
  • CubeMx 사용법
  • STM32F4 HAL 및 LL 드라이버 사용법(주로 LL 사용)
  • 임베디드 시스템 개발 프로세스
  • 자작드론 FC 개발
  • 9축(BNO080) 및 6축(ICM-20602) 센서, 기압센서(LPS22HH) 인터페이스
  • UBLOX NEO M8N 인터페이스 및 데이터 파싱 (u-center 사용)
  • FlySky FS-iA6B 수신기 인터페이스(iBus) 및 데이터 파싱, FS-i6 송신기 설정
  • 쿼드로터 드론 기체 셋팅하는 방법
  • TIM을 이용한 PWM 생성방법
  • ESC 캘리브레이션 및 ESC 프로토콜 종류(Standard PWM, Oneshot, Multishot, Dshot 등)
  • 3DR Telemetry 설정 (3DR radio config 사용)
  • 기체 상태 데이터 송수신 (센서 데이터, FS-i6 조종기 데이터, 배터리 전압, PID 제어 게인 등)
  • 부가 기능 - EEPROM에 PID게인 저장, 배터리 전압 체크(ADC) 및 저전압 알람
  • 안전을 위한 기능 - 부팅 시 센서 상태 검사, Fail-safe 등
  • 비행 제어 - 롤, 피치 제어 (더블 P-PD 제어)
  • 방향 제어 - 헤딩 제어 (싱글 PD 제어)

수강 대상

  • 고성능 드론의 기초부터 비행제어까지 하나씩 직접 개발하고 싶으신 분
  • 전자, 통신, 제어, 기계, 항공 등 전공 학생
  • 드론 관련 종사자
  • 임베디드 시스템 개발 프로세스를 경험해보고 싶으신 분
  • STM32 개발자
  • 고수준 임베디드 프로젝트를 실습해보고 싶으신 분
  • 드론 관련 연구기관 및 교육기관
  • 무인이동체에 관련된 프로젝트를 진행하는 분

선수 지식

  • 본 강좌에서 사용하는 MH-FC V2.2 Flight Controller 필수!! (없으면 진행 불가능!! M-HIVE 네이버 카페에서 구매 가능)
  • 드론 구성품 (BLDC 모터, ESC, 프로펠러, 프레임, 배터리 등. M-HIVE 네이버 카페에서 목록 확인 필수)
  • Windows 계열 PC 및 STM32CubeIDE
  • C언어 중급 이상 필수
  • STM32F4 또는 마이크로 컨트롤러 (MCU) 개발 경험 필수
  • 기초 회로 지식 요구됨

지식공유자 소개

박원엽

교육과정

강좌 소개
0-1. 하드웨어 구성품 소개
31 : 43
0-2. 강의 목차 및 CubeIDE 설치
34 : 31
Part1. FC 개발의 기초 - Ch1. 디버그 환경 구축
1-1. FC 전원 연결 및 디버그 LED 점멸(GPIO)
23 : 23
1-2. 디버그 부저 구동(TIM-PWM)
26 : 11
1-3. 디버그 UART 및 printf 함수 출력
29 : 21
Part1. FC 개발의 기초 - Ch2. 센서 인터페이스
2-1. BNO080 9축 센서 인터페이스
48 : 49
2-2. ICM-20602 6축 센서 인터페이스
45 : 27
2-3. LPS22HH 기압센서 인터페이스
40 : 04
Part1. FC 개발의 기초 - Ch3. GPS 데이터 수신 및 파싱
3-1. U-blox M8N GPS NMEA 데이터 수신 및 u-center 설치
43 : 11
3-2. M8N 설정 및 UBX 프로토콜 수신(u-center 사용)
22 : 28
3-3. UBX 메시지 프레임 분석
27 : 21

수강 후기

첫 수강평의
주인공이 되어주세요! ✏️