×

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: 1
  • Thank you received: 1
Kevin,
     Just wanted to say thank you very much for your efforts with this.   
It worked for me.   

Thanks
Andy 
The following user(s) said Thank You: Kevin Ross
2 years 8 months ago #74443

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

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

I wanted to activate an older Raspi SD card and to add your wmh driver. First I updated the package list and then upgraded with apt-get dist-upgrade. The subsequent installation failed with-- The C compiler identification is GNU 8.3.0-- The CXX compiler identification is GNU 8.3.0-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Detecting C compile features-- Detecting C compile features - done-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Detecting CXX compile features-- Detecting CXX compile features - done-- Found INDI: /usr/lib/arm-linux-gnueabihf/libindidriver.so;/usr/lib/arm-linux-gnueabihf/libindiAlignmentDriver.so (found version "1.9.1")-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")-- Checking for one of the modules 'libgpiod'CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:741 (message):  None of the required 'libgpiod' foundCall Stack (most recent call first):  CMakeLists.txt:39 (pkg_search_module)  -- Checking for one of the modules 'libgpiodcxx'CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:741 (message):  None of the required 'libgpiodcxx' foundCall Stack (most recent call first):  CMakeLists.txt:40 (pkg_search_module)  -- Configuring incomplete, errors occurred!See also "/indi-wmh-focuser/build/CMakeFiles/CMakeOutput.log".

Is this due to the recently released bullseye version of Debian? Do you have a suggestion what I can do to get it compiled? (I could send you the complete log file). I tried to copy over the Indi_wmh_focuser from another card, but obviously this is not enough. What else would I need to copy?

Thanks
Kurt
2 years 7 months ago #75067

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

  • Posts: 421
  • Thank you received: 102
Looks like I forgot to update the build instructions. There's a new dependency. Try:
sudo apt install libgpiod-dev
and try building again.

I'll update the build instructions.
2 years 7 months ago #75074

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

  • Posts: 67
  • Thank you received: 1
Thanks, Kevin, with this additional install the compilation completes successful.
2 years 7 months ago #75077

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

  • Posts: 67
  • Thank you received: 1
Kevin, I installed the driver on a fresh StellarMate OS. I can select the driver in web manager and in the profile editor, but the device does not show up in the control panel once the indiserver is started. When I start the driver with indiserver Indi_wmh_focuser I get the following errors:2021-09-21T10:53:52: startup: indiserver indi_wmh_focuser2021-09-21T10:53:52: Driver indi_wmh_focuser: terminate called after throwing an instance of 'std::system_error'2021-09-21T10:53:52: Driver indi_wmh_focuser:   what():  cannot open GPIO device gpiochip0: Permission denied2021-09-21T10:53:52: Driver indi_wmh_focuser: stderr EOF2021-09-21T10:53:52: Driver indi_wmh_focuser: restart #1Child process 1628 died This is repeated about 10 times. Is this a driver or a stellarmate issue? Please advise. ThanksKurt 
2 years 6 months ago #75749

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

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

Jasem Mutlaq suggested to submit your waveshare hat driver for inclusion in the official INDI repo. Do you think this is possible?

Thanks
Kurt
2 years 6 months ago #75844

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

  • Posts: 421
  • Thank you received: 102
Sorry Kurt, I didn't see your problem report until just now.

The driver won't start because of a permissions issue. The driver needs access to the GPIO device, which usually requires root access. The easy fix is to run indiserver as root. On at least some systems, you can add your user to the "gpio" group, which will negate the need to run as root. That seems to work on Raspbian, but not Ubuntu or Armbian.

I will try to get the driver added to 3rdParty one of these days... :)
2 years 6 months ago #75858

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

  • Posts: 67
  • Thank you received: 1
Thanks Kevin.

I'll check that tomorrow, the sun has already set today here and I want to go outside and use the clear night to take some images. Do you see a way to integrate the driver into the official INDI repo as Jasem suggested? I think it's a nice addition.

Kurt
2 years 6 months ago #75863

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

  • Posts: 1309
  • Thank you received: 226
If you'd project gets included in with the 3rd party drivers, a couple small things should be done first.
Given the DIY nature of this controller, having control panel access to selecting the microstep factors and a higher max step value will be necessary.
On my side I edited the code for micro 8 and increased max steps to work with my motor design.
This is easy enough to do when I compile it for myself. But will be difficult when included as a 3rd party driver.
The following user(s) said Thank You: Kevin Ross, Barry Dyer
2 years 6 months ago #75867

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

  • Posts: 1
  • Thank you received: 1
Is there an upper limit on gear ratios?

I have a stepper motor purchased for another project that never came to be. I'm thinking of using this one which has a 1.8 degree per step motor but a 100:1 gearbox resulting in a 0.018 degree per step (give or take) but lots of torque. I've only recently started using Astroberry but am keen to create some additional fine focus control as I've not been happy with some of the results I've had with a set and forget approach to focusing.

My scope (Skywatcher Classic 200p) has no fine focus knob, only a coarse knob so I wanted to have more steps to better control the movement and I plan to couple the motor directly to the coarse focus shaft with a coupler and will dust off the 3d printer to cobble together a housing for the motor...

Anyone else with experience of high gear ratios and any limitations or caveats to be aware of?

Thanks in advance,
Baz
The following user(s) said Thank You: Jasem Mutlaq
2 years 6 months ago #76054

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

  • Posts: 421
  • Thank you received: 102
Barry,

That motor should be fine. In the default 32x microstepping configuration, it might move a little slow. If that turns out to be the case, you can change the DIP switches on the Waveshare HAT to a lower microstepping factor, to speed things up. You will need to modify the #define MICROSTEPPING at the top of the source code file to match the DIP switches, and rebuild the driver. But it will work as is, maybe just a little slow.

-- Kevin
The following user(s) said Thank You: Barry Dyer
2 years 6 months ago #76237

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

  • Posts: 20
  • Thank you received: 4
Hi Kevin
Firstly a huge thank you for the work you've done on this driver.  It's been a lot of fun playing with getting this working on my Raspberry Pi 4 and StellarmateOS.  I have a question on microstepping and I suspect I am missing something elementary.  I have a 1.8 degree (200 steps/rev) Nema14 motor that I am trying to pair with my SVX102T refractor.  My scope has a CFZ of 111 microns and I am trying to achieve the recommended 10 steps per CFZ.  I believe that using 1/8 steps should achieve this goal, but I am a loss as to how to make the driver do this.  I tested with the Waveshare Python code (which needed to be corrected for the active high enable pin) and was able to make the stepper motor do a 1/8 rev with 200 steps:
    Motor1.SetMicroStep('hardward','1/8step')
    Motor1.TurnStep(Dir='forward', steps=200, stepdelay = 0.0001)
    time.sleep(0.5)
    Motor1.TurnStep(Dir='backward', steps=200, stepdelay = 0.0001)
    Motor1.Stop()
Questions:
  1. To make this work for the focuser, I changed the MICROSTEPPING define in wmh_focuser.cpp to 8 and set the dip switches to 110 on the board.  However, this still yields a full turn for 200 steps when I test using the Indi Control panel for the focuser. I'm sure I'm misunderstanding the intent of the MICROSTEPPING define, but for the life of my I can't figure it out. 
  2. I then figured I could put the motor onto the fine focus knob, but wouldn't that make focusing really slow?


 
2 years 4 months ago #78508

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

Time to create page: 0.972 seconds