I have a hall effect sensor for sensing gas/glow engine RPM. No electric motor for easy computing of RPM unfortunately. The trouble I'm facing is polling of RPM. Granted, I haven't started the project yet, just thought about it, but I'd like to avoid using processor time sampling RPM pulses when it can be used for computing position and flight control positions. Even having the RPM sensor on an interrupt would consume precious processor time constantly every time it was calculated. What I'd ideally like to have is an I2C board that keeps constant track of engine RPM and then reports it upon being polled by the software. I have no experience building intricate circuits, but this seems like something that would have already been built? I have a Mini Maestro from Pololu that will accept a PWM input (I think) but I'm not quite sure how it would work. Any ideas? Anyone done this before?
About my project: I'm a pilot in real life and fly model aircraft, and write computer programs for a hobby. I've purchased a Raspberry Pi, Pololu Mini Maestro 24, MinIMU-9 v2, and Servo Multiplexer, a DIY Drones Airspeed Pressure sensor, a SainSmart BMP085 pressure sensor for altitude, and I hope to add on a d2523t GPS and a Sonar (although supposedly these aren't too functional) for AGL altitude. With all this I hope to slowly learn more and more about the Raspberry Pi, hardware interfacing, and Linux in creating a functional autopilot. Step two is successfully sampling all of the sensors for input. Step one was servo control which is already functioning properly.
Any ideas and thoughts are appreciated.
I already mostly have this working. Here's the code:
It's intended to be used on an Arduino Mini, and would communicate back to the APM. But I haven't got the communication part going. But it measures RPM really well.