STM32CubeIDE를 이용한 STM32F4 자작드론 개발하기(Drone Development)
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1 student enrolled

STM32CubeIDE를 이용한 STM32F4 자작드론 개발하기(Drone Development)

STM32CubeIDE(HAL, LL driver)를 이용한 STM32F4 고성능 자작드론 개발하기(DIY Drone Development)
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1 student enrolled
Last updated 7/2019
Korean
Price: $99.99
30-Day Money-Back Guarantee
This course includes
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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 제어)
Requirements
  • Currently only Korean is supported. No English captions.
  • 본 강좌에서 사용하는 MH-FC V2.2 Flight Controller 필수!! (없으면 진행 불가능!! M-HIVE 네이버 카페에서 구매 가능)
  • 드론 구성품 (BLDC 모터, ESC, 프로펠러, 프레임, 배터리 등. M-HIVE 네이버 카페에서 목록 확인 필수)
  • Windows 계열 PC 및 STM32CubeIDE
  • C언어 중급 이상 필수
  • STM32F4 또는 마이크로 컨트롤러 (MCU) 개발 경험 필수
  • 기초 회로 지식 요구됨
Description

※ 죄송합니다. 아직 Udemy에서 본 강좌를 구매하지 말아주세요! 재생할때 1080p로 재생이 안되는 문제와 스트리밍이 너무 느린(또는 재생이 안되는)문제가 발생하고 있습니다. 해결책을 찾은 후에 다시 공지하겠습니다!!! 구매하신 분들은 환불해주시기 바랍니다. 죄송합니다.

※ DO NOT TAKE THIS COURSE! NO MORE UPDATE!

This course supports Korean only. English captions are not available.

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

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

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

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

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

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


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

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

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

  • CH2. 센서 인터페이스

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

  • 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

Who this course is for:
  • STM32 개발자
  • 드론 관련 종사자
  • 전자, 통신, 제어, 기계, 항공 등 전공 학생
  • 고성능 드론의 기초부터 비행제어까지 하나씩 직접 개발하고 싶으신 분
  • 임베디드 시스템 개발 프로세스를 경험해보고 싶으신 분
  • 고수준 임베디드 프로젝트를 실습해보고 싶으신 분
  • 드론 관련 연구기관 및 교육기관
  • 무인이동체에 관련된 프로젝트를 진행하는 분
Course content
Expand all 6 lectures 03:13:57
+ 강좌 소개
2 lectures 01:06:14

본격적인 동영상 강좌에 들어가기에 앞서 이번시간엔 앞으로 강의할 내용에 대해 소개하는 시간입니다. 영상의 내용은


- 강의 소개말

- 드론 구성품 소개 (모델명, 구매처 등)

- FC 스펙 소개 (센서, MCU 등)

- 그 외 필요한 장비 및 도구

이렇게 구성되어 있습니다.


※ 드론의 구성품들은 여러 여건상 제가 판매하는게 아니라 직접 구매하셔야 합니다. 목록은 https://cafe.naver.com/mhiveacademy/290 이곳에서 확인하실 수 있습니다.

※ 아직 FC의 판매 개시 날짜가 확정되지 않아서 추후 확정되면 네이버 카페에 공지 올리겠습니다.


영상에서 몇 가지 말씀드리지 못한게 있어서 조금 더 추가하자면,


- 드론 구성품의 구매처 링크는 정리해서 곧 엠하이브 네이버 카페에 공지로 올리겠습니다. (여러 여건 상, 제가 직접 판매하긴 힘들 것 같습니다)

- 6각 렌치 중에서도 "볼렌치" 라는게 있는데 이게 아주아주 편하고 좋습니다.

- 랩핑 와이어는 따로 구매하지 않으셔도 됩니다. ESC와 모터 선을 줄여야해서 잘라낼건데 그 잘라낸 부분으로 쓰면 되더라구요 ㅎㅎ

- 니퍼보다는 와이어스트립퍼가 좋습니다.

- 목장갑같은 두꺼운 장갑을 반드시 구비해두세요. (손 다칠 확률이 높은 프로젝트 입니다)


그럼 앞으로 양질의 자작드론 개발하기 강좌 되도록 하겠습니다!

Preview 31:43

본 영상은 "0-2강. 강의 소개 (강의 목차 및 CubeIDE 설치)" 으로

- 개발툴인 STM32CubeIDE 다운로드 및 설치

- 강좌의 순서 및 내용

에 대해 소개합니다.

※ 드론의 구성품들은 여러 여건상 제가 판매하는게 아니라 직접 구매하셔야 합니다. 목록은 https://cafe.naver.com/mhiveacademy/290 이곳에서 확인하실 수 있습니다.

※ 아직 FC의 판매 개시 날짜가 확정되지 않아서 추후 확정되면 네이버 카페에 공지 올리겠습니다.

다음 시간부터 본격적으로 FC 개발에 들어갑니다.

많은 관심 부탁드립니다 :)

Preview 34:31
+ Part1. FC 개발의 기초 - Ch1. 디버그 환경 구축
3 lectures 01:18:54

본 영상은 "1-1강. FC 전원 연결 및 디버그 LED 점멸(GPIO)" 으로

- MATEK PDB XT-60 BEC와 FC 전원 연결하는 방법

- ST-LINK/V2와 FC 선 연결하는 방법

- STM32CubeIDE로 프로젝트 생성

- 클럭 설정

- GPIO 설정 및 LED 점멸 소스코드 작성 (HAL, LL 비교)

