Sunday, November 19, 2017

New sensor board in the making

I'm trying to be far more careful now about how I build up and qualify my boards. I got 6 boards made from Osh Park and fully stuffed one of them yesterday. Today, I'm doing a step by step qualification to make sure everything works well.

I attached a Fio V3 to the board with a temporary header and rubber bands (someone should make Cleco fasteners for 0.1 inch headers!!) and used a Sparkfun TMP102 breakout board I had lying around as a generic I2C device to test the pressure sensor slots (so I don't risk my actual, expensive pressure sensors).

First, I learned that unless I de-populated the pullup resistors and decoupling cap on the TMP102 breakout, the bus did not work properly. I suspect it was the pullups that were overwhelming the bus, given that my board already has pullups.

With that fixed, I was able to verify that each of the pressure sensor slots were interrogated correctly by my bus scanner and that the TMP102 showed up where I expected it to.

Here is a picture of my test setup, followed by a picture of the signals as digital and analog traces on the scope. You can see how each of my 4 I2C buses is lit up in sequence by my bus scanner program.

Turbulence at the top of my mast

I installed a little tuft to estimate the amount of turbulence at the top of my mast:

As you can see, it is in view of my video camera. The result of a test run on the freeway is here (and note also impact with a tree branch ... happily no harm done).

Here are some things I noticed:

1. The piece of copper wire holding the tuft in place is a little bit wiggly, which could be exaggerating the movement of the tuft.

2. That said, even when there were few road bumps and the wire was staying put, the tuft was wiggling around quite a bit.

3. It seems difficult to estimate the frequency of the oscillations but I'm going to suspect it's just broad spectrum noise.

4. If this is any indication of what things look like on a crowded runway, I'll have to do some serious digital filtering to basically reject everything except the bandwidth of interest, which is probably no faster than 0.5 Hz or so.

With that in mind, then, the following is my plan of attack:

1. Build up and qualify a reliable new probe.

2. Test it with the 60 mW XBee modules, pushing the sampling rate as high as I possibly can while still getting reliable comms.

3. Thus oversampled, now add a simple lowpass filter on the display.

4. Give myself a TODO item to learn about Kalman filters and implement a more proper filtering strategy later.

Sunday, November 12, 2017

Furl the staysails!

I made a mast to fit on my 2006 Toyota Prius to permit further testing. The mast is an 8 foot section of aluminum tubing; at that height, if there is any turbulence, then it is likely to also occur at takeoff and landing and should probably be digitally filtered. In any case, it's a cheap way to do tests.

The mast is made of an 8-foot length of 1" square 1/16" wall aluminum tubing. At the bottom, it is riveted to a large T-strap hinge which is attached to a piece of plywood which is in turn held onto the car's roof rack bar with a pair of U-bolts. I have some ropes with carbiner hooks attached to the four jacking points under the bumpers, and from these and the roof rack I have 4 stays made of paracord. The lines come off and the mast folds down for transport. I don't deploy it unless I know I'm on a stretch of road where I'll have clearance.

Here it is, stowed and deployed:

I drove the rig around today on a 45mph road and on the freeway, with a camera attached, to determine how it held up. Stability seemed good. I'm generally not worried about excessive vibrations.

Here is the 45mph run:

And, after gaining some confidence, this is the run on the freeway:

For a subsequent test, I'd like to make a dead-simple wind vane and stick it up in view of the camera to get a baseline for how turbulent the flow is up there and how that is affected by vehicles ahead of me on the freeway.

Sunday, October 29, 2017

My board eats chips

After a very frustrating time spent with the innards of Probey, I have come to a disturbing conclusion: My circuit board eats chips.

By which I mean, for some reason, the circuit I designed and built has been destroying the ($50 each, thank you very much ... did I mention nothing in aviation is cheap?) pressure sensor chips. Right under my very own eyes, one chip that was doing just fine and answering as it should at I2C address 0x29, after being plugged into the board to test the various sockets, just stopped working and did not respond to I2C messages at all.

I am ensuring the board is powered off prior to connecting and disconnecting things. BUT it may well be that the Fio V3 is not really powering off the buses when it's turned "off" so long as it has a battery connected, and perhaps the resulting discharge when parts are connected and disconnected causes them to fail. I am trusting the Fio to turn itself off while I swap chips with the battery connected. Maybe I should disconnect the battery before swapping chips.

Perhaps also the All Sensors chips are particularly sensitive to power transients and ESD? I don't know.

I put together an independent breadboard test rig to test the chips away from any other weird circuitry:

This rig is my determinant of whether a chip has been eaten or not. And in fact, again, a "good" chip showed up on 0x29 in the test rig and in the probe, then stopped responding in the probe, and back in the test rig was also not responding. So the probe board eats chips. Simple as that.

Probey McProbeFace taking shape

I finally got enough pressure sensors to fully populate the probe, and put it together. The one missing part is a more durable back cover that can be secured with a screw. The following photos show some of the tubing installed, and the Taoglas adhesive patch antenna with a Zip-tie for strain relief.

Sunday, October 22, 2017

Rough idea of new probe

This is a rough idea of what the new probe, with the new PCB and supports, will look like. Some dimensions and positions will change, but nothing major:

New board making progress

Today I got the new board put together with the 3D printed components. I have IC sockets for the pressure sensors so I do not need to solder them in. I have some more sensors on order to fill up the slots, and then hopefully we'll be ready for another flight test!

Sunday, October 15, 2017

Integrated PCB assembled and functional

I got my integrated PCB in the mail last Friday, and spent some time populating it. After fixing some bad soldering jobs and doing a bit of debugging ... it works! The only problem in the board was an incorrect wiring of the on/off switch, which is easily fixed by cutting one trace. The I2C devices enumerate properly on the mux. Here I have not yet populated it with the fancy and expensive pressure sensors, but I did install two of them temporarily to make sure that they are showing up on the bus.

The next steps are to adapt my code to the new board configuration, which should be pretty quick, and expect the 3D printed mounting components, which should come in this week.

Saturday, October 7, 2017

Modified probe design and some 3D printed parts

Pursuant to the flight test dud, I have been redesigning the innards of the probe to fit on a single PCB for reliability so that (a) I don't have to pack a bunch of barewired parts with foam to try to get them to stop rattling, which as we've seen makes them fail; and (b) I don't have a bunch of parts rattling around with a LiPo battery in the probe body.

The new probe looks like this:

The forward support and rear cap for the PCB are being 3D printed. This is how they look, below. Note how the rear cap supports the PCB yet includes a generous cutout for access to the board edge connector and switch, and to expose the on-board temperature sensor chip.

Saturday, September 30, 2017

PCB for airdata probe

After the humbling experience with the flakey bare-wired sensor board, I decided to spin up a PCB that would bring together all the parts I need. This design has only one "loose" wire pair: the wires to the battery, which is designed to be VHB taped and Zip-tied to the board with the loose wires taped up for vibration protection.

The board at Osh Park is here:



Now I need to CAD up some 3D printed components to fix the board in the polycarbonate tube, and expose the rear board edge since that contains the charging connector, the on/off switch, and a tiny little temperature sensor chip (TI TMP102).

The temperature sensor probably should be in the actual airstream, rather than merely exposed on the board edge, but for the time being this should be a reasonable enough configuration for preliminary testing.

Saturday, September 23, 2017

More dreaded electronic crickets

Today, we tried for a test flight with the airdata probe mounted onto the strut of a friend's Cessna 172. Unfortunately, after getting out to the airport, mounting everything, and sitting in the plane, the probe did not seem to be sending any data to the display. We tried bringing the probe within a few inches of the display, to rule out RF interference problems, and turned both parts off and on again, but no dice.

Part of the problem may be that, in anticipation of the test flight, I repacked the contents of the probe to ensure that they did not jostle around during flight. This may well have messed up the circuits in some way and caused this problem.

Tomorrow we debug.

Saturday, September 16, 2017

The dreaded electronic crickets

My greatest dread and fear is of electronic crickets. I put a circuit together, as carefully as I can, plug it in, and ... crickets. Nothing. Nada. Not a peep. Well so it happened today.

I soldered one I2C mux chip and some resistors and capacitors into the board I had made. Soldering the SMTs was not easy, and it's clear that I need at least a good magnifier of some sort and a good pair of very precise tweezers. I then pulled off some signals from the board to see if the I2C mux would successfully mux in a BMP280 pressure sensor breakout board, thus verifying that at least some of the things I put on there were doing their job.

The result was, no detectable I2C presence.

Ok so I imagine the problem is that I failed to tie the address pins (A1, A2, A3) of the I2C mux either high or low, so who knows what address the thing happens to be sitting on right now. This is a pretty elementary boo-boo, and I note (ex post facto as it turns out) that the Adafruit breakout board does indeed tie these pins low, and provides a way for you to override that.

Another boo-boo I made is that, in the mounting for the BMP280 board, I failed to pay attention to the hole diameter -- I ended up making holes suitable for an IC, but not for a (much thicker) 0.1" header.

So I think I have decided to skip bare board manufacturing for now. I'm sure I can learn the necessary skills but that is for another day.

That said, I can still get boards made to mount the breakout boards into -- that will save me from a lot of flimsy and error-prone hand wiring, and will save some space inside my probe.

Friday, September 15, 2017

Perfect Purple PCBs

I just got my PCBs from Osh Park today. I will be populating these for SMD soldering practice, but I'm going to respin this design before I put any expensive components into it.:

  • The BMP280 breakout board I designed it for ships direct from Asia and, though cheap on eBay, mine has yet to come in. Given small volumes, I'm going to just rely on Adafruit's.
  • I missed some connections to tie various pins explicitly high or low, which for what it's worth might explain the problems I had getting my wire-soldered version to work too....

Saturday, September 9, 2017

More partses!

Today the Cloudbase Engineering mount came in the mail, as did a bunch of SMD components I'm going to try to solder to the PCBs I ordered. The mount looks great and is very nicely packaged with really lovely accessories; looking forward to seeing how it fits. As for the components ... yikes. How am I ever going to solder these resistors and capacitors? We'll see.

Friday, September 8, 2017

New try for a mount

The mount I described here turned out to be a #fail. The wood was not shaped exactly like the strut, so it put "pressure points" on the strut that we worried would deform it. I could have continued carving at the wood, but I decided to try another idea entirely.

I have ordered a mount from Cloudbase Engineering. Marc, the proprietor, is super helpful and offers free shipping and a money back guarantee. The Cessna 172 mount will come with a photography-style lockable ball with a 1/4-20 threaded adapter. I made a bogo-machined ("bogo" because it's embarrassingly heavy, but oh well) adapter that will allow me to keep the ball mount set at the same angle, but remove the probe for charging. It uses a RAM EZY-Mount™ Quick Release Adapter Kit to accomplish the snap-on quick release.

Now I'm anxiously waiting for my Cloudbase mount in the mail....

Monday, September 4, 2017

Weighing my probe

My wooden Cessna strut clamp was too tight on the strut, so I figured I would take another stab at the problem. First I must quantify. So to that end, I weighed the probe, found its CG with attachment hardware, and made a few pictures of how it would look mounted relative to the wing strut:

I'm going to shop around the various camera strut mount vendors to see if one of them can sell me something that works out of the box. When in doubt, contact the pros? :)

Sunday, September 3, 2017

Ordered my first PCB

Below is a picture of my first-ever PCB that I've tried to get actually made. This holds three All Sensors Corp. pressure sensors, one 6-pin BMP280 breakout board, and one TC9548A 1-to-8 I2C multiplexer. Along with a bunch of pullup resistors and some capacitors on the power inputs. It has one I2C+power input, and one I2C+power output to an off-board temperature sensor breakout board that I would screw to the outside of my probe.

The cost to get 3 of these made at was just over $20, including free shipping. This work is not on the critical path of any testing at this point. The goals are:
  1. Go through the schematic -> board -> production process.
  2. See what a board looks like in person, and compare it to my design.
  3. Determine how my traces went -- any places where wires are too close?
  4. Show to an experienced friend and get feedback.
  5. Go through it with a multimeter and look for wiring mistakes.
  6. Buy some SMD parts and practice stuffing the board.
  7. With the board partially populated (without soldering in the really expensive All Sensors chips), determine if it actually works.
  8. Get some DIP headers and attach one of the All Sensors pressure sensors, and see if it works.
I'd be pretty surprised if all of these steps went well, but we'll see.

In general, the long-term goal is that I'm trying to develop and "in house" capacity to build PCBs since this will quickly become my limiting factor. I need to be able to miniaturize my work so as to make it (especially the probes) really lightweight, which in turn will make the probe mounting simpler and easier (if it's no heavier than a GoPro, then any little GoPro mount ought to work).

Saturday, September 2, 2017

Sensor board schematics

Working on a sensor board -- this is my first foray into Eagle. The results of today's hacking.

Saturday, August 26, 2017

Tuesday, August 22, 2017

Probe mount saddle

Currently making 3 of these on Shapeways. Random component of an Airball probe. Shapeways is really useful and easy but ... should I buy my own 3D printer?

Sunday, August 20, 2017

Drawing C172 strut profile

I've had these drawing instruments since 1983. Here are two attempts at picking off the C172 strut profile from my profile gage. Use only as directed; your mileage may vary; no warranty.