Accuracy adjustment (manual, automatic or temperature compensated) #74
Replies: 2 comments 1 reply
-
I like this idea a lot! There's definitely room to improve on the accuracy at the moment, I've noticed my watch drifting. The idea of having the watch calculate it's own offset is really fascinating... |
Beta Was this translation helpful? Give feedback.
-
I've thought about this a lot, and it's something I want to do; unfortunately, I don't have the equipment for it right now. My instinct though is that it would involve the temperature sensor board (included with campaign orders), a high resolution frequency counter, and either a GPS-disciplined TCXO or an atomic clock. The setup:
At the end of this, A1 should be emitting a square wave with a frequency of about 64 Hz. Of course, you might see something like 64.000012 or 63.999987 Hz, which would cause the watch to drift. You'd want to build a watch face that shows the temperature and allows you to adjust the frequency correction register, then take notes on which FREQCORR values get the watch as close to 64.000000 Hz as possible. From there (and with some help from a refrigerator and a heater) you could create a series of FREQCORR values from, say, -20° C to 50° C, and code that lookup table into the watch. Then, out in the field, we'd be able to measure the temperature with the thermistor and know what frequency correction value to apply at a given temperature. Here are some notes on the frequency correction register, from the SAM L22 data sheet: |
Beta Was this translation helpful? Give feedback.
-
First of all, sorry if this is not the appropriate place to post this. I am a criminal lawyer and I don't know any programming beyond basic HTML (:
Second, for those unfamiliar with what I am talking about, please take a look at this post, especially the part on the digital count adjustment method (it comes right after Figure 9, the picture of a Rolex, but the whole post is worth reading).
I have already posed this question in more basic terms during fundraising, but I wanted to discuss this further. Would it be possible for the real-time clock to get readings from the thermistor and do this sort of digital count adjustment? This would be displayed, naturally, on Basic Clock. According to @josecastillo, the RTC can be adjusted in steps of 1ppm, which equals to ~31 seconds per year. That is not a very fine adjustment (a $3200 Grand Seiko can be adjusted in steps of 6-8spy) but way better than just 'good enough'.
Even if it is not possible or hard to implement temperature compensation (since there would have to be a rough temperature/accuracy drift table), there is another way to increase the accuracy of the Sensor Watch. A Belarusian watch manufacturer called Technochas has this very rudimentary method of adjusting digital quartz watches. Their classic 52-55 model line has an option, in settings, of slowing or speeding up the clock in steps of 1/10th of a second per day. This equals to roughly 1ppm, which is possible with Sensor Watch. Basically you set the watch to a reference clock, check the deviation after a few days, calculate how much it lost or gained in average per day, and input this in the settings.
Their new models (the 01-04 line) have an even cooler way of adjusting the accuracy. If you reset the seconds (just like you do in any Casio or in Sensor Watch) two times in an interval of 4h and 720h, the watch measures the deviation by itself, calculates by how much it should slow down/speed up, and automatically corrects itself for future reference. These models can also be manually adjusted in steps of 1/20th of a second per day.
So, my questions are a) if any of these options is viable, b) how hard could it be to implement them, and c) would anyone be willing to work on it since I do not have a clue where to start (beyond learning C from scratch)?
Thanks for your patience!
Beta Was this translation helpful? Give feedback.
All reactions