I have been running a robotics competition for the last 4 years and we have been using the PROP with the XBEE PRO 802.15.4 Modules. In the past few years the contest has not had a large number of bots....Maybe 60 or so. This year we expect about 200 Robots in attendance. Although we have a system that is working...Its far from perfect and Im looking for some advice from some of you that have a lot more experience than I do with the XBEE modules and the PROP. I have talked with the tech support at Digi for quite some time and have continued to improve communication with the XBEES but I'm not sure we have exhausted all avenues.
The biggest issue we have right now is erratic behavior. One person will be driving their robot and it will start doing bizarre things and the driver loses contro of the robot. This happens frequently and is concerning for those who are driving!
Here are the settings we have programmed the XBEE modules with:
* We are spreading the Channels out. We are using all 12 channels and putting a standard number of robots on a single channel. Around 16 Robots on a single channel.
* We are using a 4 digit PAN ID for each PAIR of xbees. (We have an xbee as a transmitter and one as a receiver coupled on both sides with a Propeller.)
* There are at least two digits that are different in each PAN ID. An example would be one pair with # 2015 and another pair with # 2026
* We are using a PS2 Controller for robot control.
* The DL and MY values for each pair are opposite numbers . On a transmitter we might have a DL of 5968 and a MY of 5967 They would be reversed on the Receiver.
* On the level 1 robots we are using a POWER LEVEL of "0" because they only have to transmit across an 8 foot span.
* On the level 2 robots we have a power level of 4 because they have to operate about 40 feet away.
* We are running at a baud rate of 9600 (This matches the baud rate of the PS2 Controller)
Accordng to DIGI these are the main settings that we can control. We are using the XCTU program to program the software and I have made the latest FIRMWARE updates on each module pair. (Currently 10ED)
Are there any advantages to running the xbees in another configuration mode?
Since we have a PROPELLER on the transmit and receive side would it be possible to write some PROP CODE that could determine whether data is coming from the correct xbee and tell a servo or DC motor etc to GO or STOP based upon that directive?
I have attached the code we are currently using on the TRANSMITTER and RECEIVER. Along with the objects we are also using.
We have a great deal invested in the XBEE and PROPELLER and we feel confident we can work out these bugs with help from those of you much smarter than I am!
Thanks for any support you can give.
(I only ask this because DIGI has told me that I have ALL the settings correct and that we shouldnt be getting wild behavior)