Altitude and Vario’s

 Jeti  Comments Off on Altitude and Vario’s
Jul 082020
 

I received some chips last week, they are to be used in a VarioGPS unit for Jeti. I’ve build around a dozen of these things now, and so far I have had no real issues. So what happened?

As always with stuff from ‘the east’ you never know what you get. But I am jumping ahead.

With a fresh cup of coffee and a hot soldering iron, fun is to be had. First load the firmware on the Arduino-Nano. Yup, done that a million times. Only this time my usb cable is bad. Ah well, after last weeks mains cable to the router spindle, what is to be expected? Somebody trying to keep me on my toes? Anyway, carrying on regardless. Code loaded, and the first one assembled. No GPS reading? And the air pressure is only 507 hPa? (Exactly half what it has to be.)

Ok, back to basics. Of the 10 GPS modules (them expensive ones) 9 are good, the one I used is bad (for now, maybe I can revive it).

But that altitude problem turns out to be a Real Good one!

The Barometric Pressure Sensor chips that are mounted on the GY-63, as these boards are called, is normally a MS5611. (I used this link for reference, this is NOT where I got mine!!) Everybody uses them, no problems ever reported. They have a resolution of 10cm.

When I finally was able (with 3 magnifying glasses stacked) to read what was on the chip, it said: MS560702BA03. I received MS5607’s that are advertised as MS5611, but obviously they are not!

They are the predecessor of the MS5611, and an obsolete part. And the Big, Really Real Big Problem is, that they have half the resolution. (20 cm). Now, resolution would not necessarily be an issue. Range is the same, all other specs are the same, the code according to the manufacturer is the same.

Looking at many available (Arduino) libraries, you only see the occasional statement that the library is MS56xx compatible, meaning good for both MS5611 and MS5607 (and others).

So, what next? As always I am a sucker for getting to the bottom of the problem, and a $5.00 chip ain’t getting the better of me. But it is annoying to pay for a premium part and get a shitty one. We’ll see what our friends say about it.

My solution for the time being, is to change the code! (What else?)

// code from the manufacturers application note
// https://www.amsys-sensor.com/downloads/notes/MS5XXX-C-code-example-for-MS56xx-MS57xx-MS58xx-AMSYS-an520e.pdf
This bit is from the application note. 
D2 = cmd-adc (CMD_ADC_D2_CMD_ADC4096); //read D2
D1 = cmd-adc (CMD_ADC_D1_CMD_ADC4096); // read d1
dT=D2-C[5]*pow(2,8); // D2-C[5] * 256 
OFF= C[2]*pow(2,17)+dT[4]/pow(2,6); 
SENS=C[1]*pow(2,16)+dT*C[3]/pow(2,7);
T=(2000+(dt*C[6])/pow(2,23))/100;   P=(((D1*SENS)/pow(2,21)-OFF)/pow(2,15))/100; 

