Voice Coil Rail

Have questions about the equipment used for macro- or micro- photography? Post those questions in this forum.

Moderators: rjlittlefield, ChrisR, Chris S., Pau

mjkzz
Posts: 1689
Joined: Wed Jul 01, 2015 3:38 pm
Location: California/Shenzhen
Contact:

Post by mjkzz »

ray_parkhurst, 0.25X800 = 200um, is that enough for your stacking needs? I will code in some ability to let user set up a lookup table so that any non-linear part will be corrected (via the lookup table) and calibrated to specific speaker used. This should extend the range a bit.

ray_parkhurst
Posts: 3431
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mjkzz wrote:ray_parkhurst, 0.25X800 = 200um, is that enough for your stacking needs? I will code in some ability to let user set up a lookup table so that any non-linear part will be corrected (via the lookup table) and calibrated to specific speaker used. This should extend the range a bit.
Yes, 200um is generally enough, but it was just an example calculation to show 0.25um step size on the 1.5" speaker I tested. In reality, if your system can source up to 375mA, it could drive well beyond 500um displacement with this speaker. I only tested up to 200mA, where the speaker displaced 440um. I would think having that extra displacement would be nice for flexibility in start/stop positioning. Is something limiting you to a certain range within the 375mA capability? This speaker would be pushed into nonlinearity above 250mA, but if you could provide adjustable predistortion lookup table it could be made to work very well probably to 600um or more.

edited to add: I am anxious to beta test!

mjkzz
Posts: 1689
Joined: Wed Jul 01, 2015 3:38 pm
Location: California/Shenzhen
Contact:

Post by mjkzz »

@ray_parkhurst, I just put in a new PCB design, I have to cut some traces and solder some jumpers. Hopefully, with the new one, I do not have to do this.

the 375ma limit is due to my PCB being small and so is the case. The new design can actually handle over 1.0A current electronically, but not thermally.

Sure, I will reserve a couple of units for you to do beta test. PM me please for details.

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

mjkzz wrote:@ray_parkhurst, I just put in a new PCB design, I have to cut some traces and solder some jumpers. Hopefully, with the new one, I do not have to do this.

the 375ma limit is due to my PCB being small and so is the case. The new design can actually handle over 1.0A current electronically, but not thermally.

Sure, I will reserve a couple of units for you to do beta test. PM me please for details.
Peter,

If you are going for another circuit board you should consider using the bidirectional current source concept I showed, since this will effectively double your voice coil use range. Also consider using TO-220 case output devices, or other larger packaged transistors, you can easily clamp on a small heat sink which are available for these devices.

You can lay the board out such that you can use it as a uni or bi directional current source by simply including the PNP (or P-MOS) or not and making the negative "Vee" supply either a negative voltage or simply ground.

If your DAC has only a positive output you can make it +- output by a simple offset or if you use a quad-op-amp using couple of the op-amps.

Anyway, good luck with your new PC board and Voice Coil Driver.

Best,

Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Peter,

Here's a precision DAC controlled bi-directional current mode driver that should work with any voice coil and provide very precise control. You could use this with 16 bit DACs if you want (I would use 0.1% low TC resistors then).

Any good single package quad op amp should work fine, or a couple general purpose dual op-amps like the LM358 which only cost $0.30.

Calculate Rsense as DAC Vref/Icoil max, and power dissipation is Rsense*(Icoil max)^2, or simply Vref*Icoil max.

The optional "Noise Filter" provides a degree of DAC glitch and overall noise reduction. For single directional current use; Remove the PNP and jumper the DAC output to the 10K Noise Filter resistor, or directly to the output op-amp + input. Of course you don't need any of the other op-amps and resistors either.

Best,

Mike

Image

ray_parkhurst
Posts: 3431
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

