We are building a mock-up for experimentation with our school group. I have an Unbuntu 20.04 top side computer with Qgroundcontrol 4.0.5, the companion Raspberry Pi 0.0.26 and a Pixhawk with Ardusub 4.0.3. The frame type is a simplerov 4. I purchase four inexpensive bi-directional ESCs which claimed they did not require calibration and brushless motors . As soon as the power is applied the motors begin to spin slowly. I checked them with a PWM tester and discovered they will spin at 1500us and become neutral between 1478 and 1496us.
The MOT_PWM_TYPE is normal. I have tried changing the parameters SERVOn_TRIM and RCn_TRIM to 1486us, I changed the RCn_DZ to numbers between 20 and 40, and have changed the MOT_SAFE_DISARM from PWM enabled while disarmed to PWM disabled while disarmed. Without any change. When it is armed all of the motors spin normally.
Our robotics team had the same issue using six T-100s and Basic ESCs. We monitored the outputs to the ESCs from the uC with a scope and didn’t see any good reason for the movement. Sometimes the motors would go forward and sometimes reverse IIRC. We tried 4 different uCs over the course of 4 years and that had no effect on the motion. When we went from 4 thrusters to six, we switched to the newer ESCs and still had the issue.
Unfortunately, the center pwm for the ESCs is fixed at 1500us right now.
If you don’t mind setting up the tooling to build ardupilot, (which can take some work), you could change 1500 to your center in file AP_Motors6DOF.cpp (lines 228 and 235).
Hi guys, I have similar problem with slowly spinning motors after disarming. I tried to configurate a dead zone and trim, but RC settings in Q GroudControl are not synchronizing with Pixhawk unit (there is no changes after changing the trim value to 1480, for example).
I’m using an [official ArduPilot firmware for Pixhawk (ArduPilot firmware : /Sub/latest/Pixhawk1) but not sure where I can find a mentioned file (AP_Motors6DOF.cpp file) in firmware structure. @williangalvani can you please navigate me? Thanks!
The location you’ve linked to here is for pre-built binaries of ArduSub. @williangalvani is talking about a file that is used when creating those binaries, and links directly to where that file is located in the source code repository in his comment. If you make changes in that file then to apply them to your pixhawk you’ll need to build a new version of ArduSub using your modified file, and upload the generated file.