The code below is used in the MS5611 library, file MS5611.cpp
*/
{   uint32_t D1 = readRawPressure();
    uint32_t D2 = readRawTemperature();
    int32_t dT = D2 - (uint32_t)fc[4] * 256;  
    int64_t OFF = (int64_t)fc[1] * 65536 + (int64_t)fc[3] * dT / 128;
    int64_t SENS = (int64_t)fc[0] * 32768 + (int64_t)fc[2] * dT / 256;

    if (compensation)
    { int32_t TEMP = 2000 + ((int64_t) dT * fc[5]) / 8388608;
	OFF2 = 0;
	SENS2 = 0;
	if (TEMP < 2000)
	{   OFF2 = 5 * ((TEMP - 2000) * (TEMP - 2000)) / 2;
	    SENS2 = 5 * ((TEMP - 2000) * (TEMP - 2000)) / 4;
	}
	if (TEMP < -1500)
	{  OFF2 = OFF2 + 7 * ((TEMP + 1500) * (TEMP + 1500));
	   SENS2 = SENS2 + 11 * ((TEMP + 1500) * (TEMP + 1500)) / 2;
	}

	OFF = OFF - OFF2;
	SENS = SENS - SENS2;
    }
//uint32_t P = (D1 * SENS / 2097152 - OFF) / 32768; // 507 hPa, readout is exactly half what I expect.

uint32_t P = (D1 * SENS / 2097152 - OFF) / 16384; // 
return P;
}
/* Fudging the result for now by dividing the last line by 16k instead of 32k fixes the result, but not the cause. 

It’s bad, it’s fixing a hardware problem with a software fudge. But hey, it kept me busy for a few evenings, and that braincell certainly got a tune-up!

The recipe for calculating the pressure.

My RPM meter for the spindle? working really good. And surprisingly accurate and stable. RPM’s on the Kress 800 are from 10000 to just a shade under 29000. I even printed a box for it, so that the fingers do not get in the way of sharp things. Since usually it is a mess near the spindle, with all kinds of stuff flying around, I decided to keep it as a separate unit. If I need to set a RPM, I can do so easily before cutting. And yeah, I ordered better cutting bits. By the time I have all this finished I could have shaped 100 parts by hand, but there’s no fun in that 😉

Yeah, the spindle problem: turned out the the constant flexing of the mains cable killed the cable. Took 10 years, so I’m not complaining. All is happy again, and the spindle even sounds better. Which probably leads me to another project: Do I upgrade the Router to modern electronics/software or carry on as is? Will it make life easier? Will it make coffee? (Just in case I run out of things to do, one needs to have things lined up!)

update @ 2200: found the differences between the sensors. Testing next..

Display fun

 Acroduster, CNC  Comments Off on Display fun
Jul 022020
 

I wanted to use this nifty little display for my RPM display of the spindle on the CNC-Router. It somehow switched to a 128*32 mode.

Digging in the code, I found a problem (for me, in this sketch) Activating the 128*64 define in Adafruit_SSD1306.h library, fixed it.

Yes, of course, it (they) will go into the plane as well, that’s why I got them 😉

/*!
 * @file Adafruit_SSD1306.h
  * This is part of for Adafruit's SSD1306 library for monochrome
 * OLED displays: http://www.adafruit.com/category/63_98
 * Written by Limor Fried/Ladyada for Adafruit Industries,
 */

#ifndef _Adafruit_SSD1306_H_
#define _Adafruit_SSD1306_H_

// Note: my display only showed 32 lines, 
// changing this define to the one below
// cured the problem. Standard 'define SSD1306_128_32' is wrong. 
// Kees Blokland, 2 July 2020

// ONE of the following three lines must be #defined:
#define SSD1306_128_64
//#define SSD1306_128_32

Update: The better and proper way is to add the directives from the updated library in the source code:

Adafruit_SSD1306 display(128, 64, &Wire, 4); // This forces 128*64 display and a reset. Before it was:

Adafruit_SSD1306 display(4);

So the display is working, but values are jumping around too much. This is a known arduino limitation, and somewhere I have a library from ElectricRCAircraftGuy that solves the problem to a large extend.

Oh, and in the meantime the router motor has decided to stop. It did sound funny lately, more work! Usual case of ‘last night it worked, today it does not’. Using a Dremel for creating revolutions to count.

Yes the shed roof is still being worked on too, and so is the garden, and a myriad of urgent stuff…

Back to school.

 CNC, Uncategorized  Comments Off on Back to school.
Jul 012020
 

For the first time in months it’s raining today! Just checked my rain tanks, they are filling slooow, the plumbing is ok, no leaks. (Trust me to install rainwater capture tanks, and then it does not rain for months!)

Challenge of the day: I really, really want to make these small metal parts myself. Problem I have is not Knowing Enough about milling speeds. (Not knowing anything about cutting metal is probably closer to the truth).

Truss drag fitting: result in 0.5 mm mild steel.