I still believe these single-output bi-directional current sources are going to have significant nonlinear glitches near the crossover point. One way to eliminate this is to implement two current sources driving the load, driving opposite polarities. In operation, neither source would ever turn off, so a constant "bias" would be applied to the system, eliminating the crossover point distortion entirely. At the crossover, each of the sources would draw 50% of the rated current, so heatsinking would be needed. This "class A" type of source should give much better linearity than the "class B" type schematics drawn here.

Ludvig Friberg
Posts: 25
Joined: Mon Jul 04, 2011 5:04 pm

First stab at this.

Post by Ludvig Friberg »

Like I said before I am not very experienced with electronics. Mostly I have used arduinos to control shutter for sync with sound or light and other simple things. I usually buy halfmade shields etc to get that done. Here is my try at making one of the drivers for this speaker on a breadboard. I am pretty sure messed up somewhere but I tried my best. I used Fritzing with a addon library from adafruit https://github.com/adafruit/Fritzing-Library

Here is the fritzing file www.ludvigfriberg.se/op-amp.fzz

Image

mjkzz
Posts: 1689
Joined: Wed Jul 01, 2015 3:38 pm
Location: California/Shenzhen
Contact:

Post by mjkzz »

Hi Mike, really appreciate your designs. I am a bit too busy with other projects and it was ray_parkhurst's data that made me hurrying up the PCB. Essentially, my PCB is based on one of the reference design of the DAC in its documentation. Very simple.

From what I gather here, I agree that it would be beneficial to have bi-directional drive because speaker cone moves both ways and it is probably more linear within the first few hundred um both ways as ray_parkhurst's data suggests. And I do think ray_parkhurst's concern about AB crossover distortion might threw things off a bit and I do think his idea of a constant bias could work and solve the problem.

Having said that, here is my two cents: if applying a constant bias electrically solves the problem, why not bias it by putting a little more weight on the speaker cone and still use uni-directional circuit? With extra weight on the cone, we will start at biased position (sunken speaker cone) except it is gravitational instead of electrical and is constant thus eliminating non-linearity, this ought to simplify the circuit design.

Of course, this poses challenge on calibrating it and appear more DIY'ish, but we can focus on making progress now and solve the issue later :-)

My PCB will be delayed as there is a mini holiday in China from April 29th to May 2nd (inclusive), when I get it, I will try to make it work. Hopefully, no more trace cutting.

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

ray_parkhurst wrote:I still believe these single-output bi-directional current sources are going to have significant nonlinear glitches near the crossover point. One way to eliminate this is to implement two current sources driving the load, driving opposite polarities. In operation, neither source would ever turn off, so a constant "bias" would be applied to the system, eliminating the crossover point distortion entirely. At the crossover, each of the sources would draw 50% of the rated current, so heatsinking would be needed. This "class A" type of source should give much better linearity than the "class B" type schematics drawn here.
Ray,

Believe what you want, but sorry your wrong!! You just don't understand the current mode operation, maybe some network theory review is in order to help your understanding. Most folks don't understand because their experience is in the voltage domain world like stereo amps, batteries, conventional power supplies and so on.

Current domain operation can be highly beneficial if one knows what they are doing and how it works. Basically it "forces" the current thru the load regardless of the load characteristics within reason (this forcing effectively eliminates cross-over distortion). High value voltage sources with larger resistors attempt to approximate a current source (as you have done), with varying degrees of success. Clever active circuitry can create an electrical environment for the load that approximates and ideal current source but with much greater precision, thousands of times better that a reasonable voltage source and resistor.

Think of it this way, say you want the load current to be accurate within a certain range independent of the load value (within reason). Then the supply voltage must be at least as large as the highest expected voltage drop across the load times 1/accuracy.

So for a case that uses a 8 bit DAC and would like current to stay within +-1LSB at say 250ma load current with a 4 ohm load. That would require a voltage source of 256 volts with series resistor of 1020 (1024-4) ohms that would dissipate 63.75 watts!! Well that's not very reasonable, so say we use just 32 volts instead and the resistor is 124 ohms (128-4) with a power of 7.75 watts, that's better! However suppose the load isn't 4 ohms but just 1 ohm higher, now the current is not 250ma but 248ma, or the load is 1 ohm lower, now the load current is 252ma.

