Let's start with the stepper motors used to move the z-axis. Most printers use a Nema-17 motor, and most Nema-17 motors turn 1.8° per step. For the motors that don't use 1.8°, almost all of them are .9°, such that assuming 1.8° is pretty safe for most us (if you have a .9° motor and wrongly assume 1.8°, the motor will just take two steps instead of one).
But these motors don't move the print head or bed directly. Rather, they will turn a threaded rod to lift or lower the necessary part. We need to figure out the linear distance traveled along the rod per step.
There are two ways to determine this. First, we can look at the threads on the rod, and think about the linear distance traveled if the rod turns one complete revolution. Use a sharpie marker to trace a thread, and then measure the distance.
Alternatively, if we check the specs for the rod in terms of threads and pitch. Most 3D printers use 8 mm rods, but looking at my own printer these aren't standard metric threads. Indeed, the pitch can vary quite a bit from printer to printer. Both 2 mm and 3 mm pitch is common, with the number of threads on the rod varying from 1 to 4. To find the linear distance of a revolution, you multiply the threads by the pitch. A 3 mm pitch with 1 thread has a linear distance of 3 mm. A 2 mm pitch with 4 threads has a linear distance of 8 mm.
With either method, we know the linear distance for one complete revolution (360°). But a single step only moves a small portion of that: 1.8°. Thankfully, this works out to an even number: 360/1.8 = 200. There are 200 steps per revolution.
Now we know enough to figure out the step distance. The math looks like this:
StepDistance = (RodPitch*RodThreads) / 200
As an example 2 mm pitch and 4 threads produces this expression:
(2 * 4) / 200
and the final result is:
.04 mm per step
Those values are common, but not universal, so you need to know what numbers to plug in for your printer.
You should also be aware that many stepper motors can take half steps or even divide a single step up to 256 times. If you can watch your printer smoothly move from very low to very high, or vice versa, without jerking for each step, this is what it's doing. That means your printer may be able to make adjustments as fine as .00015625mm. At this point, we're down in nano-meter territory. I think it's probably best to assume your printer wants to take at least a half step when moving from layer to layer.
Now lets look at applying this .04 mm per step
value to a real printer. Please remember: this is just an example, where the .04 mm number is based off a specific rod type. You need to know the values for your specific z-axis rods.
Let's say you have a printer that advertises a .1 mm minimum layer height and a .4 mm nozzle. Given the .04 mm steps, you might do much better actually using .12 mm layers, which is an exact multiple of .04 mm. But then, if we consider half steps, .1 mm could be just fine. On the other end of the range, we don't really want to go above 75% of our nozzle width. That's .3 mm. Given a .04 mm step height, a better max is really .28 mm... but, again, considering half steps, we could in theory choose to do the exact .3 mm height.
The main thing I want to take away here is for when you're looking for an in-between layer height: .1 mm is too slow, but .2 mm is too course. It's probably best to bump up the layer in exact half-steps. For this example, that's .02 mm increments. So after .1 mm we try .12 mm, then .14 mm, and so on. Finer adjustments may be possible, but there's a power of two law at play here, so keep dividing things in half, rather than by 10ths. If you don't get good results this way, try assuming full steps, and start at .12 mm for the layer height, then go to .16 mm, and so on.