Bagarre / Pi2D2

A Raspberry Pi knock off of the Dynon D2 artificial horizon that leverages the stratux project.
21 stars 6 forks source link

Possible addition of airspeed using differential pressure sensor #10

Open tailwindflyer opened 8 years ago

tailwindflyer commented 8 years ago

Hi, I found your project via a recommendation from the Stratux forum on Reddit. I am looking to make a rPi based VFR flight instrument system for my homebuild experimental aircraft. Also I want to try and base this on Stratux. I currently have an rPi 2 running Stratux with the RY8351 chip.

My primary objectives are display (on a small screen) Airspeed, Altitude, Vertical Speed and Mag heading. I also would like to be able to log the flight parameters along with additional AHRS and GPS data for post flight review.
Ok, lots of wants there! I really like what you have created with this project and was wondering what it might take to add a suitable differential pressure sensor like a mpxv7002dp to obtain airspeed. I would also like to explore "turning off" some of the displayed graphics to simplify the output for VFR use.

Please let me know your thoughts on these suggestions.

Regards

Rich

bradanlane commented 8 years ago

Interesting idea.

The UI is probably the easy part. You could start by creating a fork of the code and commenting out any prices you do not want. That would give you an idea of the available space for the things you want to add. To incorporate air data, you will probably need pressure sensors with the barbed connections (as you found) and can output I2C (possibly SPI).

Bagarre commented 8 years ago

No need to comment anything out. Just write your own init() routine to turn on the parts you want. https://github.com/Bagarre/Pi2D2/blob/master/www/js/Pi2D2.js#L77-L91 Shows how I turn on each of the components. For the pressure sensor part...that would live outside of Pi2D2. You'd just need a way to poll it to update the UI.

https://github.com/Bagarre/Pi2D2/blob/master/www/js/pollStratux.js#L50 Is where I pull speed readings from stratux. Pi2D2 doesnt care if it's GPS or not. It's just a value.

Please keep in mind that Pi2D2 is a pet project for me to play around with the AHRS data coming out of stratux and is in NO WAY intended for us in ACTUAL flight situations...experimental or otherwise. Honestly: if I found out that folks were going to use a raspberry pi and my code as their primary flight instruments, I'd delete the repo.

tailwindflyer commented 8 years ago

Thanks for the pointers. I will have a play.

Don't worry, this is meant to be an educational project for me too, and not a primary flight instrument system. I work in aviation and am well aware of the safety and airworthiness side of things.

That said, I believe that once a prototype system is produced to display the basic VFR flight parameters in a suitable manner, like your Pi2D2, and tested for reliability, we could have the basis for a nice secondary instrument system for experimental aircraft. I specifically don't want to display attitude data that if in error could be potentially misleading - that is why I am only wanting to display the basic flight parameters for my project.

My purpose is really to develop something I can use as a data logger for flight test of my aircraft, so that I can replay test sequences post flight. However I also want a live display of the basic parameters in flight for comparison with the primary instruments.

I hope this addresses your concerns Bagarre.

Anyway, I think I will start by looking at the display configuration as you suggested, using a new init() routine. Then I will separately test a diff pressure sensor with the Pi and report back.

Thanks

Rich

Bagarre commented 8 years ago

Which instruments are you interested in? The data logging should just be a matter of syslogging out what you get from stratux.

turning off most everything less airspeed, altitude and compass is going to leave a lot of blank real estate on the screen. There is a setting for the font size for airspeed and altitude but, I don't have it to where changing that font will do what you want. It will increase the size of each number but not the spacing between them. each digit is actually a hidden dial so it looks like an odometer in a way. I did that do you'd have a visual indication of increasing or decreasing values. https://github.com/Bagarre/Pi2D2/blob/master/www/js/Pi2D2.js#L553-L563 Is where I build the altimeter dials. So if you change the size of s.largeFont, you need to change the spacing from 25 (https://github.com/Bagarre/Pi2D2/blob/master/www/js/Pi2D2.js#L555-L557) to something else.

I have another commit coming soon where I re-worked the GMeter and VSI to be Arc'd scales with needles. Much cleaner visually.

cheers,

tailwindflyer commented 8 years ago

Thanks,

I am waiting on the pressure sensor and display screen hardware to arrive from overseas, so plan on playing with the SVG display first. However, I am a newbe to programming the rPi and also Java and Python.

First I have to figure out how to get things running, what dependencies to load etc.

Bagarre commented 8 years ago