Now use Peter's 12 bit DAC and everything is 16 times worse!!

With a well designed current source the same 8 or 12 bit situation could be done with less than 10 volts, maybe as low as 6 volts and vary less than a 100 times lower with the same load variations, and under 3 watts total power!!

What's happing here is the current source active circuitry is making it "look like" (to the load) an extremely high voltage source in series with a very large resistor, but in reality only a modest supply voltage is required.

Hope this shows the significance of current mode operation in certain applications. In many cases it's no more, or only slightly more complex that voltage mode, and the benefits are unmatched.

Anyway, hope this helps with the understanding.

Best,

Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Re: First stab at this.

Post by mawyatt »

Ludvig Friberg wrote:Like I said before I am not very experienced with electronics. Mostly I have used arduinos to control shutter for sync with sound or light and other simple things. I usually buy halfmade shields etc to get that done. Here is my try at making one of the drivers for this speaker on a breadboard. I am pretty sure messed up somewhere but I tried my best. I used Fritzing with a addon library from adafruit https://github.com/adafruit/Fritzing-Library

Here is the fritzing file www.ludvigfriberg.se/op-amp.fzz

Image
Ludvig,

Not sure what circuit you are showing here. I would recommend that you use some decoupling on the supply lines though. A 0.1uF at minimum.

Also, it looks like that is a LM358 dual op-amp. Don't leave the unused op-amp open circuited, it most likely will oscillate. Tie the negative input to the output and the positive input to ground, do not tie negative input to ground nor ground the output (especially in dual supply use).

Best,

Mike
Last edited by mawyatt on Thu Apr 27, 2017 5:06 pm, edited 2 times in total.

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

mjkzz wrote:Hi Mike, really appreciate your designs. I am a bit too busy with other projects and it was ray_parkhurst's data that made me hurrying up the PCB. Essentially, my PCB is based on one of the reference design of the DAC in its documentation. Very simple.

From what I gather here, I agree that it would be beneficial to have bi-directional drive because speaker cone moves both ways and it is probably more linear within the first few hundred um both ways as ray_parkhurst's data suggests. And I do think ray_parkhurst's concern about AB crossover distortion might threw things off a bit and I do think his idea of a constant bias could work and solve the problem.

Having said that, here is my two cents: if applying a constant bias electrically solves the problem, why not bias it by putting a little more weight on the speaker cone and still use uni-directional circuit? With extra weight on the cone, we will start at biased position (sunken speaker cone) except it is gravitational instead of electrical and is constant thus eliminating non-linearity, this ought to simplify the circuit design.

Of course, this poses challenge on calibrating it and appear more DIY'ish, but we can focus on making progress now and solve the issue later :-)

My PCB will be delayed as there is a mini holiday in China from April 29th to May 2nd (inclusive), when I get it, I will try to make it work. Hopefully, no more trace cutting.
Peter,

There won't be any cross over distortion at stacking frequencies. Please review my note to Ray. I realize you guys just dabble with electronics, so I'll quit trying to help you out so much..it's kind of a waste of my time also!!

Of course you can preload the voice coil, but now you have created a much larger load for the voice coil to move, possibly introducing additional distortion, and you'll need much more magnetic field at the other end. Simple experiment though, certainly worth trying!!

Hope your new PCBs turn out OK.

Best,

Mike

mjkzz
Posts: 1689
Joined: Wed Jul 01, 2015 3:38 pm
Location: California/Shenzhen
Contact:

Post by mjkzz »

Mike, sorry to make you feel that way, but again, really appreciate your time and effort.

