I purchased the Xbee telemetry kit from DiyDrones here and put it together following these instructions.

 

I am running with the Ardu Pilot Mega - this kit

 

I have not gotten any communication between the two units.

Here is what I know and what I've tried:

 

* Note that the first time I hooked it up, I plugged the cable in upside down to the Xbee on the Air side.  This resulted in the DODI cable going into the GND pin, the DIDO cable going into the CTS pin and the GND cable going into the DODI pin.  The 5V cable is in the middle of the 5 cables so plugging it in upside down still resulted in 5 volts going to the right pin.

 

1. Realized I had the cable on upside down.

2. Turned it over - no communication

3. Read through all the and manuals and forums and followed the instructions here on "Unbricking your Xbee" and "Setting up the Xbee modules" to make sure I had the right firmware installed and was using the same VID.

4. Updated both modules to the latest firmware (XBP09-DP 1061) using X-CTU.

5. Ensured DD parameter is set to 0.

6. Checked that the VID is the same for both and baud rate is 57k.

7. Both modules respond to the query from X-CTU and show the correct firmware when I do a "read" in X-CTU on the Modem Configuration tab.

8. Verified the latest firmware was on the APM and the config.h file had 57k for the baud rate.

9. Set everything back up for nominal communication.

10. Still no communication - however - now I get the following lights:

  Blue power lights come on for both Xbee units as soon as they connect to the APM / PC

  When I click "connect" in the GCS for the ground side Xbee I see the Tx light flicker every second

  On the air side Xbee I see the RSSI light come on solid and the Rx light flicker every second

  But then the GCS times out after 30 seconds.

  RSSI, DI, DO, Tx, RX lights all go off.  Blue power lights remain on.

 

So it appears that some communication is going on between the two Xbee's now.  But at the very least, it appears that the ping from the ground side is not making it into the APM.

 

I have tried it with the switch in Master and Slave mode, but my understanding is it should be in Master mode.

 

Are there any other tests I can do to issolate the issue more?  If possible, I don't want to have to buy the whole kit again.

 

Are there other configuration settings that need adjusted in the Xbee modules?

 

Is it possible some components are dead? How do I issolate which ones need replaced?

 

Does the RTS box need checked in Control Panel on the ground side for the Xbee port?

 

Thanks for any help!

Tags: 900, mhz, telemetry, xbee

Views: 657

Reply to This

Replies to This Discussion

I'm just another xbee user, but in my first experience I thought mine were not working, and it turned out it was just my expectation. 

 

What are you doing to verify functionality? 

 

I had been using a terminal program, and that turned out to be the major part of my problem. I loaded a sketch to test the APM serial ports that just prints out the serial port number to each of its four ports, and I saw what I expected. I took the leap of faith and used MP rather than the terminal program (reloading AC2 first via USB) and MP initialized MAVlink and everything just worked. Turns out I had expected the normal output on the USB serial port to be the same as what I would see over the xbee, but they are two different serial ports, and AC and AP send different data to each.

 

The sketch (useful for any xbee testing, simple is better) just prints to each of the four serial ports. It is called MegaSerialTest.pde. I could not find the URL for it so far, but here is the content:

 

/* 

   Mega multple serial test  

   Receives from the main serial port, sends to the others.  

   Receives from serial port 1, sends to the main serial (Serial 0).  

   This example works only on the Arduino Mega  

   The circuit:  

     * Any serial device attached to Serial port 1
  */

void setup() { 

    // initialize two serial ports: 

    Serial.begin(115200); 

    Serial3.begin(57600);

}

void loop() {
  Serial.println("Port 0");

  delay(500); 

  Serial3.println("Port 3");

  delay(500);

  }

 

Sorry, "MultiSerialMega.pde" is the name - which is why I could not find any URLs :) Note the baud rates here, some of the versions out there are set for 9600, don't need to add new variables to your testing. 

 

Mike,

Thanks for the reply.

 

I uploaded that test code to the APM just now and saw nothing come across the connection.

Here are the steps I took:

 

1. Upload test code to board

2. Power APM (See no Tx / Rx lights flickering on Xbee, just Power)

3. Power ground side Xbee USB port into laptop (See no Tx / Rx lights flickering on Xbee, just Power)

4. Start up serial monitor in Arduino and monitor Xbee serial port

5. Ensure it is set to 57k - No data

6. Plug USB directly into APM and laptop

7. Connect serial monitor to serial port coming from APM

8. See Port 0 coming out of APM every second

 

