Gewgaw electronic solar clock

This project shouldn’t be confused with a plan to design a clock powered by solar energy. That’s not what this is about. Instead, it represents an academic attempt at calculating the time based on the position of the sun in the sky.

Yes, you could look at your watch, listen for the pips on the radio or even glance at your mobile phone - but this isn’t a move to try and replace those reliable sources. It’s more about trying to observe the local environment and making calculations around what can be seen.

I can’t pretend when this is finished it will have much value - it’s more of a nonsense machine bred out of boredom. Regardless, I do think it will be interesting to see how accurately time can be calculated using a bunch of cheap electronics and some 3D printed tat. Let’s face it, it’s a gewgaw…

There will probably end up being just two main components in all of this:

When I started out on this venture, I tried using an I2C based compass (LSM303) for azimuth alignment. Like any “sundial”, you have to know which way is north. The LSM303 claimed a 0.1 degree resolution, but after some failed tests and a bit of reading I discovered that although the resolution is good, accuracy is +-5 degrees. Given that the earth rotates through roughly 15 degrees in an hour, It just wouldn’t provide the accuracy I’m looking for. So, in the end I went back to the drawing board and came up with a timing disk design. The main drawback of this approach is you need to manually ensure the light sensing unit is facing true north whenever you press the inevitable “go” button. This dosen’t satisfy me as a solution, but for now it will have to do.

North

Finding true north is problematic. You could use a normal magnetic compass and deal with the offset, but from what research I’ve done so far this seems a little vague (Magnetic north is always on the move). I’m still considering adding some form of gnomon to the rotator base so it can be aligned (after performing solar observations), but that loses the semi-instant gratification of just pushing a button I’ve also been considering a gyro, but that leads towards the chicken and egg situation of still not actually knowing where true north is in the first place. I’ve read some of the physics and I’m well aware that a gyro can achieve this because it’s affected by the rotation of the earth. Such a gyro is really expensive and I don’t think I’m capable of constructing one of my own. For now I’m going to carry on testing commercially availble magnetometers to see if there’s something better than the LSM303. Watch this space.

Updates:

The Components - Stepper motor server

Stepper client

Notes:

Interim results

On the 15th June 2022 I managed to get a set of tests done using an apeture slit width of just over 1mm. It was a bright sunny day with a clear sky, so it seemed an ideal time. After manually aligning the sensor with true north (by sight), I performed the first test at 09:23AM. According to the tables I’m using as a reference, the sun should have an azimuth of 100.79 degrees and then 101.9 at 09:25AM. During this first test, the sensor returned a value of 54612 for bearing 100 and 51554 for 101. All other light readings had low 3 digits values.

The second test was run at 09:26. Again, the tables show an azimuth of 101.9 degrees and 103.2 for 09:30AM. For bearing 101 I got a value of 3613. For 102 the value was 18735 and for 103, 13504.

Here, as you can see, the highest bearing was 102. It’s interesting (to me) that I got a high’ish value for bearing 101, but the light peak is still very obvious. I’m very pleased with the results because with these short tests I seem to be well within a +/- 5 mins tolerance. That’s better than I initially expected. Clearly I will have to embed some lookup table in the code, but that’s easy. For now I’m going to focus on trying to improve the accuracy and mark this down as prototype version 1.

Here’s a really dull video of it running during the test and if you want to look at the current code you can find it here

To be continued…