VCM Current Range

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

Moderators: rjlittlefield, ChrisR, Chris S., Pau

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

VCM Current Range

Post by mawyatt »

While waiting for a couple of the Piezo Stage components to arrive so I can ship the PCB kits out I decided to look into a VCM driver concept based upon current mode operation discussed some time ago. I may get a PCB when I order another PCB for lab use, after which I'll be temporarily shutting down the development lab (Mike's Lab) for awhile.

Question for those using, or considering using, VCM for focus stacking. What current range and impedance range would be required for the voice coil (speaker)?

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

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

Re: VCM Current Range

Post by ray_parkhurst »

mawyatt wrote:While waiting for a couple of the Piezo Stage components to arrive so I can ship the PCB kits out I decided to look into a VCM driver concept based upon current mode operation discussed some time ago. I may get a PCB when I order another PCB for lab use, after which I'll be temporarily shutting down the development lab (Mike's Lab) for awhile.

Question for those using, or considering using, VCM for focus stacking. What current range and impedance range would be required for the voice coil (speaker)?

Best,
As a reference, the mjkzz system can source maximum of ~900mA at full scale. It has a software-variable reference voltage that allows the full scale current to be adjusted to as low as ~125mA. For the speakers I've used, the 900mA limit gives full-scale movements of ~500um-1mm. This is for 8-ohm speakers. For 4-ohm the full-scale movement is less. It would of course be nice to have a longer full-scale movement available, but if you could give 1A out as a minimum I think it would be fine. The speaker linearity will come into play with larger movements anyway. Of course if someone wanted more (linear) movement they could use a bigger speaker. The largest I've tried is ~3".

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

Re: VCM Current Range

Post by mawyatt »

ray_parkhurst wrote:
mawyatt wrote:While waiting for a couple of the Piezo Stage components to arrive so I can ship the PCB kits out I decided to look into a VCM driver concept based upon current mode operation discussed some time ago. I may get a PCB when I order another PCB for lab use, after which I'll be temporarily shutting down the development lab (Mike's Lab) for awhile.

Question for those using, or considering using, VCM for focus stacking. What current range and impedance range would be required for the voice coil (speaker)?

Best,
As a reference, the mjkzz system can source maximum of ~900mA at full scale. It has a software-variable reference voltage that allows the full scale current to be adjusted to as low as ~125mA. For the speakers I've used, the 900mA limit gives full-scale movements of ~500um-1mm. This is for 8-ohm speakers. For 4-ohm the full-scale movement is less. It would of course be nice to have a longer full-scale movement available, but if you could give 1A out as a minimum I think it would be fine. The speaker linearity will come into play with larger movements anyway. Of course if someone wanted more (linear) movement they could use a bigger speaker. The largest I've tried is ~3".
What I'm doing should be similar range, +-256, +-512 & +-1024ma with proper heatsinks, each at 12 bit resolution. 1A seems reasonable with additional heat sinking, maybe even slightly higher (the transistors can handle ~6A). 4 and 8 ohms is what I suspected.

Now just have to decide if I want to fool with this and get a custom PCB fabricated. The code will use the same or slightly edited code that I'm using with the Piezo Controller since this would use the same 12 Bit DAC which works splendidly with the Raspberry Pi, sorry no Windows version planned.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

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

Post by mawyatt »

Before closing out the the simulation, PCB design, and CAD environments at "Mike's Labs" after the initial design of an instrument grade piezoelectric controller for lab use, a couple of Voice Coil (Speaker) Controllers were developed and PCB designed.

These are based upon a Current Mode rather than the usual Voltage Mode. Because speakers are fundamentally current induced magnetic field devices (current causes a variable electromagnetic field) which reacts with a fixed permanent magnet to enable coil movement, CM seems likely to produce superior results where precision movement is concerned.

If you consider an 4 ohm speaker voice coil driven at 1 amp assuming a linear relationship between coil position and current. With ideal components assuming 12 bit resolution, the Voltage Mode drive would require a voltage source of 16,384 volts with a series resistor of 16380 ohms dissipating 16KW to equal the level of current mode drive precision at 1 amp for a given change in the coil resistance or wiring resistance. With realistic components and non-linear speaker behavior this is more likely 1000 ~ 3000 volts, with 1000~3000 ohms dissipating 1~3KW, although simulation predicts over 140dB isolation with CM! CM achieves this level of performance utilizing active components and feedback to "synthesize" the equivalent high voltage and resistance from a modest (~12V) supply. The speaker coil "thinks" it's being driven from a high voltage & resistance source when in reality it's just a modest 12 volt supply :shock:

I can supply more details for those interested, it gets quite involved tho.

Anyway what we've developed here is a Bi-Directional VCM controller to drive 1,2,4,6,8 ohms speakers (floating) at modest currents (up to ~1A for lower resistance coils and heatsinks are required) with 12 bit resolution from a single 12 volt supply. The current ranges are settable at +-256, +-512 and +-1024ma with full 12 bit resolution in each range, fully independent of load. This controller is very close to an ideal CM controller so the effects of different or changing (think heating) coil characteristics have little effect, same goes for wiring and connector resistance. The controller utilizes precision analog design techniques and components, but not expensive components, similar to the Piezoelectric Stage Controller (PSC) which works so well. Control is from the Raspberry Pi, same as the PSC, and uses the same 12V power supply. Like the PSC design this is arranged to allow simultaneous use with a 3 axis Trinamic (or Pololu) Stepper Motor Controller Stack & Stitch system from a single RPi and 12V supply. A special Lab Grade design with full complementary outputs and integrated high current negative supply generator (DC to DC Converter) was also included in the PCB order.

We've only ordered a couple PCBs and components, which should arrive in a few weeks.


Precision Current Mode VCM Controller
Image

Lab Grade Current Mode VCM Controller
Image


Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

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

Post by mawyatt »

The PCBs arrived earlier than expected with the Instrument Grade Lab Piezo Controller, and included an Instrument Grade Lab VCM Controller as well!

As with the Piezo Controllers the baseline controller uses a single + supply voltage, while the Lab grade utilizes a complementary supply +- voltage but with the +- high current supply is fully integrated on the PCB, no external supply required other than the nominal +12VDC "Motor" supply. The VCM (Speaker) operates in both controllers as a "Floating Load" and changes direction by means of swapping coil wires (done automatically on PCB) in the single + supply version and by reversing current with the dual +- complementary Lab version.

Both are based upon Current Mode operation and show no variation in load current with load or supply variation within the compliance range of the loads and supply. One test showed no current change when the load was changed from 10 ohms to a short circuit, theory predicted this and test showed the result :shock:

A few software test routines were created to allow full testing and operational verification and we can report that both controllers are working splendidly :D

I'm still waiting on some heat sinks for the output power transistors, so using some make do sinks now. Load testing with a voice coil (when I get one) should be soon.

Best,

Mike

Image
Various controllers for Piezo and VCMs

Image
Current Mode VCM Controller, note output power device is located on underside of PCB with improvised heat sink, waiting on ordered heat sinks

Image
Current Mode VCM Controller

Image
Current Mode VCM Controller

Image
Instrument Grade Lab Current Mode VCM Controller

Image
Instrument Grade Lab Current Mode VCM Controller

Image
Instrument Grade Lab Current Mode VCM Controller, note the darkened resistors are caused by excessive heat from surface reflow heat gun when attaching the square coil (should be attached before the other components :shock:) , not from electrical overheating!!
Last edited by mawyatt on Fri Aug 30, 2019 5:19 am, edited 1 time in total.
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

Saul
Posts: 1783
Joined: Mon Jan 31, 2011 11:59 am
Location: Naperville, IL USA
Contact:

Post by Saul »

Very nice boards Mike !

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

Post by mawyatt »

Saul wrote:Very nice boards Mike !
Agree, they came out nice like the Stepper Motor controller boards. Definitely pro level quality, actually better than most boards in many products.

I don't bother with building test boards and wiring components up anymore, takes too long, is very tedious and error prone. I just design the circuits with paper, pencil and my trusty hp 32 calculator, then simulate the critical parts of the circuit, iterate some then start the CAD schematic, then the PCB layout. I'm getting pretty good with SMD devices now and this opens up a whole new component selection, many of the newer components aren't offered in thru hole packages, so Surface Mount is the only option. I purchased the SMD tools and materials and as you can see the results look pretty good (except the burn't resistors!). I can't deal with the really tiny parts below 0603 though, that requires a pick-&-place machine which is well out of my price range!

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

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

Post by mawyatt »

I've just been able to free up enough time to do a preliminary evaluation of the Current Mode Voice Coil Controller.

Long story short, it works superbly!!!

The setup is a small 2.5" (~65mm) diameter 4 ohm speaker removed for an old Samsung Surround Sound system. The speaker is mounted on top of a small 40mm square XYR micrometer positioner which is attached by an ARCA clamp to a Wemacro Vertical Stand. A Mitutoyo 10X lens is setup with a 200mm LFA tube lens on a Nikon D850 to display the subject bent pin head on a small HDMI monitor. Foam tape was used to attach to the speaker cone center, and the pin mounted to the foam tape.

The Current Mode Controller is running a routine to move the VCM from start position to 1/4, 1/2, 3/4 and Full Scale (409.6ma) and return, then reverse the direction to negative Full Scale (-409.6ma) and repeat. After which the VCM is ramped up and down above and below start at varying speeds.

Everything is being controlled from a Raspberry Pi 3B which is also hosting a 3 axis Trinamic Stepper Motor Controller for precision Stack & Stitch use. A single 12V power supply is required to operate the VCM and the 3 Axis Trinamic Controller.

Here's a quick video to show the VCM operation under Current Mode control with the Current Mode Custom Controller.

The range is ~ +-450um. This isn't a good setup to evaluate linearity since things are attached with tape and such (subject to cone and speaker to XYR stage). That test will need to come later when I can get things mounted properly, but still limited to the use of the KR20 as a means to establish position, others may want to get involved with better setups to evaluate linearity. Suspect this will follow a classic S curve, since the weakest force is required at near zero position with subject weight shifting things down some and progressively more force away from zero required. Without feedback this should instill a S type actual position vs. command curve.

https://drive.google.com/file/d/1TOeFBZ ... sp=sharing

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

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

Post by ray_parkhurst »

Nice video Mike! Looks like the VCM is working as expected, actually better since I didn't realize you were implementing +/- control. I'm curious if there is any crossover glitch at the zero crossing. I assume you figured out how to design that out, but would be nice to confirm with measurement.

The VCM is so smooth in its operation. I'm always impressed when using mine. My best high power stacks have been made using the VCM.

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

Post by mawyatt »

Ray,

Thanks.

In this design tested there is no crossover distortion because this design implements a closed loop technique where the op amp supplies the currents around zero (+- few ma) and the transistors slowly begin to supply current as you move above or below zero. This design utilizes a high current negative supply generator capable of suppling amps and the output stage is complementary (both NPN and PNP devices).

The other design which swaps the output VC wires when going negative also uses the op amp to supply currents around zero and slightly below zero by sinking a current to the low current negative supply when near zero, so the op amp is always directly controlling the currents around zero. This design uses an NPN only output stage and low current negative supply generator.

Should mention both of these controllers employ massive amounts of negative feedback to force the output currents to be highly linear everywhere (within limits of supplies) regardless of the load impedance or other non-linearities like the output transistors as discussed long ago in a previous thread on current mode operation.

The controller in the video has a full scale of +- 409.6ma and each bit represents +-200ua. This equates to about +-220nm per bit if my range measurements were reasonably accurate and assuming linear behavior, which could be adjusted to +-200nm per bit by calibrating the 4.096V reference voltage to 3.728V or the Scale Trim to 0.910.

Edit:

Added a quick test of about +-400um (bit commands from +-2000 in 500 increments), here's the graph (red is ideal, blue actual as determined by simple focus test mentioned).

Image

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

Post Reply Previous topicNext topic