Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
user:zimmer62:autodvdloaderrobot:start [2013/09/21 15:37]
zimmer62
user:zimmer62:autodvdloaderrobot:start [2017/04/05 00:38] (current)
Line 1: Line 1:
 +{{:​user:​zimmer62:​autodvdloaderrobot:​t2ec16vhjggffm6uqjkpbriypkfvuw_60_57.jpg?​direct&​300|}}
 +
 +
 This started out as an iRippit X-50 50 Disc CD/DVD Duplicator. ​ I saw it on a deal site and figured I could hack it to get it to read CD's / DVD's instead of burn them.  I'm not interested in copying disc's I just want an easy way to auto load them for ripping to my NAS. This started out as an iRippit X-50 50 Disc CD/DVD Duplicator. ​ I saw it on a deal site and figured I could hack it to get it to read CD's / DVD's instead of burn them.  I'm not interested in copying disc's I just want an easy way to auto load them for ripping to my NAS.
  
Line 5: Line 8:
 Drivers for newer operating systems are not there, and the software this works with is really only designed to copy a bunch of the same disc over and over.  A band interesting in burning their own discs might like this. Drivers for newer operating systems are not there, and the software this works with is really only designed to copy a bunch of the same disc over and over.  A band interesting in burning their own discs might like this.
  
