Why make your own Arduino control system?
After completing my homemade telescope mount it was powered by a Meade DS motor kit. This system was extremely slow, underpowered and unreliable. It was also impossible for me to change the programming or maintain the system. I decided to make my own telescope control system from the ground up and the Arduino platform seemed the obvious choice. This project needed a wide range of inputs and outputs, so has been done using an Arduino Mega 1280 board, although a Mega 2560 would do just as well.
Software Downloads. PHD Guiding V2.2.6.9 (Windows) PHD Guiding v2.6.9 (Mac 32-bit) PHD Guiding v2.6.9 (Mac 64-bit) SSAG Autoguider drivers for Windows 10. StarShoot AutoGuider ASCOM driver. SSAG Autoguider drivers V2 for Windows 7. How to Use an Autoguider. View Product Specification Chart. Download the latest Altair Astro Camera ASCOM Driver here. NOTE: New version 1.4.129.0 with 'Ultra Low Noise Mode' for Altair cameras which support it, such as AA26CTEC and AA26MTEC. This driver will automatically switch on 'Ultra Low Noise Mode' if the camera supports it, and is in it's highest bit depth mode (E.g. 12/14/16 bit RAW).
DC motors or Stepper motors
Microcontrollers like Arduino have a fundamental problem with stepper motors. Steppers require constant attention from the Arduino to keep going around. Especially when microstepping. This does not leave a lot of time in the Arduino for performing other tasks. Whilst one would architect this using multiple microcontrollers, such an approach seems silly when a single Arduino Mega has far more computing power that you need. Therefore I chose to use DC motors.
Why ASCOM with Arduino
Ascom software downloads To make sure you get the right set of software, we need to know more about which Ascom products or solutions you are using today. Please fill out the form below and we'll get in touch with you shortly. ASCOM V2 Driver - FREE DOWNLOAD. Astro-Physics offers a company-supported ASCOM V2 driver. This driver provides ASCOM-compliant mount. The ASCOM V2 Driver is compatible with all versions of the GTO Control Box: GTOCP1, GTOCP2, GTOCP3 and GTOCP4. However, the GTOCP1 and GTOCP2 may not be able to access some of the advanced functions. Please see this link for more information and to find links to the ASCOM platform and the Astro-Physics V2 ASCOM driver.
Whilst the Arduino can happily handle all the tasks associated with running the motors and pointing the telescope, in a modern observatory the PC rules. A wide range of astronomy applications are needed for successful imaging. All such applications talk to telescopes using the common ASCOM interface. None of the planetarium etc software I wanted to use knows a damn thing about my Arduino system: Therefore I had to write an ASCOM driver to sit between the Arduino and the application software I needed to use. Fortunately ASCOM Drivers are well templated and easy to write. The video below shows this tool chain in action.
What is the hardware?
At the heart of the system is a pair of Maxon Motor precious metal brushed coreless DC motors with 512 cpr encoders and 30:1 reduction gearboxes. These motors are a marvel of technology and can rotate extremely slowly under Arduino control with zero magnetic cogging. When tracking the sky, the motors turn at 12rpm.
This combination gives a resolution of around 24 ticks per arc second when reading 4x via the encoder IC.
This is plenty for provide tracking GOTO and tracking accuracy. However, it is a problem when slewing and the tick rate goes up to around 200kHz. Trying to use an encoder with an Arduino at high rates leads to all sorts of problems. For example, the overloaded interrupt lines will corrupt the serial data. For better to use a dedicated encoder counting IC.
Interfacing the motors to the arduino is a simple L298 dual H Bridge driver. The Encoders are interfaced to the Arduino using an encoder counting IC to cope with the very high tick rates when slewing.
The diagram below roughly outlines the high level layout of the system
Please see here for discussion on Arduino PWM
Ascom Telescope Driver
The Arduino Mega 1280 is housed in a box on the telescope. This includes the L298 unit, the encoder counter, various hall sensors for doing PEC and fuses and relays. Arduino can actually turn off the power to the telescope mount itself - handy when you detect an problem.
What does my Arduino software actually do?
The Arduino is entirely responsible for running the motors and pointing the telescope. During sidereal tracking, the arduino monitors the tick rates from the encoders and adjusts the PWM signal to the L298 to keep the telescope tracking the sky at the correct speed.
That is a fairly simple task. The complexities arise with GOTO. If my planetarium software wants the scope to GOTO a target, it simply tells the arduino the required RA and DEC.
At his point a bunch of stuff happens on the Arduino
- First the DS1307 real time clock module is consulted by the Arduino to get the current local time.
- Arduino then uses the known longitude of the observatory to calculate the local sidereal time.
- Knowledge of the target RA is then used to find the required Hour angle.
- The required hour angle and declination are then used to calculate the required shaft angles.
- There are around 80000 encoder ticks per degree - so we can find the required encoder tick target
- Signals are then sent to slew the motors at full speed until the required encoder tick count is reach, slowing down and stopping at the correct place
Beyond this core, a whole range of other functions are implemented in the arduino including
- Parking the telescope when finished
- Unparking
- Emergency shut down
- Syncing the pointing to a known star
- Periodic error correction of the transmission gears (PEC)
- Autoguiding
- Local monitoring of temperature and humidity.
- Finding a home position (using Hall sensors)
There is a whole range of safety monitor routine built into the code to detect if something has gone wrong. If a slew is taking to long, or the telescope is moving to slowly, the Arduino will shut down the power to the mount and then go into sulk mode. It won't let the power come back on until a human has come along and cleared the error bit.
Can I download your Arduino source code
In short, no. The code is closely matched to my telescope and has taken me months of research and development. It is not impossible that this may turn into a commercial project one day therefore I do not wish to share my entire source code.
However I would be delighted to answer questions about the project at tomh@tomhow.me.uk and will happily share section of the code if it helps you with your project.
However, I do give isntructions on how to write it yourself here in my guide for writing Arduino telescope controllers
Download Ascom Windows 10
Experimental version. For stable version see 1.19.0
Experimental version. For stable version see 1.19.0
Ascom I62 Driver Download
Experimental version. For stable version see 1.19.0
Regular version. This is for entry level user / alt-az mount / visual observing.
- 🔔 If app cannot read location, please ensure permission to read location has been granted.
- Features: (See also Users Manual)
- Control Sky-Watcher mount by Wi-Fi (mount needs build-in Wi-Fi / external SynScan Wi-Fi dongle) or by USB (Android device needs USB-OTG)
- Works with these third party software: ASCOM, Luminos, Sky Safari, StarSeek, Stellarium
Pro version. This is for experienced user. In addition to regular version features, this version also supports equatorial mounts for astrophotography.
- 🔔 If app cannot read location, please ensure permission to read location has been granted.
- Features: (See also Users Manual)
- Control Sky-Watcher mount by Wi-Fi (mount needs build-in Wi-Fi / external SynScan Wi-Fi dongle) or by USB (Android device needs USB-OTG)
- Works with these third party software: ASCOM, Luminos, Sky Safari, StarSeek, Stellarium
Pro version. This is for experienced user. In addition to regular version features, this version also supports equatorial mounts for astrophotography.
- Feedbacks are appreciated: [email protected]
- Features: (See also Users Manual)
- Control Sky-Watcher mount by Wi-Fi (mount needs build-in Wi-Fi / external SynScan Wi-Fi dongle) or by USB
- Works with these third party software: ASCOM, Luminos, Sky Safari, StarSeek, Stellarium