×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

INDI focuser driver for Waveshare Stepper Motor HAT for Raspberry Pi / Rock Pi

  • Posts: 643
  • Thank you received: 62
Hi!

Great, thanks!

My setup: this is for a C8 with a Moonlite focuser, on which I have attached a stepper motor directly to the focusing shaft (not the microfocuser). My current stepper motor seems to have given up (it's almost 10 years old) so I'm thinking on replacing it. And I've been using a DIY MyFocuserPro box to control it. If I get rid of the control-box, the setup is simpler. And I can now choose which stepper motor to use. Currently, I have 2 steppers lying around: one NEMA 17 wiith no gearbox and one with a 5:1 planetary gearbox. I guess the one with the gearbox is what I need now.

I can freely choose the connectors, and if I use a 1,5 - 2 m cable, I can place my Raspberry below the mount, where I prefer to have it. On my other focusers, I have DB9 connectors, which makes it easy to switch. I like the RJ11 connectors, light and easy, but somehow trust the DB9 more even though bulkier.

Your box looks nice, Kevin - 3D-printed? If so, would you consider sharing the files?

Magnus

Magnus
1 year 3 months ago #89523

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

  • Posts: 144
  • Thank you received: 7
Good morning.
I updated to Kstars 3.6.2 but just tested the focuser didn't work. I recompiled but got this error. It worked fine before

osservatorio@raspberrypi:~/indi-wmh-focuser/build $ make
Scanning dependencies of target indi_wmh_focuser
[ 33%] Building CXX object CMakeFiles/indi_wmh_focuser.dir/wmh_focuser.cpp.o
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp: In member function ‘virtual bool IndiWMHFocuser::initProperties()’:
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:151:23: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _ISwitch]’ is protected within this context
151 | registerProperty(&BoardRevisionSP);
| ^~~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp: In member function ‘virtual bool IndiWMHFocuser::updateProperties()’:
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:180:25: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _ISwitch]’ is protected within this context
180 | defineProperty(&FocusParkingSP);
| ^~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:181:25: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _ISwitch]’ is protected within this context
181 | defineProperty(&FocusResetSP);
| ^~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:182:25: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _INumber]’ is protected within this context
182 | defineProperty(&MotorSpeedNP);
| ^~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:183:25: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _INumber]’ is protected within this context
183 | defineProperty(&FocusBacklashNP);
| ^~~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp: In member function ‘virtual bool IndiWMHFocuser::saveConfigItems(FILE*)’:
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:281:29: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _INumber]’ is protected within this context
281 | IUSaveConfigNumber(fp, &MotorSpeedNP);
| ^~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:282:29: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _INumber]’ is protected within this context
282 | IUSaveConfigNumber(fp, &FocusBacklashNP);
| ^~~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:283:29: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _ISwitch]’ is protected within this context
283 | IUSaveConfigSwitch(fp, &FocusParkingSP);
| ^~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
/home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:284:29: error: ‘INDI::PropertyView<T>* INDI::PropertyBasic<T>::operator&() [with T = _ISwitch]’ is protected within this context
284 | IUSaveConfigSwitch(fp, &BoardRevisionSP);
| ^~~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:30,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indifocuser.h:21,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.h:24,
from /home/osservatorio/indi-wmh-focuser/wmh_focuser.cpp:32:
/usr/include/libindi/indipropertybasic.h:101:27: note: declared protected here
101 | PropertyView<T> * operator &();
| ^~~~~~~~
make[2]: *** [CMakeFiles/indi_wmh_focuser.dir/build.make:82: CMakeFiles/indi_wmh_focuser.dir/wmh_focuser.cpp.o] Errore 1
make[1]: *** [CMakeFiles/Makefile2:95: CMakeFiles/indi_wmh_focuser.dir/all] Errore 2
make: *** [Makefile:149: all] Errore 2
1 year 3 months ago #89652

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

  • Posts: 421
  • Thank you received: 102
Okay, I just made a commit that should fix that.
1 year 3 months ago #89667

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

  • Posts: 144
  • Thank you received: 7
1 year 3 months ago #89672

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

  • Posts: 144
  • Thank you received: 7
Hello Kevin is possible to compile software focuser for indigo driver?

www.indigo-astronomy.org/hardware.html
I wait your response.
Thank.
Ettore
1 year 2 months ago #89846

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

  • Posts: 421
  • Thank you received: 102
I have no idea, I never tried. But Indigo is compatible with INDI drivers (or so I'm told). But I'm traveling this week, so I won't be able to do any work on it until I'm back home.
1 year 2 months ago #89854

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

  • Posts: 144
  • Thank you received: 7
It's not exactly compatible, but I'm waiting for it to come back.
Ettore
1 year 2 months ago #89857

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

  • Posts: 2
  • Thank you received: 0
Hi Kevin, I'm new to RPi4/Linux/Debian, and would appreciate some help installing this driver - it keeps coming up with error message
stellarmate@stellarmate:~ $ cd indi-wmh-focuser
stellarmate@stellarmate:~/indi-wmh-focuser $ cd build
stellarmate@stellarmate:~/indi-wmh-focuser/build $ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:7 (PROJECT):
No CMAKE_CXX_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "/home/stellarmate/indi-wmh-focuser/build/CMakeFiles/CMakeOutput.log".
See also "/home/stellarmate/indi-wmh-focuser/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
stellarmate@stellarmate:~/indi-wmh-focuser/build $

Any help appreciated
Thanks, Tom
11 months 2 weeks ago #92621

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

  • Posts: 2
  • Thank you received: 0
11 months 1 week ago #92704

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

  • Posts: 67
  • Thank you received: 1
Hi Kevin,

So far I have been using the waveshare motor head driver on a TS refractor and have adapted the NEMA 14 stepper motor to the 10:1 fine drive. This brings me with about 1240 steps in the area of a good focus before I start the autofocus.
I would now like to use a mirror telescope and can probably only connect the motor to the coarse drive, since the 1:10 fine drive has a very thin shaft (2.4mm) for which I have not found a suitable coupling. Is this combination suitable to achieve a good autofocus? In case not, is there eventually another possibility (different motor)?

Thanks
Kurt
8 months 3 weeks ago #94208

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

  • Posts: 421
  • Thank you received: 102
Hi Kurt,

I've only ever attached my stepper motor to the fine focus shaft, never the course focus, so I don't have any direct experience. But I know some people use stepper motors with built-in reduction gearing, and attach to the course focus shaft. The gearing will add some backlash, but at least some of the autofocus algorithms (linear, for example) compensate for backlash by always approaching focus from one direction. So I would recommend using linear algorithm with a geared stepper.

-- Kevin
8 months 3 weeks ago #94217

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

  • Posts: 1309
  • Thank you received: 226
I drive the coarse focus knob witg a comically small stepper motor with a 50:1 gear box and and 3D printed worm gear for more reduction. Works very well.
I found driving my (cheap) fine focus knob was less reliable.
8 months 3 weeks ago #94219

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

Time to create page: 1.136 seconds