I'm trying to get my Dimension Engineering KangarooX2 module to
work with my Syren10.
I can link/tune via the USB connection. It allows me to move and
control the Syren10 no problem.
I'm having troubles sending and getting the SendSerial command to
work with my EZ-B.
The the module is setup to communicate 9600/8N1 and plugged into my
D3 port on my EZ-B.
The command for the module is
I've tried the following:
SendSerial(D3, 9600, 1,p2450 s200)
SendSerial(D3, 9600, '1,p2450 s200')
SendSerial(D3, 9600, "1,p2450 s200")
None have worked so far. Not sure if I'm just messing up the string format or what?
Upgrade to ARC Pro
Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming
Pulling it all out to tinker with it on the workbench.
I'm having some trouble getting this combo to work using SendSerial from EZB and ARC. I read in a different thread that Lumpy got this to work in his R2D2. Here the thread at post #8: Link . I haven't yet tried to link/tune via the USB connection like Lumpy did because I don't yet have an adapter. I do know it will move the DC motor because I've been able to have the Kangaroo auto tune. It moved the motor through the steps to find the limit switches, pot feedback and speed of the system. All worked great and I thought I would breeze through this. However when I try to send a command from ARC through SendSerial nothing happens. In the other thread I pointed to above, Lumpy found an added command and got his dome to work. No go with my setup. Here's the syntax from his thread we both used and his explanation:
I did make sure I changed my entry so it pointed to the port my cable was attached to. Any ideas? Hopefully Lumpy will read this and chime in if he can help. Here's the statement I used. This should send it almost to the end of stroke and the limit switch:
One odd thing; I do notice that the steady blue light on the EZB blinks off and on quickly when the SendSerial command is sent. Also the signal pin on the port I'm using stays high (5vdc) after the command is sent. Is this normal?
Thanks in advance, Dave Schulpius
Just a couple of thoughts.....does the blue light blink fast when any other commands are sent? Has the Bluetooth become a "bottle neck" for serial data! Have you tried a dead slow " s100" command to see if that has an effect? Also does the rapid blinking occur if the Kangaroo is plugged in? ,, to see if there is a poor relationship with that board. Can you use another serial peripheral to compare a serial command?
Trouble shooting is a big part of what we love to do
The blue light only winks once quickly at each and every SendSerial sentence sent. I haven't tried it with any other control or command. Like I stated earlier; The signal pin of the port I'm using stays high after a SendSerial command is sent and connected to the Kangaroo. Not sure what happens with it's disconnected. I'll try that today.
I haven't tried running the Sabertooth yet without the Kangaroo. I actually planed to try this today. I also have an extra Sabertooth, Kangaroo and EZB so I plan on setting up all new hardware to see if I may have a faulty board somewhere. I have a feeling it's either the way I have everything wired or my Syntax. However both seem correct to me.
As far a Syntax; the only thing I'm unsure of is why Lumpy added both a 0x0d (Carriage Return) and a 0x0a (New Line) in his statement. The Kangaroo manual says a "New Line" statement is needed. The documentation of how to use the Kangaroo and Sabertooth sucks and I cant find a forum that is talking about them much. When I do find a thread it's either about people waiting on one to arrive or saying that it works great for them. Not much about how they set it up.
I'm not sure but I don't think there could be a bottleneck for the Bluetooth. I'm testing this in a new occurrence of ARC with only this one EZ Script control installed and it's connected to just this one EZB board.
Using another Serial device is a good idea but I'm not sure what I could use. Again, I'm new to this part of it all and feel a little lost. Any suggestions on what other kind of serial peripherals are out there I could easily use and find? I do have a USB to Serial adapter on the way from Amazon that should be here Tuesday. I hope to be able to use my laptop and use a Terminal to send commands. This way I can see Kangaroo's feedback error codes if I'm doing something wrong. One of the cool things about Kangaroo & Sabertooth is that they return a lot of feedback info with blinking lights and serial error codes (if you have the RX (return) line hooked up).
Thanks again, Dave
Command, return, newline could be interpreted as:
Therefore there is nothing before newline so there is no command.
So try Command, newline. I can't say it will work but it will only take a few seconds to try.
Lumpy's code which worked was;
So, Dave your code should be like;
Which is what you have. It should work. If not then you could try substituting the ascii characters for their decimal and hex values...
Where 0x2c is the comma, 0x50 is the P, 0x53 is the S.
It is also normal for the blue light to flicker when sending serial commands, while this video is for a different issue I was having take a look at the blue light (or the glow from it at least).
I'm going to go over all my wiring and replace all boards just in case I screwed something up. I'll also try to use the decimal and hex values and see where that sends me.
Thanks for taking the time Rich and glad you made it back home alive after a crazy trip. *eek*
I also was able to test the servo controls with the Kangaroo x2 and they work great! So it looks like I can use either SendSeriel commands or servo commands. The response is quick and smooth.
Sadly I now have a different problem now. I went ahead and wired the setup in permanently and now I cant get the it to start again. However now I have a different error code. Right away on power up I get three continually blinks of the Kangaroo's LED. I have everything wired up properly I think and I have no idea what changed. I have a e-mail sent in to Dimension Engineering to see if they can tell me what this error code means.
Seems like you got it going but it's being finnicky after the permanent install.
Hopefully DE can help you straighten it out.
DE did get back to me. They say it sounds like a wiring problem. I did double check it all but it looks like I need to go over it all again. I bet I have a bad connection or wire somewhere.
Best of luck(make sure you visit those ice caves on Lake Superior at Bayfield)
Well, I've got a few minutes now so it's off to the shop to find my muitimeter and check out that continuity thing you were talking about. If I don't find any obvious opens I'll have to pull the boards and check for cracked header pin solder joints. I may have cracked one when I tightened down the input connection screws.
I do have good news though! I've got my Kangaroo x2 wired in and working properly with the SendSerial commands. As I said above I did have this working once before and then everything stopped working after I hard wired everything into the robot with blinking error lights. The error blinks seemed to say I had something miss-wired. Not so! After going over everything many times and trying different combinations between power supply, batteries and then both, the problem turned out to be a position issue with the limit switches. Let me explain:
Before using the Kangaroo everything needs to be hooked up the way it's going to be run. Motors, position feedback device, power type and limit switches if they are going to be used. Then the board needs to be put through a "Teaching" session where it moves the motors to the limit switches (if used) and also changes direction and speeds several times.This is very cool to watch. After about a minuet (and if the learning session is successful) the board now knows where the limits of the rotation are, the speed of the motor and how much weight it's moving. It should then end up in the center position and halt knowing everything it needs to know about the system. The thing I was doing wrong was I needed to start this "teaching" session close to the center of the rotation. I was starting the session near to my limit switches and that must be what the blinking error message was trying to tell me. Once I moved the motor away from my limit switches and toward the center everything started to work again. Yah!
There are other oddities about using this board that I'm learning that I plan to reveal in a new and different thread. I want to do a Review / Tutorial on this cool little board. I think it could prove to be a valuable addition to bots of all sizes used along with EZB. I will share one thing now:
When using the Simple Serial language like we were discussing in the above posts I found I needed to send a "Start" command before things started working. Sometimes I had to send it twice. When the Kangaroo successfully receives this command the little yellow LED on board will quickly blink very brightly. It will then accept serial commands from EZB. This SendSerial command looks like this:
Oh! One more cool thing! Not only can I move my DC motors now with this board combination using SendSerial commands in ARC scripts but I can also use the ARC's servo Controls or servo commands in ARC Scripts! I just pointed the servo commands or set the port in the servo controls to the one and only digital port I have the Kangaroo/Sabertooth attached to! I haven't attached a second motor yet but I should be able to run two motors like described from just one digital port (I think).
Look forward to any updates.