Since it’s a rainy day today and I’m not working on the micro-observatory (MO) outside I figured this was a good time to work on the control systems for the observatory.
Here’s some requirements I need to satisfy for the system:
- Operate completely off-grid with solar power and cellular/satellite internet
- Compatible with INDI so I can control the observatory through the same interfaces I use to control the telescope and associated gear
- Allow the roof to be moved automatically or on command
- Keep track of various environmental factors (clouds, humidity, temp, rain, snow) to ensure that the roof only opens when it is safe to do so and is closed immediately when the environment is unsafe. This also means that the telescope needs to be parked in a safe position before the roof closes and the roof may not open unless the telescope is parked.
- Allow processing of raw data (dark frame and flat calibration, stacking, creation of preliminary images) in the observatory and only send the results (final images, variable star reports, etc.) over the Internet
I have decided that the computing infrastructure to support these aims will be based on my usual open hardware / open source software toolset as much as possible. Since I have used Howard Dutton’s OnStep software and hardware quite a bit for my telescope projects I was pleased to be reminded he has also built an Observatory Control System that is open source. Unfortunately, no INDI drivers currently exist for the system but at the very least I can avoid having to develop a hardware and software system to manage the MO. I can adapt an existing INDI driver for roll-off roof observatories to work with this software.
The hardware is an Arduino Mega2560 board equipped with a W5100 ethernet shield to add network capability to the controller. Howard’s software is loaded on this board and connected to the network, then various parts of the observatory are connected to the board either directly or via relays that can power items on and off.
First up – print a 3d case to protect the board during testing and operation. As always, thingiverse.com delivers! Once I have the case printed and the board safely mounted in it, I’ll load the software and start connecting things up.
Here’s a conceptual component diagram:
Black boxes are INDI servers offering various services across the network. The Linux server (an HP EliteDesk 800 G1 Mini Tiny Business Desktop PC, Intel Quad Core i7-4785T 3.20GHz, 8GB DDR3, 256GB SSD) would remain powered down to conserve power unless there was work to do whereupon the Telescope controller (running obsy-core, Python software I’m currently working on) would wake it up so it could load tasks from a database on the Observatory controller and execute them (mainly running Siril to calibrate, stack, and process data so only results are forwarded over the Internet, probably posted to Twitter similar to the Dave Lane’s Burke-Gaffney and Abbey Ridge observatories), although eventually I’d like to have enough confidence in the processing chain to post variable star observations direct to AAVSO. The Linux server would also be wakeable from the Internet via the Mifi cellular internet gateway so I can use the obsy-web interface to queue up targets and manage observations as well as act as a firewall for the network. The two Controller RPi4 boxes would have ArduinoIDE on them to permit firmware updates on the Arduino devices. The OCS Arduino is a Mega 2560 with an Ethernet shield running Howard Dutton’s Observatory Control System while the Utility Arduino would be an Uno. Not pictured is a way to remotely power cycle the observatory components from the Mifi – something like this.