Serial communication between Mini-ABB and SSC-32

Hello,

I have a CH3-R with Mini-ABB and SSC-32 and a PS2 remote control.
I compiled the default program (that allows me to control the robot from the PS2 remote control) and loaded into the Mini-ABB chip. It works fine, but the problem is:

  • I connected the two wires that come from Mini-ABB (and link to SSC-32) to the COM port of my PC. As I understood Mini-ABB sends serialy the commands to the SSC-32 wich drives the individual servos.
  • I used a serial sniffer to capture the data sent over this cable. My intent was to save the strings for driving the bot forward, backward, left, right so that I can send them from another board (actualy I want to use an FPGA board).
  • The problem is that I receive only strange characters wich have no sens. I expected to see something like #1P1500#2P…
    I used 34800 8N1 for the settings wich are the settings I saw in the BASIC source code.

Any ideea what is happening ?

Or do you have some other solution for getting the commands for driving the robot in this 4 directions, withous using some kinematic ecuations? It is all I need for the moment.

Thanks,

Alex

It might help if we had more informaton, like how you connected the two wires that camde up from the Mini-ABB to your pc. If you just hooked it up directly into a serial port you probably have a signal level problem.

That is the Atom(or Pro or …) on the mini-ABB is outputing the information using TTL (+5v and 0v for the two states). The standard PC serial port and likewise the serial DB9 port on the ABB uses RS232 level signals, which is very different. You can create a circuit to do the conversion for you. An easy way to do this would be to use something like:sparkfun.com/commerce/product_info.php?products_id=449. I have meant to order a couple of these to help from time to time.

Probably an easier way to do what you are wanting is to edit the default program. Everywhere where you see that the code does a serout to the SSC-32 board, you modify it slightly: Note: my code has been modified for other reasons, but if for example you take where the pulse offsets are sent:

In this example simply change: SER_POUT
to: S_OUT

This will output to the standard DB9 serial port that you downloaded your program with. I would probably also change the baud rate down to something like 2400 and 9600.

Then all you have to do is download the program and run it. You can go into the IDE and connect up one of the terminal pages with the right communication port and baud rate and connect. Then you should start seeing everything that would have been sent to your SSC-32 board being output in the terminal window.

I hope that helps.

Kurt

Thank you.

You are aboslutely right. I hooked it directly to the yellow/black pair of wires, without kowing that they are TTL and not RS-232, but there is still a problem:

  • I changed the code as you said
serout SSC32,i38400,"#", |
	RRHH,RRHH2,"po0 #",RRHV,RRHV2,"po0 #",RRK,RRK2,"po0 #", |
	MRHH,MRHH2,"po0 #",MRHV,MRHV2,"po0 #",MRK,MRK2,"po0 #", |
	.......

changed to

serout S_OUT,9600,"#", |
	RRHH,RRHH2,"po0 #",RRHV,RRHV2,"po0 #",RRK,RRK2,"po0 #", |
	MRHH,MRHH2,"po0 #",MRHV,MRHV2,"po0 #",MRK,MRK2,"po0 #", |
        .......

and nothing.
I left the cable used to program de mini-abb and used the built-in terminal of the ide to connect (9600, 1N8). This time the console is empty. There are absolutly no characters.

Way could that happen ?
Sould i declare somewhere the S_OUT ? As i saw in the manual S_OUT is built-in.

Thanks,

Alex

Note in your code you specified “S_OUT, 9600”. It should be instead,
“S_OUT, i9600”

Also make sure the built-in terminal is pointing to the right comm port…

Kurt