Yeah, that error didn’t appear to be related. But why it happens with one sensor and not the other is confusing. Unless there is an electrical fault in the hall effect device.
Sorry, posted the wrong link : https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_InternalError/AP_InternalError.h
For some reason it is upsetting the isr, so might be faulty as Chris said .
Yeah, I don’t really know. That pin is configured as an interrupt for a hall effect speed sensor. So it’s a 0 or 1 signal, which trips the interrupt flag for that pin to interrupt the cpu to execute the routine. Doesn’t make sense as to why that should crash it.
@Ferrosan and @ChrisOlson
Yes it’s the same sensor you posted the pic above, came along with the 701 and it was new and unused. But the sensor when hooked to gv1 is showing 97% on one magnet.
Is there any correct way / orientation to install the magnets. What I did is I let the magnet attract each other, which ever surface stick to each other I marked those surfaces and while installing it on the main gear I installed it in such a way that the attracting surface (marked surface) is installed outer so that the sensor can sense that magnet side (I hope in clear )
When I hook the gv1, in the sensor menu, on one magnet it shows 97% and nothing on the other magnet. Is this hr correct way to install or how?
I’ll try and get the log file as I’m not going to work till Monday, let me see if I get the log file from someone.
Have ordered the aerospire and align Sensor, will replace the Futaba with them and try t once o get them…
Thankyou to both of you. Will keep you updated on the same.
Thanks and regards,
I tried that Futaba sensor and couldn’t get it to work.
here another user with the futaba:
Might worth to try using a logic analyzer, that will provide info about voltage level and signal.
Actually, as far as that goes, I used the GV-1 back in the day on my nitro heli and it didn’t work all that great, period. The only way I could get it to work at all was to use the RSC_SETPOINT feature and the rpm was all over the place. The old three-point throttle curve worked better than the GV-1.
I used the align Governor sensor but no luck. No rpm being shown… either the sensor is faulty or I have installed the magnets wrong.
Is there a correct way to install the magnets?
The distance between the sensor and magnet is less than 2mm.
The align had a different connector, all I did was cut that and solder a servo connector to its end to connect it to aux5.
Lost as to what’s happening!!!
Thanks and Regards,
Take the sensor off, hook it up to either a oscilloscope or even just a multimeter and measure what whappens when you wave a magnet in front of the sensor.
I got the internalError 0x2000000 too with futaba hall sensor
but apm doesn’t disarm
Is that some error for GPIO?
I fall back firmware to 3.6.12 and it work
@jinchengde and @Adi_Fly I think we need to move this to the Copter 4.0 thread. Since this sensor works in 3.6 and doesn’t in 4.0, then there is something that changed in the code that is causing a problem. I will start a post in Copter 4.0 and reference this post thread. Thanks to @jinchengde and @Ferrosan for doing the investigative work.
@jinchengde that GPIO_ISR internal error is triggered when we see more than 10k pulses in 100ms, so a rate of 100k pulses per second, which would be 360000 RPM. The reason we check for this is that interrupts take priority over all threads, so if we get too many interrupts per second then we get starved of CPU for flying the heli. I chose 10k per 100ms as at that level we are using just one or two percent of the CPU for interrupt handling, and it is a level beyond any reasonable RPM value. If we didn’t have this check and the number of pulses per second went over about 700k/second then you would fall out of the sky as there would be no CPU left to fly with.
There are a few possible reasons this is happening:
- it could be a short lived transient from this sensor
- it could be that the sensor is missing a pullup or pulldown to prevent the pin from “floating”. A floating pin can generate a lot of interrupts from electrical noise
- it could be that we were getting this issue in 3.6 and the errors were being suppressed using the simple filter we have in the RPM code (which rejects pulses that are too fast).
- maybe our software pullup/pulldown settings are different in 4.0 than 3.6? If you tell me what flight controller this is and what pin you are connected to then I can check
Ideally we’d get a trace (eg. oscilloscope trace) of this pin when the problem happens.
I finally managed to get the align sensor working for the rpm… now the rpm is being displayed in the gcs… next is to switch on the Governor mode.
Thanks guys… will keep you posted… but ya the futaba sensor is def a no no till it’s rectified…
Thanks & Regards,
thanks for you reply
I used cuav v5 nano with futaba gv-1 hall sensor in AUX3(pin 60)
Can you please advise how did you manage to get reading from the Align RPM sensor?
I’m trying but with no success.
Sorry for the late reply.
I think I had a faulty sensor which I removed from my old helicopter. I ordered a new one and it’s working.
I installed a aerospire gov sensor on another Heli, and that’s working too…
Thanks again for all the help everyone.
Thank you for your replay.
I think mine is faulty as well, I’ve ordered a new one.
@ChrisOlson see post 28 in this thread from @tridge. He had thrown out some ideas on what could be causing the problem but needed some one with an oscilloscope that could help troubleshoot. If you could support this trouble shooting, I’d really appreciate it. I don’t have an oscilloscope and I am not seeing this issue on my controllers.
@tridge this is serious bug that will impact tradheli users that want to use the existing governor in 4.0 and the improved governor that Chris Olson has been work on for 4.1.
Hi @tridge and @bnsgeyer,
as discussed with Bill I report here what we have observed on our setup:
-Flight control: CUAV Nora, powered by CAN HV power module;
-Servo Rail: connected to external BEC set at 8.4V;
-RPM sensor connected to servo rail and RPM_PIN set to 63: https://www.sm-modellbau.de/magnetischer-Drehzahlsensor-fuer-UniTest-2-UniLog-1-2
RPM sensor is working (led changes status upon each magnet passage) but reading on the flight control is not.
If rpm sensor is powered instead by external 5V power supply with ground and signal connected to flight control, rpm reading in the flight control works.
Sensor itself outputs 3.3V level signal.
Additionally, we noticed on this flight control that the servo rail voltage is not logged: