Galvos and rotary motors in HDD’s called VCM’s or voice coil motors are like any motor with a DC resistance or DCR.
A “high precision” galvometer will use a position error control servo loop such as galvanometer scanners based on moving magnet technology and a high-accuracy position detector intended for laser mirror position control.
Then you may input voltage that already indicates position or double integrated acceleration with null initial position error as you see fit.
If you say Voltage = position on a spring loaded galvo or spring loaded VCM, you specify this V=kX then acceleration is the 2nd order derivative of this Voltage. This can be done for linear motor coils or rotary voice coils, but they must have a spring load.
But if your input voltage is acceleration then you must integrate twice to drive Vposition above.
Rotor acceleration is proportional to Voltage or current which can be limited by the coil resistance,DCR is rated in Ohms but as in analog meters, full scale DC is [V/Ohm or mA]. So I=V/DCR for acceleration or applied V=I*DCR. Thus F=ma where opposing spring force measures deflection F=kX so acceleration is proportional to defection or rotor position X if using a VCM that has only a limited angular range.
A non-stop rotary motor requires sine-cosine multi pole motor which is only linear for a small range between poles as the sine wave approximates a linear triangle wave up to about +/- 50% then sine-cosine correction is needed for commutation on 2 windings.
So DC static response or no force is 0 mA or a short circuit. Galvos have a spring to return to home position, VCM’s may not, speakers do with the neoprene outer ring on the cone.
So to record acceleration of 1g of gravity in a balanced VCM you can use a very linear coil spring f=kX with some spring constant k to counter the force of X g’s of gravity or use deflection feedback for some current=V/DCR of coil resistance or a neutral position galvo like a strip chart recorder. This is counterforce=Current=g.
Now to get velocity, you integrate once and to get position or displacement , you integrate twice or use a very low 2nd or LPF about 1 or 2 octaves below lowest frequency of interest. If DC then a true double integrator with a reset for drift from DC offset is needed.
Thus 2nd integral attenuation is a function of position vs filter pole or true integrator gain vs frequency.
Richter scale and all accelerometers measure in g’s but they have charts for DA or double amplitude or PP deflection vs f so you can calibrate your galvo. So no need to calculate unless you prefer.
Using a VCM requires a rotary servo position feedback which is possible with many types of encoders from incremental to grey code to a sin-cosine pot to a Linear pot for limited 3xx degree deflection, if you want to go this route.
Again V=I*DCR of coil is proportional to g and this is not position due to acceleration that is attenuated 40dB/decade in frequency or rises with a second order ramp due to a DC offset.
The easy way to calibrate an accelerometer is to measure the voltage for a free fall of 1g. The ratio of drop height ,x to landing on a linear spring or elastic foam deflection of y yields an x/y=z ratio and is exactly equal to impact acceleration ,z again from a height x and linear spring deflection of y.
So you would see -1 then +z in some voltage to calibrate V. Position again is the double integral of this double bidirectional step that indicates the height of the drop to start of impact. Thus drop 1m to 1cm is 100 g’s.
Sorry for the long explanation, but I tried to minimize the math and explain how it’s done.
How do they record servo feedback for HDD’s?
In HDD’s the factory writes bipolar magnetic pulses between tracks just before sector address is later written so zero position error signal or PES=0 when the pulse from each half track on either side are equal.
To seek to a position the CPU computes the trajectory, applies the required or max current which results in a linear ramp to max velocity, it then coasts until braking with negative current I=V/DCR while counting servo track crossings detected using only current feedback then just before arrival within 1/2 track at the correct velocity to be able to stop in time without much overshoot, the servo switches to PES feedback for linear tracking to zero position error.
With an RPM of 15000 or 4ms/rev and a maximum seek time of say 12 ms for a server HDD, the max seek time is only 3 revs and for all VCM’s the 1/3 max stroke is equal to the average seek time not counting sector latency. The servo “diBITs” are recorded at the factory using a precision process for servo-writing 1 cycle pulse pattern and hard sectors for each track alternating every other half track, so it may be done in 2 scans, write servo +/- dibits then seek scan and write hard sectors then read for defect mapping into spare sectors .
This is called “embedded servo” which we used in our 14” linear HDD’s in the late 70’s and 80’s until obsoleted by 8”,5.25”,3”,1.5” 0.75” etc diameter platters which are now all glass instead of burnished aluminium with cobalt doped oxide.
As track densities increase 50%/yr each platter has more tracks and an enormous investment in Servo Track Writers (STW) in clean rooms is required to support the same production rate. They use a diffraction grating on the head-arm assy (HAA) with a semiconductor laser and tracks are now under 200 nm or in the UV range per magnetic circular track and they use the HDD’s own VCM and current to control position with laser optical feedback. Some may have an auxiliary moving VCM to correct nanometer position errors.