×

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

Bi-monthly release with minor bug fixes and improvements

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

  • Posts: 40
  • Thank you received: 3
What is your motor micro-stepping set at? The plugin is hardcoded to 32 steps which is what the waveshare comes pre-configured with.
I would set your controller to a single step, and build the plugin again with the step size set to 1 as well, and try that.
1 year 6 months ago #86226

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

  • Posts: 10
  • Thank you received: 0
I checked the wiring multiple times and actually also switched the dir and stp wire, but had the same result. Is it possible that only single gpios don't work for a reason e.g. the step gpio pin?
I have not a great knowledge about steppers so this question might seem a little dumb but is the frequency directly controlled by the delay time or is there an additional parameter that can be tuned? Because it just seems to me that the motor brings up the torque needed (I tried turning it by hand when it was running/but not moving and it held position quite sturdy), but maybe it misses to hold up the frequency of the controller.
Sadly I don't have an oscilloscope, only a multimeter..
Setting it up with the raspberry pi would take quite a while, I would have to set up the whole OS new, but I'll give it a try if I don't get this to work sooner..
1 year 6 months ago #86227

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

  • Posts: 10
  • Thank you received: 0
I also thought about that and I actually tried it without success.. I tried the hardcoded 32 with the extension board set to 1 1 1 and also all other different configurations, and I changed the value in the script to 1 and set the extension board to 0 0 0 (also here I tried all other different configurations).
Last edit: 1 year 6 months ago by Simon.
1 year 6 months ago #86228

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

  • Posts: 421
  • Thank you received: 102
The frequency is directly controlled by the delay time. Nothing else.

You can use your multimeter to see if the step line is getting pulsed. You'll probably have to set it to AC mode.

If you think the step pin isn't getting properly pulsed, we can certainly try a different GPIO pin, in case something in the OS is interfering.

Before we try that, let's make sure the kernel module I was talking about isn't interfering with you. On my Rock Pi setup, I needed to blacklist snd_soc_rockchip_i2s

From the command line, try "sudo rmmod snd_soc_rockchip_i2s" and try the focuser, see if that makes any difference. Of course if you get an error that the module wasn't loaded in the first place, then that's definitely not the problem.
1 year 6 months ago #86229

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

  • Posts: 10
  • Thank you received: 0
Okay, I tried the command and it gave me an error that it is in use.. "sudo lsmod | grep snd_soc_rockchip_i2s" shows that it's used by snd_soc_rockchip_pcm and snd_soc_core. Is it safe to force remove it with "sudo rmmod -f snd_soc_rockchip_i2s"?

I used the multimeter to measure directly at the accessible soldering points of the DRV8825. I measured between the GND and STP pin in AC mode and while the motor should have been moving I got 0V in AC mode, interestingly in DC mode I measured ~0.120V while the motor was enabled/beeping and 0.02V while it was off. So GPIO_A5 (#35) where the STP pin is connected to, is sending a DC signal instead of pulses..
1 year 6 months ago #86231

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

  • Posts: 421
  • Thank you received: 102
In /etc/modprobe.d/blacklist.conf (create the file if it doesn't exist) add:
blacklist snd_soc_rockchip_i2s

and reboot. See if that helps.
Last edit: 1 year 6 months ago by Kevin Ross.
1 year 6 months ago #86232

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

  • Posts: 10
  • Thank you received: 0
I just tried something and I didn't think it would work but I used another GPIO for the step pin.. In wmh_focuser.cpp I changed it to:
#define M1_STEP_CHIP "gpiochip4"
#define M1_STEP_PIN 18
instead of 5.
So I'm using pin number 11 which has function1=PWM0 (see GPIO image on wiki.radxa.com/Rockpi4/hardware/gpio ).
It works like a charm I'm so happy :D
Thank's a lot for your help!
1 year 6 months ago #86233

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

  • Posts: 421
  • Thank you received: 102
1 year 6 months ago #86234

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

  • Posts: 1
  • Thank you received: 0
1 year 4 months ago #88442

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

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

Following up on this, as I'm in the process of re-arranging my stuff: How far from the motor can you place the R-Pi wit the HAT? I would prefer to have my R-Pi below the whole mount, as I find that when it sits on top of the OTA, that seems to result in weaker wifi signal (OTA is metallic). Placing the R-Pi below the mount means I need a powered USB-hub, but that is good anyway, but how can I handle the cables for the stepper motor...? All ideas welcome!

Magnus
1 year 2 months ago #89494

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

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

And a problem: I have installed the Waveshare Hat on my R-Pi 4, running SM 1.7.4. Followed the instruction on Github, to download and build the driver, and I can now find the Wavehat Motor HAT Focuser in Ekos, and connect to it. Everything looks good, so far. However, I can not find a setting for adjusting microstepping in Indi window - should there not be one?
The problem: the stepper motor does not move at all. WHen starting the indiserver via Ekos, there is a faint click in the motor. Some other very faint ticks, but nothing else. It becomes warm after a while so seemingly getting power.

I saw there were issues with gpio permissions before. Not sure though what I should check to understand that - as I understood it from far earlier in this thread, it was fixed.
So what can I do? What to check and change? (I am not a coder nor an electrical engineer, but farily good with a multimeter and a soldering iron).

Magnus
1 year 2 months ago #89497

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

  • Posts: 1309
  • Thank you received: 226
I've used a 6 foot DB9 cable to reach the motor and it seems fine.
In the driver you can not change the microstep mode, but you can adjust the delay.
Also you described the motor making a noise and warming up. That is the enabled mode. It's not desirable. There are two revisions of the board. Rev 1 enable pin pulled low, Rev 2 enable pin pulled high (if I recall correctly). If you bought it recently you probably have rev 2 and need to set that in the indi driver.
The following user(s) said Thank You: Magnus Larsson
Last edit: 1 year 2 months ago by Andrew.
1 year 2 months ago #89499

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

Time to create page: 1.025 seconds