Jack-the-Ripper
I wanted a way to rip my CD collection automatically. I have over 2000 “store bought” CDs, and I wanted to get them into I-tunes (or winapp, etc.) without having to sit at my PC for a month moving the CDs in and out of the PC CD drive. There was an old automated CD burning device at the office, and they said I could borrow it - as long as I didn’t break it, or prohibit it from functioning as a CD burner. Here’s the donor device:

It’s a “Composer plus” from Primera. It was originally sold for limited mass production of CDs. You fill up one of the hoppers with blanks CDs, and it transfers them one at a time into the CD drive (at lower right), where they are burned (via an attached PC and some custom software), then the arm fetches the burned CD back out of the CD tray and puts it in the completed hopper, and repeats. My company has outgrown it; we got a larger unit with multiple CD drives and an attached printer. At first I thought that it might work as an automatic ripping device without modification, but the software only works for burning, there was no way to get it to rip. I’m sure it might be possible to reverse engineer the device driver, and create such software from scratch, but I thought I could find an easier way…

These buttons on the front made me realize just how easy this project might be. Using these buttons, you can manually move the robotic arm from position to position, and cause it to drop or pick-up a CD at any of the stations. Perfect, I thought, I’ll just tie-in to those buttons, and have a PLC cycle the arm through it’s positions. The CD drive is still connected to the PC via a USB cable, the PC just “sees” the CD drive as as external drive. Most of the ripping software out there (I-tunes, winapp, etc) can be configured to automatically rip a music CD when it is detected in the drive, and those programs will also eject the CD tray when ripping is complete. The only missing piece for my PLC project was being able to detect when the CD tray opens, and being able to close the tray via an output from the PLC.

I mounted a small proximity sensor (automationdirect part number APS-12S-E-D - $16.75) near the front of the CD drive as shown in this photo, and attached a small metal flag to the tray. So now when the tray is closed, I have a PLC input going high, and when it opens the input goes low. I carefully disected the CD drive and piggybacked a couple of wires onto the eject button on the front of the drive also, so now one of the relay outputs on the PLC can close the drive tray (actually it can open or close the tray - but I only need the close functionality - remember I-tunes et-all is going to open it).
The coolest part was realizing that the Automation Direct DL05 (D0-05DR - $99) PLC would actually fit inside the case of the Composer Plus. There was a large empty space on the right hand side in the photo below - I think they left room for a second CD drive - although the plastic faceplate is not molded to accept one. The height clearance was very tight, but it fits. I drilled a couple of mounting holes int eh metal base of the composed and secured the PLC, then I routed a second power cable through a hole in the rear of the unit. Here’s another cool part, if you don’t plug in the PLC, the device functions just as it always did, and will still burn CDs.

With a total of one input to the PLC notifying it when the tray has opened, and three outputs (one for “sequence”, one for “pick”, and one for “close the tray”, it was a simple matter to write a PLC ladder program to cycle the machine through it’s steps whenever the tray opens. After the next cd is in the tray, and PLC sends the “tray close” signal - I-tunes takes over and rips another one.
I can fill the hopper (about 75 CDs) and let-er-rip. Here’s a YouTube video.
Filed under: Projects