[STM32 Drone programming from scratch] 8-5. FC data transmission: ID 0x11 GPS and FC status data

Опубликовано: 16 Март 2023
на канале: Wonyeob Chris Park
550
15

In this video, an AHRS message with ID 0x10 is sent at 20ms cycle(50Hz) and a GPS and FC status message with ID 0x11 is sent at 100ms cycle(10Hz) to GCS in non blocking mode so that data transmission does not affect the 1 kHz system cycle.


M-HIVE "STM32 Drone programming from scratch"
This is the only course about the drone embedded system development from sensor interface, the most basic feature, to PID control for the flight control.

☆★ Buy an MH-FC V2.2 and drone parts ☆★
https://www.m-hive.net/

☆★ Download source code ☆★
https://github.com/ChrisWonyeobPark/M...

☆★ Overview of the "STM32 Drone programming from scratch" course ☆★
   • [STM32 Drone programming from scratch...  

☆★ Contents of the course ☆★
   • [STM32 Drone programming from scratch...  

☆★ Introduction to the drone parts ☆★
   • [STM32 Drone programming from scratch...  


This video includes

Tx message: ID 0x11 GPS and FC status message structure review
Problems when using the HAL_UART_Transmit_IT() function
How to generate multiple cycles using one timer interrupt
ID 0x11 GPS and FC status message encoding
Write code for transmission of 0x10 ARHS message every 20ms (50Hz) using HAL_UART_Transmit_IT() function
Write code for transmission of 0x10 ARHS message and 0x11 GPS message every 100ms (10Hz) using HAL_UART_Transmit_IT() function


Enjoy the course.
Thank you!


The lecture consists of 3 parts and 12 chapters. (51 videos)

In Part 1. Flight control system development fundamentals

CH1. Setting up the development environment for STM32 embedded systems
CH2. Sensor interface - BNO080 9-axis sensor, ICM-20602 6-axis sensor, LPS22HH barometric pressure sensor (SPI)
CH3. GPS data receiving and parsing - NEO M8N (UART)
CH4. Transmitter and receiver, data receiving and parsing - FS-i6 transmitter, FS-iA6B receiver using i-Bus serial protocol (UART)
CH5. Drone assembly (QAV210 frame)
CH6. BLDC motor drive - Oneshot125 PWM protocol (TIM-PWM)

In Part2. Communication and add-on functions

CH7. Add-on functions - EEPROM interface(I2C), battery voltage checker(ADC), BNO080 calibration, gyro offset removal
CH8. Radio data transmission (FC↔GCS) (Transmitting drone status information and receiving control parameters, how to use Ground Control Station for this course)
CH9. Safety functions - Fail-safe motor force stop and low battery alarm for safety

In Part3. Flight Control using PID Control

CH10. Preparation for PID control
CH11. Roll, pitch control (Cascade PID)
CH12. Heading control (Single PID)


※ What will students learn in this course?

STM32F4 based high performance drone flight control system firmware development
How to setup peripherals, generate and build source code for STM32 with STM32CubeIDE
Sensor interface, motor driving, radio data transmission, flight control and its all source code
How to use STM32F4 HAL and LL driver (mainly LL used)
Embedded system firmware development process
Self-made drone FC software development
Various sensors (9DoF, 6DoF, Barometer) interface
GNSS(GPS) interface and data parsing
FlySky FS-iA6B receiver interface and data parsing (iBus message protocol)
How to setup a quadcoptor drone
PWM generation using TIM peripheral of STM32
ESC calibration and various ESC protocol types
BLDC motor driving using oneshot125 protocol
Radio data communication
EEPROM, battery voltage checker and low battery alarm
Safety functions - sensor connection check, Fail-safe, etc.
Drone flight control technique - PID control in self-leveling mode
Single loop and Double loop PID (Cascade PID) control theory and experiment

※ What are the requirements or prerequisites for taking this course?

MH-FC V2.2 flight controller is required!!
You must purchase the drone parts yourself. Check the attached on my github
Windows PC and STM32CubeIDE. (Not supported MAC or linux, etc.)
C programming language novice or intermediate level required.
STM32F4 or any type of microcontroller (MCU) development experience required.
Basic circuit knowledge required. (But not essential)

※ Who is this course for?

Those who want to build the entire drone control system step by step, from sensor interface to the flight control
Those who want to develop embedded application programs using STM32
Anyone who want to build your own unique drone flight controller
Students majoring in electronics, communication, control, mechanics, and dynamics
Those who want to experience the embedded system development process
Those who want to jump up from Arduino or 8bit to 32bit MCU
Those who want to learn the basic principles of PID control and implement their own operation
Those who want to practice high-level embedded projects
Drone-related research institutes and educational institutions
Those who are working on projects related to unmanned vehicles