Encountered Issues (Falcon) - norlab-ulaval/Norlab_wiki GitHub Wiki

ESC Badly Configured

Out-of-the-box, the Tekko32 ESCs were not properly configured for the selected motors, hence the motors would spin, but never enough to takeoff. Specifically, the ESC's firmware needs to be aware of the number of poles, as well as the kV rating of the motor to operate properly. However, changing the configuration was not a walk in the park, as pass-through configuration with the flight controller was not working (see DSHOT Problems below).

As an alternative, I followed this tutorial and did the following steps:

  • Flash an Arduino Nano with BLHeli bootloader using BLHeliSuite32.
  • Connect this Arduino to the ESC (GND -> GND and D3 -> PWM) and to a PC via USB.

Note: If using an Arduino UNO, connect to pin D11 instead of D3.

DSHOT Problems

Newer ESCs like the one we use support firmwares such as BLHeli32 or AM32 (our case), which is interesting as they can communicate more infos to the flight controller through the Bidirectional DSHOT protocol. However, disappointed was I when I read this information:

The 8 “MAIN” outputs of autopilots using an IOMCU (like PixHawk and Cube), cannot be used for DShot. On these autopilots, only the additional “AUX” outputs support DShot. If you attempt to set a “MAIN” output to DShot, then normal PWM output will occur, even though it has been set to a DShot protocol.

The ESCs are currently connected to the MAIN outputs, which mean they don't support DSHOT at all. We could connect them to AUX outputs instead, but there is 8 motors and 6 AUX ports...

One solution for a future iteration of the drone would be to get aa flight controller that supports 8 DSHOT connections, like this one.

UART communication between Jetson and Pixhawk

The Jetson dev-kit carrier boards (Xavier NX, Orin Nano, etc.) use an auto-direction level shifter (TXB0108 or similar) on the GPIO/UART lines that has very weak DC drive. That translator will not reliably drive a line that already has relatively strong pull-ups/pull-downs (the TXB0108 datasheet warns external pull resistors must be > ~50 kΩ). Cube/telemetry ports on Pixhawk/Cube have pull resistances that can be much lower, so the Jetson’s TX never pulls the line to a valid logic low/high for the Cube. In short: the Jetson’s on-board translator can't push strongly enough into the Cube’s pull network.

Raspicam Not Detected

TODO