Weather monitoring and Observatory control

CLOUD COVER DETECTION AND MEASUREMENT

Obviously, an optical telescope is useless under a cloudy sky, and furthermore, weather phenomena such as precipitation can damage the optics, the electronics and mechanical equipment.
The Observatory housing thus has the primary purpose of protecting the equipment from weather hazards. Even when the roof is open under clear or almost-clear skies, the walls provide some protection against unexpected wind gusts and dust.

A automated meteorological station suited for “guarding” the observation sessions should include at least the cloud cover (or cloud amount) measurement!

As seen below, this implies measuring the sky temperature and the standard ambient temperature.

Of course, one can add for comfort other measurements, such as:

  • relative air humidity (which along with the air temperature measurement could provide the dew point)
  • anemometer (wind speed measurement)
  • rain sensor (warning: this must have a large surface detecting area in order to be of use, and by the time this signals that it is raining and the Observatory is still open it might be already TOO LATE, the damage may have already been done!)
  • light meter (for automated opening and closing,  when one wants to avoid time-scheduled programming)

As I explained above, in order to measure cloud cover we need the local air temperature and… the sky temperature!
How do we measure the sky temperature? How do we measure the temperature of a remote object? Well, there are sensors for this kind of measurements. They are called non-contact IR measurement sensors, and use the measured IR spectrum of the object they’re pointed at and the Plank’s law to determine the remote object’s temperature. They are quite accurate as long as the measured object has high emissivity.
And why do we need the sky temperature? Because this is the key in finding out if there are clouds above us! As one would expect, normally a clear sky should be pretty cold: actually, about 20 degrees Celsius colder than the local environment!

cld3
cld4

If there were some clouds present then the sky temperature would go up accordingly, because they would reflect back the IR radiation emitted by the warmer ground, and the difference between the local air temperature and the sky temperature would no longer be significant (that’s why cloudy nights are generally warmer). In fact, whenever there is a significant cloud presence, the recorded sky temperature is very close to the local air temperature and when it rains there is a good chance that the non-contact IR sensor will pick up the warmth from the water droplets and signal even a higher sky temperature than the ambient! This is the reason (besides protection of the electronics from the elements) why I encased the remote temperature sensor (MLX90614)  in a box with a very low power heater foil beneath it in order to eliminate dew on its sensitive area and avoid false alarms (high sky temperature readings):

cloud_sensor_box_view

And the ambient temperature sensor:

ambient_temp_sensor

OBSERVATORY CONTROL

As I showed in the Construction page,  a chain assembly with a small but powerful DC motor drives the motion of the wheeled roof:

roof_motor
chain

The motor action is commanded via a custom made power control box by the same controller which reads the meteorological data, an arduino uno v3:

arduino

arduino

power_control_box

Limiting contacts (switches) are placed at each end of the roof track in order to send the signal to the controller that the roof is fully opened/closed and therefore to stop the running motor:

switch_ext
For safety reasons I placed a pair of additional (normally closed) switches in series with the motor power circuit at the extremities of the roof track, so even in the unlikely event of a controller failure, these contacts will open and the power will be cut off, so the motorized roof assembly won’t suffer any damage:

switch_ext_poweroff

 

THE SOFTWARE

The Arduino controller is programmed by me to continuously read the sky and ambient temperature data and to send (when commanded so) the PWM and relay signal for roof motor operation and direction (opening or closing).

In addition, I modified and improved a basic open-source cloud detection software which I found on astronomy forums by adding some routines in order to:

  • automatically calculate the sky conditions, based on clear sky temperature mathematical model equations
  • manually or automatically (prepare for roof closure when hazardous sky conditions detected) initiate communication with ASCOM interface drivers to put the telescope in parking position
  • manually or automatically (roof closure when hazardous sky conditions detected) initiate communication with arduino controller to send instructions to operate the roof motor
  • prevent accidental manual roof motor action command while the telescope is not parked
  • prevent accidental manual roof motor action (opening) when sky conditions are not good

This version will be available here for free download soon.

Here is a view of the software interface, in different sky conditions:

Clear sky

software_clear_sky

 

Cloudy

software_cloudy

 

Rain

rain

 

Cloudy sky clearing up rapidly (in less than 15 minutes!):

sky_clearing_up

One unexpected bonus is that the non contact IR sensor is so precise and sensitive that at some point it can actually detect significant atmospheric turbulence when several consecutive readings vary considerably, thus giving a warning that although the sky is clear, the observational conditions are less than ideal.