PWM Output main nor faster then 400Hz

#1

@dagar, according to the manual it should be possible to set the PWM_RATE for main outputs up to Oneshoot125.
Regardless which parameter I set for the PWM_RATE (800 or 0) it keep stable on 400Hz after the restart.
Is the PWM_RATE fixed to 400Hz on VTOL?
The Airframe type is StandardVTOL (SYS_AUTOSTART 13013)
Vehicle: DeltaQuad
Firmware Version: 1.6.5dev (stable)

Best regards,
Markus

#2

Hi Markus,

For the detalquad (13003) it’s setting those ESCs to 400 Hz in the config and therefore ignoring the param. https://github.com/PX4/Firmware/blob/master/ROMFS/px4fmu_common/init.d/13006_vtol_standard_delta#L56

Try changing in the airframe configuration and if needed we can find a way to make it respect the param, or have a new config with oneshot ESCs.

#3

Hi Dagar,

I think You mention the deltaquad (13013) in your answer.
However, I have select the 13006_vtol_standard_delta as suggested.
Now funny thinks happen.
The mavlink over the serial connection is not working.
The power adjustments on the power button are not visible - same for the camera.

The settings should be correct.

Now I will go back to the 13013.

Best regards,
Markus

#4

After I set the 13013 it’s get even worse, because now the calibration for the airspeed sensor is gone on the sensor page.
After I look at the init file it is clear because the airspeed sensor is switched of.

So I will go back to the 13006 where at least the airspeed sensor is working.

This was not realy a step ahead - before at least everything was working.

Best regards,
Markus

#5

Sorry I wasn’t clear. I was talking about changing the contents of an airframe configuration, not trying a different one.

As all the current VTOL configurations are setting the ESCs to 400Hz you have to change the value in the airframe configuration file if you want something else.
https://github.com/PX4/Firmware/blob/master/ROMFS/px4fmu_common/init.d/13006_vtol_standard_delta#L57

#6

Hi Dagar,

Now I have new formated the SD card, copy and install a new PX4 Dev version, set all parameter to zero and set the sys parameter to 13006.
After a reboot and a complete calibration all funktions are working as before the change. Exept the power page - still only black. But this is not a problem as the battery could be set by the parameter files.

This is a intresting system - but it could be make people mad - sometimes :slight_smile:
Tomorrow I will try the change the value of the airframe configuration.

#7

If you have any suggestions please open Firmware issues (https://github.com/PX4/Firmware), QGroundControl issues (https://github.com/mavlink/qgroundcontrol) or documentation suggestions (https://github.com/PX4/Devguide).

Often developers are blind to the complexities and rough edges, so a fresh perspective can be really valuable.

#8

Hi Dagar,

thanks for the tip.

Now I have edit the “13006_vtol_standard_delta” configuration file.
I set the parameter PWM_RATE to a value of 800.
After that I compile the firmware and upload it to the Pixhawk (with the console).
If I take a look on the parameter page from the PWM Outputs the value from PWM_Rate is set to 800Hz.
But the meassured main output (by osicilloscope) is still 400 Hz.

Maybe debugging with the QT Crator would be helpful but I still try to compile the firmware and uplaod it to the pixhawk.
The devguide manual have not much information regarding this right now.

#9

It’s physically impossible. Each PWM pulse is between 1000us and 2000us. You can only fit max 500 of these in one second. You need to do a little bit less than that, otherwise the signal stays high continuously when you command 2000.

Aside from that, there is no reason to increase the frequency as long as you don’t increase the frequency of the control loop. At best you’ll have a tiny little bit less delay.

#10

Hi Bart,

You are right. A standard PWM output is running on 400Hz regarding to the limits you explain.
But since a couple of years the ESC could run faster. OneShot125 is nowadays a standard on copters.
For each control loop you have one PWM pulse. The normal 1000us starts here on 125us. 2000us are at 245us.
So you could run a loop frequecy from 1kHz up to 2kHz, For example the “Eagle Tree Vecor” is running on OneShot125 with a loop of 1kHz.
If I select OneShor125 on the PX4 the average loop frequency is about 350Hz. So it makes no sence to select it until the loop frequncy get faster.

#11

Hi,@Bart
I set the PWM_RATE to 500, but it did not work! I tested it using oscilloscope, it was 400Hz!