Contact Us Curdridge Observatory channel on youtube google plus

Arduino Telescope Observatory Dome

New Dome under power for the first time

Dome introduction

Original observatory with flip top roof

The original observatory construction of a 6’x6’x6’ cube made from fence panels with a flip-top roof has long since outlasted the intended design life. I had no doubts that an accident waiting to happen was growing impatient. You try sliding around on frosty grass at 7am trying to control a heavy pivoting roof by ropes in each hand without falling over. Damaging threats to man and machine notwithstanding, this process dumped a layer of frost or dew over the telescope kit that refused to dry in the feeble winter sunshine.

A great way to show you have too much spare time is to build a shiny white observatory dome.

Friends gently prodded and finally I’ve got around to making something.

The general idea was to replace the entire top half of the existing shed. Hence most of the construction was based on a square frame to the side of the existing observatory, with the intention that on the “big day” we would saw the top half off the old shed and lift on the new frame.

Dome construction: Metal ring and rollers

More than once I’ve witnessed astronomers making or buying an observatory dome and then attempting to retrofit a dome rotation motor. This is clearly backwards. I was going to do it the other way around. The motorising and rotating would be designed and implemented before starting on anything recognizably dome shaped. This forces the physical construction to be constrained by the rotation system and not the other way around.

I decided that the starting pointed needed to be a continuous welded metal ring that would rotate in rollers. I’ve seen metal rings in observatories made up from segments that bump three or four times each revolution. I didn’t like that. So I spent considerable time trying to source a single piece welded metal ring. Below shows what we finally ended up with. A 2.2m diameter ring made from welded 1 inch stainless steel tube. Supplied by J & T Tubes, Poole.
dome ring tube

Test rotation of metal ring

The other advantage of a ring in my eyes is that it can be rotated in vee rollers without any need for side rollers or anything else to keep it on track.

So, about these rollers. The first question to ask is whether the ring is fixed and the rollers are attached facing down to the bottom of the upper rotating section, or the other way around? I wanted the metal ring to be driven by a motor fixed to the ground, so I choose to make the rollers fixed on the ground (facing up) and the metal hoop attached to the moving structure. I did not want the motor on the moving part of the dome structure because I did not want to run it on batteries.

So what rollers? And how many? Observatory domes with many rollers have difficulty distributing the weight on all the rollers. Sometimes one or more rollers have no contact. The immediate answer is to use only 3 rollers. Like a tripod. Although tempted by a three roller solution, I chickened out and added one extra roller to make four in total. Two of the rollers are fixed, and the other pair sit on a whiffletree arrangement (like the back of a mirror cell) to ensure constant weight distribution.

I explored a number of options for the rollers. In the end, simple pallet rollers from Ebay won the debate. These come with a bearing in each end and are rated for many times the mass of the dome. Replacements will be easy to source. All I had to do was cut a Vee in the roller and make a simple frame to support them.

Now to drive the dome

A powerful stepper motor (4Nm) was temporarily repurposed from the top of the milling machine and used to demonstrate that the ring could be driven easily with a neoprene wheel. In the final arrangement, a 9Nm stepper motor was chosen along with a 36v power supply and a commercial CNC microstepping driver unit. This simplifies the whole process – I have no interest in generating microstepping PWM signals from within Ardunio!
dome motor

Enter Arduino to control the dome motor

The architecture for linking the computer and dome motors is well established from the ASCOM standards. The ASCOM scope-dome hub calculates the required dome azimuth and sends it to the Dome via our ASCOM dome driver – which we must create. The Dome driver handles the communication down the COM port to the Arduino which is linked up to the motor. The Arduino + Motor are fixed to the lower part of the dome and connected to the PC via a normal USB cable.

With ASCOM handling the required dome azimuth, it is left to the device itself to elucidate the current dome azimuth. Often this is done with encoders and home sensors and the like. Less accurate, but close enough results are obtained using a digital compass module. Additional position sensors are not required. I have mounted a compass module with a second controlling Arduino on the upper rotating part of the observatory dome. It is powered via a lead-acid battery and communicates with the motor controller Arduino via a XBee radio link. There are no wires between the top part of the dome and the bottom part allowing infinite rotation in any direction. As the compass module (CMPS10) is absolute, there is no need to "home" or "park" the dome. The only trick is to mount the compass securely in the upper reaches of your dome away from as much metal as possible. Obviously you aren't going to get the compass aligned to north whilst doing this. I have a button on the control box I press to tell the Arduino that the dome is pointing north and that it should calculate a bearing offset from where it is now. I used a sunny day to align the dome exactly north. Looking up the local Sun transit time, I fixed a marker in the middle of the aperture and used the shadow to rotate dome to true north.

Note, whilst the ASCOM azimuth architecture is off-the-shelf, I had to write the ASCOM dome driver and create the firmware code for all the Arduinos. There is quite a bit of programming involved!

The general workflow is:

I had smoother stepper operation by dedicating another Arduino to generating the stepper pulses which was linked to the dome Arduino by an I2C link. An Arduino acceleration routine is used to smoothly ramp up the speed and then slow it down to a stop in the correct place. The Arduino will reevaulate the steps-to-go several times during the slew so the dome lands in the right place. A dead zone of 1 or 2 degrees ensures that noise from the compass doesn't make the dome constantly shuffle back and forth.

The Dome Arduino also controls the serial communications between itself and the ASCOM driver. The dome Arduino will receive commands from ASCOM to slew to a particular azimuth, and it will receive requests for status updates, e.g. Slewing etc. this is all part of a standard ASCOM dome implementation.

