tricks for using the SCI cable

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!

tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 2:37 am

Hello All!!
I FINALLY built my SCI interface (serial... using a max232), and it works.... sort of.
I have tried roombacom (alot of work, and javaC is needed... only with the JDK download)
Roomba status (works sometimes)
and realterm... works sometimes as well.
I have found that IF communication does not start correctly, I have to perform a reset (hold spot and dock for 10-15 seconds), which starts the "long charge", but at least communicates.
It almost looks like a sync problem, and something that I am not doing correctly.
I haven't found the steps to take to start connecting and communicating with the bot anywhere... if someone could shed some light on the procedure I would appreciate it!
port settings.... 115200, N,8,1 no flow control on a real serial port (not a usb adapter) on a dell lattitude D610 laptop, running WinXP.
BTW....
While I was running the charge, the battery temp (as shown in realterm) got to 71C!!!!!
I thought that fast charge was supposed to stop if the temp went over 60C for more than 1 minute???
The batt voltage was 17.144 (peak) and dropped to about 17.06 (these as NiMH batteries).
I am not as concerned about the voltage as the very high temp.
Could this be a SW version problem (I have version 01), or is temp ignored when the long charge is happening (after a reset).
Anybody know where r3blackboxreader can be gotten????
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby vic7767 » June 27th, 2012, 12:36 pm

pomonabill221 wrote:I am not as concerned about the voltage as the very high temp.
Could this be a SW version problem (I have version 01), or is temp ignored when the long charge is happening (after a reset).
Anybody know where r3blackboxreader can be gotten????


The Blackbox reader is only available to iRobot. The high temp battery issue was fixed with an OSMO update also provided by iRobot. You can contact them and they may send you the OSMO and a return envelope to send the OSMO unit back to them.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

http://www.Robot-Doc.com/
User avatar
vic7767
Robot Master
 
Posts: 10175
Joined: January 14th, 2006, 8:31 pm
Location: Haughton Louisiana - USA

Re: tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 12:52 pm

vic7767 wrote:
pomonabill221 wrote:I am not as concerned about the voltage as the very high temp.
Could this be a SW version problem (I have version 01), or is temp ignored when the long charge is happening (after a reset).
Anybody know where r3blackboxreader can be gotten????


The Blackbox reader is only available to iRobot. The high temp battery issue was fixed with an OSMO update also provided by iRobot. You can contact them and they may send you the OSMO and a return envelope to send the OSMO unit back to them.

Hello Vic!
AHHA!!!!! so it IS a SW problem! Glad to hear it and I will get with IRobot and get the update.
From what I have read about the update, there are numerous other fixes and possible improvements that I liked as well, so it would be worth it to do!
Thank you for your help!
Bill
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby mfortuna » June 27th, 2012, 3:07 pm

One of the max232 circuits shown on the internet is missing the ground connection to pin5 of the DB9. Make sure you have that pin connected to ground.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 3:13 pm

Thanks Mike!
Yes, I do realize that pin 5 is shown NOT connected, and MUST be connected to ground, and it is connected to ground.
I still am having problems.
I switched to another computer (an HP DV1000 laptop) with a usb to serial converter.
I have the converter set to 115200,n,8,1 no flow, and now realterm shows ERROR, framing error, and no data is seen.
I can't believe that this is so touchy! Isn't there some kind of start bit, or sync used?
I never saw any kind of status display (error, framing error) with the Dell with a real serial port, but now the HP with the usb to serial converter is showing these errors..... will have to dig deeper!
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby mfortuna » June 27th, 2012, 3:27 pm

I have had mixed results with USB to serial converters. Some seem to work great, others not so good.

The PC I built 2+ years ago has a serial port and that works best with a cable.

All my roombas are 57600 baud so maybe I am not seeing timing related issues.

Also, toggling the DD pin is supposed to wake up the roomba. I have found I need to first turn the roomba on and then connect with sci tester or roomba status. I am not sure if those programs try toggling the DD (RTS) pin.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 3:45 pm

Yes, this is why I didn't try the converter first... I too have had mixed results with these...
In realterm, there is an option to set/clear RTS (7), and this seems to wake up the bot if it is off. It just doesn't turn the bot off when cleared.
I thought a 500 is supposed to be 115200??? I will try 57600 and see if that makes a difference,
Also, using roombastatus, I can control the motors and speeds, but every time it click off then on, that data I get back changes....
Sometimes, the battery status is different (and changes each time), the sensor display changes, the panel that displays the distance traveled bounces around... etc.
Each click of ON changes this and is not consistent.
Is this a clue as to what might be happening? Any ideas?
I am trying to come up with a pattern and find what I am doing wrong, or what is flaky!
Thank you for your help and suggestions!
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby mfortuna » June 27th, 2012, 9:14 pm