에 대해 소개합니다.

※ LL 로만 하시는 분들은 토글 함수 사용 시

LL_GPIO_TogglePin(GPIOC, ​LL_GPIO_PIN_0 | LL_GPIO_PIN_1 | LL_GPIO_PIN_2);

이런식으로 두번째 매개변수 핀 이름 앞에 LL_ 를 붙여주셔야 합니다!

(유튜브 강민x님 감사합니다 :) )

※ 드론의 구성품들은 여러 여건상 제가 판매하는게 아니라 직접 구매하셔야 합니다. 목록은 https://cafe.naver.com/mhiveacademy/290 이곳에서 확인하실 수 있습니다.

※ 아직 FC의 판매 개시 날짜가 확정되지 않아서 추후 확정되면 네이버 카페에 공지 올리겠습니다.

​​

많은 관심 부탁드립니다 :)

감사합니다!

Preview 23:23

본 영상은 "1-2강. 디버그 부저 구동(TIM-PWM)" 으로

- 패시브타입 부저 설명

- 부저 회로 설명

- PWM의 주기(주파수)와 펄스 폭 설정하는 방법(PSC, ARR, CCR)

- CubeIDE 프로젝트 폴더별 버전 관리 방법

- CubeMX TIM3 설정 (LL드라이버)

- TIM를 Enable 시키는 방법 (LL_TIM_EnableCounter() 함수)

- PWM을 Enable 시키는 방법 (LL_TIM_CC_EnableChannel() 함수)

- PWM의 주기(주파수) 실시간 변경하는 방법 (PSC 변경)

- PWM을 Disable 시키는 방법 (LL_TIM_CC_DisableChannel() 함수)

에 대해 소개합니다.

※ 드론의 구성품들은 여러 여건상 제가 판매하는게 아니라 직접 구매하셔야 합니다. 목록은 https://cafe.naver.com/mhiveacademy/290 이곳에서 확인하실 수 있습니다.

※ 아직 FC의 판매 개시 날짜가 확정되지 않아서 추후 확정되면 네이버 카페에 공지 올리겠습니다.

​​

많은 관심 부탁드립니다!

감사합니다!

Preview 26:10

본 영상은 "1-3강. 디버그 UART 및 printf 함수 출력" 으로

- FC 디버그 UART 포트 설명

- USB to UART 모듈과 선 연결 방법

- CubeMX USART6 설정 (LL드라이버, 수신 인터럽트 사용)

- UART로 데이터 송신 (LL_USART_TransmitData8() 함수)

- UART 수신 인터럽트 활성화 (LL_USART_EnableIT_RXNE() 함수)

- UART로 데이터 수신 (인터럽트 방식, LL_USART_ReceiveData8() 함수)

- PC로부터 수신된 데이터 다시 PC로 송신 (에코 프로그램)

- PC로부터 수신된 데이터로 LED토글 및 부저 On/Off

- printf 사용 방법 (int _write(int file, char* p, int len) 함수 정의)

- "%f" 형식지정문자로 실수형태 출력하는 방법

에 대해 소개합니다.

※ 드론의 구성품들은 여러 여건상 제가 판매하는게 아니라 직접 구매하셔야 합니다. 목록은 https://cafe.naver.com/mhiveacademy/290 이곳에서 확인하실 수 있습니다.

※ 아직 FC의 판매 개시 날짜가 확정되지 않아서 추후 확정되면 네이버 카페에 공지 올리겠습니다.

많은 관심 부탁드립니다!

감사합니다!

Preview 29:21
+ Part1. FC 개발의 기초 - Ch2. 센서 인터페이스
1 lecture 48:49

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


본 영상은 "2-1강. BNO080 9축 센서 인터페이스(쿼터니언 회전 각도 계산) - 풀버전" 으로


- 드론의 비행 제어 시스템에서 중요하게 고려해야 할 것들

- 드론의 비행 제어 과정 설명

- BNO080 9축 센서 Overview

- BNO080 분해능

- BNO080 출력 지연 시간

- BNO080 센서 출력 주기

- BNO080 인터페이스 (SPI통신)

- BNO080 회로 및 핀 설명

- BNO080 SPI 파라미터 설명


- CubeMX SPI2 설정

- BNO080 센서 오픈소스 라이브러리 다운로드 방법 및 설명 (STM32F4 SPI LL드라이버용)

- 쿼터니언 오픈소스 라이브러리 다운로드 및 설명

- BNO080 초기화 소스코드 작성 (오픈소스 사용)

- BNO080 Rotation Vector 데이터 출력 주기 설정 (오픈소스 사용)

- BNO080 Rotation Vector 데이터 수신 (오픈소스 사용)

- 쿼터니언 알고리즘 사용하여 3축 회전각 계산 (오픈소스 사용)

- 3축 회전 각도 출력 (텍스트, 그래프, printf 함수 사용)

- BNO080 센서 출력 주기 확인 - 400Hz


에 대해 소개합니다.


※ 드론의 구성품들은 여러 여건상 제가 판매하는게 아니라 직접 구매하셔야 합니다. 목록은 https://cafe.naver.com/mhiveacademy/290 이곳에서 확인하실 수 있습니다.


※ 아직 FC의 판매 개시 날짜가 확정되지 않아서 추후 확정되면 네이버 카페에 공지 올리도록 하겠습니다.


많은 관심 부탁드립니다!

감사합니다!


- ChrisP

Preview 48:49