How to increase the max slewing speed from 1.0 dps to 2.0 dps?


T.L.
 

Hi Howard and Kahlid,

This is Tong from Hubble Optics; we are trying to use OnStep for our UL scopes. First, I want to thank Howard for the wonderful OnStep Controllers which work really well, and to Kahlid for a lot of very helpful postings here. 

 

We have made a few MaxESP (V3) controllers using TMC5160 with 4.24q release; Our newly designed GoTo drive system are largely based on Howard Banich’s wonderful 28” Dob, a friend’s (Bruce) mod on our UL20, and Tom’s 22.4 OnStep showcase scope; Tom also shared his insight and experience with me and recommended me to post my question here.

 

Case 1:

With the total reduction ratio of 720, and AXIS1/2_DRIVER_MICROSTEPS to be 32,  and the AXIS1/2_DRIVER_MICROSTEPS_GOTO to be 8. The scope works very well at max slewing speed at 1dps (SLEW_RATE_BASE_DESIRED); but not any faster.  I  have attached the Config-32.h (Config.h) for this case

 
Case 2:

It seems that if we reduce the total reduction ratio by half to 360; and use 64 micro steps (AXIS1/2_DRIVER_MICROSTEPS); all other to be same as the case 1; we should be able to have the same tracking accuracy (in theory) but double the max slewing speed (SLEW_RATE_BASE_DESIRED) to 2.00 dps when the motor physically running at the same speed as the Case 1.  However, strangely. in this case the motors still visibly try to run at about twice of speed, and stalk most of the time.  I  have attached the Config-64.h (Config.h) for this case.

I will appreciate if you and others can help me to solve this issue.

Thank you and best regards
Tong

 


Howard Dutton
 

On Thu, Sep 22, 2022 at 02:43 AM, T.L. wrote:

Case 1:

With the total reduction ratio of 720, and AXIS1/2_DRIVER_MICROSTEPS to be 32,  and the AXIS1/2_DRIVER_MICROSTEPS_GOTO to be 8. The scope works very well at max slewing speed at 1dps (SLEW_RATE_BASE_DESIRED); but not any faster.

Max slewing speed with those settings on your hardware should be ~12 deg/s.

  I  have attached the Config-32.h (Config.h) for this case

 
Case 2:

It seems that if we reduce the total reduction ratio by half to 360; and use 64 micro steps (AXIS1/2_DRIVER_MICROSTEPS); all other to be same as the case 1; we should be able to have the same tracking accuracy (in theory)

Not the same tracking accuracy, generally 720:1 will be better.  The improvement of 64x vs. 32x is questionable at best, perhaps just a tiny gain.

but double the max slewing speed (SLEW_RATE_BASE_DESIRED) to 2.00 dps when the motor physically running at the same speed as the Case 1.
However, strangely. in this case the motors still visibly try to run at about twice of speed, and stalk most of the time.  I  have attached the Config-64.h (Config.h) for this case.

Perhaps you enabled runtime axis settings and the changes are being ignored?

// Settings for driver Microsteps, IRUN, Reverse, Limit Min, and Limit Max are stored in NV (EEPROM.) These runtime settings
// can be changed (or reverted to the defaults below) from the SmartWebServer's Config webpage.  If runtime axis settings are 
// enabled changes to these settings below may be ignored as runtime settings from NV (EEPROM) are used instead.


Howard Dutton
 

On Thu, Sep 22, 2022 at 03:03 AM, Howard Dutton wrote:
Max slewing speed with those settings on your hardware should be ~12 deg/s.
You limited that with a base rate of 2 deg/s, so the range settable at runtime, should be 1 to 4 deg/s.


T.L.
 

Hi Howard, Thank you so much for your quick reply.  I am sorry, but where do I enable or disable "runtime axis settings"?  -Tong


Howard Dutton
 

On Sun, Sep 25, 2022 at 06:25 PM, T.L. wrote:
Hi Howard, Thank you so much for your quick reply.  I am sorry, but where do I enable or disable "runtime axis settings"?  -Tong

These runtime settings
// can be changed (or reverted to the defaults below) from the SmartWebServer's Config webpage.


Howard Dutton
 

You can also wipe all settings with...
:hF#:ENVRESET#

Which sets everything to defaults and so will recognize Config.h changes in those sections.


tongliu2k
 

Hi Howard, 
Thank you so much!  This is indeed the reason. Now it is working well.  After looking at your code; I have split  the SLEW_RATE_BASE_DESIRED into AXIS1_SLEW_RATE_BASE_DESIRED  and AXIS2_SLEW_RATE_BASE_DESIRED; so I can have different maxRate for Axis1 and Axis2, (now maxRateAxis1 and maxRateAxis2).  There are few other files which I have changed (Config.h, Constants.h, Initialize.ino, Command.ino, Guide.ino, and MoveTo.ino.  It seems working now (no field test yet); but it is really a quick hack; I will send all the changed files to you; so you can take a look to see if it makes sense or not; maybe you can even add this feature to the future release. I am sure it is quite useful to some of us; Now I can increase the max slewing speed to 2.0 dps on the Az Axis by using Geared motor with lower reduction ratio with 64 micro steps. Normally, the AZ axis of a ALT-AZ scope does need much lower torque to run. I will keep the ALT axis at higher reduction ratio (at 32 micro steps) so it still have enough Torque needed.   
Thank you so much again, Tong