Argos - Software Platform


The telescope is run by DC motors. Each motor has two inputs: forward and backward movement control. When a 5V signal (high) is applied to an input, the motor moves at full speed in the corresponding direction. 0V (low) on the input stops the motor (surprise:) Other speeds are achieved by applying a square signal to the input. The duty cycle (high-low ratio) determines the speed.

The original hardware design of the telescope called for an external signal generator. This was handled in software by a Commodore-64 computer, which was defective at the time of my takeover.

I have also chosen the software approach - for two reasons:

  1. I did not want to build new hardware. It's not my field and I lack the tools.

  2. I am not an engineer. Some of the work will be based on trial and error rather than prior computations and measurements. This calls for a software solution, since software is much easier to change and adapt.

Next I want one computer to control the telescope *and* interface to other tools, I might need. Ie. planetary programs, CCD-camera controller and image processing software. I do not want a whole suite of computers in the observatory. This requirement rules out MSDOS-based computers and the like.

Generating control signals in software and, at the same time,  maintaining an accurate tracking speed calls for a tight control of timing. This cannot be done in Operating Systems like Windows and Linux, since you don't have enough control over which tasks are alotted processor-time and for how long.

However, Linux is a very interesing OS, because its free, stable, supported, has low hardware requirements and a lot of astronomical software is written for the UNIX world. Fortunately a modified version of Linux exists, called RTLinux (Real Time Linux), that fullfill the realtime requirements of my project.

RTLinux
RTLinux is a small real-time kernel that runs ordinary Linux as a low priority task. A module loaded in the RTLinux kernel runs at a higher priority than Linux, and can create threads that run at a given time and interval.

To get RTLinux up and running:

  1. Download RTLinux consisting of the source and a patch for the Linux kernel.

  2. Download the corresponding Linux kernel source.

  3. Apply the RTLinux patch to the Linux kernel.

  4. Build the patched Linux kernel

  5. Build RTLinux

  6. Install the new kernel

  7. Now you got a real time OS

Read about RTLinux at www.rtlinux.org