×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

DIY motorised roll-off observatory roof - what INDI driver?

  • Posts: 34
  • Thank you received: 0
Hello Tom
I do have the file in the location that you referenced on the RPi. I can see the driver from the drop down Dome options in the profile creator on the RPi.
I do not know if such a folder/directory structure is created when KStars is installed on the macOS. I looked for something similar but could not find it. Someone else may know where that may be if it is on a macOS.
Thanks to you I learnt something new and used the "Remote" method and it works.
I set the Remote driver name as "@hostIPaddress:7624".
As indicated in the previous post. I can see the RollOff ino driver when I run Web Manager on my macOS. I select the drivers I want there and run that. 
I do not select any driver in the Ekos profile, except have the Remote one with that name and all of the devices show up and is connected on Indi Control Panel and Ekos.
Thanks to you and all the others that contribute..

 
2 years 4 months ago #77760

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

  • Posts: 40
  • Thank you received: 0
Hello everyone, i need help to motorised my roof but i dont know how to start.

I read this link made by Jasem: indilib.org/domes.html

i am using a mini-PC with linux mint and kstars/ekos version 3.6.9 and i see under domes driver -> rolloff ino
or in aux1 -> the arduino roof.
i dont know how connect the motor from my roof to the minipc and control open and close with ekos.
I think its use under Arduino Roll Off Driver, but i dont know what components to buy.
There are some video tutorial to do this? Somebody can help me?

Thanks!!!
2 weeks 2 days ago #99696

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

  • Posts: 82
  • Thank you received: 25
A very capable DIY solution is the Observatory Control System (OCS) from the author of OnStep. See onstep.groups.io/g/onstep-ocs/wiki.
There is an INDI driver available (that I wrote) but it's still in a beta state. I believe it's complete but there hasn't been a lot of real works testing yet.
2 weeks 2 days ago #99698

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

  • Posts: 40
  • Thank you received: 0
Ok i finally decided use this option:

Arduino Roll Off Driver: It is a INDI rolloff roof driver and includes two examples of Arduino programs communicating over USB. The driver is packaged as a third party driver but haa not been included with the standard distribution. The Arduino code needs to be modified to match the motor control selected, the INDI driver should work once installed.

so for this i need to know what components to buy and how to configure, so for this i have some questions:

