
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.
Hi Castle. Richard is correct. You can't get any feedback from the Kangaroo if you're not using the Uart port of the EZB. However as we've discussed in detail in past posts that right now you don't really care to see or use any position or speed feedback. You just want to point to a location and tell the motor to go there and at what speed.
So, I now understand what you're saying. Yes you can reset the Roo a couple ways. However the easiest way is to just do a new auto tune. The other way is to restore the factory defaults. If you want to restore the device back to factory defaults, in the DeScribe Software go to the File menu and click New (Reset to Dimension Standard). Then, click Upload Settings. Be aware that this will erase your last tune so you'll have to do a new auto tune anyway. When I was having trouble getting a successful autotune I went back to Factory settings and this seemed to help. For me it seemed like starting with clean settings resolved any conflicts I was having with the old tune I had.
A couple other things. It's a good idea to save your current tune if it's working and worth saving. Once you finally get the Roo set and running the way you like make sure to save a copy from the Edit menu. Also, any time you make a change to your setup you'll have to do a new auto tune. So if you replace your pot for an encoder, replace a motor, move your endpoints or change the dip switches on your Roo you'll have to do a new auto tune. The only time you don't have to retune is when you change the dips from position mode to speed mode. However this does not pertain to your set up .
Hi guys!
Thanks for the quick feedback! Dave is correct, I am not trying to get feedback to the EZ-B.
What I am having difficulty with is getting the Roo working with the quad for feedback to the Roo and control from the EZ-B. I got it working with a pot. But with the quad, I got a successful auto tune but it doesn't move from the EZ-B. I'm wondering what is different when using a quad for Roo feedback?
Castle
Humm, not really sure why EZ Robot won't command the Roo if it's using an encoder. I know the EZB and ARC do not support encoders. However it's the Roo that's using the encoder and not the EZB. Perhaps it's the way the roo is interpreting the feedback and having a conflict with the way the EZB is asking where to and how fast the roo should move. With pots, feedback is measured in millivolts and (without getting technical) that's kinda the way the EZB sends movement commands to servos. Now, encoders read position and speed with lines or pulses. EZB can't send movement information in that way. RC mode on the Roo may also only work in voltage units and not lines and pulses. Voltage units are the way RC controllers communicate with devices.
That's all speculation on my part but it's the only explanation I have. There is a Units section in the Describe software where you can tell DEScribe how the units you want to use relate to machine units (millivolts or lines), and it'll let you work in your own units. This may or may not work to convert the command EZB is sending to the Roo. If it is then you're going to have to do some math. DE has an online encoder calculator that will help you run the numbers. Here's the link to the Kangaroo manual where you can look this info up: DeScribe manual
Here's the link to the online Encoder Calculator: online Encoder Calculator
EDIT: after looking closer at the online encoder calculator I cant see how that would help to convert encoder lines to pot millivolts. Sorry. I am successfully using an encoder with the roo and EZB but I'm sending simple serial commands through EZB's Uart ports. It's a whole different animal.
You should contact DE tech support to confirm this or get better answers. Please report back to let me know what you find. Good luck.
Great information! I will pulse DE and report back!
Castle
Just so that I am clear - what signal is output by the EZ-B on a digital port, D1 for example, when using the Horizontal servo control? I'm sure DE is going to ask me that...
From @DJ's servo tutorial..
The whole tutorial is here.... How servos work
Thanks RR! I would have posted that info last night but when I wrote up my theory I had already had a few cups of Christmas cheer. LOL.
Anyway when Castle sends that valuable info to DE you posted about the type of control pulse along with the fact that he is using an encoder along with his dip switching settings they should be able to see what is not working here.
@Castle, Just wondering; did you change your #1 dip switch at all? I'm thinking it should be in the ON position because the roo is looking for RC servo signal input from the EZB. If that doesn't work try your setup with the #1 dip OFF to see if that makes any difference. Dip 1 dictates what type of input the roo is looking for.
Could you share a link to the encoder you're using or at least tell us what it is along with a model number?
Hi guys,
I can't tell you how much I appreciate your support!
Here are the results of testing Dave's idea. I switched the #1 dip switch on the Roo and then powered up. The motor immediately started turning CCW for 7 turns and then slowed down and moved back and forth searching for a point - it was virtually chattering as it was moving back and forth - less than one tooth width. While it was chattering I moused over the horizontal servo control, pressed the left button and moved the mouse and the motor responded by chattering in one direction and then the other in response to my mouse movement left and right. But the motor was not turning very much at all but it was moving directly in response. When I clicked Center on the control the motor immediately moved very quickly a couple of turns and then stopped. I also tried clicking on Release and when I did that them motor stopped turning and/or chattering. From this point on there was no response to the control in either Release or Center mode but I did notice that the yellow led on the Roo was now flashing three blinks. I should also mention that when the motor was chattering the Status 1 green led and the Error red led were acting erratic.
The encoder that I am using, which autotuned in Teach Tune mode perfectly on the first try, I might add, is Chinese (what isn't anymore) is an iiMash 600P/R Incremental Rotary Encoder that I bought on Amazon for $16.00. Here are more details: 600 p/r (Single-phase 600 pulses /R,Two phase 4 frequency doubling to 2400 pulses). With small size, light weight, easy to install, cost-effective features. For measuring goods angle, acceleration, length measurements and the rotational speed Apply to a variety of displacement measurement intelligent control,measuring height of civilian body scale and so on Connection: Red = A phase, Green = B phase, White =Vcc power +, Black = power - Notice: AB 2phase output must not be directly connected with VCC, otherwise, will burn the output triode. Specifications: DC5-24V wide voltage power supply Speed: more than 5000 r / min Shaft: 6mm/0.23" Dia, 13mm/0.51" Length Size: 39mm/1.53" Dia, 36.5mm/1.43" Length Output: AB 2phase output rectangular orthogonal pulse circuit, the output for the NPN open collector output type
The Type on the unit says: LPD3806-600BM-G5-24C
Like I said, the Roo did a perfect autotune using the TeachTune method so I am confident that the encoder is working as the Roo seems to be pretty picky when it comes to inputs...
So I think the problem is the communication between the EZ- B and the Roo. When I put the Roo #1 dip switch in On then nothing happens.
Castle