Prearm: Helis motors checks failed after upgrading to 4.3.0

I’ve got a Matek H743MINI controller in my TRex 500 heli, and I had a couple of successful test flights last week with v4.2.3.

Yesterday I connected it to MP prior to installing it into a scale (ish!) fuselage and got the message that v4.3.0 was available, so I installed it. Today trying to have a test flight in the fuselage I get the error message ‘Helis motor checks failed’. Prior to that I also had the error message ‘Battery 1 low voltage failsafe’ and, on checking my setup and parameters I saw that the battery cell-count had changed from 6 to 4, and BATT_LOW_VOLT and a couple of other BATT parameters had numbers in them, whereas I’d previously had them at ‘0’.

Googling the Heli motors check error I see that it’s to do with my radio’s throttle channel PWM being incorrect, so I checked radio calibration and all channels are going from 982 to 2006 as before. I then noticed that the channel assigned to HeliRSC had changed from 6 to 8, so I changed it back to 6 and disabled ch8.

At that point I retrieved my previous param file from my laptop because I didn’t know what other parameters might have changed, and wrote it to the FC. But I’m still getting the failed motors checks message.

Attached is the param file that I’ve just written to the FC. Any suggestions why I’m getting the prearm error, please?

Hughes 500 after upgrading to v4.3.0.param (20.8 KB)

@abenn1 check the messages tab in mission planner. I am guessing that you switched from a version that was 4.1 or earlier and you need to set H_COL_ANG_MIN and H_COL_ANG_MAX. Check this wiki to learn how to set them. You can watch the set up video on that page as well.
https://ardupilot.org/copter/docs/traditional-helicopter-swashplate-setup.html

I fell for that one with my other TRex 500, going from v3.something to v4.1 :frowning_face:

But this time I’m going from v4.2.3 (which flew okay last week) to 4.3.0, and the MP prearm error message is ‘Helis motors checks failed’. Plus I noticed several parameters had changed from previously, as mentioned above. Those params that I noticed are fixed now because I retreived and wrote my last v4.2.3 param file to the FC, but the ‘motors checks failed’ issue still prevents arming.

Set the LOG_DISARMED param to 1 and then reboot your controller. Let it perform its boot process and let it give you the prearm error. Then you can change that param back to 0 and reboot again and pull the log file and post it here.

@abenn1 Don’t bother doing the log disarmed test I described in my previous post. I wasn’t able to look at your param file earlier today as I was out. Now I had a chance to look at your parameters.
Here are the two parameters from your file that I was concerned about
H_COL_ANG_MAX,90
H_COL_ANG_MIN,-90

These are the code defaults to force the user to change them. So somehow it went back to the defaults. Can you send me the param file that had when you were flying 4.2.3?

Thanks for looking Bill. Attached is the param file that I was using last weekend when I flew the heli in STAB, POS HOLD, and RTL modes without any issues. That was my final vibe check before installing the heli back into its scale fuselage, which I did during the past week. It was when I connected to MP to recalibrate accelerometer and compass (because of some metal and magnets in the fuselage) that I got the message to upgrade to v4.3.0. I did the upgrade and then did the recalibrations, which reported successful.

Then I started getting Pre-arm error messages. The first one was about Bat1 voltage too low, which made me look at the configuration and param pages and see that the battery cell count had changed from 6 to 4 and battery monitor parameters had changed. Then I got another one about throttle, which made me look at the configuration page again and see that HeliRSC had changed from ch6 to ch8. I changed those incorrect params back to what I remembered they were before, and rebooted to ensure they’d been saved, but am still left with the Heli motors checks error preventing arming. Edit: I then re-wrote the previous file, as below, but still get the Heli motors check error.

Hughes 500 FC board mounted horizontallly – AHRS_ORIENTATION set to 0…param (20.3 KB)

The parameters are definitely set in this parameter file. So I’m not sure why they weren’t set properly in the previous file that you posted with the upgrade after loading this file. manually go into the parameters and set those two parameters. Here is what you had in your file above for those parameters
H_COL_ANG_MAX,10.4
H_COL_ANG_MIN,-3.1

Tell me if that makes the pre-arm message stop.

No, I changed the H_COL params back to where they used to be (why did they change?) but the messages still come. First I got the Bat1 low voltage error and found that my cell count is set to 4 cells again instead of 6, and BATT_MONITOR is set to 4 instead of 0, Then I got a check FS_THR_VALUE message and found it was set to 975 instead of 965. Having done that I was able to arm using left stick bottom right, but not using my arm switch. But then MP was showing that my modes switch was not switching from STAB to POS HOLD to RTL, so there’s obviously more of my configuration screwed up.

So I then reloaded my ‘Hughes 500 board mounted horizontally …’ parameters file and wrote that to the board, and everything seems to be working except that MP shows my compass is way off – it’s registering about 170 degrees while the heli’s facing north. I’ll recalibrate it and accelerometer, and see how it goes.

Attached for your info is the current param file, which is obviously still not quite right for Battery cellcount in the Initial parameters setup screen is still showing 4-cell.

Hughes 500 after rolling back to previous parameters.param (20.6 KB)

Edit: Recalibrated accelerometer and compass, and I’ve just managed a 1-minute flight in STAB mode before it gets dark, to check the vibe levels All seems well. Thank you.

@abenn1 i have a Trex 700 that is currently on 4.2.3. I will upgrade it and see if I have any problems with parameters that change unexpectedly.

2 Likes

Checking further I’ve just noticed that my H_SW_H3_PHANG has gone back to 0, from the 10 degrees which I’d set it at. H_SW_TYPE is correct, as are the servo positions.

‘retrieved my previous param file from my laptop because I didn’t know what other parameters might have changed, and wrote it to the FC.’ - this is where u went wrong. u should have read params from the FC , after-the-upgrade, and compared the differences between the two, keeping as many of the new ones as possible. …as what you’ve effectively done is throw-away any parameter migration/upgrade changes that the system did, and replaced them with ‘old’ params from your param-file-on-laptop.

1 Like

I don’t understand what’s wrong with replacing the params with an old set that had been working well the week before. In the case I’m discussing here, it appeared that the upgrade to 4.3.0 had actually changed some params back to default; for instance H_SW_H3_PHANG and H_COL_ANG_MAX and _MIN. The evidence being that the heli flew the week before but then gave prearm error messages after the upgrade, which led to me tracking down the values that had changed.

I’m familiar with the comparison function in MP, but I’m always confused about which column is the existing params from the heli and which is the set I’m comparing with, so I never use it.

Compare!
You should use it each time when loading a new FW. Also don’t forget to safe the present FW to file.

Doing the compare feature and load the saved older FW you just replaced. Unclick at the bottom right all changes just to be save. The values from the previous (old) FW will now be on the right hand side. Even on the top you will read new values. But that means if you click one or two or more of your old values at the right hand side those 2 or more will than be new to your just loaded new FW. But you must write them so the change takes affect. I do before a quick screen shot with my phone so I see later just in case what I did change. I do it that way for years now. Most times I changed nothing. Good luck!

Thank you FRED_GOEDDERT. I regularly save my param files as a matter of course, so I’ll use the compare function in future. Thanks for clarifying how it works.