This project doesn't require the Pi or special hardware to get started. You can just clone the repo and open www/Pi2D2.html in any browser for now.

Without a Stratux to talk to, everything will flip to INOP in a few seconds but if you set pollstratux = false at https://github.com/Bagarre/Pi2D2/blob/master/www/Pi2D2.html#L11 You can get around that.

Sent from my iPad

On Jan 22, 2016, at 3:26 PM, Rich notifications@github.com wrote:

Thanks,

I am waiting on the pressure sensor and display screen hardware to arrive from overseas, so plan on playing with the SVG display first. However, I am a newbe to programming the rPi and also Java and Python.

First I have to figure out how to get things running, what dependencies to load etc.

— Reply to this email directly or view it on GitHub.

tailwindflyer commented 8 years ago

Thanks, I changed the pollstratux line then...

Ok, showing my ignorance here... I copied the pi2d2.html lines into a Windows notepad file and saved as Pi2D2.html. Then I tried opening in a browser and I got a blank screen.

Bagarre commented 8 years ago

You're going to need the entire www directory. all the sub folders and files The easiest way is to fork a copy to your account (fork button top right of this web page) and then clone that for of Pi2D2 to you local computer. git clone https://github.com/tailwindflyer/Pi2D2.git Then you can just 'double click' on www/Pi2D2.html

This way, you can make any changes you want to the code. If you're new to github, it might be worth reading up on how to use it but, fork - clone - commit - pull and push are the commands you'll use most often.

tailwindflyer commented 8 years ago

Ah, thanks. I will do my github homework first! I appreciate your patience

Cheers

1-prop-head commented 8 years ago

I really like the direction you are taking the project. The temp compensated air pressure transducers and a design of a pitot that also gives angle of attach would fit right in with the current push to get AOA information in the front of the GA pilot. Just a thought one might also think use the ESP8266 to remote the sensor/op-opamp-via its Arduino dev kit. This would put this out on the wing communicating via WiFi to the Stratux for display (put other things away from EMI like the compass out there too).

tailwindflyer commented 8 years ago

Thanks prop-head. AoA would be a great addition. Don't give me too much credit for taking the project in any direction as I am pretty inexperienced at building things with computers! I have a long way to go.

The Pi2D2 display using SVG is very impressive and feels highly flexible from my experimenting so far. I am very impressed with this as a start point as we can probably choose different options - display on a tablet via browser or HAT screen.

I personally do not need attitude displayed, and I am also mindful of the complexities of getting accurate AHRS data from a little IRU board. I remember years ago listening to lectures about Euler angle calculations... But my brain decided not remember too much of the detail;). I am happy to leave that aspect to the experts.

Also, the consequences from a safety standpoint, of unannunciated erroneous attitude display are difficult to mitigate for the user that decides to push his/her luck and fly IMC.

For me though, I would like the capability to log AHRS data along with other flight parameters for post flight review. The display would probably be limited to ASI, Alt, VSI, HDG - ie the basic VFR requirements.

I really like your idea about using a wifi linked pitot/magnetic sensor in the wing. And those ESP8266 boards are very affordable. I am still trying to decide what the best airspeed differential pressure sensor to start with though. Now you have me thinking about AOA... Any suggestions on a suitable affordable sensors?

Cheers

Rich

Bagarre commented 8 years ago

Rich, Let me play around with a few ideas for a screen like that. My biggest gripe with most EFIS layouts is they don’t do a good job of showing a trend or change. Speed tapes TRY to show you going up or down and how fast you’re going up or down… but I’m too used to steam gauges.

With as cheap as the sensors are, it’d be an interesting experiment to build an array of them across an entire wing section. AOA is a very good indicator of a wing about to stall but you still need to know at what AOA the wing stalls.

Knowing your AOA alone doesn’t tell you much.

But, an array of tiny pressure sensors or even simple airflow sensors CAN tell you that portions of your wing are no longer flying. The sensors would have to be very thin as to not disrupt the airflow themselves. (Cessna learned how sensitive some airfoils are when they added the landing light in the wing)

This would be a really cool experiment.

On Jan 23, 2016, at 11:21 AM, Rich notifications@github.com wrote:

Thanks prop-head. AoA would be a great addition. Don't give me too much credit for taking the project in any direction as I am pretty inexperienced at building things with computers! I have a long way to go.

The Pi2D2 display using SVG is very impressive and feels highly flexible from my experimenting so far. I am very impressed with this as a start point as we can probably choose different options - display on a tablet via browser or HAT screen.

