Tuesday, December 29, 2020

More probe testing

The probe testing with the "kite" proved somewhat disappointing, I'm afraid. The problem is that the airflow near the hood of the car is curved, so the tail feathers of the "kite" fly in one direction, while its nose is pointed in another direction. I did some testing and verified the angle difference was on the order of 5 degrees nose-down. There may be ways to fix this, and the "kite" does give us good natural stability, but for now I decided to set it aside.

So now we just have the probe mounted on the PVC pipe proboscis using two servo motors. Here it is looking a tiny bit sad and droopy:

It turns out the 12VDC in the car is actually a little over 14V, which over-volts the Dynamixel servos. I decided to instead use a 3S LiPo from my RC airplane days. The long wire to the Dynamixel servos caused intermittent data errors -- I'm suspecting I need to use a twisted pair, since I recall the protocol is basically RS-485 plus power. But no matters. I am getting data. Here's what's on my lap while Melissa drives the car:

My plan is to run a "find zero" routine to zero out the probe, then do a series of sweeps at various speeds with cruise control on. I got a tiny bit of data and it looks reasonable but noisy. I will do some more programming to make my data acquisition stuff resilient in the face of comms failures, and then go out for some more test runs when the roads are quiet. Stay tuned.

For now, this is what the probe looks like when it's "flying":

Wednesday, December 16, 2020

First highway run with probe

 Whelp. I made a non-moving (for now -- no alpha/beta servos) mount for the probe onto the "kite" and it seems to hold together. I got the location of one screw wrong so I had to use some duct tape:

The result of my quick W&B is that it ended up a tiny bit nose heavy, but not by much. That's fine for now. I ran it for the first time on the freeway, up to about 65 mph, in heavy turbulence so I did not push it any further. But overall, it looks stable and, on a quiet morning on an empty street, I expect I could actually get data out of this thing. Here's the video:

Probe road testing proceeds

 We're back to putting whacky stuff on the Prius! This time our pole is a PVC pipe facing forwards:

The "kite" is not yet mass balanced, so we took it on quiet streets in the neighborhood, going up to maybe 45 mph. It was stable up to that point, and we did not push it. Here is a video of  the "flight":

The "kite" gets "on the wing" at about 13 mph, and with a bit of creative steering, it's possible to free it from the ropes if it gets stuck on them. Otherwise, it seems reasonably trouble-free.

Subsequently, I did a quick balance test to measure the rearward moment of the weight of the thing, and am now 3D printing some more stuff to move the payload mass forward to counteract the tails and make it mass-balanced. Stay tuned.

Saturday, December 12, 2020

Raspberry Pi Compute Module 4

 While we were snoozing, the Raspberry Pi Foundation released the Compute Module 4. This is a serious upgrade from the previous Compute Module. The main thing it provides to us is an option for on-board Wi-Fi with a u.FL connector for an antenna. This means that we don't need to design our wireless solution any more; it's done for us!

With that in mind, and given that we are using Wi-Fi not XBee for wireless, it is now possible to design a simpler version of the awesome display board that Jeremy built! For the new version, I'm looking at a serious downgrade, in favor of simplicity, for some important items. Yes, sometimes less is more.

First, I'm dropping the adjustment knobs and just using a row of clicky buttons. Yes it is just like the cheapy monitor controls on your cheapy monitor. But it also saves valuable space. Anything that helps us fit into a crowded instrument panel on an airplane is a net win.

The previous design also had a very clever microcontroller to make sure the brightness adjustment worked even when the Pi was booting up. In the new one I'm just hooking up a Pi GPIO to the brightness PWM input, and calling it a day. I might add an inverter so it's at full brightness until the Pi boots up, but yes, it will be in an indeterminate state during bootup, and hopefully we boot up quickly so this is not an issue, but for now, this just makes things simpler.

I added space for a real-time clock and a battery for it, but I'm not sure if I will populate it. We'll see. Having actual time is useful for data logging, but honestly, it's just as easy to use a sequence number or whatever and be done with it.

The CM4 has a power supply built in now, so we can lose all our power circuitry. We just get 5V input from USB or wherever, and we're good.

I've arranged for two USB-C power socket for either vertical or horizontal mounting. The USB-A socket is there for attaching peripherals, a keyboard, or anything else. If you want more than one port, use a hub. :)

Finally, I'm explicitly adding slots for two 8-position 0.1" screw terminals to allow expandability and support wired use. This all fits in with the idea that this is supposed to be a general purpose, expandable, in-vehicle display unit for all kinds of use cases.

The result is something that should be super small -- see this previous blog post where I made a mockup. This is the current state of the circuit, which is still in development. It's funny that, for all its fancy functionality, it's actually somewhat simpler than the sensor board!