Category Archives: Uncategorized

Apple IIc Video Repair

Since moving, the home office area has taken a back seat to other projects. Although it’s been fully functional, there were many unopened boxes filled with books/computers/etc. This weekend we started the process of unpacking and organizing the office stuff with the goal of understanding what kind of storage space and desk space is needed. I’ll use this info to design/build cabinets, hopefully some time in the near future.

One of the boxes contained an Apple IIc. It powered on OK, but the video signal was flaky. The video connector felt a little loose, so I opened it up and found that the connector design relied on a crimped connection that had worked loose over time. With a very hot soldering iron I was able to heat the crimped connection and flow solder into the joint.

This fixed the video problem from the IIc side, but on the monitor side the brightness knob has to be set just right or the picture scrambles. I suspect the brightness potentiometer has oxidized everywhere except where the wiper was sitting for the last 20yrs. If this is the case, then I should be able to fix the monitor by just spending some time turning the adjustment knobs back and forth until it clears up. Either way I’ll be disassembling both the monitor and the IIc (again) to fully clean them and reverse the yellowing of the plastics; I can replace the potentiometer at that time if needed.

1 2 3 4

I’m planning to set aside a corner of the office for the retro computers (Apple IIc, Macintosh Plus, Commodore 64). As I unpack these I’ll post more details on getting them cleaned up and working again.

       Leave a comment

Piano Automation – Valve Control Board

The Piano controller will be based around a Raspberry Pi Zero W.  I had originally considered using a spare Arduino, however since the project will require a lot of file handling and a web server, having a full general purpose OS is much easier than shoe-horning it all into the Arduino.  The Raspberry Pi also has a wifi adapter built-in, simplifying wiring.

Unfortunately the Raspberry Pi doesn’t have the ~90 outputs that are needed to control the piano’s valves. This is a common problem in electronics and micro controllers – it’s assumed that the designer/integrator is going to provide their own output channels that are most suitable for their device. Instead, the Pi has several low voltage/current outputs that can be switched extremely quickly. I’ll connect these outputs to shift registers, clock all 88 valve bits into the shift register’s ‘memory’, and then send a signal to latch these new values to the outputs. This will be repeated quickly enough (~1000 times each second) that for my purposes the ‘remote’ outputs at the shift registers will appear to instantly follow the valve output commands from software.

74HC595 is an extremely common 8-bit shift register that many examples are based on, unfortunately it’s limited to 35mA outputs at 5V. This could still have worked, but would have required adding a transistor switching circuit to each output to achieve the 200mA @ 12V that the valves require. Going that route would have meant half of the design or more would have been dedicated to individual transistors/resistors, leaving a lot of room for errors during the build. To avoid this I found the MIC5891; this is essentially the same device as the 74HC595 but with built-in output drivers that can provide up to 500mA at up to 50V for each channel. The MIC5891 also has built-in protection for switching the valve’s inductive load, so this selection also avoided the need to add external protection diodes. The only minor problem created by the MIC5891 is that its inputs are all 5V and the Pi outputs 3.3V; this is resolved by a simple FET level shifter.

Once the MIC5891’s arrived I did a quick breadboard test with the PI powering a single shift register with some LEDs. In this test the MIC actually accepted the PI’s 3.3V signals, but I wouldn’t trust this to be reliable and will still include the level shifter on the full board.

1

To finish the design I added a few FET switches which will allow me to eventually route spare outputs on the Pi through this board to a satellite board that will control the vacuum pump (On/Off/Speed). I also added a 12V to 5V DC-DC power supply so that I can bring a single 12V supply into the control board and have it power everything, including 5V back out to the Pi. This was all drawn up in CircuitMaker.

3 2

Creating the actual board consisted of printing the circuit design onto toner transfer paper, with scaling 1:1 and with the top layer mirror-imaged. I cut the board blank to size and drilled small holes that I had added to the design as alignment points. The board was then cleaned carefully with fine steel wool and denatured alcohol and then I ironed the transfer paper onto the board. When the board had mostly cooled I pulled off the transfer paper revealing the design. In the past I had used photo paper for transferring toner; this was my first time using purpose-made toner transfer paper and it definitely was much better – the board only required minor touch-up with a fine tip marker prior to etching. After etching in Ferric Chloride, steel wool and denatured alcohol were used to clean the toner/marker from the board.

