Servo is twitchy with no move commands

I am trying to make a servo move in relation to a Dallas 18B20 temp sensor, but every time the program loops around it "twitches" the servo even when the position has not changed. In fact, just importing the servo.h library and initializing the class will do this.

There is quite a bit of delays needed to read temps from the sensor, and I think its interfering with the background activity for the servo library.

Do I have any options other than not polling my sensors so often?

You should be able to do both, without using delays.

Take a look at the BlinkWithoutDelay example in Arduino 0017, or take a look here:

But I believe with Servos, you need to refresh every 20ms to keep them in their same position. (examples use a 15 ms delay between writing)

The delays for the OneWire interface don't have allot of margin to work with. I wouldn't want to leave it up to chance that it will loop back around in time for its read/write slots.

I found out that certain positions make it jump more than others, so I started to think perhaps it wasn't a delay issue after all. But when I manually set it for a known jumpy position with all my temp loops taken out, it mostly held steady with some occasional "blips" now and again. I don't know what about the first few pulses the servo find surprising, maybe they are a little different from the last. If the position hasn't changed, it shouldn't move no matter how few and far between the pulses are.

My solution: I attach/detach it after each move, this way its not attached during the temp readings and thus no twitching, at all, ever, not even a "blip"! I put in a little IF statement saying only move if abs(last-new) > 1 degrees and it works!

Luckily for me, I don't have a heavy load on my servo and detaching it while its not being moved is no problem, but if I were to have some load, I would have to worry about wondering servo issues. I guess the only solution then would buy an external servo controller or try the no delay approach.