PX4FMU(V1) takeoff/general problems

Hi all,

I’m relatively new to the px4 community and have found myself with a few confusing problems. I am working with a generic “x” quad build and a px4fmu(v1.7) standalone. I have been relatively successful in the general set up of the vehicle (via micro SD card - things like the config. file, etc.) but I am having a difficult time when I go to fly the quadrotor.

The problems first start with qgroundcontrol (v 2.8.0) and flashing firmware to the fmu. When I go to flash the firmware, the bootloader recognizes the px4fmu, tells me how much “flash” is available and then proceeds to just “sit there” until I unplug the USB cable. I was able to flash firmware with an older version of qgroundcontrol, but not with this most recent update. Additionally, if I attempt to flash “custom” firmware (px4fmu-v1_default, etc.); I am not able to flash px4fmu-v2_default. Instead, the terminal begins repeatedly printing that it found device and never erases/flashes the new firmware - I am, however, successful with flashing px4fmu-v1_default - is this a problem or is this behavior correct?

Regardless of my possible firmware problem, my main issue is with attempting to fly the quadrotor. I have double (even tripple) checked the hardware, rotor configuration/numbering and rotational directions as well as ensuring that the px4fmu is calibrated and displaying the correct artificial horizon. However, when attempting to takeoff, the vehicle always flips. I am trying to fly the vehicle through a USB controller and qgroundcontrol, but with no luck. I can see that the commanded pwm outputs from the px4 (through the analyze widget in qgc) do not seem correct. The chip will often command non-symmetric pwm outputs when in manual mode and I have, overall, had more success in attempting to control the quad when enabling ACRO mode - although even this mode does not give me total control of the throttles. I have been able to “tether” the quad and see that the roll, pitch and yaw commands seem to work 100% correctly when in ACRO mode (even manual mode), but not the throttles (I cannot get them below a pulse width of 1500 micro seconds). I have looked around quite a bit for solutions to this/these problems but haven’t been too successful in finding a general solution that would work for me. Does anyone know of any possible solutions/experienced similar issues to this with a px4fmu?

Thanks in advance,

-Daniel

Hi Daniel,

The PX4FMU that you are using is referred to as px4fmu-v1_default when building. The target px4fmu-v2_default is for the Pixhawk hardware.

Considering the controls and PWM issues, I’m wondering which airframe you have selected in QGroundControl? And have you done the RC calibration?

Julian,

Thank you for your reply! I have set the airframe to “generic quadrotor X config”. I believe that I may be having an ESC calibration issue, as there have been times that I cannot hear a difference between when the FMU is outputting 1500 microsecond pulse vs. a 2000 microsecond pulse. Additionally, it does not seem that, with the config.txt file that I posted previously, that the pwm ports are being configured correctly - the ESC’s do not always make the “singing” noise when plugging in the battery - do you have any idea what may be going on? Any time I attempt to calibrate the ESC’s with qgroundcontrol I get a “time out waiting for bat” error - even if I have plugged my battery in. I have attempted to calibrate with the “nsh” prompt, but to no avail.

As for the RC calibration issue - I am using a USB joystick to manually control the quad. I have set it up through qgroundcontrol (v2.8) and been relatively successful in seeing that my inputs seem to be functioning - even though qgroundcontrol does not always discover the joystick, but the times it does (and the quad initializes correctly) I can get close to controlling it with manual flight (but these cases seem to be relatively spontaneous) - but I think there is some sort of esc calibration error that I’m not sure how to sort out - any ideas?

Thanks again for all the help,

  • Daniel

Julian,

my apologies for not including my config file. It looks like the following (set on the SD card):

set VEHICLE_TYPE mc
set USE_IO no
set MIXER quad_x
set FMU_MODE pwm
set PWM_OUT 1234
set PWM_MIN 1000
set PWM_MAX 2000
set PWM_DISARMED 900

these lines of code are in a file on the SD card labeled config.txt

although, I have been looking around and it looks like I may be able to do most of this in extras.txt, which is a text file that I am currently not using.

Thanks again,

-Daniel

I would suggest to try the following: remove all lines with “set PWM_…” in config.txt, therefore use the default Quad X PWM settings. Then do the ESC calibration in QGroundControl, and try again.