4 5 6
7 8 9

The next steps are to drill all the pin holes and to fully tin the board to increase the ampacity of the traces and prevent corrosion, I’ll do this prior to populating and testing the board.

 

       Leave a comment

Piano Automation – Valve Manifold Complete

This weekend I had a chance to test the completed valve bank.

Testing revealed that some of the keys did not actuate with their corresponding valve open. On these keys when the valve (while turned ON/open) was removed from the manifold the key would strike immediately, pointing to lack of airflow through the valve as the cause. I can’t explain why this occurs on only some of the keys but the piano turns 100yrs old next year, so the inconsistency isn’t surprising. The piano could perhaps be adjusted to make these keys work the same as the rest, but I could more easily just provide more airflow via multiple valves per key – this is the approach I took. To connect multiple valves per key I created a few hollow standoffs that fit inside the valve holes in the manifold . The standoffs then have holes on their sides to allow connecting the extra valves on a 2nd layer above the rest. The end of the hole that was drilled to hollow the standoff was sealed with hot glue. Two valves solved the problem for most of the offending keys, but one extra special key required 4(!) valves in a ‘+’ configuration.

2 1 3

With the mechanical parts complete I’ve taken the first steps to construction of a raspberry-pi based controller that will use shift registers to power the solenoids. The raspberry pi and associated circuitry will be small enough to fit on the back of the valve manifold in the area where the paper roll would normally be. It has wireless connectivity and I plan to have it host a webpage where it can be controlled by phone/tablet. I’m bread boarding this first to prove the concept with one shift register, then once testing is complete I’ll create a circuit board to hold all 11.

4

         Leave a comment

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.

5

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.

6

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

Piano Automation Begins

This weekend I designed and began fabrication of the parts needed for adapting the solenoid valves to the piano’s tracker bar. This adapter will consist of two 3/8″ aluminum plates. The top plate will have holes to accept the solenoid valves, and the bottom plate will have holes to interface with the piano’s tracker bar. Grooves will be machined into the bottom plate to create airs channel between the tracker bar holes and the solenoid valves above. The two plate will then be sealed together, covering the grooves; a similar construction technique as some carburetors. As long as the grooves are carefully routed, each valve should connect to exactly 1 tracker bar hole.

I cut the 3/8″x6″ plate on the band saw and then milled to final length. I used an edge finder to locate the plate edges, and then used the mill’s digital readout to position above each row/hole. For each row I took 2 passes, first spot drilling with a center drill and then drilling to size with a twist drill. 88 * 2 plates * 2 passes = 352 cycles of positioning the X axis and drilling a hole. Once all the holes were drilled I sanded sides to remove burrs from the holes and scratches from the rough plate.

Next I installed and wired the solenoid valves in the top plate. The solenoid valves are an exact fit to the hole, but I added a bit of CA glue to ensure they stay in place. Wiring consists of scrap Ethernet cord that’s been stripped back; Every ~7 solenoids each share a common wire to reduce wiring, but it’s still ~100wires.

I’m happy with the results so far; this is by far the most precise thing I’ve made on the mill and everything is lining up perfectly. The next step will be to 3D model the grooves and convert these to paths to run on the CNC router. I’ve done some aluminum milling with it previously so it should work out OK, especially since it’s just cutting the shallow grooves – I wouldn’t have trusted the router to drill the holes as well as the mill did.

1 2 3 4 5 6 7 8 9 10

             Leave a comment

Piano Automation Proof-of-Concept

I did a quick test tonight to check/confirm the feasibility of using the ebay solenoid valves I got a while back to control the player piano. I connected one of the valves to a 12V battery pack and a push button, and then held it in front of one hole of the piano’s tracker bar while the rest were taped closed. When I pressed the button, the valve opened, and the piano played the key! With this successful test I can move forward with designing an adapter to connect all 88 valves to the tracker bar.

1 2

       Leave a comment

Saw Milling v2.0

