[STM32 Drone programming from scratch] 8-8. FC data reception: ID 0x10 PID gain request data

Опубликовано: 11 Апрель 2023
на канале: Wonyeob Chris Park
483
12

In this video, we implement the function that when the FC receives the PID gain request messages from the GCS, the FC responds with the GCS with the corresponding gains according to the requested gain ID.


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

Rx message: ID 0x10 PID gain request message structure review
The moment when receiving the PID gain request messages
Process of receiving and responding to the PID gain request messages
Modify the previously written gain transmission/reception code
Write code for ID 0x10 gain request message reception
Write code for checking requested gain ID
Write code for message response to GCS (PID gain message)
Write code for optional received message processing according to SwA position
Write code that sounds a buzzer beep when a message is received
System timeline for Chapter 8

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 barometer (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 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 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