×
INDI Library v1.8.1 Released (09 Sep 2019)

Monthly maintenance release INDI v1.8.1

Dome slaving 101

10 months 3 weeks ago
miker
Fresh Boarder
Fresh Boarder
Posts: 1
More
Topic Author
Dome slaving 101 #31103
Hi all,

We're resurrecting 2 ASH domes which are more than 45 years old, and would like to automate the scope + dome using kstars/ekos/indi.
All motors will be original (after refurbishing), so the idea is to start/stop the dome using an arduino + relay board, and getting position information using an encoder on a motor axis.

Now for the indi question:
- is it possible to use one of the predefined indi dome implementations? I'm guessing encoder positions and start/stop dome movement isn't so uncommon.
- where is slaving support implemented, is this in kstars/ekos or in the indi driver, so in case I need to write a custom indi driver does this slaving logic need to be reimplemented?
- what's the most common way for indi to interface with the arduino, usb/serial/... ?
- any leads to similar projects?

More information on the space science center:
www.astropolis.be
The following user(s) said Thank You knro

Please Log in or Create an account to join the conversation.

10 months 3 weeks ago
knro
Administrator
Administrator
Posts: 7185
Karma: 51
Dome slaving 101 #31106
Hello Mike and welcome to the INDI community!

You've got a very interesting project here, and we'll be more than happy to see you get it up and running. Regarding your questions:
1. You can look at the existing sources for Dome Simulator. But as you said, it's fairly straight forward. It also depends whether your encoders are absolute or relative so that you might need to run some procedure to find "home" or identify it.
2. It's implemented at the INDI level. No need to implement any slaving logic, it's taken care of.
3. Not an expert on this matter, but I believe many existing ones use USB.
4. Hopefully the community can share some. I have my own implementation but it's for a rolloff roof so it shares very little with an actual dome.

Jasem Mutlaq
Support INDI & Ekos; Get StellarMate Astrophotography Gadget.
How to Submit Logs when you have problems?
Add your observatory info
The following user(s) said Thank You miker

Please Log in or Create an account to join the conversation.

10 months 3 weeks ago
jpaana
Gold Boarder
Gold Boarder
Posts: 204
Karma: 5
More
Dome slaving 101 #31115
I have implemented dome driver for Scopedome controller which was fairly straight forward for basic functionality. I used the Baader dome driver as base, though I'm not sure if any of that code has survived. This controller also has relative encoder and a home sensor that resets the step count in the controller. The controller takes commands to rotate in step counts, but needs to be compensated for inertia as it just stops the motor when particular step count has passed in the encoder and the dome continues a bit further depending on the distance. This controller has FTDI USB-serial chip (and I suspect is actually using an Arduino inside as well), so it is visible as serial port (/dev/ttyUSBx).

All slaving functionality is done in the base INDI::Dome class and this driver only receives commands to move to absolute azimuth (calls to MoveAbs() function). Also shutter controls come mostly from the base class, just one function needs to be implemented for the actual opening and closing of the shutter. This controller has temperature, humidity and pressure sensors, controllable relays and so on so the code is much more verbose than just a dome driver should be, but the basic code is also there :)

If you want to browse the code, it can be found from github.com/jpaana/indi/tree/scopedome/libindi/drivers/dome . Most of the code is in scopedome_dome.cpp, scopedome_usb21.cpp is the hardware version I have and handles the actual communication protocol which is binary packet based and scopedome_sim.cpp is supposed to be a simulated version but doesn't really do anything so far.

Remote observatory running Ubuntu 19.04 x64 with ScopeDome 2M, Skywatcher EQ8 and HEQ5, TS 8" RC, Atik 383L+, ASI178MC, ASI120MM-S, SX Lodestar X2, SX USB wheel with OAG, ZWO EAF, USB_Focus V3, Gemini SnapCap, USB_DewPoint, KomaHub
The following user(s) said Thank You knro, miker, Danuvium

Please Log in or Create an account to join the conversation.

9 months 1 week ago
Danuvium
Fresh Boarder
Fresh Boarder
Posts: 2
More
Dome slaving 101 #32548
Hello jpaana,

I am new to INDI and this community so please excuse my little knowledge.

I am very interested in your Driver to control a ScopeDome Controller since we currently are on the way to install it.

What's the state of your driver? Does it work so far?
And would you allow me to test it on our setup?
The following user(s) said Thank You knro

Please Log in or Create an account to join the conversation.

9 months 1 week ago
jpaana
Gold Boarder
Gold Boarder
Posts: 204
Karma: 5
More
Dome slaving 101 #32555
Hi,

yes I've been using it for over a year now so it works quite well. There are still some features that I'd like to add like initial setup, simulation support, older controller revision support, automatic closing configuration and so on, but all regular features work fine. Also for some reason the controller likes to reset itself every now and then (I keep the controller on 24/7 to collect weather data, this happens every few days usually) which requires reconnecting and there are fairly frequent timeouts from the controller from reading values which is retried, so don't be alarmed :) The code supports only the latest controller revision 2.1 which I have, but if yours is new, it's definitely this revision and it's the most common anyway.

The latest code is available from github.com/jpaana/indi/tree/scopedome/libindi/drivers/dome , I just rebased it on top of current INDI master so you can compile it from there.

I haven't implemented dome calibration functions yet so you should first run setup wizard in the offical Windows drivers to calibrate number of steps for one revolution, which is saved in the controller and also create inertia table with it and then copy that to ~/.indi/ScopeDome_DomeInertia_Table.txt where this driver finds it.

In any case if/when you have questions about it, feel free to either write here or message me directly.

Remote observatory running Ubuntu 19.04 x64 with ScopeDome 2M, Skywatcher EQ8 and HEQ5, TS 8" RC, Atik 383L+, ASI178MC, ASI120MM-S, SX Lodestar X2, SX USB wheel with OAG, ZWO EAF, USB_Focus V3, Gemini SnapCap, USB_DewPoint, KomaHub
The following user(s) said Thank You knro, Danuvium

Please Log in or Create an account to join the conversation.

9 months 1 week ago
Danuvium
Fresh Boarder
Fresh Boarder
Posts: 2
More
Dome slaving 101 #32560
Hi,

that sounds perfect! Great to know that there is a way to communicate with it from Linux.
Thank You very much!

Since the Dome Controller is not yet available for me to test, it will surely take a few weeks until I can come back to you.
But I will contact you when everything is set up and i ran the first tests.

Thank you so much for your offer!

Please Log in or Create an account to join the conversation.

Time to create page: 0.696 seconds