Asked — Edited
Resolved Resolved by DJ Sures!

Multiple Motors

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.


ARC Pro

Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

#65  

OK, Sorry. You did show this encoder a few days ago. I forgot.

I'm still not sure the two devices are understanding each other (like you said). However we got movement. That's good. The next thing you really need to do is get a TTL to USB adapter and attach the roo to your laptop. Then run the DeScribe and learn how to use it. There is only so much you can do by pushing a couple buttons and flipping a few switches.

Before you do that there is one more thing. I'm sure the encoder is working well with the roo. However when you moved the dip switch and the motor started searching and trying to match the signal it was finally getting from ARC I don't think it had a good reference. When you change a dip switch you need to do a now auto tune. The only time you don't need to retune when you make a change is when you change the dip switch between speed and position control. So put dip #1 in the OFF position and do another auto tune.

I think what was happening is the deadband and other settings are not set properly. You need a proper deadband or the motor will always chatter, move around or jitter looking for a center. Actually the Kangaroo sets three deadbands. Two are for position and the third is to know when the motor is up to speed. One position deadband is set in percentages, the other two are in lines or mili volts depending on if your using a pot or encoder. A successful auto tune with the dips set properly should set all that for you.

The Roo has a great fail safe function. If it sees problems it will shut it's self down thinking it's in a runaway or stall condition. That's better then you can image but can be frustrating. When you get into a condition like this and get error flashes you need to shut down power and restart it.

Once you start using the DeScribe software you can do autotunes from within the software and actually watch it happen. You can tweak settings like the deadbands and actually do live test's to see how they work as you go. It's much easier getting the roo to work or see why it's not working when using the DeScribe software. ;)

#66  

Cool! I will do another auto tune! Is there a TTL to USB cable you recommend?

Castle

#68  

Perfect! I just ordered it! I tried your dip switch #1 off and did a successful auto tune but the only difference was upon power up the motor turned the exact number of turns as the TeachTune and then stopped and chattered - it responded to the EZ-B but exactly the same - so no joy!
I did discover a wiring discrepancy for the encoder between the label and the documentation so I wrote to the mfgr for resolution. Pending that I have an email ready to go to DE...

Castle

#69  

Sorry for the failure. I'm now out of ideas. This really seems like a deadband (or lack of one) to me. My next step would be to get into the software and widen the deadband. Getting the deadband set properly is a balancing act. To narrow and the motor will chatter and seek till it destroys itself. To wide and you lose your accuracy.

I was thinking about the lights you were talking about. The 3 blinks the roo was giving you means you're having a control error and the channel has been disabled before any damage has been done. The manual says to check your feedback device (encoder) and to make sure nothing has changed since your last autotune.


Control error, channel disabled. Check to
make sure your feedback sources are working
and the system matches how it was set up
during the tune. 

This could be the wiring issue you mention on your encoder.

What worries me more is the error lights you mention on Sabertooth flashing red & green. This may be a low volt or low amp issue. I had this same thing happen and couldn't get things to work till I got a bigger power supply and larger wire. You may consider replacing that wall wort with a real power supply that can deliver some real amperage. Your wiring looks OK for that motor.

#70  

Very interesting analysis! Thanks for hanging in there with me - I think it is going to be worth the effort... If the wall wart had enough power to run the thing with a potentiometer it seems it should work with an encoder - my battery is with the rest of my stuff up in the barn so I will get it tomorrow and see if there is a difference / by the way the auto tune takes almost 5 minutes to run with the motor driving all the time so I really don't think it is a power problem but I will try it! The cable is due to be delivered on Wednesday and we will see what I can find out with the DES software...

I did not change the wiring following the tune and it seems strange that I would get a successful tune if there was a wiring problem to the encoder...

Again, thanks for the great hand holding! If I have to do this with potentiometers I can probably hear down to get 10 turns over the 40 foot length of rack but the encoder seems like a much more elegant solution...

Castle

#71  

The encoder manufacturer assures me I have it wired correctly. I have sent a support email to DE with Richard's explanation of the signal output for the EZ-B's pin D1 for them to comment on...

#72  

Well, at least we've eliminated some of the basic problems that could be causing this. It looks like it's down to a deadband problem or a conflict of the signal EZB is relaying and what the Roo is expecting.

In the end if an encoder just won't work with the EZB in RC mode you still have the option to use the uart ports and send simple serial commands. It's really not hard at all. Either way it sounds like you're going to have to write scripts to get your creation to do things the way you want. You will either be writing commands for servo positions and speeds or simple serial commands. I don't think you'll be able to rely on the Movement Panel to do everything you want. The big drawback would be that the Auto Position control can't be used with simple serial commands.