ray_parkhurst
Posts: 3431
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote:Believe what you want, but sorry your wrong!! You just don't understand the current mode operation, maybe some network theory review is in order to help your understanding.
I don't think so. Voltage output and current output both have the same issue of offsets in the amplifiers causing nonlinearities. Better opamps with smaller input offsets can help, but not eliminate the problem. If you're suggesting network theory as a way to understand this better, perhaps you're thinking of this in first-order rather than second-order effects? I'd love to be proven wrong since it would be much simpler to build a cheap class-B driver, and I challenge you to do so!

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Peter,

No problem, I don't feel bad. I just need to put my time towards something of better use also. You have your priorities as well and must service them, we all do. If something works for you, then why change.

As you can probably tell I'm a very scientific type, and get into things that involve such. For example applying a little elementary calculus to the voltage source and resistor problem by taking the partial derivative of the load current Iload with respect to the load resistance Rload yields:

delta Iload = -delta Rload(Iload/(Rload+Rsource))

This simple equation can show you how much load current variation you can expect for your setup. Same goes for Rsource too, as for Supply Voltage it's:

delta Iload = delta VSupply((Iload)/V Supply)

Best,

Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

ray_parkhurst wrote:
mawyatt wrote:Believe what you want, but sorry your wrong!! You just don't understand the current mode operation, maybe some network theory review is in order to help your understanding.
I don't think so. Voltage output and current output both have the same issue of offsets in the amplifiers causing nonlinearities. Better opamps with smaller input offsets can help, but not eliminate the problem. If you're suggesting network theory as a way to understand this better, perhaps you're thinking of this in first-order rather than second-order effects? I'd love to be proven wrong since it would be much simpler to build a cheap class-B driver, and I challenge you to do so!
Ray,

I think of 1st, 2nd and even higher order effects. BTW offset is not a source of non-linearity, it may help invoke some non-linear behavior like moving the voice coil away from the center zero point. Op-amps with a few mv or even uv of offset are available cheaply. Your circuit board layout will probably introduce more offset than the op-amp if your not very careful. Offset is easily corrected anyway, either a simple pot or even digitally with the DAC (assuming you have enough resolution).

If you look at your voltage source solution, you can have a built-in source of non-linearity in the source resistor. If you cause a resistor with 200ppm temperature-coefficient (fairly common resistor) to have a 25C temperature rise, it's resistance will change by 1/2%. That's over 1LSB in a simple 8 bit system, and over 20 LSBs in a 12 bit system and 327 LSBs at 16 bit systems!!

Cross over distortion is easily reduced to the point of almost elimination with feedback. In current mode operation the current is forced through the load by feedback. In my circuits at low values it will come directly from the op-amp up to about +0.8 ma, then the NPN bipolar Vbe will increase causing the transistor to supply more current as needed. If the direction changes the op-amp still supplies the -0.8ma until the Vbe of the PNP allows it to supply more current. In no case is the current disrupted as you goe thru zero, it simply is supplied by the op-amp and then assisted by the transistors.

Because of the op-amp tremendous open loop gain, the voltage at the - input which is the sense resistor to ground must equal the + input, V+. This produces V+/Rsense current that must flow through the load. This is not like your classical B output stage where you have a "dead zone" around zero due to the Vbe drops, current mode has no "dead zone".



Ray, as far as your challenge goes I've solved this problem over 40 years ago. You have it right in front of you!! I first used this in a generator controller in ~1975 at Beckwith Electric (maybe still in production, I was VP of Engineering), in 1982 in the XM-21 Remote Sensing Chemical agent detector (Principle Engineering Fellow at Honeywell), a couple applications at Northrup Grumman (Chief Scientist) and at ITT (Chief Scientist/Engineer). I've taught this (current mode) and similar techniques in the graduate level courses I created and taught at USF back in ~2000 & 2003.

Suggest you take some time to study analog electronics, many good references from National Semiconductor, Analog Devices, Burr Brown and a great Op-Amp book by Roberg from MIT.

Anyway, hope this helps.

Best,

Mike

Post Reply Previous topicNext topic