Question
Asked April 21 2014

Community Question

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
April 22 2014
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
April 22 2014
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.
April 22 2014
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. :)
April 22 2014
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.
April 22 2014
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.