DIY Infineon XMC4500 Microcontroller based flight controller and quadcopter full assembly.
This tutorial is based on the original work of jherkenhoff, see the link: https://github.com/jherkenhoff/XMC_Cleanflight_Doc Whereas the original GIT / tutorial was focusing on the Flight Controller bringup, this GIT is focused on the whole drone assembly incl. flight controller, from scratch.
The flight controller Cleanflight was ported for the Infineon XMC4500 MCU (ARM Cortex M4 based) on the "Cerasus" PCB.
For those unfamiliar with Cleanflight. It is an open source flight-controller firmware which is used on a broad range of commercial and open source flight-controllers. Since it is targeted towards 32 bit MCU's it provides a perfect base for the Cerasus board / XMC4500 MCU.
1st Bringup DONE: Hardware and motors simple control
- build and/or flash the Flight Controller software using Infineon DAVE Eclipse based IDE OR the SEGGER JFLASH Lite tool, AND an Infineon MiniWriggler or XMCFLasher Hardware debugger. CAUTION: the Debug/Flash is done via SWD pins, not the USB (Communication with PC / Cleanflight Appl SW Config later only)
- download and start the Cleanflight web browser plugin to see if you can connect to the flight controller board via USB
- if you can connect properly, you wil be able to see the gyro based moves of your board int the web browser
- mount the flight controller board and motors driver board on the chassis and test if the motors are turning when operated from the Browser Cleanflight GUI WARNING :
- do not put any propeller or nut on the motors axis for now, maybe just a tape to see in which direction they are moving
- do not connect the 4S (14,7V) battery at first, just test the flight controller board via USB. Once done you can connect the motors driver board as below to the flight controller and supply 14,7V with an external supply where you can control the max current, limit it to a low value such as 200mA at first, to manage if any shortcut (too high current) happens, only after checking that the motor turn slowly, you can increase the max current limit on you ext supply.
2nd Bringup DONE: Connect Remote control receiver to XMC MCU to arm the 4 motors and run them for basic drones moves (on test bench without propellers) : (bring up of the physical remote control instead of the PC Cleanflight GUI drone control)
- Config 0 DONE : configure the communication between the Receiver and the XMC MCU
- Test 1 DONE : connect only USB to XMC and configure Cleanflight�see next slides for Config Steps
Once all configure as on previous slides, test if remote moved change the valuesof Roll, Pitch, Yaw etc. ��Remote need to show correct values for its internal battery (“Tx”) and the 5V supplied by XMC (“IntV”):
![image](https://github.com/alex8411/XMC-quadcopter/assets/53020923/79
arming the motors (see arrows below)
8ff7e8-19db-47de-b8b0-de40d3a0e12f)
- Test 2 DONE : connect only USB to XMC and ARM motors, arming the motors (see arrows below), � arming the motors (see arrows below), no 14V connected yet, only USB
- Test 3 DONE: use external supply (14,4V) or battery to supply plug to drone and use the Receiver to move motors “Motors Arming”, move the remote to see if motors turning (14V batt or supply connected)
IMG_9601_compressed.MOV
NEXT STEPS:
3rd Bringup: Calibration of the Inertial Measurement Unit (e.g. Gyroscope) UNDER WORK
- after fixing the flight controller and brushless motors driver board on the drone structure you can now configure the gyroscope and other sensors used for the flight control in the Cleanflight GUI ...
4th Bringup: Remote control commands until On board Flight control :
- build or buy a platform under the bench to calibrate the drone internal SW PID and the remote control commands range and sensitivity in cleanflight