Award
Congratulations Dave Schulpius, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here.

Hb-25 Motor Controller

Assistance Requested

Help Darathian with their question and receive $10 of EZ-Credit to get more robots and parts from our store. The following information was provided about their previous efforts searching tutorials for a resolution.

Darathian claims to have checked these sources:
 
#1

Have anyone used the HB-25 motor controllers from Parralax with the EZ-B.

I am trying to find out compatibility or any issues anyone have run into.

It seems to behave like a servo based on their description.

Thanks

I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.


Also, consider reviewing the Learn section for informative lessons and activities. Check it out!


#2

Looks interesting. I wonder if you can set position with this controller. It says it accepts servo compatible pulses but only says it can set speed and direction much like a Continuous Rotation Servo . I think you would have to add a pot and connect it to a ADC port to get position feed back to be able to stop the DC motor at any point like a servo.

#3

@Dave Schulpius

As far as I can see the controller itself does not provide any position feedback unless I am missing something.

The motors they usually pair with uses encoders for the following feedback.

Dual signal out of phase outputs indicate direction
Pulse widths indicate speed
Number of pulses indicate distance traveled

#4

Perhaps I need to give a better idea of what I am trying to do.

I have been searching for a robot platform and motor controller that can grow as I progress in my robotics.

The important things are:

How much weight the platform can carry.
EZ-B compatibility
Features and the amount of current the motor controller can support.

I have looked at the Zagros Robotics platform especially the Rex which can support 35 lb
I am also looking at the Arlo platform including the Parralax motor Mount and Wheel kit - aluminum for the wheels and motors. The specs said up to about 60 lb. (I do somewhat take this with a grain of salt)

I think I have mostly convinced myself to use the Arlo platform.

I was trying to decide between the HB-25's or sabertooth and Kangaroo X2 for motor control.

Since it seems that either way I will end up using encoders I am leaning towards the sabertooth with kangaroo X2.

I know some on here have used the Sabertooth and Kangaroo X2.

How do you guys like the combination?

#5

I haven't used or know the HB-25. It does look like a nice controller and am sure EZB will run it. As mentioned above it looks like you'll have to add a pot attached to EZB's ADC port for feedback. Unless I missed it the HB-25 doesn't have anyway way to monitor feedback devices. Also EZB doesn't support encoders so you'll be locked into using a pot if you need position control for moving robot joints like neck, shoulder, waist (there are some nice multi turn pots or sensor pads out there for this).

I've been working with and learning the Sabertooth & Kangaroo x2 combo for the past month or so. You can use this combo without having limit switches and it will learn where the stopping points are but you will need either a pot or encoder to get it to work. I have mixed feelings about using this in my robot but feel I'm locked into using it as I don't want to rewire again. My problem isn't the boards themselves or the way they work. They really perform nicely and are very versatile and strong. My issue is I wasn't prepared for the learning curve "I" needed to follow. The documentation is skimpy and geared towards people who understand this type of animation control and are experienced in writing code and scripts. Right out of the box this combo is easy to set up a DC motor to respond to RC or Servo pulses very accurately and quickly. After that if you want more precise control over your motors things get progressively more difficult to understand and get working. You will need to send either the easier Simplified Serial Commands or if you want the boards to do more complex things you will have to write scripts and send them through a two way Serial port. Right now the V3 EZB only had a one way Serial connection ability through the digital port. That's where I'm hitting a wall. I have the waist of my B9 robot rotating nicely at different speeds and stopping at precise points using the Simplified Serial Commands but cant get the speed ramping to work for a more natural movement properly because I don't understand or can write C++ or C# code and don't have a two way serial connection. With the help of a couple forum members here I was able to get a nice ramp up and down but have to use clunky timing with delay commands to get a ramp down effect. To make a very long story a little shorter, I'm still learning but am sure with the proper script and a two way serial connection I'll be happy with this setup. I understand the V4 EZB will have two way serial and a kind member or our forum has offered his script writing skills. I'm also trying to learn the language a little. If you choose to use this combo I'll be glad to share what I've learned and help in any way I can. An older forum member, Lumpy, first got this combo to work with the EZB using the Simplified Serial Commands. I've sense found that EZ Builder's Servo controls and script commands work nicely also. Again though there is no ramping sending raw commands that I can find. Also, I also found you cant send servo commands and serial commands over EZB's digital ports or everything locks up. I don't know if it's EZB or the Sabertooth & Kangaroo x2 combo that's at fault. Here's a couple links to my threads on this subject:

