GithubHelp home page GithubHelp logo

thomazach / pocs-moxa-build Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 384 KB

PANOTPES Observatory Control Software for a telescope build using a moxa UC-8112A-ME series arm processor.

Home Page: https://www.projectpanoptes.org/

License: MIT License

Python 92.51% C++ 7.49%
astronomy community-science panoptes python exoplanet-detection telescopes moxa open-source open-source-community open-source-project

pocs-moxa-build's People

Contributors

lord-topa avatar thomazach avatar

Stargazers

 avatar  avatar

Watchers

 avatar

pocs-moxa-build's Issues

Power Cut Off Detection

PANOPTES units are equipped with an uninterruptable power supply (UPS), and are able to detect if the UPS battery is receiving power from a wall outlet. If the unit is not receiving power from a wall outlet, the mount should move to the park position and not observe until AC power from the wall outlet is restored. This keeps the unit safe in the event of a blackout or sudden loss of power. To check this condition, the power_board.ino sketch needs to be updated with a command whose response is the state of the wall power's condition (either available or unavailable). The core module needs to execute that arduino command, retrieve its response (either directly with Popen or indirectly through system_info.pickle), and then stop any running observations and wait for power to return before attempting to observe again. The message to the mount module should be sent through the current_target.pickle using the target.cmd attribute. The camera module should also use this command to stop taking images.

Store Non-Image Observation Data

Each target observed by Moxa-POCS has its images placed in a time stamped directory within the images directory. In addition to raw image files (.cr2), the system should put other target information there as well. Specifically, it should put the Ra/Dec coordinates of the target, any user notes as specified by the schedule file (see /conf_files/targets/test_fields.yaml as an example), and in the future it should include weather sensor data about cloud cover. This should be done from the camera module since it already manages the directories where this new information will be stored.

Mount Settings and Meridian Flip Behavior

The mount uses its own firmware to slew to a target and handle meridian flips. When the mount module is run, it would be best to make the mount's longitude and latitude settings match the settings.yaml file and enable meridian flips. Using the longitude and latitude in settings.yaml, the hemisphere should be determined and the mount settings should be adjusted accordingly. This improvement should be implemented into the mount module's connect_to_mount function. This can be done using the iOptron RS-232 Command Language V2.5.

Serial mount commands of interest from the above pdf:
“:SgsSSSSSS#” - sets the current longitude
“:StsSSSSSS#” - sets the current latitude
“:SHE0#” or “:SHE1#” - sets the hemisphere
“:SMTnnn#” - sets the treatment of meridian flip

Create schedule files from databases

Schedule files contain data of multiple targets and their position, desired camera settings and priority. They can be tiring to make using the panoptes-CLI, since each target has to be entered manually. Creating a system that uses an online database to create a schedule file with correct position values for numerous targets would be very helpful. It should be integrated with the panoptes-CLI and documented in the README.md file.

Tracking Corrections

The current system doesn't have any feedback for how well its tracking the stars. To fix this the system needs to:

  1. use the most recent image to determine the right ascension and declination of the image at its center
  2. compare those coordinates with the desired coordinates
  3. execute a tracking correction with the mount.

Possible solutions:

  1. Use a third-party API to plate solve images, yielding Ra/Dec coordinates of the image. Possible API: https://nova.astrometry.net/api_help
  2. The API's coordinates (the "real" Ra/Dec) can be compared with the mount's coordinates using the getCurrentSkyCoord function in core.py.
  3. Executing a tracking correction can be done in the iOptron RS-232 Serial Command Language using the “:MnXXXXX#”, “:MeXXXXX#”, “:MsXXXXX#” or “:MwXXXXX#” commands which move the mount by the guiding rate for XXXXX seconds. The guiding rate can be set using “:RGnnnn#” serial command.

General Notes:
This feature should be added inside of the mount module. Tracking corrections should happen after the first image is taken, and every few minutes or pictures afterwards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.