Devices can’t follow signals perfectly#

Software: signal generation jitter#

Signals generated by Arduino or DAQs have certain jitter in time and amplitude, that is to say that there is an uncertainty in exact voltage level and when signal happens. For example, here we look at an oscilloscope recording of a repeated pulse from Arduino (1.5ms pulses every 20ms). The time delay between pulses has uncertainty around 5µs. Use of interrupts can decrease that uncertainty to 0.1µs

galvo mirror response

If you need timing between repeated pulses to be better maintained than that, you have to pick another type of signal generator. There are many more characteristics of signals than jitter such as hysteresis, rise time, and settling time.

Hardware: galvo mirror response#

galvo mirror response

Galvo mirror steers laser beam following input electrical signal. However, the response (that can be detected by sensor inside galvo) is not perfectly following the input signal. Some microscopes are sensitive enough to that discrepancy and require correction. Such correction is done by adjusting parameters of PID controller that transforms input signal into voltage that drives mirror. Because galvo systems are assembled for the specific mirror, the PID parameters are embedded in hardware using adjustable potentiometers on the control board.

Hardware: piezo response#

Another example is piezo collar that is often used for 3D imaging (z-scanning) by moving the infinity-corrected detection objective. These devices are heavier and need to be able to move objectives of different weights, so calibration is more complicated (PID adjustment) and can be performed inside the device’s software.

piezo collar repsonse