The next
idea was to pick up the CD, but how to pick it up? Vacuum came to
mind, but that would get complicated, vacuum pump, solenoid valves, and all.
Finally I decided to just pick up the CD by the hole, with an expanding
finger, shown at right. The finger's end consists of a cone that inserts
in the CD hold up to the shoulder. The whole finger is cut in half,
and pivoted. The pivot is just to the right of the blue rubber band.
Its a nail, which rests in a grove in either half. The rubber
band is the only thing holding it together. The solenoid on the right
pulls the pieces together on the back, which spreads the front of the
finger, and holds the CD by friction fit. The shape of the cone is
a bit tricky. It has to be made in such a way that it will hold one
CD securely, but never a second. I tweaked the shape of the cone a
bit after taking this photo.
the next challenge was moving the head around. It has to go up and down, as well as side to side. Stepper motors come to mind, but they do require a fair bit of electronics to drive, with 4 separate coils that need to be switched. Plus they need very precise timing, and still need some sort of "home" switch. Thinking about this a bit, I realized that plain old DC motors with a few micro switches for sensing key positions would be sufficient. The horizontal travel only needs to stop in three positions. The vertical travel only needs to go all the way in either direction. By making down travel gravity based, I didn't have to worry about mashing the stack of CDs or the tray with excessive down travel.
I mounted
the pickup mechanism on a block with a hole thru it. This slides
along a shaft for vertical guidance. The wheel to its right winds
the string to pull the CD pickup mechanism up. Gravity pulls it down.
The pickup, pulley, and gear head motor (hidden) make up the carriage,
which slides on a smooth metal rod from an old Selectric typewriter (one
of the shafts to hold the pinch rollers. The vertical rod also came
from that same typewriter. If you ever get a chance to disassemble
a selectric, do it. Its a fascinating marvel of IBM engineering from
the mechanical adding machine days.
The metal rod, being very smooth, bears the weight of the carriage without
too much friction. The wooden rail along the top is mostly to keep
the carriage from tipping either way, and to hold the limit switches.
The carriage is pulled back and forth by a string which is driven by the
motor on the left. I hadn't installed the string when I took the photo.
The string is wound twice around the drive pulley, which gives more
than enough friction to drive the carriage. And even if it does slip
a bit, its the switches that the carriage hits that determine when to stop.
I also had some input relays. I
could have hooked the switches directly to the parallel port, but the
isolating relays gave me some flexibility in terms of schematic, and are
handy for protecting the printer port. Hard to find printer ports
that aren't on the motherboard these days, so I can't afford to blow it up.
![]() |
Schematic legend
|
![]() |
Schematic legend
|
The rest is done by cdrecord. cdrecord is a suite of command line driven CD authoring programs. Obviously, the cd recording has to be done from command line, so that it is possible to run it in batch mode from shell scripts. Comes standard with Linux distributions. To my surprise, I found it also runs under Windows, provided that you have an ASPI driver. It even worked with my HP 8200 USB cd burner! So the whole setup could be run under Windows as well, although getting at the printer port is much harder.
I wanted to use this setup with my external HP8200 USB burner with my basement Redhat 7.2 Linux file server / web server box. Experiments my Linux wizard brother Markus had done earlier suggested that this should work. Running with RedHat 7.2, I couldn't get it to work, even after a kernel upgrade. It wouldn't always be usable, even though it showed up under /proc/scsi. And when it was usable, I got kernel panics when I tried to record with it. The machine has too many other tweaks and scripts running on it for me to just upgrade the whole system, so I eventually gave up, took the HP 8200 out of its USB case, and hooked it directly to the IDE cable. That worked. Seeing that I had the machine right in front of the PC, and the ribbon cable was long enough, I could even close the case and not move the machine! I subsequently bought a 4x4x24 "refurbished" CD burner for $50 Canadian from Radio Shack and used that instead.
I will probably dismantle it again after a few months. The relay board
just has too many potential other uses. Certainly, I have no hope of
recovering the time I spent building it, because I mostly burn CDs one at
a time. I already ripped all the CDs in my CD collection that I like,
so no point in writing bulk MP3 ripping scripts. I do have a 20 gig collection of digital
photographs, which I back up form time to time.
|
Video clip of CD changer in action |
For larger batches, you can find plenty of commercial machines. Look for "CD duplicator", because "CD changer" will give you too many references to those 5 CD changer stereo components. For batches of 500+, consider CDs pressed from a master (as opposed to recorded CD/Rs)
Another home made CD changer of similar design, made of legos!
Other related pages on my website: