Dvd Autoloader Project refit (Part 2)
Finished build / pics…
Micro
I used an Arduino and motor shield as mention in part 1 due to it having all the required i/o also time saver rather than make a custom PCB etc, see part 1 for details.
Power requirements
The original electronics had an +5v +12v supply for the cd drive . I tapped into the 12v supply and used a Lm09 voltage regulator to bring the 12volts supply down to 9v to power motor driver sheild .
The Arduino is just powered of the computer usb port .
Arduino code
The basic code simply takes Cmds over the serial port and then moves the selected motor until it gets to its required postion (postion switch made). There are cmds for most functions such as Cd_lock and Cd_unlock to grip the cd . Once a function has been carried out ok it will report back over the serial port to let the computer know to move on to the next task .
Make mkv
I used this rip the discs ran in windows cmd line, please reffer to its wedsite for more details. http://www.makemkv.com/developers/
Python script
Loader control
This works by communicating with the arduino using the pyserial library and sending and receiving text based cmds .
The script is written in sequence so basically it would send a cmd to move the arm to pickup a cd but would not open the cd drive untill the arduino reports that a cd has been picked up and out the way off the tray ie arm home position.
Mkv
After the disc has been loaded , the script next runs mkv via a subprocess.popen. Varous parameters set the rip settings .
The python script also parses the output of the sub-process looking for keywords such as “complete” , “error” etc . These keywords will then trigger functions such as move on to next CD or abort CD due to error.
I haven’t posted my code due to it being very messy and very specific to my setup and the model of auto-loader but if it would be of some interest please contact me.
Conclusion
Example of operation
As seen on the video, the CD sometimes gets catches the side of the drive , this is because only has one of the disc catches are installed causing the disc to lean forward. This small plastic piece was damaged by previous owner and was deemed too difficult to repair. Also i could improve the PWM motor control and implement accelerate and decelerate to make it move smoother. None of these issues effected the operation or caused any damages to the discs handled.
Overall this project went really well and had great results especially when everything worked as designed!. It Backed up my whole collection untended in just a few afternoons of operation.
The re-fit took a little longer as expected due to finding more things requiring repair such as plastic parts needed gluing etc.
I think the new control system was the right choice rather than repairing / sourcing original control board as it works great . It also allowed me to have simply serial port commands that could be control by any software with port access python in my case. This means a script can be produced to interface with any software for example i may modify it to rip my music collection in the future .This was a great fun project that i would recommend as it involved a bit of mechanics and electroni and process.
Leave a Reply