In my previous post I changed the uploader app to run when the Raspberry Pi turns on, and installed the scale under Pippa’s dog bed. In this post, I get interesting data from the scale.
The scale has been running for a little over a week now, and has been surprisingly reliable for a first version. There is some sort of bug in which, every few days, the scale stops supplying new data BLE notifications to the gateway. I plan to refactor the scale and gateway to avoid that, but that’s another post.
In my previous post, I wrote the Raspberry Pi Node.js code to upload data from Pippa’s dog bed scale to data.sparkfun.com. This post covers how to make a Node.js program run automatically when the Pi is turned on. Oh, and at the end I installed the finished scale under Pippa’s bed.
In my previous post, I designed and printed a Centering Guide to line up the top and bottom pieces of the scale. In this post, I finish assembling the scale.
Now that I have the Load Sensor Holders that I designed and printed, I drilled mounting holes in the blocks that will hold the Load Sensors.
(I used only the two front holes you see in the picture; not the other hole)
From there I lined up the support blocks on the bottom plywood circle, used a hand drill to extend the mounting holes through that part, then used a drill press and Forstner bit (on the bottom side of the plywood circle) to counterbore the holes that will hold the nuts that hold the bolts down.
Note in the above picture that I’m using a support stand to hold the large plywood disk while I drill using the drill press. The support stand looks like a roller on a vertical bar. It’s a safety thing, to keep the plywood from crashing to the ground at the wrong time.
Once that was done it was an easy matter to line up each Load Sensor with the support blocks below it, slip the bolts through, and fasten them with the nuts.
After mounting the Load Sensors, I mounted and connected all the other parts: the Arduino, Load Cell Amplifiers, Protoboard with resistors on it, and the plastic Centering Guide.
Finally, here is the long-awaited, assembled version 2 Dog Bed Weight Scale, ready to be calibrated. It contains 4 Load Sensors, a pair of resistors per Load Sensor to change the Load Sensor into a Wheatstone Bridge, a Load Cell Amplifier per Load Sensor to measure the weight on each Load Sensor, and an Arduino to make sense of it all.
In my next post, I’ll describe the Raspberry Pi code to transfer data from the scale to the cloud.
In my previous post, I did a little woodworking on the scale. In this post, I start designing a 3D printed part that will keep the top of the scale centered on the bottom.
Ever since I measured the center of gravity of the top plywood circle, I’ve been puzzling through how to make sure that center of gravity stays centered on the bottom part of the scale. Without some sort of connection between the top and bottom plywood circles, the top will inevitably slide over time, messing up all the center of gravity calculations. On the other hand, if this connection between the top and bottom has much vertical friction, it will take some of the load of the scale, throwing off the weight calculation.
After having such success 3D printing a Load Sensor holder, I decided to have a go at a plastic part that would help keep the top and bottom plywood pieces aligned.
My plan is to drive a nail down through the top of the top plywood circle. Then whenever I need to place the top plywood circle on the bottom one, I can get close enough to center that the nail will be somewhere inside the 1.5″ diameter cone in the Centering Guide. From there, the sides of the cone should guide the nail to the center of the bottom plywood circle. Then the top and bottom pieces will be aligned.
At least that’s the theory. We’ll see.
Being new at designing for 3D printing, I’m not sure how to build an arch or corbel to support the cone. So I relied on the default Cura support structures, which take a lot of plastic.
Note the large amount of infill in the cylinder. I should be able to (eventually) come up with a design that doesn’t require so much plastic. On the other hand, since I’m only making one, I can put up with using 3.5 meters of filament this time.
While I was designing the Centering Guide, I tried to print four Load Sensor holders at once. Little did I know that I should mess with the print parameters for such a large print. I stopped the resulting print part way through. It was weird: the filament wouldn’t stick to the print bed, so little hairs started sticking up. The hairs then caught other print lines, until the whole thing started looking too frizzy to be useful. Going back to one-at-a-time prints seems to work fine.
In my next post, I finish mounting the Load Sensors and complete the final assembly of the scale.
In my previous post, I 3D-printed parts to hold down the Load Sensors. In this post, I fix the counterbored holes that keep the nuts from protruding below the bottom of the bottom piece of plywood.
In the woodworking post, I used a router to cut counterbore holes on the bottom side of the bottom piece of plywood. These holes hold the nuts that hold the circuit boards.
Unfortunately, the router bit wouldn’t cut the center of the hole, so it couldn’t cut deeper than about 1/8″ – about half of what I needed. Oh, and I probably burned the router bit too – don’t force the router, kids.
So I decided to try a Forstner bit. Forstner bits are designed for drilling counterbore holes; they make a nice, flat cylindrical hole. But I didn’t know whether I could use a Forstner bit in a router. It turned out well – the bit fit in the router and fits great in the plunge router.
I was able to set the plunge depth to the 1/4″ I need for the circuit board nuts, and in no time had cut all the holes to the correct depth. I think I set the speed low enough to keep from burning the bit.
In my next post I do some more 3D printing, both good and bad.
In my previous post I soldered the weight scale parts to a proto-board. In this post, I design and 3D-print the part that keeps the Load Sensors from slipping.
The Load Sensor is an oddly-shaped thing that has a few tricky constraints: the T-shaped part in the middle must be free to bend downward (my wooden mounts take care of that), and I don’t want it to slide out of place horizontally or tilt off of its position when I’m putting the top plywood piece on the scale.
I’ve tried a couple ideas – wood holders, washers and bolts – but nothing seemed to work well. So this week I decided to learn how to design and print 3D parts.
After a few false starts I designed a basic part using FreeCAD. I like FreeCAD because it’s a powerful, Open Source CAD package capable of sophisticated work. Some people find it difficult because, unlike SketchUp it’s Parametric – everything is done through setting parameters on lines, surfaces, and solids.
We have a Lulzbot Taz 5 3D printer at work. A friend at work helped me get started with it, and printed my first part for me.
This was a great start, and really got me fired up. All I had to do next was fix a few details in the model, and I’d be done – what could go wrong?
First I installed the missing piece of the toolchain: the Lulzbot edition of Cura, a 3D print preparation application. Then I edited my model in FreeCAD, exported it to .stl format, read it with Cura and… woops.
For some reason the model didn’t export/import properly: the bolt holes were missing, the little cutouts at the front were gone, and the tabs at the top turned into strange triangular blocks. Not Good.
So I experimented and searched. The problem seems to be that Cura is (properly) confused by internal edges, so I should Fuse the parts of the model before exporting to Cura. I haven’t yet found how to do that (education opportunity!), but I did manage to redesign the part so that it happily made it into Cura. The problem seems to be aggravated by using Pockets (subtracting material), so my redesigned model has no pockets – it’s all just adding parts together.
A very short time later (ok, 45 minutes), I had a printed part!
In my next post, I drill the right depth of holes in the plywood.
Here’s how advertising works today, glossing over a lot of detail:
A web site, like CNN.com, offers advertising space
You experience the medium, say by browsing to CNN.com
Part of that experience is an advertisement
The site records the fact that you saw a particular ad
The site charges the advertiser of that ad.
Great, no? Advertising behaves like it has for ages: a medium gets income by essentially renting out part of the medium. And for online ads, when you click on an ad, an advertiser pays a lot.
Here is the weakness: if you are only exposed to an ad, but don’t click on it, the advertiser’s value of you, as an individual, seeing that ad is tiny.
Along comes https://flattrplus.com/. Flattr Plus’ model is simple: you pay a website directly for the ads you block – and it’s cheap because ads you don’t click aren’t worth much.
Think about that for a minute: the advertiser wants to pay the website to show you ads; you want to pay the website to not show you ads. Who will win? Is not seeing an add worth more than seeing one? If it is, online advertising just died. Right in front of your eyes.
In my previous post I described how to use long break-away headers, and started soldering the circuit together. In this post I finish transferring the scale circuit from the breadboard to a protoboard, and do a quick test mount of the circuit on the plywood scale base.
A reminder: I found that the Load Cell Amplifier was (by design) so sensitive to changes in resistance that just touching the resistors on my solderless breadboard caused large changes in the Amplifier output. So I wanted to solder all the parts down.
I’m generally terrible at soldering on protoboards, so I tried out one of Sparkfun’s Solder-able Breadboards. This board has internal connections that copy those of a solderless breadboard, making it easy to transfer your circuit from a solderless breadboard to this Solder-able Breadboard, without redesigning the layout and without having to solder two wires together – everything is soldering one wire into one hole.
In almost no time, I had transferred the half Wheatstone bridge per Load Sensor to the board, and soldered the wires, resistors, Load Sensor connectors, and Load Cell Amplifier connectors in place.
Once I had everything soldered together, I plugged in the whole circuit and (temporarily – that’s another story) mounted the parts to the plywood bottom part of the scale.
You can see in the above circuit the four Load Cell Amplifier board (the small red boards), one per Load Sensor, the protoboard in the center, and the Arduino. Each Load Sensor is also plugged into the protoboard. Compare this picture to the one of the solderless breadboard in my previous post – it’s very, very similar.
Thanks to @feraldata I happened to be reading Elizabeth King’s piece on a 16th Century monk automaton. The article describes the automaton as having “duende”, loosely translated as “soul” – that is, there is something surprisingly profound (or upsetting) about this simple robot. That observation reminded me of the Laughing Sailor automaton that was popular as a Edwardian seaside amusement: drop in a coin, and the seated sailor in the glass booth would laugh and rock back and forth.
Sounds simple, non-threatening, and maybe even silly, doesn’t it? Yet when I saw a Laughing Sailor automaton up close, at Wookey Hole, I found it had something uncanny in its behavior: the all-too-real eyes flick malevolently to the left and right; the face is disturbingly half way between a smile and a grimace, and the not-quite-human rocking to and fro suggests the fellow is far too amused by some joke that may turn out to be on you!
A Laughing Sailor of one sort or another has appeared in various movies, always in the form of a malevolent robot whose laughter comments on the macabre situation. I’m not surprised – the little guy creeps me out.
Et proiectus est talpa – "and the mole was cast out"