www.ez-robot.com/Community/Forum/posts.aspx?threadId=5304

www.ez-robot.com/Community/Forum/posts.aspx?threadId=5374

With all that said, before I switches over to the Sabertooth & Kangaroo x2 combo I had a simple Pololu motor controller rated at the proper amps my motors pulled running my DC waist motor and a pot for feedback attached to EZB's ADC port. This simple setup worked great and I was able to get a good ramp with graduating PWM commands and a simple EZ script in EZ Builder. I'm sure you can do the same thing with either the HB-25 or a Sabertooth without the Kangaroo X2.

Also be aware that the Sabertooth is a regenerative board so if your not operating in batteries you'll have to have a battery attached for a place for the Sabertooth to dump this extra power or you'll trip your power supply. Also you'll have to wire your rig so the off switch is between the Sabertooth and battery or it will stay powered up and drain the battery.

Hope this all helps. Let me know how you go on this,
Dave

#6

First thanks for your input.

To sum it up:

The motors comes with encoders.
I know just enough of C# to get by if it's needed.
I will use some type of battery so the regenerative nature should not be an issue unless I am missing something.

Based on your feedback and what I have read in the documentation I will go with the Sabertooth & Kangaroo X2.

#7

Until I get the Sabertooth / Kangaroo X2 figured out and working as I like I cant really recommend them unless you want to work through this with me and a couple others here on this forum. I could use some help with the C# programing of this unit if your willing to share your work.

One good thing is that the Kangaroo is somewhat inexpensive. At 25 usd your not really out much if it doesn't work the way you want.

This evening I also found that in velocity mode the Kangaroo wont accept servo commands from EZB. Don't know if it's my set up or the way EZB sends out the servo pulse. *confused*

Please keep me posted on how you proceed and how well you do with incorporating this combo into the EZB setup. If you want to contact me privately my email address is dschulpius at wi dot rr dot com. That go for any other forum member also. It's always good to hear from friends. Smile

#8

I understand you cannot recommend the Kangaroo X2 but at the price I don't lose much since I was having my eye on the Sabertooth anyway since from what I have read it works fine with the EZB.

While I like the Motion Mind 3 mentioned in the other post as well it's at the very edge of the stall current (Motor vendor website says the motors can pull 8+ amps) of the motors I plan to use so I would have to use two of them and it would still cut it close.

Granted I don't plan on stalling the motors or pushing them to crazy limits but still.

The sabertooth gives me a bit of headroom.

I also want to make sure the motor controller can grow with my robotics path instead of buying different ones all the time.

The other option that I was looking at is the RoboteQ SDC2130 but I have not seen it mentioned on the EZ-robot site and it always helps if someone else has used something before in case you need a question answered.

If I do end up taking the plunge and buying the Sabertooth & Kangaroo X2 and make some headway I will share.

#9

Looking at the documentation for the Kangaroo X2 it is supposed to be a self tuning PID controller.

At least from my current understanding of reading the manual you still have to tell the X2 what speed you want it to have the motors move at or how that speed should change. It does not seem to have any built in ramping command you can send it that automatically does it for you. (Could be wrong)

If I read Toymaker's comment correctly I have to agree that part of the issue stems from the fact that due to the one-way serial the EZ-script has no way to query the speed or position from the X2.

Prior to this I believe you were using a pot to an analogue port on the EZB which meant EZ-script knew the actual values as they changed.

So unless I am missing the boat completely even using C# or one of the other supported languages won't help unless there is some form of two-way communication to the X2 so you can retrieve the current speed values and then act on them by telling the X2 what it should do next.

Prior: EZB ----> pot
With X2: EZB --> X2---> pot or encoders (X2 receives all the feedback data)

Someone else can chime in and correct me since I am no expert in this.