A while back, in anticipation of more log milling, I made a jig for holding the chainsaw level along the length of the cut. This is basically a homemade version of an ‘Alaskan Sawmill’, with a few changes.  Since I processed last winter’s log recently it made room for another in the drying area, so I finally had a chance to test out the jig this weekend. For the first cut a ladder is secured to the top of the log to establish a reference surface.

I opted on not tie the reference block into the end of the bar, since I have a limited bar length. Because of this, I also couldn’t make the reference block adjustable without introducing too much flex. Instead, I set it at the maximum board width I may need, and for all thinner boards I’ll add more wood to the block or log to shim it. This also gives me the ability to cut from both sides for a log that’s up to ~2x the bar length.

Altogether this test seemed to work great, the cut was extremely flat compared to the previous log that was cut free-hand. It was fairly slow-going though since I was using a standard chain; I have a ripping chain on order that should cut faster with the grain, I’ll install it before finishing this log.

1 2 3 4

 

         Leave a comment

First Finished Lumber from Saw Milling

The oak I cut down last fall and “milled” last winter (this post) seemed to be dry enough to attempt further processing. Since the milling was very crude, there was a lot of thickness variation and therefor a lot of variation in moisture content. It hasn’t been a full year, but it’s also been a hot/dry summer. I measured an average of about 11% moisture content, which is near the lower limit that can be expected for outdoor drying in my area. Turning the log into lumber consisted of a few steps:

#1 – Rip a straight edge along one side of each plank. Since the log doesn’t have any straight reference surface, I created a sled out of some spare 1/2″ MDF and attached the plank to the sled. The sled provided a straight edge to ride along the table saw fence, ensuring a straight cut edge on the plank.

1

#2 – After the 1st straight edge is cut, the sled is removed and the newly cut straight edge rides against the fence while the other side of the plank is ripped.

#3 – With the sides now flat and parallel, a flat face needed to be established. To do this I put the plank on a long 2×6 and shimmed it until it no longer rocked. I fed the entire stack through the planer with multiple passes until a flat face was established across the entire side.

#4 – With 1 flat face established, the plank was removed from the 2×6 and fed through the planer until a new face was established across the other side.

#5 – The ends were cut on the table saw to be square with the sides.

2

For this initial test I used the board from the top of the stack. This top board had warped a good bit, so instead of trying to plane the warp out, which would have created a very long/thin board, I cut the plank into sections to create shorter/thicker boards. For future drying stacks I need to add weight on the top to prevent warping of the top planks(s).

After planing the first board I am seeing some cracks form. The normal process is to allow the wood to finish drying inside after the outside drying phase is complete, so this wasn’t necessarily a surprise. I’ll likely leave the rest of the log in the garage to finish drying to ~8%, and then re-process the test pieces with the full log once they’re fully dry and stable.

I’m planning to ‘mill’ the rest of the logs soon and put them in this log’s prior location outside, protected by the eave of the garage roof. These should be ready for initial processing and moving into the garage next fall; by then this initial log should be processed into final lumber and will be out of the way.

    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.

1 2 3

#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

#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

(#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.

5

– 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.

4 5 6

– 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.

9 10

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

Window Crank Adapter

It’s not particularly hard to use a window crank, but multiplied by several windows it does take a little bit more time than it could.  With this in mind I created an adapter for a cordless drill to more quickly open/close windows, particularly as it’s starting to cool down some and we’re using the windows more.

Construction was relatively straight forward, it’s just a bit of aluminum turned to size and with a hole drilled with the same size as the OD of the splines on the window crank mechanism. The only tricky part was creating the splines since this is the first time I’ve attempted it. The lathe has a built-in index plate that allowed the adapter to be positioned in the 12 evenly divided positions required; once it was in each position I used a small lathe tool to broach a slot, moving the carriage back and forth with the lathe off while slowly raising the tool. I then turned a bit of steel rod to size and pressed it into the back of the adapter.

Overall it turned out OK – the splines aren’t the greatest due to the tool not being very rigid, but it’s plenty good enough for it to engage with the window and hold solidly.

1 3 2 4 5 6

 

         Leave a comment
Page 1 of 912345...Last »