Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zimmer62:autodvdloaderrobot:start [2013/09/21 15:37] zimmer62 |
user:zimmer62:autodvdloaderrobot:start [2013/10/01 02:32] zimmer62 |
||
---|---|---|---|
Line 7: | Line 7: | ||
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. | ||
+ | |||
+ | 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 | ||
+ | * Interface both types of optical sensors to gadgeteer board | ||
+ | * 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> | ||