Australia
Asked
Resolved Resolved by DJ Sures!

Using Stepper Motors With ARC

Hi .. I am new to ARC platform.  I have successfully created a project and exercised servos.  I know I can add DC motors via the Sabertooth controller .. my issue is that I would like to use Stepper motors (using a single Ez-b channel per stepper) .. I use the Pololu Tic T500 'smart' stepper controller which provides interface options:

  • TTL serial
  • I2C
  • RC hobby servo .. so my thought is that I could 'add' this T500 + servo into my Ez-b project as either a:
  • vertical servo   or
  • continuous servo .. and the Ez-b will treat the T500 + stepper as if it were a servo which is exactly what my hobby RC radio does.

Please advise if I am taking the correct approach here? Or should I be using this robot skill https://synthiam.com/Support/Skills/Servo/Stepper-Servo?id=21134


Related Hardware EZ-B v4
Related Control PWM Slider

ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

Australia
#9  

Please advise difference between ARC and ARC?  I am only familiar with the ARC utility, do you have a link to ARC pls?

Australia
#10  

Actually .. pls disregard my last question .. I just found ARC and understand it to be the evolution of ARC

PRO
Synthiam
#12  
  1. Details of ARC are posted here: https://synthiam.com/Products/Releases/ARC-Beta-2020-01-27-00-19052 Download is from the same page as ARC.

  2. microcontrollers generally have 1 uart, if at all. Multiple aren’t usually needed unless you’re talking to many different things. In your case, the documentation of the Tic allows multiple to be assessed. That makes it possible to use one uart to control many Tic’s.

you will have to modify my code example to use the 32bit block commands? Something like that... again, they’re documentation is super wordy and isn’t direct like a normal data sheet would be. I don’t think I’ll have time to read their novel haha but I’ll try to help as you go along. See if they have a forum that you can ask.

ideally, an ARC skill plugin for the tic would be easiest because you wouldn’t need any code at all.

  1. up to 128 ezb’s can be controlled by one ARC project. Right away, you can see the connection control has 5 ezb connections. To add more, use the Project -> add control. It’s in the general tab.
PRO
USA
#13   — Edited

Quote:

But this document was written by Stephen King or someone who loves to write
I was watching "The Outsider" https://www.imdb.com/title/tt8550800/ based on SK book:)

I agree the documentation is verbose and the controller is a smart allows multiple configurations.

Quote:

I don't know if this helps but:
@EZang: Does not help your setup does not use stepper motors, and the cheap/affordable controllers can't be used with EZB to drive step motors, although you can use Arduino code, we are discussing different setups.

@All: Maybe I missed something, if the goal is to drive the step motors like DC motors (with velocity control) it's not easier to configure the controller for PWM and use the Continuous servo control ?

If the goal is to emulate an absolute position servo, then you have 2 setup options:

  1. add a Potentiometer, the controller maps the potentiometer feedback to the configured PWM interval.
  2. add a Limit switch (Home position) and then the controller handles the home position and manages the steps.
PRO
Synthiam
#14  

ptp, you don't require a potentiometer with a stepper motor - that's why it's not mandatory for this application. If the physical design doesn't account for a potentiometer to be installed, then a stepper motor can still operate as a servo. This is because it moves via steps. So you instruct how many steps to move in either direction. Keeping track of those steps and related them to a servo position works.

For example.. Servo 1 degree = 0 steps Servo 180 degrees = 100,000 steps

So if you move to a specific position, you'll need to keep track of where you were and how many steps to get back.

PRO
USA
#15   — Edited

@DJ, the main question is how you want to control the stepper motor ?

  1. velocity control you can emulate Continuous servo

  2. positional servo

Pololu offers 2 different methods:

2.1) add a potentiometer can be a multiples turns connected with gears and you have absolute position and then you emulate a servo configuring the PWM interval

OR

2.2) add home switch, and the controller handles everything for you:

Quote:

If you are using the RC position, Analog position, or Encoder position control modes, you might want to enable automatic homing so that you do not have to send the Go home command to the Tic. If you check the Enable automatic homing checkbox in the Advanced settings tab, the Tic will perform the homing procedure whenever it is being commanded to go to a specific position but it is uncertain about is current position (e.g. immediately after motor power is applied). The Automatic homing direction setting lets you choose whether the automatic homing will drive the motor in the reverse or forward direction.
Continuous/Velocity servo or a Positional servo (with additional hardware) you can emulate a RC servo and connect to an EZB digital port without any extra code (JavaScript or EZ-Script) so the question still stands the OP has one smart controller and can emulate a PWM servo makes sense more advanced scenarios (e.g. UART or scripting) ?

PRO
Canada
#16   — Edited

The application of the stepper motor may help determine the best way to drive it.

Is it being used for driving wheels on a mobile robot platform or on a rail system where limit switches can be used?

Is high torque a requirement? Steppers usually have low torque unless a high voltage (24V) is applied. High voltage is difficult to use on mobile robots.