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

ARC Pro is your gateway to a community of like-minded robot enthusiasts and professionals, all united by a passion for advanced robot programming.

PRO
Synthiam
#17   — Edited

Good point, ptp. Guess it comes down to what his application is. I seem to be enjoying exploring the idea of controlling the stepper as a servo by knowing/counting its steps - merely because I find it intriguing.

That might not be his best usage case for the application. guess we’ll have to see what he comes back with:)

i should add that the servo would be easy and the best solution

Australia
#18  

Wow .. thanks guys for your enthusiastic input.  I have more than one option to explore now.  I want to use steppers as a substitute where HDD Servos simply are not holding the load.  I am building a B9 robot full scale from Lost in Space original series .. many B9 builders have used EZ-build as their core controller.  So I have an arm about the same dimensions as a human arm and while servos perform well at the extreme end of the arm (claw and wrist) where weight is minimal .. as I move toward the shoulder I have two articulation points .. call them elbow and shoulder.  The elbow joint must support the forearm weight and the shoulder must support the entire arm weight.  I treat these 2 joints (elbow and shoulder as absolute position servos .. in exactly the way your humanoid robot does).  Now .. in addition to this I have a carriage which extends/retracts the entire arm assy on a rack & pinion .. I want to drive the pinion with a stepper emulating a continuous servo. What I have taken from your suggestions:

  1. I can upgrade to ARC and write Java scripts to communicate with multiple Tic controllers from a single EZ-b UART via simple serial protocol .. ANDing the collective TXD lines from the Tics.  I guess we must assume from this that the Tic controllers do not 'solicit' a packet to the host .. they only answer when they are polled .. so no risk of packet collision.
  2. I can force the stepper 'wrapped' by Tic controller to  emulate a servo either absolute position or continuous and communicate with Tic from one of EZ-b 24 x digital channels via its RC servo interface .. the stipulation here is that I introduce a home micro switch to the Tics input so that the Tic can manage homing .. removing that responsibility from the EZ-b and therefore eliminating the need for feedback from the stepper.

I don't actually know if the steppers I am using will handle the torque required in practice .. I have assumed they will but I hear you saying that steppers do not have high torque which concerns me .. my fellow B9 builders have used DC gear motors (typically a windscreen wiper motor) for these functions via a Sabertooth .. I may have to take this path.

Regardless of the path I end up taking, the real win here is that I have learnt a great deal from you guys in a short time.  This bolsters my confidence using EZ-robot and ARC .. I will in turn pass this confidence on to my fellow builders.

Thanks DJ and associates for your time.

PRO
Synthiam
#19  

I think that #2 is what ptp is suggesting, and i am keen to agree with him now.

One of the things we used for the 6 foot JD are 3d printed shoulder brackets from the Inmoov robot. They work really really well and are very strong. Do you have a 3d printer?

Australia
#20   — Edited

I do have a 3D printer .. please advise type of motor you use on your 6 foot JD and/or Inmoov .. as this will have similar demands to my build.  I would be very interested in looking at the STL files for these shoulder brackets pls.  I was hoping the server emulation approach would suit .. so you have sured up that idea.  However .. nice to know I can Java script solutions also .. using ARC.

PRO
Synthiam
#21  
  1. Either way, you'll have to use ARC eventually because it is replacing ARC:)

  2. The motor is merely a large servo. But the bracket STL files matter most. They're from the InMoov shoulder. I'll have Jeremie post the STL files for you here when he sees this. He's "working from home today"

  3. The servo emulation with Tic and a stepper motor will work real good i think - if the motor can get enough torque

PRO
Canada
#22  

Hello @mbrooks,

A rack & pinion system with linear slides may be ok for a stepper motor as it doesn't have to exert too much torque. The motor isn't carrying much of the weight in that type of system, it's mostly on the rails.

As you can see here, even steppers that are huge and are labeled "High Torque" don't have nearly the amount of torque as a 40kg/cm servo or DC gear motor. Geared Steppers do exist but they are rare.

Here's where I got the STL files from initially. I modified them to work with a different type of servo. I will have to ask EZ-Robot if they are ok with me publishing the files.

PRO
Synthiam
#23  

Jer - do you have a picture or video of the assembly we're talking about so he can get an idea of what to expect?

PRO
Canada
#24   — Edited

Yes, there is a detailed build tutorial with many pictures on the inMoov website.