Some other steps I tried this evening:

 

* Swapping modules since I read they are interchangeable - No change

* Loaded version 1002 of XBP09-DP from X-CTU

 

No change in any of the above tests.

 

Earlier what I was basing my success off of was connecting everything up and clicking the Connect button in the Mission Planner at 57k for the Xbee serial port.  The Mission Planner timed out with the error "No Mavlink Heartbeats were read from this port."  I am assuming once connection is established, the Mission Planner will show the orientation of the etc, and I will see tx / rx lights on the Xbees as shown in this video.

 

Any other ideas out there?

I would set RTS on the com port that gets assigned to the xbee adaptor. Since they are (I think) all the same FTDI driver/hardware design, I assume they all have the same requirements. Beyond that, I have no idea where I would go from here. That simple serial script really helps provide a simpler testing environment, because you can see the serial output on the USB port, and switch over, remembering to change the baud rate each time.

 

So deductively, I would start to focus on isolating. If I had an FTDI cable, I would start to look into how I might connect it to the telemetry port, if that is supported electrically, to see if maybe there is a problem on the ArduPilot or IMU boards, or with the telemetry cable or pinout. After that, I would connect the xbee to other APMs/IMUs, because I have them. But after that, I would need fancier gear, oscilloscope, logic probe, I think... so I would be asking here for help ;) Where did you buy the xbees? diydrones, udrones, jdrones, buildyourowndrones? Other? We can flag someone down, if no one else see's your post...

Mike,

I ran some more troubleshooting tonight and didn't really get anywhere.  At one point I did have the air unit spewing data that the ground unit picked up, but it was garbage, and only happened when I had the air unit in slave mode (which I think is wrong) and only when I held the air unit at certain orientations.

I bought my telemetry kit through Diy Drones.  It's the official 900 Mhz telemetry kit that they sell.  Do I need to get in contact with someone in their group specifically at this point?

I might be beyond Forum help ;)

One more thing to note.  Both boards respond positively to being plugged in to the USB adapter and queried from X-CTU.  Not sure if that helps.

What's the next step on this? Getting a FTDI cable or re-ordering some parts?

Nothing is beyond forum help. But that is in part because all the people who operate the stores, all the folks who write the software, and many of the people who designed and built and shipped the hardware are also part of the forum community, besides the people who didn't design or build it, but could have. 

 

No, the biggest challenge might be that by me trying to help, someone who might have actually helped isn't following the conversation as closely, and doesn't know you are not helped. We can wait for someone else to read the posts, or we can find someone who knows everyone better than I, to get more eyes on. Like, perhaps, Jordi, who knows a thing or two about both the community and the diydrone store. Maybe send Jordi a PM, ask if there is someone smarter than me (easy) who might look over this thread? 

Wait, garbage? Valid MAVLink data looks like garbage.... could it have been MAVLink data?

Mike,

By garbage, I'm confident it wasn't MAVLink data.  I had the test code loaded on the board at the time and was expecting "Port 3" repeating once a second.

I'll send Jordi a PM and see if he can shed some light.

Be sure to write the firmware in XCTU using 9600 baud, don't ask me why.  I am using version 1002 .

You should be able to do everything with the MP, so reload the code from there and set /port in drop down.

I re-flashed both boards at 9600 baud and saw no change.

I'm not seeing the Rx light on the air side Xbee flicker at all when the board is up and running.

That seems to indicate I have a solder / cable / air side Xbee failure doesn't it?

I think I see where you are going. If the ground adaptor shows TX activity, then the other adaptor should show RX. I assume you are seeing the opposite? And if you swap the radios, does this change anything?

 

If that is the case, it is possible that it is as little as a single trace or solder issue, but I am afraid I cannot say that it narrows all the options to that. But I do think it is suggestive, if we assume the radios are working (and, I think it is reasonable to assume, if you get synchronous behavior when swapping the radio modules.)

 

I am no expert on the board, but I would tend to wonder if you could check conductivity from one of the radio input pins and compare that to the rx pin on the aircraft adaptor. I'll take a closer look at my gear when I am near it again. Even if you cannot, I think you might be able to follow the traces and find some point to check conductivity across the adaptor to check the solder joint.

I would guess still a baud rate problem, in the wiki it states you must use version 1002 also. Can you reload the code from the mission planner, then set-up xbees again use 9600 baud in the utility program then set 57.6k in the serial menu, and write version 1002.

RSS

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Groups

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service