Piano Automation Continued

Over the past week I finished the lower valve manifold plate. The lower plate connects the row of holes on the piano tracker bar to the valves on the top plate. Obviously it would have been nice to just put the valves directly over each hole, but since the valves are much wider than the hole pitch I had to instead design the manifold with the valves arranged in multiple rows. Each tracker bar hole is connected to the valve above via passages that are routed into the bottom plate. The path of each passage was chosen carefully to avoid connecting to other valves/passages and to avoid running into the bolt holes that connect the manifold halves – each valve should connect to exactly one tracker bar hole. I let the CNC router do this work; it was relatively slow going with a 1.5mm end mill in aluminum but it turned out OK.

1 2 3 4

After the passages were milled I created a gasket using wide tape. The tape covers and seals the top of the passages and a hole punched at each valve location allows each valve to connect to its passage. The tape has enough compression that any imperfections in the plates will be sealed once the plates are bolted together. I also added a lip/shelf to the back of the manifold to hold it in vertical alignment against the tracker bar.


With the manifold ready, I connected it to the piano and tried firing the outputs. Results were not good, there was some vague correlation between outputs being on and notes being played but something was wrong. I had originally assumed the air passed all the way through the valves but closer examination revealed that they actually pass air from their stem to ports near the base of the stem. Since I had the entire stem/base of the valve mounted inside the manifold there was nowhere for air to flow when the valve opened. I re-made the top plate with smaller holes and re-installed the valves with only the stem in the manifold.

Valve Valve2

Remaking the top plate solved the valve problem but there were many dead notes due to air leaks at the tracker bar. I experimented with several materials to seal the tracker bar to the manifold and ultimately landed on thick rubber outdoor electrical tape as the best performing, though many leaks remained. I found that the tracker bar was not very flat and I was able to carefully bend it back. This helped considerably but leaks still remained. I found that the force needed to push the manifold against the tracker bar for a good seal had the effect of bowing the tracker bar away from the manifold in the middle, so I added a thin aluminum lip to the shelf on the back of the manifold. The lip is just thin enough to fit between the tracker bar and the wood cover behind it and it allows the manifold to hook over the top of the tracker bar and more positively hold the bar along the entire length of the manifold with enough preload on the tape to seal. This essentially solved the leak problem.


Currently there are ~12-15 keys that I’m tracking down problems with, this started from ~20 and was reduced by working through electrical/alignment problems. On the remaining dead keys I’ve ruled out problems on the piano side, problems with the lower plate, and any electrical problems; so next step may be replacing the valves themselves. It’s possible that those keys need more airflow, which would require milling their passages deeper and/or modifying the valves; hopefully it doesn’t come to that. Once they’re all firing though then the mechanical work on this is basically done and I’ll be able to shift focus to the control system side.

           Leave a comment

Generator Install

After fixing the generator last year (this project) I needed to install it permanently. I pulled the permit last year and it expires soon, so lately I’ve put more work into this to get it done. After a year of on-and-off work it’s finally ready for inspection. Permanent installation consists of 3 main parts: mounting the generator, installing an interlock, and running cable from the generator to the house electrical panel.

#1 – Mounting the generator was relatively easy – I dug out a flat area, made a form, added rebar, and poured concrete. The only tricky part here was keeping the threaded bolts positioned correctly so that they’d line up with the generator mounting holes. After the concrete cured I moved the generator in place and bolted it down, using hockey pucks as vibration dampers. I turned down the upper hockey pucks on the lathe and machined a step into them so that it keeps the generator centered on the mounting bolts.

#2 – The interlock requirement is the most important part of any generator installation since it prevents energy from the generator back-feeding into the utility, which would create a dangerous situation for the linemen that are working to restore power. There are several ways to accomplish the interlock:

– Automatic Transfer Switch: This switch is placed inline between the meter and main panel, during an outage it automatically disconnects the house from the utility, connects to the generator, and sends a signal to start the generator. This capability would be nice but there’s a lot of complexity, expense, and extra work involved.

– Manual Transfer Switch: This switch is placed inline between the meter and main panel and you can manually select which power source the house is using. This is much simpler than the automatic switch, but still requires an additional small panel for the switch.

– Main Breaker Interlock: This is a sliding plate that mounts inside the existing main panel and it prevents the main breaker from being ON at the same time as another nearby breaker (and vice versa). The generator powers the main panel through the nearby breaker.

I opted for the Main Breaker Interlock since it’s allowed where I live and it’s the simplest way.

#3 – Running cable was the toughest part. Since the generator isn’t a residential unit that’s fire-rated to be directly next to the house (it probably would perform better than a residential unit, but the military doesn’t do the residential testing) it had to be at least 2ft away. 2ft away would have made for an awkward placement and it would have been in the way a lot, so instead I took it much farther out near the tree-line; leading to a ~60ft long trench. Code requires either 18″ of cover or 24″ of cover depending upon whether or not conduit is used. I opted to use conduit since the shallower trench saved digging effort and also reduced the chance of encountering any other utilities in the process. Most of the digging was through very dense/hard clay and it was slow-going with a trenching shovel. I welded the shovel back together at least a few times. I also experimented digging with the pressure washer, which mostly made a mess. The last 2ft near the house were through concrete; the technique I used for this was to turn the area into Swiss cheese with a hammer drill, break it out with a small air chisel, and then progress down to the next layer. I had been on and off of this effort over the past year and finally finished this weekend.

(#4) Misc things. Since the generator wasn’t originally intended for residential installation there were a few extra things I did to convert it:

– I added cabinet locks to all of the access doors. This isn’t for security so much as it is to prevent anyone that shouldn’t be in there from getting into danger, especially the front door that has the output terminals directly behind it.

– One of the code requirements is that there must be a way to disconnect the generator outdoors. The generator itself sort-of/kind-of meets this requirement since it has a switch on the operator panel that will open the relay that connects the output power. Since this switch isn’t directly a disconnect though and since there’s a lock on the operator panel that could restrict access I also added a ‘real’ disconnect on the exterior of the house. I used the CNC router to make an engraved sign to mark it.

– Since the interlock completely disconnects the house from the utility it can be tough to know when power is restored. Electrically it would be possible to have a light/buzzer on the utility connections before the main, but since this wouldn’t have a breaker it wouldn’t be safe or code compliant. I found a device that’s made exactly for this problem and installed it. It has it’s own power via a 9V battery and has an antenna that wraps around the line from the utility to monitor power status. The alarm is armed manually when on generator power and as soon as utility power returns its siren sounds.

– I made a step-by-step instruction list with photos so anyone that’s home at the time of a power outage can start the generator and operate the interlock. This list and the key to the generator are held inside the main panel with magnets.

Next step is to get it inspected and then I can backfill the trench and clean the mud off of everything one last time.

           Leave a comment

Checkride Passed!

I haven’t updated in quite some time; summer was very busy with work, travel, and the occasional practice flight. I documented a number of these things with the intention to later post, however I failed logging into my phone one too many times and it deleted all photos.

Bus: Only minor work done on the bus, mainly more wet-sanding & polishing.

CNC: I created a homemade drag knife for cutting out vinyl/cardboard/paper. This is still a work in progress as are accuracy refinements and fine tuning.

Aviation: I passed the Private Pilot check ride! This generally means I can now fly any single engine land airplane (that does not require a Complex, Hi Performance, or tail-wheel endorsement) to/from any airport (besides the obvious: military/etc); and I can now carry passengers that aren’t flight instructors. I should be getting the official plastic certificate (There’s no such thing as a “Pilot’s License”) card in the next few weeks like the one below.
Private_PilotIn practice, switching to something other than a Cessna 172 would require a little bit of transition training and there are time limitations to renting the trainer plane. So not sure what’s next with this hobby, but there’s a lot to learn and it’s still very interesting…

         Leave a comment

CNC Machine: All axes working

Tonight I got the machine fully assembled and working with all axes (and the spindle) at once. This greatly improves image plotting since the pen can be lifted. I just need to mount the spoil board and I should be able to begin cutting tests.

    Leave a comment

CNC Machine: Plotting Images

It’s been a while since I’ve updated, and I’ve gotten a lot done during this time. I modified the gantry motor plate (one of them at least) to include a spring tensioner and also added some diagonal braces to the gantry columns; the gantry now runs even smoother and with little or no backlash. I then added the Y axis guides, fabricated the Y axis motor carrier and Y rack support. Once I got all the Y parts together I was able, for the first time, to test coordinated motion between axes by clamping a pen to the Y axis. The results of this testing were great. It drew very accurately with the pen, the drawing path even occasionally required overlapping the same pen line later in the program; it was able to follow the existing lines exactly. The only thing it couldn’t do was lift the pen, since the Z axis wasn’t installed…

1 2 1 2 3 4 5 8

…So after I eventually finished playing with plotting images I began work on the Z axis. The biggest challenge with this was attachment of the spindle mount; the spindle mount is one of the few metal things (other than the motors/guides/racks) that I didn’t fabricate from scratch; despite this I still needed to do some fairly extensive machining/modification to get it attached to the Z extrusion in a very secure but still adjustable way. With the spindle mounted to the Z extrusion the remainder of the work was just some minor drilling, tapping, and cutting. The Z rack is a lot longer than it needs to be for the amount of travel Z has; it was the last rack section to get cut so the extra length is just the leftover/spare, it fits on the extrusion so no sense cutting it off.

9 10 11 12 13 14

Sometime during initial gantry testing I fried the Z axis motor driver on the smoothieboard when moving the gantry by hand with the drivers off. Z wasn’t even connected during this but my guess is the spinning gantry motors fed back through their drivers onto the supply bus; Z happened to be the weakest and it fried with a snap & flash. Because of this I was actually testing the Z axis with the Y driver. I have an external stepper driver on the way and once it arrives I should be able to move all axes at once and really see what it’s capable of. Next Steps:

#1 – Finish electrical enclosure fabrication
#2 – Modify other gantry motor plate to include spring tensioner
#3 – Final fabrication of cable management, cosmetic covers, etc.
#4 – Disassemble, body work, prime, paint
#5 – Final reassembly & wiring

    Leave a comment

CNC Machine: Gantry Moving

Lots of fabrication work over the past week including the motor brackets, columns, and home switch trigger. The gantry axis (still debating whether to call this X or Y) guide rails as well as many other parts arrived Friday and were mounted to the machine base. The machine base also got a coat of body filler (the pink spots in the photos) and sanding in anticipation of paint.

With everything fabricated and assembled, I was able to temporarily wire the system and run the first motion tests of the gantry. Overall I was extremely impressed, the homing switch worked and both sides stayed perfectly in-sync. The gantry achieved the same 1200IPM I had seen in the rack testing. I somehow managed to build it with tight enough tolerances that the rack doesn’t bind and isn’t overly loose over the full travel range, but there are still some noticeable differences in some spots. Right now the mesh is only adjustable with the play in the motor mount screws. One improvement I’ve already got on the drawing board (screenshot below) is to add a spring tensioner system to keep the rack mesh constant across the entire travel. There was enough room where I won’t have to re-build anything to do this, it almost looks like I planned to have it from the start.

Also, in aviation news, this weekend I passed the phase check to be able to fly solo cross-country. I’ve been able to fly solo for a while but only within the local airport area; this now means I can fly solo between airports and continue practicing cross-country flying.

1 2 3 4 5 6 7

    Leave a comment

CNC Machine: Frame Progress

This weekend I did more work on the CNC machine base:

– Power inlet, power switch, USB port, and E-Stop holes were all drilled & filed to the correct shapes.

– Rack support rails were added to the frame edges and end-caps added to the frame front and gantry ends.

– Flame straightened the frame to relieve welding stress/distortion. It was my first time trying this so I wasn’t sure about it at first, but it worked great. I put a straightedge on the frame and found which side was convex; then heated that side in several places until it was just red hot. After it cooled the straight edge showed a much smaller gap in the middle on the concave side; I repeated this until the frame was flat in all directions.

– Flame straightening got the frame flat overall, but there were still a few high-spots. These were ground down with a flap wheel until no gaps existed with the straight-edge and the entire frame was perfectly flat.

– Machined holes into the gantry drive racks. The clearance between rack edge and the inside edge of the rack teeth was extremely close. I bought some extra room by grinding down the outside diameter of the bolts some, but it was still very close. For the most part I was able to get the holes centered exactly in in this small space, but there were a few holes that created a notch in the outside edge of the rack; luckily none of the holes interfered with the rack teeth. The other racks will be easier since they’ll be mounted from the back side with partial depth holes drilled/tapped into the back.

1 2 3 4 5 6 7

There’s still some fabrication work left to do, but several critical parts (Guides, spindle, etc.) are all on a slow boat from various far east locales. They’ll become the limiting factor, so I’m taking it slow and making sure everything is done as well as it can be.


    Leave a comment

CNC Machine Fabrication Begins

The metal has arrived and over the last few nights I’ve begun fabrication of the machine. For the electronics enclosure I’m re-purposing the original crumpled hood that came with the golf restoration project. After removing the inner support, the outer hood skin was a reasonably flat piece of sheet metal. (That does also make this machine part VW, but it wasn’t intentional) I don’t have a big press brake for accurate bends, so the box that resulted is a little wonky, but its nothing that can’t be salvaged with some body filler and sanding.

I’m moving fairly slowly with the machine base, making sure everything is as square, flat, and true to the design as my ability to measure, and so far it’s looking really good. I also have the gantry mostly fabricated, which consists of two pieces of angle iron welded edge-to-edge, forming a channel.

– Fabricate gantry columns
– Fabricate motor plates
– Fabricate Z axis mounting plate
– Fabricate electrical enclosure lid & connect to base w/ piano hinge
– Machine base flatness check and hand scraping of guide mounting ways
– Drill & tap holes (dozens of them) in the machine base and racks for mounting the racks and guides
– Assemble/Wire/Test
– Disassemble, Paint, & Reassemble

1 2 3 4 5 6 7 8 9 10

    Leave a comment

Stepper Motor Testing

The racks, pinions, and power supply arrived yesterday and I setup a trial run to verify the motors would have enough speed/torque with the selected gear ratio. First, I bored a few thousands out of the pinions to allow a press-fit onto the stepper shafts. Next I pressed the pinions onto the stepper shafts; luckily the steppers have a hole in the back of the case that allowed me to support the other end of the motor shaft so that no force went through the motor bearings. I then verified the pinion/shaft run-out with a dial indicator; all except one were well under a thousandth. I was able to bend the one with a few thousandths run-out to match the rest; there was no way to protect the motor bearings during this process though so hopefully I didn’t cause any longevity problems.


Once all the pinions were in place I cut the racks to final length and modified the Smoothieboard electronics and configuration files to accommodate a 2nd (and inverse rotation) motor on the X axis. I then wired it all up and began testing. It all seems to work great and I was getting what seems to be plenty to torque all the way up to 1200in/min. The rack also seemed to have very little backlash, even over a range of different engagement depths. I don’t have any good way to measure the torque, so I just pushed against the rack by hand with a force that I assume is far greater than the moving/cutting resistance. So it remains to be seen if 1200in/min will be the actual speed; I also verified there is even more torque at lower speed, so I can always slow it down if need-be. Speed will probably be limited more by the spindle/tooling/material anyways.

    Leave a comment

CNC Machine Planning Pt2

Since the last update I’ve completed the machine design and ordered a majority of the metal and mechanical parts. Some of the components’ 3D models (smoothieboard, power supply) were available online, which saved some time, but I had to model the majority from scratch. The design uses all the actual part dimensions to ensure there won’t be any part interference and that the range-of-motion will be OK. Getting the dimensions right so that there is no interference while also not having any wasted travel is actually much harder than it looks and a lot of time was spent perfecting this. As a result, the clearances are fairly tight, but this machine is meant to be as compact as possible so this is intentional. The overall usable table size worked out to be 48″x18″, with a machine footprint of 52″x24″. Some design highlights:

  • Strategically placed bolted connections to allow for adjustment of squareness and rack/pinion mesh.
  • Minimize weldment complexity and dimension criticality. It will still require a lot of attention during fabrication, easily the most dimension-critical thing I’ve fabricated.
  • X rails flush with the back of the table to allow for future expansion.
  • Parts will be held to the table with temporary clips screwed into a sacrificial fiberboard table;when the fiberboard becomes too full of screw holes it will be replaceable. The spindle centerline will be able to reach every part of the table to allow it to be surfaced flat.
  • The electrical enclosure occupies the rear area that is unreachable by the spindle. Unfortunately the height of the power supplies makes the enclosure higher than the table surface, so if the machine needs to be temporarily expanded I’ll have to build up the table surface over the enclosure and sacrifice some Z travel. This won’t be a big problem though since the type of things I’d do in ‘expanded table mode’ wouldn’t require much Z anyways. (Making the base taller would have fixed this, but since it’s going to live on the workbench all the time I’d rather keep the base as flat as possible)
  • Z axis uses a standard extrusion; this will give the most flexibility with mounting different tools
  • I included a provision for a pneumatic cylinder in the design to counter-balance the Z axis. This will allow the Z axis weight to be precisely offset by adjusting air pressure. I’ll wait and see how it works though before deciding to either add this, a gas strut of the same size, or nothing.

New6 New5 New4 New3 New2 New1

    Leave a comment