Page 1 of 1

DIY Dome controller

Posted: Fri Apr 30, 2021 7:46 pm
by rpineau
I just wanted to post this in case someone want to use it (or part of it ) :

https://rti-zone.org/astro_dome_control.php
 
Some function are still a work in progress (like the support for dropout shutter).
Rodolphe

Re: DIY Dome controller

Posted: Tue May 25, 2021 5:41 am
by Graeme1858
Hello @rpineau

That's a great article Rodolphe.

Regards

Graeme

Re: DIY Dome controller

Posted: Fri Dec 17, 2021 3:56 am
by JeffBevan
Hi, I have built my own dome and powered it with a NEMA 23 Stepper and a 15:1 reduction drive. I currently am able to move the dome in both a slew speed and a sideral speed running off a remtoe thru an Arduino 2560. I wrote the code for this which was quite a learning experience and alot of trial and error. From what I gather from this and your site i should be able to slave my dome to my mount. i am a very unskilled coder so thisw may well be above my pay grade but nonetheless this is what is on my horizon. Any thoughts?

Re: DIY Dome controller

Posted: Fri Dec 17, 2021 12:55 pm
by yobbo89
hello. and thank you very much for the info !, i have the machining/mechanical know how but not so much on electronics and programming , i'm sure this will be a good project for many, as we all need to protect our scopes from the environment :)

Re: DIY Dome controller

Posted: Fri Dec 17, 2021 2:35 pm
by KathyNS
@JeffBevan,

The math to compute the dome azimuth from the mount's HA and Dec position requires some 3D vector math. The calculation is not difficult with vectors, but it does require some good visualization skills and a couple of sheets of pencil sketches.

Most session control software (SGP, NINA, etc) will do the calculation for you. What you need to do to make it work is write an ASCOM driver for your hardware. The ASCOM driver's job is to accept an azimuth from the session control program and get the shutter opening to that azimuth. Plus some housekeeping chores of course.

Re: DIY Dome controller

Posted: Sat Dec 18, 2021 7:37 pm
by rpineau
As Kathy and other have said, it's better to let the session control application do the math for you than trying to get the dome controller to do it. In all case you would need to be able to send the Ra/Dec for the mount to the dome controller and implement all the matrix convolution in your Arduino code (not sure you'll have enough memory in the Mega 2560). So you'd be better of only dealing with what azimuth to go to.
Usually dome controller only deal with going to an azimuth as instructed (they only need to know how many steps are required for a full rotation and the home position to be able to position the slit at the requested azimuth, this math is a lot simpler :) ), and doing shutter control and safety monitoring to close all things in case of weather events (rain, very high win speed, ....).
In my controller I used an Arduino DUE because I wanted to put the AccelStepper library in a proper timer interrupt (the older code base from when it wa used by NexDome, to which I contributed quite a bit, was too slow on the Arduino Leonardo). The DUE has the computing speed to allow this (ARM Cortex M3 at 84MHz, lots of RAM and flash). This way I can do proper acceleration/deceleration in the interrupt without much impact on the main loop dealing with communication, command parsing, ...
Once I had this working, I added more and more feature (automatic calibration, automatic reconnection to shutter controller via the XBee, Ethernet support, ....).
The whole project is open source and I use it myself in my dome... feel free to re-use, modify, tweak, remove, .. anything from it.

Rodolphe