The Dome Arduino also controls the power to the stepper motor CNC controller via a relay. I only really did this to save myself having to turn it off when I had finished. My power supply also has quite a noisy fan and I do not want it left on all the time.

Foresight realised that I was going to be testing the motor system without having a computer handy to send serial commands when I wanted to adjust the settings for speed etc. 5 inch LCD touchscreens for Arduino can be picked up inexpensively on Ebay. Straightforward programming will show button shapes and information readouts. The Screen looks like this.

Pressing config allows me to set various parameters. I can move the dome around using the touchscreen and see the compass and temperature readouts coming over the Xbee from the remote Arduino on the upper part of the dome. I fully confess to spending rather too long writing the user interface, but it has proved useful.

Calibrate button commands the Arduino to start moving the dome around in increments of about 25000 steps (config controlled). After each movement it stops and reads the compass. Assuming the config is about right, after 10 cycles the dome will have done about half a turn. The Arduino then has a set of 10 data points on which it performs a linear interpolation to arrive at a figure for “number of steps per degree” which it stores in the EEPROM and uses for all future calculations i.e. point (4) above.

ASCOM simplifies the whole process. I would not recommend coding the mathematics for calculating the required dome azimuth as it is very involved. See here for my implementation of dome scope synchronising

I also have a small form in my ASCOM dome driver which is displayed when the driver is connected. This form is actually part of the ASCOM dome driver project. This little window has some buttons on it to implement a few custom properties. Parking the dome will move the dome to a position where the door is facing away from the prevailing weather. The remote light can be turned on and off. Slow Mode will run the motor at 1/100th normal speed. I use this when sidereal tracking all night, as it is much quieter. The kill function will allow me to set a time when the power is switched off to the dome. The window also displays the temperature from the remote Arduino along with a measurement of the battery voltage.

Creating the dome structure

Metal frame under rotation

Once I had a ring spinning nicely on my rollers, I had to start going "up".

I knew that if I tried to make a rounded dome I'd probably end up with a shape that was part dome and part polygon. I foresaw a lot of pain trying to make a rounded shape, so decided to go straight for the polygon idea. Another factor at play was the opening of the aperture. I've seen domes where the aperture door slides up and over the dome. and, in some cases, hangs down over the back of the dome and blocks the access door. This particular problem is solved having a shorter "up and over" door and a fold down flap for lower altitudes. On the plus side, and up and over door is rather to waterproof. In the spirit of being different I decided that two curtain doors would be rather nice. You can see where this is going. The VLT telescopes have polygon shaped domes with curtain doors... so the VLT soon become my "design reference".

The VLT is 16 sided. I elected to go for 12 sided. 12 segments of 1x2 inch aluminium box section were bolted to the top to form a strong base that bolted down onto the stainless steel ring. The end of each box was cut to 15 degrees using the CNC function on my milling machine. I knew from previous practise runs, you have to have the angles very accurate for a polygon to come toegther nicely. The sides of the polygon were held together with internal tie bars and more bolts.

dome and telescope

The choice of materials was mainly down to cost, experience and flexibility. I knew I had a decent powered metal saw and could make more or less whatever I wanted from unlimited amounts of round bar and L angle. You can order such materials in 5 metre length which saves a lot of wastage.

One ¾ inch aluminium tube vertical risers were added.

The structure was then completed with 1x1 inch aluminium L.

The whole structure was then sheathed in the 3mm thin exterior plywood attached with a combination of glue and bolts

A skirt was added to overhang the wheels.

The build was all outside up to this point. Unprotected plywood cannot be left out in the rain, so a tent was erected in the garden for the last couple of months of the build.
dome and telescope

The doors were fully expected to cause the most trouble. A set of Accuride stainless steel drawer runners are used to carry the doors. These are designed for large tool room drawers. With much help from some friends, a workable set of doors was finished.

Fibreglass the observatory dome


Lifting On

The largest event in the build was “fibreglassing weekend”. We planned to sheath the plywood in a coat of chopped strand mat fibreglass. A 100% fibreglass observatory dome was possible, but I decided this was a bit too much of a learning curve for me and I would stick with what I knew.

First a coat of 491PA resin was put on the bare plywood. This is a sort of watered down resin which soaks into the plywood and forms a good bond. A layer of 450g chopped strand mat was then applied with white polyester resin. Finally white flowcoat was applied. This contains wax which comes to the surface as it cures, leaving a waterproof seal.

A few weeks after this, we cut the top half off the existing shed and lifted the dome into position on the rollers. Happily all the planning paid off and the dome rotated freely on the rollers. A few more weekends of fitting out followed – endless amounts of woodwork!

Humidity is always a problem in this type of construction, so small dehumidifier was placed in the dome to keep moisture levels down.

The Raspberry Pi observatory camera

Dome rotation

I usually operate my observatory from the study indoors via remote desktop. I have found a great deal of comfort is gain from having a video stream of the observatory interior to watch whilst slewing the dome, so I am confident it is not stuck

A webcam would probably work, but I happen to have a Raspberry Pi with a raspberry camera with the fisheye option. This makes a totally standalone camera, needing just power and a network connection. The advantage is there is no extra USB device on the main computer and no "extra" application to manage on the main computer. I can view the video feed from any computer in the house or my phone etc. The raspberry never seems to crash or go wrong. Over the LAN I can get around 25 frames per second of 720p video no problem.

The only problem is the raspberry cannot see in the dark. We do not want any fixed lights in the dome (IR or visual) so as mentioned above, the dome driver contains a function for me to remotely turn the lights on and off. Another option i have experimented with is having the light turn on automatically when the dome is slewing, which is nice, but you don't want to do that whilst imaging of course :)

dome and telescope dome and telescope dome and telescope dome in tent