I was a little vague in my response. All my roombas are 400 series so they run at 57600 baud.

Yes, roomba status is quite flakey when returning data on all my bots. I think it is a program bug and not a problem with your serial port.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 11:10 pm

I agree, Mike.
I hung a scope on roomba's tx pin to my interface, and saw the data (during charge), merrily chugging along, and used hyperterminal and realterm to monitor the data, and it was updating just like it should.
THEN, I started roomba status and saw a huge data stream that no where resembled what I had previously seen, on BOTH the TX and RX lines, and NONE of the data in roombastatus was correct.
I tried disconnecting/reconnecting, turning on/off, all sorts of things, and couldn't get anything to work.
I even disconnected the DD line and roombastatus still locked up the bot when started.
Then I started realterm AGAIN, and NO data! Both TX and RX were high (+5volts).
I tried unplugging the charger, turning the bot on and off, toggling the lines in realterm, and NOTHING would reset the UART in the bot.
Then I reset the bot (SPOT and DOCK for >10 seconds), and VOILA!!! I had data again (charging data at 1 second bursts).
I unplugged/plugged back in the interface, quit and restarted realterm, unplugged the serial port... I tried to get it to fail and it didn't...
SOOOOO...
It looks like roombastatus locks up the bot's uart, and the only way to reset it is to reboot the bot.
And my interface is wired correctly and is working... it's roombastatus that messes with the bot and locks it up..
I really wanted roombastatus to work, but it has problems communicating and affects the bot, so I will not use it.
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 11:19 pm

Yes, it is roombastatus!
I tried it again, and it looks like RS doesn't know about 115200 baud because the scope displays a MUCH lower baud rate, and the data is ALL wrong.
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby mfortuna » June 27th, 2012, 11:23 pm

Just in case you missed this, there is settings menu in roomba status for changing the baud rate. It sounds like you didn't but I figured I'd ask.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: tricks for using the SCI cable

Postby pomonabill221 » June 27th, 2012, 11:37 pm

Yes I did change the baud rate in the settings menu.
Thanks for checking though! Have to cover all bases.
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby pomonabill221 » June 28th, 2012, 3:12 pm

I didn't really measure the baud rate, just wanted to see IF there was anything there.
That is how I determined that when I was getting data, there was something there, and when it disappeared, the data was really gone, and it wasn't a realterm or terminal issue.
How would I measure the baud rate? Use pulse width? The time between pulses?
Is there a way to reset the UART in the bot without having to reset the whole bot?
Is the DIN connector on the bot wired directly to a port on the micro, or is it buffered first? My guess is that it connects to pins on the micro's I/O port.
When the I/O locks up, I don't think the micro is locked up because I can still use the buttons to control the bot, it just doesn't listen to the serial port as I cannot do anything.
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby Gordon » June 28th, 2012, 5:18 pm

Admittedly, I have been lurking here.