So when I tried to cut some stainless steel I get a red hot milling bit, with sparks flying everywhere. That, my friend, is NOT GOOD. I already went down to the lowest speed my spindle runs (10k), slowest feed (30mm/min) lowest plunge depth (0.5mm). I have a 2 mm 3 flute bit in my Kress 800.

What now? I know about cnccookbook.com, but the GWizard software only runs on a Windowz system. ;-(

Anyway, installed a trial version of GWizard on the work-laptop (which I will not use for work anyway) and plugged in the numbers I used. Well, lets say it recommended I do not try this at home!

What should I do next? Get better and more suitable mills is the obvious answer! Stuff that works for plywood, does not make a good metal cutter. But first let’s see what I have. I have a bunch of short 1 mm cutters. Long story short, I need a higher feed-rate and lower RPM. Easy said. Now try to make that router behave. Since it’s raining, some good Irish country music playing in the back, lets tackle it!

After some googlings I think I found bits similar to what I have. The company that mine came from 10 years ago, does not have a search function on their website. Going through loads of pdf books is a bit too much fun today.

mine are not AlTiN coated, I should use lower speeds I guess.

First we needs something to actually measure spindle RPM. I am sure I have an prop-rpm gadget somewhere. But ‘Somewhere‘ is a bit elusive at present, I’ll try to remember where I put it. Can’t find it….

with all the happy numbers plugged in.

Playing around a bit more, I can actually use the 2 mm HSS mill that I have mounted now, needs 60 mm/min @ 5300 RPM, cutting depth is 0.5mm, slot width =2 mm

I did find some of my old reflective sensors, so we are almost done. (famous last words). Fire up the soldering iron, and cook up some code.

 Posted by at 12:17 pm  Tagged with:

tip-work

 Acroduster  Comments Off on tip-work
Jun 282020
 
Lower wing as it should be..

After glueing the trailing edge wood (not shaped to final yet!) it was time to do a bit of tube-bending. It’s 4 mm tube, and for the life of me, I don’t know why it is so soft. Almost feels like copper tubing. Never mind, just try to match the shape.

bend wood and bend tube

Trying to hold the camera at just the right distance and level is probably easy if you were to create a support. Maybe one day? I just needed to get the tip shape lined up with the trailing edge, and make sure the lines ‘flow’.

A quick copy paste on the original drawing makes it look close enough. There is some distortion in the camera, the rib distances are correct.

Good enough to carry on!

it matches well enough.

In the meantime I’m making more ribs, more trailing edges, more of everything. But that has all been documented, I’m not repeating it 😉

when metal meets wood..

 Acroduster  Comments Off on when metal meets wood..
Jun 192020
 

Making sure wing mates with the fuselage.. And a single 3.18mm pin does secure it to the fuse.

Not much to say, just wanted to see how it looks. After this pic was taken, I glued in a bunch of false nose ribs.

there’s no way back..

 Acroduster  Comments Off on there’s no way back..
Jun 182020
 
ribs glued to the spars

The ribs trimmed to size (sort of) Even at this stage the wing is very stiff. Normally in a balsa/built up wing, it is pretty easy to twist the structure. Due to the way the ribs are built, there is an decent amount of torsional stiffness, even at this stage. Next I have to make the root rib and tips ribs.

Next maybe the aileron, since that takes quite a bit of additional mechanical work. The TE can be added as the last bit. so that there is a nice curve along the ribs.

I’m still thinking about the tubular bracing in the wings. I don’t really need it. If I change my mind I can add it at the end. I will save quite a bit of weight, is there just ”because the original has it”. The leading edge covering will provide enough for-aft stiffness.

For my own reference: ribs are slightly under 10 grams before trimming to length. The whole wing at this stage is 335 gram, that’s including some metal. What the target weight is? No idea to be honest, I would think around 700-800 gram all ready. But up to a kilo for each wing will be ok, I need the weight!

it’s getting serious now..

 Acroduster  Comments Off on it’s getting serious now..
Jun 162020
 
around 40 ribs cut, and 10 glued up
looking ribly..

A good day was had, is the saying. Over the last week or so I have been bending the cap-strips. It is a time consuming job. First you soak them for a few days, then clamp them in a jig, then let dry for at least 24 hours. Repeat.

Since there are always minor variations in the construction, my plan is to route the outline to final shape once I have enough ribs done. That would make them all exactly the same, which is the whole purpose of all this effort.

Another day, another rib..

test fit one more time.

more rib testing

 Acroduster  Comments Off on more rib testing
Jun 062020
 

If in doubt do it the Paolo way 😉 . Success guaranteed!

cap-strips added

The full size cap-strips for the ribs are 1/4 x 1/4 pine. Scaled down that translates to 2.12 mm square. That is just too small for my fingers.

The plywood I have (that lite-ply) is 2 mm. I have nice 2 mm mill bits. (Not great for wood, but it works). Some time later, I have found The Way to Do it.

Mill a groove in the 11 mm strip, offset from centre (don’t ask where I got 11 mm, that’s what it is, came from some “Imperial” country. Supposed to be 1/2″), turn it around, same again, and last, run a deeper groove in the centre to cut it into 2 halves. Bingo, nice cap-strips.

Next I probably need to make a jig so I can glue the cap-strips on the ribs. (40 odd ribs.) en in general get busy. Once the glue dries, I can (if needed) sand the cap-strips down a bit, looking for no more then 3 mm wide. I’ll leave the height for now as is, it will give me some room to play with during the final assembly.

The vertical rib stiffeners are just scrap, probably do them in thinner ply. Joining the mains and aft spar requires triangular pine blocks, again, by the time you scale things down, they are small. I think I have a cone bit somewhere, I will try to make the blocks the same way as the cap-strips, mill a groove and chamfer the side..

Ouch, almost got myself in trouble. The cap-strips run all the way from LE to TE !! Even though the nose section of the wing is covered with plywood! Good to check, and check again. Which means I have to make the ribs complete, and slide them over the spars. No problem, but it shows you got to pay attention.

2 mm grooved cap-strips, can be sanded to size once glued to ribs.

making ribs

 Acroduster  Comments Off on making ribs
Jun 052020
 
trial wing ribs.

With the wing spars ready, it’s time to start thinking about the ribs. On these wings, nothing is straightforward, every rib looks different. (which gives it those nice wings 😉

Luckily the designer was smart enough to keep all the ribs up to the aft spar the same, so the only difference is the rear section of each rib. Which means, after I sorted the profile, I decided to make some test ribs to see how it all looks.

These are really just for testing, the wood is something called lite-ply, which to be honest is pretty useless. It’s as light as balsa, but warps by just looking at it. Been carrying it around for 20 years, so time to get rid of it!

The profile is approx 13%, I might thin it down slightly, I think 12% will still fit. It’s roughly a NACA0013, so 12 will do just fine. Or 12.6, or something.. I’ll think about it. Have to make sure the servo’s fit as well!

more small steps..

 Acroduster  Comments Off on more small steps..
Jun 042020
 
exactly 6 degrees bevel.

At some stage, after laminating the wing spars, I needed to bevel them at 4 degrees for the forward, and 6 degrees for the aft spars. Could have done it by hand, but this was quicker. (After spending 2 hours thinking about it, and trying to mount the planer. ) Only do this under adult supervision. You’ve been warned. Count fingers. Keep them.

Anyway, looks good. The main spars cut to length came at 97 grams each. That’s the great thing about wood, if it is too heavy, sand some more, until you get to your target.

Adult supervision required.
Lower wing attachment points.
starting to look like a bird…

There are some small errors in the laser-cut parts, but nothing that I can’t fix quickly. If I remember right, at one stage I thought that I needed a bit more material around holes, so added 0,5mm to the outer contour. Should not have done that, stuff is strong enough as it is! The rear attachment point is now a bit tight, but as I said, easily fixed.