
castlephelps
USA
Asked
— Edited

The robot that I am building is going to have DC motors for XY and Z movement as well as elbow bending, wrist turning, etc. I will probably wind up with eight DC motors when I'm done.
Now that I've learned how to drive a DC motor with an H-bridge which works for two motors how do I drive the remaining six motors ? One of the motors will require the use of a SyRen 50 controller.
My plan is to use 10 turn potentiometers on the motors for position feedback.
I2C can be daisychained anyway so using the port isn't a big loss, you leave them with 254 more I2C devices to use (I believe, memory is a little hazy but 255 I2C slaves on one master is what I believe is correct).
Sabertooth on digital ports is not ideal in all situations but it's a simple method of adding motor control to two motors from a single digital port.
If you have Arduino/PIC experience you're better off taking the motor control away from the EZ-B and using one digital port, I2C address or URT port to communicate with the motor controller. I use a similar method for servos in some instances, with the EZ-B telling the control board for the servos (Arduino usually) what needs to be done, the Arduino then monitors the servos and monitors the environment while telling the servos what to do.
@Rich, its good to see you post first of all.
You and I are doing very similar things. Also, the I2C daisy chain and just demonstrating the ability to add sensors to my robot very easily are the main reasons that I did things the way that I did.
Anyway, great to see you on. I hope you are doing well.
I read on one place on DE's web site that the Kangaroo X2 can be daisy chained. I looked over all the documentation and couldn't find any info on how to do this or what the commands would look like to move the motors. I stopped short of contacting DE's tech support to ask if it's really possible and how to do it.
I ended up using a second EZB (and a third do to logistics issues in the robot) to take advantage of the extra Uart, digital and analog ports. I had used them all up anyway on the first EZB and needed more. Seemed like the simplest solution for me as I didn't want to mess around with an Arduino or learning scripting for it. I also didn't want to use a servo expander board. I figured If I needed more hardware why not just get another EZB. I'm actually running 3 EZB's and am seeing no slowdown or collusion. ARC and the 3 EZB's seem to he working just fine together. Granted I do have 4 Sabertooth/Kangaroo combo sets in my robot that do all the heavy lifting as far as motor control so maybe that's why everything is running so smoothly.
I think it is just what someone is comfortable with personally. I think that there are multiple ways to skin a cat and all, and each has its advantages and disadvantages. For me, the Arduino route is better simply because I change out the cost of 4 Sabertooth devices and another EZ-B for the cost of a couple Arduino Mini's and some time. Time can be valuable for sure.
I like to have the control of knowing what is happening and why, and the ability to go in and fix it if needed personally, but I also understand that isn't for everyone. It's what I like about EZ-Robot. You can get as simple or as complex in many areas as you want to get. The best solution to a problem just all depends on what you are comfortable with.
This is also the reason that you see people drop off of the forum IMHO. Once you start down a path that you like that doesn't fall into ARC directly, you find that the topics don't fit you anymore. This is why I had though a while back that it might be better to have multiple areas of the forum that matched more of the type of builds that you were working on. I see the benefit in not doing that also.
Anyway, there are multiple options to do this based on what you want to learn. Robotics is about learning for sure, and which area you want to learn next often times determines the path that you want to take.
OK, I'm now at a computer where I can type a response to your question - Without knowing your skill set, it is hard to provide options to you? Formal education - I have an undergraduate in physics/math/chemistry. Doctoral work in the management of engineering and technology. Work experience ranges from navy helicopter pilot, to industrial signal conditioning application engineer, university professor in the college of information systems and technology, software engineering project management, software developing project management, network and communication engineering, wireless networking ISP. Personal experience includes welding - all metals/all processes, machining - lathe and vertical mill, hydraulics, electrical, electronics, woodworking, solar design and installation, wind turbine installation, fully automated research grade astronomical observatory and the list goes on - I typically get tagged as a renaissance man - I don't know - I just make things happen. When I need something I study what it will take to make it happen, obtain the raw materials, finish them to what I need and make it happen. Programming experience - nothing in robotics. I have built database driven websites and have been using computers since I built my first one in 1978. I took FORTRAN in college but found that typically I could find programs easier than writing them. Object oriented programming is not all that difficult and the languages change as fast as you change underwear. So, it is a matter of learning the appropriate language and then adapting to achieve my goal.
So where does that take us? I have been developing an idea for a robot helper for 25 years and have finally reached the point where I think the technology is there to finally pull it all together when I stumbled on the EZ-Robot SDK.
What I want is a ceiling mounted robotic arm that can travel around my 40 by 40 foot barn on a gantry at ceiling height (because I don't want to have to deal with stuff on the floor) and be able to bring me tools and pick up and put tools away for me. I want it to be voice controlled and I want it to know where the tools are kept so it can either get them or put them away and also be able to search the floor for tools, pick them up and put them away at the end of the day.
At present I am fabricating all the parts of the gantry and rotating arm and playing with the EZ-B learning how to control motors. Gear motors are attractive as they will move to a position and lock in place. Obviously, I will need to have feedback from the motors because getting and taking tools is all about position. As I have stated earlier, I figure I am going to need probably 8 motors with feed back to be able to operate the gantry in N,E,S,W directions, rotate the arm, depress the arm, extend the arm, rotate the elbow, depress the elbow, rotate the wrist and operate the gripper with force feedback. You have probably already seen the initial test of the arm extension video with a motor driven rack and pinion.
So, to do this I need controlled power. For the arm depression I am using hydraulics, most everything else is geared DC motors. I have installed a linear SoftPot on the hyd ram for feedback and it works good. The hyd pump draws 28 amps when loaded hence the SyRen50.
So now, I need to figure out how to implement the control of all of this. Fabrication of the gantry and arm are easy. So, the EZ-B incorporates voice control, camera, obstacle avoidance and both digital and analog control. Now I have to learn what else I need to enable this dream. The sabertooth and kangaroo combination looks like a perfect fit. What I need to learn is how to electrically connect them to the EZ-B and what objects or script I need to write (I should mention that I hate to reinvent the wheel - if someone has already written code that is close to what I need, I'm happy to learn how to adapt it. The biggest problem so far is figuring out if the EZ-B will do what I want. Figuring it out reading the forum is difficult because most everyone is building small stuff that runs around the room. So until my kangaroo arrives (who knows how long the shipping delay will be?) I can only study and learn. Probably right now, a good thing to study is how to interface a DC motor with a pot feedback using and H-bridge and an analog input for the pot control. Then learn how to voice control the motor to move a certain amount and stop.
What other information do you need from me to be able to advise me the direction to take?
I believe dave's question was regarding electronics and robotics - however, everyone loves an introduction! The features that you're requesting are the most simplistic functionality of ez-robot.
What I would recommend is using a sabertooth kangaroo, or something equally as powerful as an hbridge for each motor. Connect them, as previously stated, to the EZ-B as servo ports. Each motor would require a source of measurement for the kangaroo (not sure if kangaroo uses potentiometer or how it determines position). The EZ-B merely sends positions.
As for positions, use the Auto Positioner control.
For speech recognition, add the speech recognition control.
For vision capabilities, use the camera device control.
Information about each of these controls can be found in the learn section of this website, under the ARC manual page.
Programming the robot for your requirements shouldn't take longer than a few hours.
I agree with DJ here. What you want to do is pretty simple and the V4 is able to handle this without any issue. The Kangaroo will handle the position location, ramping, stop switchs and pot readings. The EZ-B just needs to say, move to this position and let the kangaroo do what it does.
You may have to download the DE software to setup your kangaroos depending on if you can move the arm without messing up any of the motors. If the motors can be removed from power, and the pots still report their locations, you should be able to use the auto tune feature on the Kangaroo.
The other thing that you will have to consider is what to use for a microphone in this large of a room. I would think that a lapel mic that is bluetooth would work.
Hi! Thank you to the many people who contributed to the final answer and that is that I am going to be able to do this and that EZ-Robot with sabertooth/kangaroo combinations and maybe an H-bridge or two.
I apologize for the long introduction but I want to make sure you understood that I should be up for almost any challenge. The lapel blue tooth mike is a great idea.
Thanks to Jeremie, Rich, Dave, CochranRobotics and DJ Sures!
How to I list all of you on the This was resolved by: dropdown?