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

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

(2개의 수강평)

39명의 수강생
110,000원
지식공유자 · ChrisP
23회 수업 · 총 13시간 8분 수업
12개월동안 무제한 시청
수료증 발급 강의
수강 난이도 '중급, 활용'
지식공유자의 다른 강의
연관 로드맵
연관 로드맵이 없어요 ㅠㅠ

이런 걸 배울 수 있어요

  • 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 제어)

※ 2020년 초까지 완료 예정입니다. 강의가 완료되기 전에 FC를 구매하시면 할인혜택을 드립니다.

안녕하세요 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 가 반드시 필요합니다!!! (엠하이브 네이버 카페를 통해 구매하실 수 있습니다. cafe.naver.com/mhiveacademy)

  • FC 이외의 모든 부품은 직접 구매하셔야 합니다. 네이버 카페에 구매처 링크 (cafe.naver.com/mhiveacademy/290) 를 정리해서 올려놨으니 확인 후 같은 제품으로 구매하셔야 합니다!

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

 

강의는 총 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 까지 다룹니다.

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

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

- M-HIVE ChrisP

수강 대상

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

선수 지식

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

지식공유자 소개

교육과정

모두 펼치기 24 강의 13시간 30분
섹션 2. Part1. FC 개발의 기초 - Ch2. 센서 인터페이스
3 강의 134 : 20
2-1. BNO080 9축 센서 인터페이스
48 : 49
2-2. ICM-20602 6축 센서 인터페이스
45 : 27
2-3. LPS22HH 기압센서 인터페이스
40 : 04
섹션 3. Part1. FC 개발의 기초 - Ch3. GPS 데이터 수신 및 파싱
5 강의 166 : 12
3-1. U-blox M8N GPS NMEA 데이터 수신 및 u-center 설치
43 : 11
3-2. M8N 설정 및 UBX 프로토콜 수신(u-center 사용)
22 : 28
3-3. UBX 메시지 프레임 분석
27 : 21
3-4. UBX 메시지 수신 및 파싱
47 : 50
3-5. M8N 설정 코드 작성
25 : 22
섹션 4. Part1. FC 개발의 기초 - Ch4. 송신기(조종기) 데이터 수신 및 파싱
5 강의 155 : 31
4-1. Flysky FS-i6 송신기 설정 및 FS-iA6B 수신기 i-Bus 데이터 수신
37 : 54
4-2. i-Bus 메시지 분석 및 체크섬 검사
31 : 19
4-3. i-Bus 메시지 파싱
22 : 11
4-4. i-Bus Fail-safe 설정 및 파싱
33 : 22
4-5. FS-i6X i-Bus Fail-safe 설정 및 파싱 (보충 영상)
30 : 45
섹션 5. Part1. FC 개발의 기초 - Ch5. 기체 셋팅
1 강의 34 : 40
5. 드론 기체 조립 및 셋팅
34 : 40
섹션 6. Part1. FC 개발의 기초 - Ch6. 모터 구동
4 강의 128 : 43
6-1. ESC 프로토콜 설명(Standard PWM, Oneshot, Multishot, Dshot, Proshot)
22 : 04
6-2. Oneshot125 PWM 생성
33 : 07
6-3. ESC 캘리브레이션 및 모터 구동
38 : 17
6-4. 선택적 ESC 캘리브레이션 모드 진입 (FS-i6 스위치 사용)
35 : 15
섹션 7. Part2. 통신 및 부가기능 - Ch7. 부가기능
1 강의 46 : 21
7-1. AT24C08 EEPROM에 데이터 읽기/쓰기
46 : 21

공개 일자

2019년 7월 25일 (마지막 업데이트 일자 : 2019년 11월 26일)

수강 후기

5.0
2개의 수강평
Hyunchul Kim 1달 전
만족스러운 강의내용 따라하기 깔끔한 과정 설명 잘 준비된 강의자료
ChrisP 프로필

ChrisP 1달 전
최고의 후기!! 감사합니다~ 남은 강의도 열심히 준비하겠습니다 :)

behappy 2달 전
Good training course.
ChrisP 프로필

ChrisP 2달 전
별점 5점 정말 감사드립니다~ 진행하다가 막히는게 있으시면 언제든 질문 주시면 확인 후 답글달아드리겠습니다! 감사합니다 :)

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스