I decided to restart my work on instrumentation. I found this interesting website, https://experimentalavionics.com/ , which had done exactly what I was originally planning. I’ve decided to re-boot my instrumentation design using ideas from this site.
The first thing I need to do is choose my sensors. I looked at the EFIS Module-A design here. (https://experimentalavionics.com/efis-module-a/) One thing I didnt really like is using the A to D on the Arduino Nano. It is only 10 bits while the Honeywell sensors with a digital output are 12 bit. While not huge, id does increase the resolution by 4 times which I think is significant at the lower speeds.
Based on a Vne for the Sonex of 197mph or 169knots I determined the maximum pressure differential by working the speed formula backwards. A range of + or – 6 kPa yields an maximum airspeed of 194 knots
The Honeywell HSCMRRN060MDSA3 seems to be stocked by Digikey. It is a surface mount part but is fairly large. It uses the SPI interface and is 3.3V. I will pick this one to test with.
For the altimeter the Honeywell HSCDANN015PA2A3 also seems to be stocked by Digikey. It is a through hole part that uses a 3.3V I2C interface.
I finally got around to assembling one of my prototype boards for pressure measurement. I decided to go with the board measuring absolute pressure that I designed to determine pressure altitude. During the time that the boards and parts were on order I discovered that my idea of using 10V for the pressure transducer would not work as the differential output would not be in the correct range for the analog to digital converter. I decided not to populate the 10V section and ran a jumper to supply 5 volts to the transducer. This also meant changing the reference voltage to get the correct range for the output of the transducer since this would be half as large as originally planned.
While assembling and testing the board I found a couple of additional problems. I found that I had not connected the SET pin of the 5 volt regulator (MAX1659) to GND so I would not output the correct voltage. Next, I discovered that I had not wired the enable (ENB) line on the digital isolator (MAX14934) to 5 volts. This probably didn’t matter but at the time I was having difficulty getting communication to work on the SPI bus so I added a jumper anyway.
I finally started to get the board communicating with my Arduino but the value was off. I checked the reference voltage to the ADC and found it wasn’t correct. After looking at the specification sheet I found that I had created the voltage reference symbol incorrectly and swapped pins 4 and 5. This meant that I was not getting the correct output voltage. Back on the prototype I tried to lift that side of the reference IC (MAX6037) but it came completely off the board and I lost it. I installed one of my spares and installed jumpers to swap pins 4 and 5. With this complete the board started reporting what appears to be the correct voltages and hence correct pressure readings.
For thermocouple interfacing I’m currently considering the analog devices AD849x (4,5,6,7) series of thermocouple interfaces. Analog devices has an application note (AN-369) that is for another interface but covers how to read multiplexed thermocouples. Instead of the multiplexer listed in the application note I am considering the ADG707. This ic will run from a single supply of 5 volts but only has a rated analog signal range to VDD (5 volts). This limits the range of temperatures but since I will also run the AD849x on 5 volts this should not be a problem. The maximum temperature is theoretically 1000 degrees C since the output of the thermocouple interface is 5mV/°C.