-{{:​user:​zimmer62:​autodvdloaderrobot:​t2ec16vhjggffm6uqjkpbriypkfvuw_60_57.jpg?​direct&​300|}}+The first step was to remove all of the housing and electronics,​ and identify what things I can use and what each part is. 
 + 
 +{{:​user:​zimmer62:​autodvdloaderrobot:​img_6752.jpg?​direct&​800|}} 
 +{{:​user:​zimmer62:​autodvdloaderrobot:​img_6762.jpg?​direct&​800|}} 
 +---- 
 +  
 +I documented what I could figure out from each connecting wire: 
 + 
 +  * Bad Disk Full (Orange, Yellow, Green, Blue) [[https://​www.sparkfun.com/​datasheets/​Sensors/​QRB1114.pdf|QRB1114]] 
 +  * Bin Full (Red, Orange, Yellow, Green) [[https://​www.sparkfun.com/​datasheets/​Sensors/​QRB1114.pdf|QRB1114]] 
 +    * Pin 1 = Red = Emitter Anode 
 +    * Pin 2 = Orange = Emitter Cathode 
 +    * Pin 3 = Yellow = Sensor Emitter 
 +    * Pin 4 = Green = Sensor Collector 
 +  * Drive Door (Blue, Black, Purple, Yellow) [[https://​www.sparkfun.com/​datasheets/​Sensors/​QRB1114.pdf|QRB1114]] 
 +  * Home Sensor (Red, Orange, Yellow) [[http://​www.sharpsma.com/​webfm_send/​637|Sharp GP1A75E3J00F]] (Yellow = E) 
 +  * Disk Present (Red, Black, Blue) [[http://​www.sharpsma.com/​webfm_send/​637|Sharp GP1A75E3J00F]] (Blue = E) 
 +  * Safety Int (Black, Read, Green) [[http://​www.sharpsma.com/​webfm_send/​637|Sharp GP1A75E3J00F]] (Green = E) 
 +  * JP13 Greyish White Wires go to the Disc Release Solenoid. 
 +  * Stepper Motor [[http://​jnker.com/​equipment/​step_pdf/​Seriya-GD42STH_1.8.pdf|FL42STH47-1206AC]] (1.8 degrees 1.2A)  
 +     * Rated Voltage = 4V 
 +     * Current / Phase = 1.2A 
 +     * Resistance / Phase 3.3Ω 
 +     * Inductance / Phase 2.8mH 
 +     * Holding Torque = 3.17Kg-cm 
 +     * Rotor Inertia = 68g-cm^2 
 +     * Detent Torque = 200g-cm 
 +  * Power Supply 12V @ 2.5A 
 + 
 +{{:​user:​zimmer62:​autodvdloaderrobot:​motor-windings.jpg?​direct&​200|}} 
 + 
 +This should be enough information to get going. 
 + 
 +I don't need the safety interrupt, so that leaves me with 5 sensors, 1 stepper and 1 solenoid that I need to interface with. 
 + 
 +---- 
 +{{:​user:​zimmer62:​autodvdloaderrobot:​img_6756.jpg?​direct&​800| }} 
 +---- 
 +That still left me with trying to identify that Sharp optical sensor since there are 2 of them I will need. 
 +I can see that the blue wire here is the Emitter, I'd really like to find the specs on this to make sure I drive it correctly. 
 + 
 +My search let me [[http://​memakingthings.blogspot.com/​2012/​12/​optical-interrupters.html|here]],​ not identical, but very close. ​ The 361 chip on my board is a current limiting resistor. 
 + 
 +A little experimenting with the lid sensor that I'm not going to need should help me figure out how to interface with this. 
 + 
 +Ohhh I found it [[http://​www.digikey.com/​product-detail/​en/​GP1A75E3J00F/​425-2565-ND/​857214|@ DigiKey 425-2565-ND]] 
 + 
 +[[http://​www.sharpsma.com/​webfm_send/​637|Sharp GP1A75E3J00F]] I'm still not sure from this how to identify the other two leads. 
 + 
 + 
 +I had a heck of a time getting the .net gadgeteer board and the L6470 stepper controller to talk to any stepper motor. 
 + 
 +I was finally able to get this turning a stepper motor over the weekend. ​ It seems it's very sensitive to it's register settings. 
 + 
 +I had to use some software and a stepper motor datasheet to get some values to feed into their software. 
 + 
 +According to this: 
 +https://​www.ghielectronics.com/​community/​forum/​topic?​id=8081&​page=2 
 + 
 +Those values only get you close and you need to use an o-scope to tune it further. 
 + 
 + 
 +TODO: 
 +  * Hookup and test stepper motor to L6470 module 
 +  * Verify resistors and voltage coming into micro-controller. 
 +  * Write some rough code to exercise the machine using the optical sensors to prevent damage 
 +    * A loop that grabs CD's from source stack, drops them every other into the bins until bins are full. 
 +  * Write code to interface machine to PC to take simple commands and report back 
 +  * Write code on PC side to control machine and rip discs 
 + 
 + 
 +9/30/2013 
 + 
 +Andrew and I learned how to interface with the Disc Presence sensor. ​ It was very easy 
 + 
 +  * Blue Wire to Ground 
 +  * Red Wire to 5V 
 +  * Black Wire to Pin 3 (interrupt pin) 
 + 
 +<code csharp>​ 
 +        public bool IsDiscPresent { get { return !diskPresenceSensor.Read();​ } } 
 +             
 +        private Gadgeteer.Interfaces.InterruptInput diskPresenceSensor;​ 
 +        private void SetupDiscPresenceSensor() 
 +        { 
 +            char_Display.PrintString("​DiscSensorSetup"​);​ 
 +            diskPresenceSensor = breadBoard_X1.SetupInterruptInput(GT.Socket.Pin.Three,​ GT.Interfaces.GlitchFilterMode.On,​ GT.Interfaces.ResistorMode.PullUp,​ GT.Interfaces.InterruptMode.RisingAndFallingEdge);​ 
 +            diskPresenceSensor.Interrupt += diskPresenceSensor_Interrupt;​ 
 +            diskPresenceSensor.Read();​ 
 +        } 
 + 
 +        void diskPresenceSensor_Interrupt(GT.Interfaces.InterruptInput sender, bool value) 
 +        { 
 +            char_Display.Clear();​ 
 +            char_Display.PrintString(IsDiscPresent.ToString());​ 
 +        } 
 +</​code>​ 
 + 
 +I wrote down the documentation on how we hooked up the other sensor. ​ We still need to verify the input voltages. ​ I'm pretty sure this board expects 3 volt inputs, not 5 to prevent damage. 
 + 
 +