There is a whole range of safety monitor routine built into the code to detect if something has gone wrong. Finding a home position (using Hall sensors).Local monitoring of temperature and humidity.Periodic error correction of the transmission gears (PEC).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īeyond this core, a whole range of other functions are implemented in the arduino including.There are around 80000 encoder ticks per degree – so we can find the required encoder tick target. ![]() The required hour angle and declination are then used to calculate the required shaft angles.Knowledge of the target RA is then used to find the required Hour angle.Arduino then uses the known longitude of the observatory to calculate the local sidereal time.First the DS1307 real time clock module is consulted by the Arduino to get the current local time.If my planetarium software wants the scope to GOTO a target, it simply tells the arduino the required RA and DEC.Īt his point a bunch of stuff happens on the Arduino 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. The Arduino is entirely responsible for running the motors and pointing the telescope. What does my Arduino software actually do? Arduino can actually turn off the power to the telescope mount itself – handy when you detect an problem. This includes the L298 unit, the encoder counter, various hall sensors for doing PEC and fuses and relays. The Arduino Mega 1280 is housed in a box on the telescope. Please see here for discussion on Arduino PWM The diagram below roughly outlines the high level layout of the system The Encoders are interfaced to the Arduino using an encoder counting IC to cope with the very high tick rates when slewing. Interfacing the motors to the arduino is a simple L298 dual H Bridge driver. For better to use a dedicated encoder counting IC. For example, the overloaded interrupt lines will corrupt the serial data. Trying to use an encoder with an Arduino at high rates leads to all sorts of problems. However, it is a problem when slewing and the tick rate goes up to around 200kHz. 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. When tracking the sky, the motors turn at 12rpm. These motors are a marvel of technology and can rotate extremely slowly under Arduino control with zero magnetic cogging. ![]() The video below shows this tool chain in action.Īt 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. Fortunately ASCOM Drivers are well templated and easy to write. 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. All such applications talk to telescopes using the common ASCOM interface. A wide range of astronomy applications are needed for successful imaging. 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. 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. This does not leave a lot of time in the Arduino for performing other tasks. Steppers require constant attention from the Arduino to keep going around. Microcontrollers like Arduino have a fundamental problem with stepper motors. 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. I decided to make my own telescope control system from the ground up and the Arduino platform seemed the obvious choice. It was also impossible for me to change the programming or maintain the system. This system was extremely slow, underpowered and unreliable. Why make your own Arduino control system?Īfter completing my homemade telescope mount it was powered by a Meade DS motor kit.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |