If there is a problem reading the RPM, what is the cause?

I’ve asked similar questions in the previous installment.
In this case, Chris told me that a bad sensor was the cause.

I prepared a new gas.

This is set to RPM 9,000.
However, B_LOG showed different data than 9,000.

The top is the rpm of the helicopter ‘A’ set at 6,000 rpm.
rpm comes in very even

The bottom is the new helicopter ‘B’.
The rpm is set to 9,000
Very unstable.

I am constantly experiencing problems with RPM monitoring that I have not experienced before.

Even the well-monitored FCs will have problems.
In addition, these fcs have never changed their settings in the meantime.

I’m using the governor.
The governor settings are all the same.

The actual rpm of the helicopter seems to have no special changes.
On LOG, the RPM varies by about 1,000.
This is enough to feel the helicopter’s flight sound.
But there was no change in sound.

Is this the governor problem or the fc problem?
Or is wiring a problem?

Just a note that the governor in ArduPilot is designed as a rotor speed governor, not as an engine governor measuring engine speed. It can work with measuring engine speed, but it requires the proper sensor to get a clean signal, especially with engines that have CDI ignition with a lot of ignition noise on the primary. Most gas helicopter engines are magneto ignition with built-in cooling fan to withstand long periods of extended hovering without overheat. They are not typically battery/CDI ignition. Helicopters that have battery/CDI fired ignition system are fixed-wing engines that have been adapted to helicopter use.

It would be best to post the parameter file and the log file from Helicopter B that has the above data in it so I can evaluate your settings. And get an idea of how “dirty” the signal is from your rpm sensor.

And what kind of helicopter is this? Does it have a CDI ignition system with the ground for the CDI ignition shared with rest of the electrical system?