I personally do not need attitude displayed, and I am also mindful of the complexities of getting accurate AHRS data from a little IRU board. I remember years ago listening to lectures about Euler angle calculations... But my brain decided not remember too much of the detail;). I am happy to leave that aspect to the experts.

Also, the consequences from a safety standpoint, of unannunciated erroneous attitude display are difficult to mitigate for the user that decides to push his/her luck and fly IMC.

For me though, I would like the capability to log AHRS data along with other flight parameters for post flight review. The display would probably be limited to ASI, Alt, VSI, HDG - ie the basic VFR requirements.

I really like your idea about using a wifi linked pitot/magnetic sensor in the wing. And those ESP8266 boards are very affordable. I am still trying to decide what the best airspeed differential pressure sensor to start with though. Now you have me thinking about AOA... Any suggestions on a suitable affordable sensors?

Cheers

Rich

— Reply to this email directly or view it on GitHub.

tailwindflyer commented 8 years ago

Thanks Dave. Agreed re the AOA discussion.
The multiple sensors could save tufting the wing, but even a single AOA sensor would have the potential (in the right hands) to provide extra SA.

Also agreed re the potential impact of things stuck on the wing! I use the analogy of VGs when trying to explain to those that don't appreciate this aspect. Ie "why would they bother to put these little things on the wings of an airliner if they were insignificant... So, do you agree we need to assess the impact of XX on our installation??"
This argument has worked for me a few times in justifying test programmes and $$.

tailwindflyer commented 8 years ago

Forgot to mention, I like the speed tape trend arrow method of showing dv/dt

Lots of PFDs use this approach

Just a thought

1-prop-head commented 8 years ago

Just a bit more on AOA and then I will go back in the shadows. I put the Barker kit together for my plane http://www.barkeraircraft.com/AOA_kit.html it wheels the analogue back to the dash via shielded cable (not my desired method). The Barker design uses a wind vane and hall effect sensor mounted on your existing pitot. Another sensor I considered was a printable pitot (http://www.thingiverse.com/thing:1121786 ). Flydr2's design is interesting because it includes a pitot with AOA capability. I did not build this one but did work with differential pressure sensor transducers to implement a low pressure air grain transport monitoring system. Now the pressure sensors are temp compensated and just require an OpAmp to swing into the voltage range of your A/D like is available in the ESP8266 (this wifi enabled computer is getting down to $1 us).
Lastly the flap position plays in this AOA thing and may need to be known to provide the most accurate situational warning.

tailwindflyer commented 8 years ago

I think Flydr2's printable pitot with AOA looks promising, quire similar to the Dynon version.
What pressure transducers did you use for the grain transport system? As I mentioned earlier I have ordered an mpxv7002dp to start with. I am researching the ESP8266 that you suggested, and how to interface it to sensors like this.

I really like the idea of a wifi linked pitot/AOA/mag sensor for the rPi.

1-prop-head commented 8 years ago

Your choice is excellent. I too chose a Freescale product MPX2100DP which I got it from Digikey. My pressures were higher watching for limits over 6psi and below 5psi I also used an inexpensive single supply instrument amplifier to swing the output voltage to match the A/D input range of a WebControl PLC it might have been the LMV321L or something very similar. I currently am away from my lab for the winter so specific details are not as easy to come by.

My research into AOA stuff is a little over a year old and is just coming from memory but I thought a Vans Air Force blog had some info on a home made air data setup that was mounted in the tail of a members RV.

On Jan 23, 2016, at 12:25 PM, Rich notifications@github.com wrote:

I think Flydr2's printable pitot with AOA looks promising, quire similar to the Dynon version.

What pressure transducers did you use for the grain transport system? As I mentioned earlier I have ordered an mpxv7002dp to start with. I am researching the ESP8266 that you suggested, and how to interface it to sensors like this.

I really like the idea of a wifi linked pitot/AOA/mag sensor for the rPi.

— Reply to this email directly or view it on GitHub https://github.com/Bagarre/Pi2D2/issues/10#issuecomment-174227088.

tailwindflyer commented 8 years ago

Ok, while waiting on the hardware I have been experimenting on the forked Pi2D2 to simplify it to the VFR requirement I am working on.

This is what I have so far image

I removed the yellow bars either side of the central attitude display, removed the Gmeter, and the heading & alt bugs.

I really like it. The display seems very clear and easy to interpret. I played with the test script moving the speedbar - I like it.