Ideas for driving DVD focussing voice coils. - Page 1
Forum section: electronics / projects

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: October 28, 2014, 03:25:30 pm
content: Hi everyone,I'm working on a project at the moment which is using the laser etc out of a DVD player. There are two small coils which control the focussing and tracking. The coils need up to 220mA of current. One has a DC resistance of 5R and an inductance of 70uH, the other is 3.7R and 9uH. I'd like to drive these from an I2C bus.One thing I've found is a DRV201 from TI. It has I2C input, Vcc, Gnd and two pins for the coil. Unfortunately it is only good for 100mA and ideally I'd like >10 bit resolution. Is there something like this that can go to 220mA and with better resolution?http://www.ti.com/lit/ds/symlink/drv201.pdfAlternative approach is a DAC then build something on the output to provide a 0-220mA current source. Any ideas on circuit topologies for that?Thanks,

author: Alex Eisenhut
author_rank: Super Contributor
timestamp: October 28, 2014, 03:52:59 pm
content: My first thought is what's wrong with the driver in the DVD player?

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: October 28, 2014, 04:01:03 pm
content: Ah, the DVD player is going in the binI'm just using the optical pick up unit and making a custom board to drive it.

author: ConKbot
author_rank: Super Contributor
timestamp: October 28, 2014, 04:18:23 pm
content: http://www.ti.com/product/buf634250mA, 4-36V supply rail, 180MHz video/solenoid/motor driver

author: Alex Eisenhut
author_rank: Super Contributor
timestamp: October 28, 2014, 04:21:12 pm
content: Quote from: ConKbot on October 28, 2014, 04:18:23 pmWow, that's a good part to have in your repertory!At that point, just select the I2C 10 bit DAC of your choice and hang this bad boy off the end.

author: ConKbot
author_rank: Super Contributor
timestamp: October 28, 2014, 04:35:41 pm
content: Quote from: Alex Eisenhut on October 28, 2014, 04:21:12 pmHavent had a use for it personally, but I saw it somewhat puzzling combination of a beefy output and high supply rail voltages, with tons of bandwidth and thought it was interesting. Just get a 300-500 MHz DAC, a gain stage, of your choice and put that on the end of it and you could have a 3W DDS broadcast FM transmitter

author: ovnr
author_rank: Frequent Contributor
timestamp: October 28, 2014, 04:57:56 pm
content: Alternatively, for a somewhat more general solution to "I want a digitally controllable current source":Just pick a suitable opamp (low offset, etc) and a NMOS (keep in mind that the MOS Vgs(th) needs to be within comfortable range of the opamp's output range), and off you go.

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: October 29, 2014, 05:25:54 pm
content: I've taken ovnr's lead and done a bit of messing about on LTSpice and come up with this version that will drive the coil through it's full bipolar range of -220mA to +220mA. 0mA should correspond to an input from the DAC of 2.5vRed - Current through loadGreen - Input signal from DACBlue - power dissipation in op-amp.The AD8973 I've used in the simulation is a bit marginal on power dissipation so I think I'll go for a TLV4111http://www.ti.com/product/tlv4111Does anyone have any criticism of my circuit?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 30, 2014, 12:59:16 am
content: Bit of a note on control theory:Yes, you can constant current drive them, and yes, current is what makes it move.But with regards to motion, voltage is king.But current is force (and position).So, what gives?You almostneverwant an ideal anything source when it comes to transducers, antennas, amplifiers*, etc. You want it matched.(*Audio amps are bad, so they get an exception. But where SNR and power efficiency reign supreme, like RF amps, it's vital.)So, what's a good match here? It's not DCR of the coil -- that's almost always too low, as for example electric motors are usually designed to present an impedance 10-20 times higher than DCR. This gives good stability and efficiency. The same is probably true here: a voice coil is simply a short range reciprocating (rather than continuously rotating) AC motor.One way you can figure it out: wire up a signal generator to the coil. Make sure to apply enough DC bias so it's not resting against an end-stop or something like that. (I haven't looked at a lens assembly real close, so I don't know if they're normally sprung to the middle of the range or what; just make sure it's in the usable range is all.) Apply a square wave from a relatively high resistance source (relative to a few-ohms coil, a 50 ohm function generator will probably do a fine job) and observe the amplitude of the ringing (if any). Also, make sure it's not banging into the limits, use a small enough amplitude to avoid that. Now, measure the peak amplitude of the ringing, and compare that to the height of the step: the ratio is effectively the voltage divider ratio between source resistance and equivalent motional impedance. This is the impedance you want to match to. Also, measure the frequency of the resonance while you're looking.The coil and lens have mass, which means your control system will probably have to apply overshoot to get it to move. If you have good positional feedback in your system (the original purpose does, since it's continuously monitoring a laser beam!), you can simply apply a suitable compensator (pole-zero or lead-lag probably) and tune it for critical damping.If your application has slower feedback, or you want it open loop altogether, you may want to apply some pre-shoot to compensate: what you'd do is, use an amplifier with an output impedance matched to the equivalent motional impedance, and put a filter in front of it. You want, not a high-pass filter, but a high-"boost" filter. This gives you the gain you need at DC to control position accurately, but gives it just a little kick in the pants at high frequencies to move it as fast as possible. Design it so the gain starts rising around the cutoff / resonant frequency of the lens system (which you measured from the step response), then drops off again at a somewhat higher frequency. The amount of boost you need depends on how much rise time you need, and how accurately you need it (needless to say, without a control loop, your motion is only as accurate as your calibration, so.. have fun with that).The ultimate cutoff frequency is dominated by coil L and R. You'll generally want amplifier bandwidth, and the filter cutoff, around the same frequency (maybe 1-3x above?), so 1. you aren't buying more amp BW than you need, 2. you aren't trying to push it faster than it can move, and 3. you aren't accidentally cooking the coil with frequencies (or accidental parasitic oscillations...) that don't do any good.Ok, so a little more than a note I guess...Tim

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: October 30, 2014, 05:15:23 pm
content: That's a very helpful post, thanks.In this application the focussing signal is going to be essentially DC so I think I can get away without delving too deeply into control theory. I can see that perhaps the next incarnation of this project might want to go faster though so this will give me plenty of food for thought for the next version.

author: atferrari
author_rank: Frequent Contributor
timestamp: November 05, 2014, 08:05:02 pm
content: Quote from: DenzilPenberthy on October 28, 2014, 03:25:30 pmHola DenzilPlease check the DRV201A. IIRC,it is able of arround 200 mA. For sure more than the DRV201./EditSorry Denzil. Just reread the datasheet and I was recalling it wrong. Just 102 mA. My bad.Edit/