Topics

Back to building, getting close

Dennis Hurlbut
 

Been nearly 2 years since I've worked on this due to a serious illness followed by  a lot of work including an extended work trip out of the country. Last, I had a MiniPCB2 built, running with TMC2100s and 0.9A 400 step NEMA17s. I didn't have motor mounts or a case, and had ordered a few parts, but not assembled them. While out of country, I ordered Dave Schwartz's last SHC kit, and got a 3d printer for Christmas. 

Now I have cases, motor mounts, some Watterott 2130s and some of the Big Tree Tech v3.0 2130s. I also built a basic hand controller since I had those PCBs before I got the SHC. All of this is going on my SkyView Pro, although I have a second project for another post.

Grabbed the latest code, and compared to where I was. (1.19.d12)  3.16 looks so much nicer. I'm liking the unified config.h, but now have questions.
  1.  With the 2130s, I saw current is settable in config. If I understand right, I set vref to 2.5 v, and then can specify hold, run, and goto current (although goto and run can be the same, right?). Any rule of thumb on starting values? I was thinking IHOLD at 300 ma and IRUN/GOTO at 6-700. Is that reasonable?
  2. 2130s have better microstepping. on the 2100s I set it at 16, what is typical for Onstep for 2130s? 32? 64? A higher value will help, as my STEPS_PER_DEGREE is 6400 with 16 microsteps, 2.5:1 drive ratio, and 144:1 worm.
  3. With 2130 Before/After microstepping mode should I set AXIS1_DRIVER_MICROSTEPS and AXIS1_DRIVER_MICROSTEPS_GOTO to the same  to not have any dropped steps, or is the potential for a missed microstep not a huge deal?
  4. For the SHC, should I set ST4_INTERFACE ON or ON_PULLUP? If I plug in the basic controller, would this change?
  5. Any other tips on the new version to look at?
Dennis

Khalid Baheyeldin
 

On Tue, Mar 24, 2020 at 11:39 PM, Dennis Hurlbut wrote:
  • With the 2130s, I saw current is settable in config. If I understand right, I set vref to 2.5 v, and then can specify hold, run, and goto current (although goto and run can be the same, right?). Any rule of thumb on starting values? I was thinking IHOLD at 300 ma and IRUN/GOTO at 6-700. Is that reasonable?
The TMC2130 has potentiometers that you can use to set the desired current. Use these, and _Isomething paramters to off.
You can revisit them later after you get everything working.

  • 2130s have better microstepping. on the 2100s I set it at 16, what is typical for Onstep for 2130s? 32? 64? A higher value will help, as my STEPS_PER_DEGREE is 6400 with 16 microsteps, 2.5:1 drive ratio, and 144:1 worm.
You need this to be 32 so that you are the desired steps per degree of 12,800.

  • With 2130 Before/After microstepping mode should I set AXIS1_DRIVER_MICROSTEPS and AXIS1_DRIVER_MICROSTEPS_GOTO to the same  to not have any dropped steps, or is the potential for a missed microstep not a huge deal?
For starters, just use AXIS1_DRIVER_MICROSTEPS, and leave the _GOTO OFF.
Once you get everything else working and tested on the motors, you can revisit this.

  • For the SHC, should I set ST4_INTERFACE ON or ON_PULLUP? If I plug in the basic controller, would this change?
If this is an STM32 kit, it must be ON_PULLUP.

Dennis Hurlbut
 

Khalid, 

Thanks, all the motor stuff makes sense. Basically work it out first then move to the finer control.

The SHC is the ESP32, not STM32. Does that use ON_PULLUP also?

Dennis

Howard Dutton
 

On Tue, Mar 24, 2020 at 08:39 PM, Dennis Hurlbut wrote:
 With the 2130s, I saw current is settable in config. If I understand right, I set vref to 2.5 v, and then can specify hold, run, and goto current (although goto and run can be the same, right?). Any rule of thumb on starting values? I was thinking IHOLD at 300 ma and IRUN/GOTO at 6-700. Is that reasonable?
The Wiki is required reading, part of that reading is the following:
https://onstep.groups.io/g/main/wiki/4-Stepper-Driver-Adjustment

Dennis Hurlbut
 

Howard,

Thanks, I had read the wiki 2 years ago and had adjusted my drivers then. Lots of changes since then, including recommended current and setting for peak, not RMS for TMC drivers. I've been reading a lot of the wiki over the last few days to get back up to speed and missed going back to that page. Sorry to have bugged you all on that one.

It's still not clear to me on the ST4 PULLUP value for the ESP32 kit. From the SHC wiki, it says:

In OnStep's Config.xxx.h file you need to make sure the ST4 port is enabled #define ST4_ON or #define ST4_PULLUP, and that the hand control support is enabled too with #define ST4_HAND_CONTROL_ON

Not sure if that means either would work for the SHC. From Khalid, PULLUP is a must for an STM32 SHC, but not clear from the above statement if it's a must or optional for the Teensy and ESP32 controllers discussed on that wiki.

Dennis

Howard Dutton
 
Edited

On Wed, Mar 25, 2020 at 07:23 AM, Dennis Hurlbut wrote:

Thanks, I had read the wiki 2 years ago and had adjusted my drivers then. Lots of changes since then, including recommended current and setting for peak, not RMS for TMC drivers. I've been reading a lot of the wiki over the last few days to get back up to speed and missed going back to that page. Sorry to have bugged you all on that one.

Not bugging me.  Just answer lots of questions so short and sweet.  Didn't want you to burn the TMC2130s by accident so making sure you read the warnings.


It's still not clear to me on the ST4 PULLUP value for the ESP32 kit. From the SHC wiki, it says:

In OnStep's Config.xxx.h file you need to make sure the ST4 port is enabled #define ST4_ON or #define ST4_PULLUP, and that the hand control support is enabled too with #define ST4_HAND_CONTROL_ON

Outdated info. for version 2.22 in the Wiki.  I've updated that section to point to the Config.h Wiki instructions for the ST4 interface (latest release 3.16.)

Not sure if that means either would work for the SHC. From Khalid, PULLUP is a must for an STM32 SHC, but not clear from the above statement if it's a must or optional for the Teensy and ESP32 controllers discussed on that wiki.

Even I don't know if ON_PULLUP is required for the STM32.  I assume they have an external resistor array on those ST4 lines (a really good idea) so not required.  Regardless, using ON_PULLUP instead of ON works in all cases so is a safer bet.

Dennis Hurlbut
 
Edited

Not bugging me.  Just answer lots of questions so short and sweet.  Didn't want you to burn the TMC2130s by accident so making sure you read the warnings.

Appreciate that. I've been treating this as "I did this already, just need to plug things in," where in reality it's "the project has really changed, re-read everything again." And much appreciate the documentation, it is excellent.

Regardless, using ON_PULLUP instead of ON works in all cases so is a safer bet.

After posting I started refreshing my brain on pull-up resistors, and after what I have read, would it be correct to say more broadly that if you're building one of the standard boards with included pull-up resistors for ST4, that ON_PULLUP will be a safe choice for all ST4 devices? Again, only if they are included in a particular build. It seems that the pull-up (or pull-down depending on the circuit) resistance is a safety item that generally would do no harm, but I'm definitely an amateur and would want to make sure before coming to that conclusion.

Khalid Baheyeldin
 

If your controller is STM32, and you want to use an SHC (regardless of what MCU it has), you will need the following in the controller's Config.h:

#define ST4 ON_PULLUP

That is the only way I could get an SHC to work with an STM32 controller, and it has been tried and tested by at least tens of users.

Of course you need the resistor array soldered in the STM32's PCB.