Very sophisticated and competitively priced telescope control systems exist for amateur telescopes. For bigger telescopes and custom requirements, building your own control system may be an option. As a member of the technical support team of the Bülach observatory, I had the chance to do exactly that.
The Bülach observatory is one of the largest public observatories in Switzerland. It was created in 1983. Among other, smaller telescopes, the equipment consists of an 85cm (33”) Cassegrain and a 50cm (19”) Newton / Cassegrain telescope.
Until 2005, the telescope was driven by a half-step stepper motor controller with a simple hand control. Due to several technical issues, we decided to replace this controller with a new solution in 2003. As the visit to the observatory is free and we rely on donations, cost was an issue, especially because the two stepper motors for the telescope’s two axes need each around 6 Ampères of current. Controllers for around 2 to 3A were cheap and easily available at that time, but that obviously didn’t help us. After some unsuccessful searching, we decided to develop our own telescope control system. A modular approach should allow for a realization in small steps. The first three modules were the user terminal (fixed on the telescope) to display and align the position of the telescope, a multiplexer card to receive the input from the hand controls and forward it to the motor drivers, and finally the two motor driver boards. They were designed to support microstepping and provide around 8A of current. It took more than a year before we had a working solution. Here are some photographs:
The 19” rack with some early modules.
Measured current through the two coils of a stepper motor, driven by the new stepper motor controller.
User terminal.
All modules contain a separate ATmega128 microcontroller and are connected with RS-232 interfaces to each other. During the past 6 years, more modules have been added, and the system now contains 6 modules. They appear as yellow boxes in the illustration below:
By implementing the LX-200 protocol, we can show to the visitors the position of the telescope in the StarryNight Pro application running on a Windows PC.
What is still missing up to now, however, is an automatic ‘GO TO’ function. At the moment, I’m working on the software extensions to make ‘GO TO’ work. The following modules are affected:
All modules contain ATmega128 microcontrollers with a JTAG connector to simplify firmware updates. All control programs are written in the C programming language, compiled with avr-gcc, then converted to svf files and written into the controller flash:
To be able to generate the SVF files on my Mac, I’ve implemented a stripped-down version of Atmel’s avrsvf.exe application which is unfortunately only available for the MS Windows platform (available for download on sourceforge if you have use for it). Finally, with the help of the urjtag tool, the SVF files are programmed into the microcontrollers.
(to be continued...)