1 - What arduino board its recomended (arduino nano, one R3, due, mega2560...?
2 - I do not understand this: "The Arduino code needs to be modified to match the motor control selected," its mean the arduino board need to load some file? i saw In git repository: github.com/wotalota/indi-rolloffino there are some files:
- rolloff.ino.ar1450
- rolloff.ino.bouton
- rolloff.ino.standard
- rolloff.ino.motor
- rolloff.ino.wifi

if i understood, i have to Upload a sketch in arduino board with content one of this files.... i am on right?
Last edit: 2 weeks 2 days ago by Javier Albella.
2 weeks 2 days ago #99699

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

  • Posts: 311
  • Thank you received: 42
Javier,

You do not need to build the driver it can be selected in the Ekos profile editor.
In case you have not seen it: github.com/indilib/indi-3rdparty/blob/ma...no/doc/rolloffino.md

You mention already having a motor. Perhaps you have a roof already working using a garage door or gate opener controller? If so then it is usually just a case of connecting into the existing controller via relay or relays. The rolloffino driver relies on an Arduino to provde that kind of control.
Parts needed when working with an existing garage or gate controller, chosen to work with an existing Arduino code example: An Arduino Uno, and a relay shield for it. Switches that get activated when the roof reaches opened or closed. Let us know what you have & we can get specific. You will need to install the V2 Arduino IDE to download the sketch.

/Tom
2 weeks 2 days ago #99700

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

  • Posts: 40
  • Thank you received: 0
Hi tom, first of all thanks for your quick answer.

At the moment i do not have a motor installed but i will install a typical garage door motor via relay.
The motor have encoders to control the open and close such as a sliding gate or garage opener controller that provides its own control for stopping the motor when it reaches limits.
so i think only need to send signal to relay to start motor and this start to open or close the roof.

Please if you can help me to know:
- Arduino one R3 its fine to do this? es.aliexpress.com/item/1005006102413123.html
I think this board its no arduino original, this could be a problem?
or better this one: store.arduino.cc/products/arduino-uno-rev3
- This relay shield its ok? es.aliexpress.com/item/1005006440967785.html This relay shield is original?
or better this one: store.arduino.cc/products/arduino-4-relays-shield
- What rolloff.ino file its recomended to Upload a sketch on arduino board, could be rolloff.ino.standard?
- What pines on arduino i need to conect to motor board?
Another question, i have beeen reading that a weather station to control de roof its posible install with arduino too.
if in a future i want to install a weather station and controlle roof with arduino, its posible with arduino uno R3 or better this one: store.arduino.cc/products/arduino-mega-2560-rev3

Thanks again,
Regards.
Last edit: 2 weeks 2 days ago by Javier Albella.
2 weeks 2 days ago #99702

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

  • Posts: 311
  • Thank you received: 42
For the small difference in price I really like the official arduino.cc products. There is a new variation of the Uno, I would use the latest version of the original standard Uno design. Same with the relay shield, arduino.cc rather than 3rd party or individual relays. Makes for a single unit to deal with and pins should match up with the ones pre-defined in the rolloff.ino.standard example. More than needed but quality and reliable. I would recommend getting the 12V supply to power the Uno not try to rely on the USB input. I'll look at the links you provided and check the rolloffi.ino.standard code tomorrow evening. Will check pin assignments and the input pins to use by default.

If you are going to build an Arduino based weather station, think in terms of a different/additional Arduino. Which model can be selected when you select the approach or product. INDI will coordinate with roof. Likely a Mega will be more than needed.
The following user(s) said Thank You: Javier Albella
2 weeks 1 day ago #99703

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

  • Posts: 311
  • Thank you received: 42
Javier,
The arduino.cc Uno Rev 3 is the one I was thinking of.
The arduino.cc Relay shield you linked will provide the easiest installation. It uses fixed assigned pins on the Arduino Uno. Those pin numbers are used by default in the rolloff.ino.standard.
For a one button controller use relay 1, for two button use relay 1 for open and relay 2 to close. The normally open relay connector is used along with the common.

On the input side the default pins will be A0 to indicate fully opened and A1 for fully closed. You can see these definitions at the start of rolloff.ino.standard. The uno's builtin pullup resistors are used so switch opened will be pulled up to the positive value. When the switches are closed your connection will be from the pin via the switch to one of the ground pins.
Given these hardware selections you will not need to make any changes to the ino code. Rename the sketch to rolloff.ino and place it in a sub directory named rolloff. Then use the Arduino IDE to load the sketch onto the board. Then you get the USB connection from the driver working.
Could bench test when you get the controller or get the controller working safely and reliably on the roof and then introduce the uno connection.
2 weeks 1 day ago #99717

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

  • Posts: 40
  • Thank you received: 0
Hi tom, tomorrow i will buy the arduino one R3 board, the 4 relay shield its out of stock on my local shop and i have to wait 15 days.

So in the mean time i will buy this relay module to practice: shop.dominioabsoluto.com/epages/2804864....64/Products/10000510

This relays module have 4 input conections (GND,IN1,IN2,VCC) and 3(output)x2(relays) connections (Normally Open, Comun, Normally Closed) (NO,C,NC)

But now i have some questions about connections from this relays module:

Reading the rolloff.ino.standard file:
// Define name to pin assignments
#define SWITCH_1 A0
#define SWITCH_2 A1
#define SWITCH_3 A2
#define SWITCH_4 A3

#define RELAY_1 4
#define RELAY_2 7
#define RELAY_3 8
#define RELAY_4 12

I understand inputs relays module connections this is:
- Pin4 from arduino board go to IN1 relay module
- Pin7 from arduino board go to IN2 relay module
- Pin8 from arduino board will not connect because this relay module have only 2 relays
- Pin12 from arduino board will not connect because this relay module have only 2 relays
- GND from arduino board go to GND from relay module
- V5 pin from arduino board go to VCC from relay module

If i am right...My question now its... A0,A1,A2,A3 pins from arduino board, where should be connect in relays module?

Thanks,
regards
Last edit: 2 weeks 23 hours ago by Javier Albella.
2 weeks 23 hours ago #99718

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

  • Posts: 311
  • Thank you received: 42
> If i am right...My question now its... A0,A1,A2,A3 pins from arduino board, where should be connect in relays >module?

Yes that seems correct. The A0 - A3 pins are not for the relays (output), they are predefined to be input pins.
If you are just playing, any old on/off switch can be used to test the input pins. Connection outlined in previous reply.
Send a open request from the driver, that should result in the N1 relay activating. wait a bit then close the switch connected to A0. You will see the INDI driver change to the opened state.
The following user(s) said Thank You: Javier Albella
2 weeks 10 hours ago #99724

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

  • Posts: 40
  • Thank you received: 0
Hi tom, yes... i think i have all understood.

- A0 to a opened detector switch installed on roof, the connection will be... from GND switch detector to GND pin on arduino board and from arduino board A0 pin to NO or NC switch detector.
- A1 to a closed detector switch installed on roof, the connection will be... from GND switch detector to GND pin on arduino board and from arduino board A1 pin to NO or NC switch detector.

I have been doing some test at home and its work.

By the way, i change my own code in arduino because ii want 1 relay to open/close and another relay to stop motor
// Indirection to define a functional name in terms of a relay
// Use 0 if function not supportd
#define FUNC_OPEN RELAY_1
#define FUNC_CLOSE RELAY_1 // For a single button controller might map this also to RELAY_1
#define FUNC_STOP RELAY_2 // For a single button controller might map this also to RELAY_1
#define FUNC_LOCK 0 // If automated roof lock is available.
#define FUNC_AUX 0 // Relay to perform some unspecified function

And too, setup the relays to start as HIGH mode:

void setRelay(int id, int hold, char* value)
{
if (strcmp(value, "ON") == 0)
{
digitalWrite(id, HIGH); // NO RELAY would normally already be in this condition (open)
delay(RELAY_PRIOR_DELAY);
digitalWrite(id, LOW); // Activate the NO relay (close it)
if (hold == 0)
{
delay(RELAY_ON_DELAY);
digitalWrite(id, HIGH); // Turn NO relay off
}
}
else
{
digitalWrite(id, HIGH); // Turn NO relay off
}
delay(RELAY_POST_DELAY);
}

void setup()
{
// Initialize the input switches
pinMode(SWITCH_1, INPUT_PULLUP);
pinMode(SWITCH_2, INPUT_PULLUP);
pinMode(SWITCH_3, INPUT_PULLUP);
pinMode(SWITCH_4, INPUT_PULLUP);

// Initialize the relays
//Pin Setups
pinMode(RELAY_1, OUTPUT);
pinMode(RELAY_2, OUTPUT);
pinMode(RELAY_3, OUTPUT);
pinMode(RELAY_4, OUTPUT);

//Turn Off the relays.
digitalWrite(RELAY_1, HIGH);
digitalWrite(RELAY_2, HIGH);
digitalWrite(RELAY_3, HIGH);
digitalWrite(RELAY_4, HIGH);


// Establish USB port.
Serial.begin(BAUD_RATE); // Baud rate to match that in the driver
}
I am now starting to understand the arduino code from rolloff ino...

Thanks again, i will contact again if i need some question more.
Regards.
Last edit: 2 weeks 6 hours ago by Javier Albella.
2 weeks 6 hours ago #99731

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

Time to create page: 1.179 seconds