And while doing so, I have found myself confused by a couple things. One of my confusion points relates to the Roomba that PB is attempting SCI/OI comm. He alludes to attempting to communicate with an R3-Roomba by saying R3-type things, like:
pomonabill221 wrote:...port settings.... 115200, {and}...Anybody know where {iRobot's} r3blackboxreader can be gotten?...

Hence, based on those inputs as well as many subsequent posts, PB is using a 500-series Roomba for the Rx/Tx trials in his thread.

My 2nd point of confusion generates this question: "How important is it to discriminate, between R2 & R3 Roombas when attempting to make use of Black_64's Roomba Status, v.1.4 application?"

The following review of the program's history shows that Black_64 modified Roomba Status to make it compatible with the newer Roomba, but some users still experienced problems.

Black_64 introduced his Roomba Status on October 31st, 2007, only three months after the first Roomba-500s became available to purchase. IOW, the original Roomba Status 'knew' nothing about R3's Open Interface commands set.

Black_64's "Roomba Webinfo" image, (same OP), shows the 10 Roomba models (all R2) that Roomba Status was designed to deal with. Three later (but still R2-) models -- on up to the 4XX -- could now be added.

However, on November 1st, 2007 vic reported OK ops of v.1 with his new 535:
vic7767 wrote: Very nice GUI design and the program runs very well. Plugged Rootooth in the SCI on the 535, sent the MAX command and away it went. Great job....!
Maybe that was not a thorough trial. Member complaints were posted.

071106-071108 (OP p.1): vic & Black_64 work together to help Roomba Status function with the R3-OI.

071108: Black_64 posted Roomba Status v.1.4. vic tested v.1.4 and reported proper operations.

Yet, almost two years later, vic had to remind inquirers (those experiencing faults) about the imperfect compatibility when using Roomba Status on R3 Roombas.On 090627 vic7767 reiterated R3's OI is <> R2's

101216: Black_64 reveals he has given up on Roomba. Members had been asking that he release Roomba Status' source code. He replied: " I'am not gone release the source of this project." viewtopic.php?p=87230#p87230

That was his final post to rr, hence Roomba Status, v.1.4 is the latest &, likely, last that we will see.

I see it is also feasible to glean from his last few posts that he never directly worked with an R3 Roomba while developing Roomba Status; and, I can't recall seeing that he ever mentions referring to the R3's OI-Specification document, thus it is not surprising that this week, PB reports:
pomonabill221 wrote:Roomba status (works sometimes)
I am no longer confused.
Gordon
Robot Master
 
Posts: 3812
Joined: April 6th, 2005, 2:02 am
Location: Santa Ynez, CA USA

Re: tricks for using the SCI cable

Postby pomonabill221 » June 28th, 2012, 8:19 pm

So what is your question?
I find that in your posts, you use alot of wordy statements, and big words.
I was afraid that I (we) might hear from you with some criticism.
I, too, also read that same bit about not supporting the 500 series, but I thought I might try, and was just posting my findings, NOT trying in ANY way to criticize roombastatus.
Any effort on anyone's part to create an application for FREE, with explicit statements that it was NOT for a 500 series, is MORE than anyone could ask for!
I repeat, I was just trying it out, and was reporting what I found.... THAT'S ALL!!!!
I find it offensive, Gordon, that you take it upon yourself to pounce on anyone that is simply trying to bring another person's experience and finding, to the group, for everyone else's knowledge.
I find it offensive, Gordon, that you have to nit-pick and criticize even the slightest error, omission, inconsistency, whether it be about nomenclature, methods, or experience.
I find it offensive, Gordon, that you seem to have to explain things in terms and detail that some either don't care about or don't understand.
What you HAVE contributed, even though some of it might be a little much, has been welcome and informative.
BUT there have been others that have done the same thing, and have been able to do so without sounding like they are trying to just impress.
I have taken alot of criticism from you, and have not expressed how I have felt, but this pushed me and I had to say something.
I didn't post my findings because I didn't have anything else better to do, and could have posted alot more about other findings I have made, but I didn't because I didn't want to hear about how incomplete, erroneous, sloppy, inconclusive, etc.... my research was.
I thought these forums were to help and educate, NOT discourage and criticize!
I find my only option is to just browse, and I will NOT contribute any more because it doesn't seem to help!
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby Gordon » June 28th, 2012, 9:41 pm

pomonabill221 wrote:So what is your question?
I had none, so stated none.
...I was afraid that I (we) might hear from you with some criticism.
I'm very sorry that you were so offended. No offense at all was intended.
I suggest that you re-read my post and tell me what part of it appears to be critical of your posts.

As I see it, the only thing that might come close is where I talk about wondering what Roomba model you were using, since you did not mention that bit of information in your OP, or at any other time.

Once I figured out that you must be using a 500-series Roomba, I began wondering why you were messing with Roomba Status -- because my recollection was it was only for the 4XXX Roomba (I had no recall that Black_64 had re-worked it to accommodate R3-Roomba).

I decided to review Black_64's thread on that matter, and once I read that he and others tried to accommodate the R3-OI, I thought a review of its development history might be of interest to readers.
I, too, also read that same bit about not supporting the 500 series, but I thought I might try, and was just posting my findings, NOT trying in ANY way to criticize roombastatus.
I did not say you did.

I have taken alot of criticism from you, and have not expressed how I have felt, but this pushed me and I had to say something.
Please post a list of links to that "alot of criticism", since nothing comes to mind. The only thing I can recall where I politely took you to task was when I sent you a PM to advise you of posted erroneous information. You said you would correct it when you finished with more critical work at hand.
I didn't post my findings because I didn't have anything else better to do, and could have posted alot more about other findings I have made, but I didn't because I didn't want to hear about how incomplete, erroneous, sloppy, inconclusive, etc.... my research was.
Well, here's a question for you: Why post the "erroneous"?
I thought these forums were to help and educate, NOT discourage and criticize!
Yes, "help" and "educate" both require factual, true inputs. Helpful criticism is essential to learning. It is sad when a person reacts by being discouraged after being criticized.
I find my only option is to just browse, and I will NOT contribute any more because it doesn't seem to help!
Don't allow me to drive you away from posting, Bill. I recognize your posts as useful.

Tell you what I'll do, if it will make you feel better: I will scrub my above post from this thread. Just say the word (but, please read it again before saying 'do it'). Cheers!
Gordon
Robot Master
 
Posts: 3812
Joined: April 6th, 2005, 2:02 am
Location: Santa Ynez, CA USA

Re: tricks for using the SCI cable

Postby pomonabill221 » June 28th, 2012, 10:16 pm

Gordon, I do not feel that your post needs to be deleted as it also educates.
I have posted before (for instance), a hand drawn schematic of the Roomba's IR emitters, and I did make a mistake by duplicating two emitters in the two separate series strings, this I did admit and have not corrected as of yet, and probably will not. This took over 2 hours to get as (I imagine you have found out), the motherboard is painted white, it is not transparent (for tracing), there are MANY vias, many traces travel under other parts, so my effort, even though I did make a mistake, was not trivial.
It just seemed that your post was your thought process about determining which model I was talking about since I did not specify (my fault, sorry), but I found it rather critical (in my eyes, a little sarcastic, whether it was meant to be or not).
Why you didn't just ask which model I was referring to, made it seem critical. Maybe you didn't, or don't, see it that way, but I did.
It may take a little time before I post again, but I will continue to research my bot on my own, and make notes and drawings, for my own reference, and if someone is asking about something that I can help with and share my findings, I will post it, but for me to just freely post my findings, results, drawings, information... that will become slimmer, as I know that my research and findings are flawed, and I don't want to give incorrect information out that would mislead someone else that isn't thinking the same way I am.
One thing I will update about my bot and the BIT is that when the wheel overcurrent (stall) test is performed, you must wait for the DOCK light to come on solid (it blinks first, then is on solid), THEN you stall the wheel (the SPOT light blinks THEN comes on solid.
IF you do NOT wait for the SPOT light to come on solid, the bot (through the serial infc.) WILL report FAIL for the test.
I still would like to know IF there is a way to reset the IO port in the processor, without having to reset the bot (I doubt it since it isn't listening either when it locks up....)
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby mfortuna » June 29th, 2012, 6:36 am

If you look at the SCI command specs for both the 400 series (sometimes referred to as the 4000 series) and 500 series you will see the 500 series commands are an extension of the 400 series commands. Based on Irobot's documentation there is no reason the 500 series shouldn't work with roomba status if the 400 series worked. If Irobot did something in the 500 series firmware that changed something, the documentation doesn't support it.

However, roomba status doesn't work well at all the 400 series for getting sensor data from the robot. I have messed around with security bots based on the 400 series for years and I have never seen reliable sensor data returned.

I started a simple Basic stamp / blutooth project using my reds. I always got reliable sensor data. I messed around with an ultrasonic create with command module. I always got reliable sensor data.

I think the problem lies in roomba status, but since the author doesn't want to support or open the source we will never know.

If you want to learn visual studio, scitester source was available on the web. I have not looked to see if it is still around. scitester supports reading of sensor data but I have not tried that feature.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: tricks for using the SCI cable

Postby pomonabill221 » June 29th, 2012, 2:23 pm

Hello mfortuna;
Yes, I got that impression about roombastatus as well... and from what I have read about the SCI command set, the 400 and 500 are SIMILAR, that is why I tried it with my 500.
I am glad that you have had the same results using your 400's with RS, as I thought I might have been doing something wrong.
There were a few times when RS did show good data, but getting there was painful, so I gave up.
I do know some visual studio, and have tried scitester, and it does seem to function pretty good, so I might play around with some of the source and see what I can learn.
For me, using realterm worked great, and I was able to confirm that when I ran the BIT, I was causing some of the tests to fail, and I found out why.
My next step is to try and go wireless as it would be interesting to see the sensor data while it is cleaning. This would be interesting to me, so that is my next project!
Anyone have a suggestion as to what bluetooth to get? Something I can "stuff" into the bot so that it is not on the outside, but hidden inside? There ain't a whole lot of room, but there are a few pockets inside to hid a small board.
User avatar
pomonabill221
Robot Addict
 
Posts: 138
Joined: November 30th, 2010, 4:03 pm

Re: tricks for using the SCI cable

Postby vic7767 » June 29th, 2012, 2:38 pm

Head over to this thread: viewtopic.php?f=4&t=15359

The same process could be used on a 5XX model Roomba.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

http://www.Robot-Doc.com/
User avatar
vic7767
Robot Master
 
Posts: 10175
Joined: January 14th, 2006, 8:31 pm
Location: Haughton Louisiana - USA

Next

Return to Robotic Hacking

Who is online

Users browsing this forum: a4refillpad, bjarnewarming, mailhoarder, TechGuy, vic7767 and 110 guests