Hi,
Recently, we build a quadcopter with custom frame and equipped with:
Matek H743 Wing V3
T-motor Velox V45A V2 (4 in 1 ESC)
4x T-motor F80PRO 1900KV
6S2P Li Ion battery of 9000 mAh
TFmini plus rangefinder
The whole quadcopter weighs about 2300g (it is also equipped with LiDAR and an onboard computer).
During one of the first flights of the frame, and hovering using the ALTHOLD flight mode the motors suddenly stopped working without reason (at least I can not find any reason in the logs). In the logs I saw something that is strange in my opinion (I am very newbie in ardupilot) just a second before the motors stopped the ThO raises a lot, however, I was trying to go down (thrust should be going down?).
If anybody can help me with this trouble I would be very greatful.
I leave a link to the logfile, the error occurred at the 4:19.
Could you confirm afterwards that the 4in1 ESC is still working, or did it get damaged during the crash?
If I had to take a guess, I would say your ESC failed or the wiring/soldering to it.
This is because the flight controller noticed that the drone is losing altitude and in response increases the throttle. But since the motors are not turning it would just keep increasing until it reaches maximum. The same can be seen if you look at the motor outputs.
Motor1 and Motor2 are commanded to near maximum and the copter is descending regardless. Motor3 and Motor4 are commanded high, I think to help maintain stability, but are suffering from the same issue as motors 1 and 2.
I think there was either a physical problem affecting all motors, like all props were coming loose at the same time - unlikely!
More likely is the ESC thought the voltage was going below minimum for a Lipo and was limiting output, but you have a Li Ion which confused the ESC voltage/cell detection. Current even goes down slightly which supports that theory.
In the ESC settings, in the BLHELI32 configuration, turn off the low voltage detection.
These are the BLHELI32 settings I use:
Low RPM Power Protect = OFF
Low Voltage Protection = OFF (rely on the flight controller battery settings)
Temperature Protection = 90
Motor Timing = Auto
I couldnt see any other issue which might cause what happened.
This was my first assumption too, in fact, in the very next flight the quadcopter had a very strange behavior just at the take off, throttling a lot an instant to then die again.
However, the next day we test again and the quadcopter perform a 3 minutes flight in ALT_HOLD with any complication.
Here is one of the things that maybe is not correctly configured. We just connect the ESC as if it was four normal ESCs, i.e. just use the signal cables of the 4 in 1 ESC to the channels 3, 4, 5 and 6 of the Matek and also the ground. I imagine that in this configuration the benefits of BLHeli are not used. Moreover, in that flight these parameters are set:
MOT_PWM_FLIGHT = Normal
SERVO_DSHOT_ESC = None
SERVO_BLH_AUTO = Disabled
SERVO_BLH_OTYPE: None
Then in the last flight I mention here: [quote=“Taucrates, post:4, topic:123480”]
the next day we test again and the quadcopter perform a 3 minutes flight in ALT_HOLD with any complication.
[/quote]
We edit those parameters (a friend told me that we have to change it) to:
MOT_PWM_FLIGHT = DShot600
SERVO_DSHOT_ESC = BLHeli_S
SERVO_BLH_AUTO = Enabled
SERVO_BLH_OTYPE: DShot600
I really don’t know if that changes has any sense, because the version of the ardupilot is not the BDShot and because the wiring from the ESC to the Matek is just using the PWM ports.
I understant that if I do not connect the ESC and controller with all the wires there are no BLHeli benefits right?
There are still benefits to using BLHELI32 even if you are not using DSHOT.
But you’ll need to set up a connection to the ESC to adjust those BLHELI settings I mentioned - otherwise there will be a repeat of the copter unexpectedly descending.
So I would need to connect properly the ESC to the Matek and then configure those parameters? Or can I just configure the parameters of the ESC just connecting it to the computer and configuring them?
Well, now I see that is easier than I thought to connect to the ESC. So the last comment is no longer needed.
I leave here the config of the ESC, I think all parameters you mentioned are adjusted (except the Temperature Protection, because I don’t know if 90 should be too lower and any bad behavior can arise, so I leave as default):
I don’t know if the other parameters are correctly configured. And I don’t know which parameters of the ardupilot I have to configure to obtain a properly parameterization.
Are those parameters correct?:
Do I have to configure other parameters in ardupilot?
You should be using bidirectional Dshot. Flash the Flight Controller with the Bdshot firmware and then configure for Bdshot. And those are not BLHeli_S ESC’s so of course you would not set the SERVO_DSHOT_ESC parameter to that.
Is the use of bdshot a must or I can use the FC without that firmware. I am asking because in the web page of the Ardupilot Matek configuration, it is specified that some pins would be set in different manner, more precisely the RX6 which at this moment is used by the controller will be converted to a pure UART (maybe what I am saying has not much sense, but I really do not understand if those changes can be a problem).
Yes, of course you’re right, the SERVO_DSHOT_ESC must be set at BLHeli32/Kiss (1), I set that in that way because a collegue told me to set as it was . Do I have to change any other parameters?
Thank you so much guys, and sorry if I ask some stupid questions .
No it doesn’t. It says you need to change a couple parameters. BRD_ALT_CONFIG and SERIAL7_PROTOCOL assuming you are connected to Rx6 now.
But, if you don’t want to use the best option and just Dshot then you will want to connect the telemetry pin on the ESC to a serial port on the FC for ESC telemetry if you haven’t done so already.
I have the telemetry connection done and reading the ESC info, but a part from being able to obtain that info without the telemetry connection, has BDSHOT other enhancements in control or something?
Do you know if I have to configure other parameters than the one mentioned below? Or if in this configuration are correct?
Okey then, I will do it. My only fear is to do something wrong with the RC controller pins in the FCU which at this moment is connected at the pin RX6 as shown in the image:
And as we talked before there is some configuration that I misunderstand. If you can clarify me the parameters and the configuration I have to do, it would be perfect. And also I don’t really understand if I would have to change the signal of the ESC with FCU which at this moment are connected to S3-S6; the documentation talk about groups of only 2 servos:
“Only outputs 1-8 are bi-directional Dshot capable, with 1-2,3-4,5-6,7-8 in groups”
Another thing, there is any other filter, apart of the notch filter, that would be nice to enable?
Thank you so much Dave, you are being a great help to me!!
This is all pretty well documented so you should really make an attempt at it and if there are problems create a post for it. You learn a lot more that way. But, here you go:
BRD_ALT_CONFIG,1
SERIAL6_PROTOCOL,-1
SERIAL7_PROTOCOL,23
SERIAL7_OPTIONS,3
SERVO_BLH_BDMASK,60 (for outputs 3-6)
SERVO_DSHOT_RATE,2
Obviously flash the Bdshot version of firmware 1st.
Don’t change any wiring. Then use The Configurator to advance the tuning assuming it works.
Well, I did exactly what documentation (and the info you provide) says and I am not able to connect the controller, it is a Futaba T7C and if I’m not wrong it works with the SBUS protocol. So, with the parameterization you said should work. I tried changing the BRD_ALT_CONFIG to 0 also (because I think my controller does not have bi-directional telemetry) but I am not able to communicate with the FCU. I take a look to the log info and I’m not receiving any information about the ESCs telemetry. I am not sure if I did something wrong, but it seems that does not work properly. And I do not know in which part of documentation I should look.
Another important question, what is The Configurator at which you refer? It is some other sofware to configure the copter a part of QGround Control (or mission planner)?