Hi everyone,
I’m having a problem with some XBee units I have and I was hoping someone here might be able to offer a solution for me as I am stumped.
Anyway, the details are this…
I have a little robot using an ATmega2561, a XBee series 2, a couple of stepper motors and an LCD screen. All running on 8 AAA batteries that make up 9.6V.
As the ATmega2561 sends signals at 5V and the XBee is only 3.3V tolerant I have a simple step down circuit that converts the 5V to 3.3V before it reaches the XBee.
I want to be able to send and receive information and commands from this robot wirelessly using a laptop. To do this I have one series 2 XBee on the robot and I have another mounted on a XBee explorer board connected to a laptop, with X-CTU, via USB.
The XBee unit on the robot is configured with the
ZigBee Router/End Device AT firmware
PAN ID: 234
Node Identifier: ROUTER1
and the XBee attached to the laptop is configured with the
ZigBee Coordinator AT firmware
PAN ID: 234
Node Identifier: COORDINATOR
Both units are setup for a baud rate of 9600 and the ATmega2561’s USART is also configured for this rate.
According to the data sheet, the digi knowledgebase and various other things I’ve read online all you have to do to get a network going is set one unit as the coordinator, one unit as an end device, give them proper names, the same network number and turn them on. You don’t even need to specify the network number if the coordinator is going to be the only one in range but I did just to make sure. After doing that the two modules should automatically associate with each other and form a network.
My XBee’s however are not doing this.
Using AT commands typed into the terminal window (ATND and ATAI) in X-CTU I can see that the coordinator can see the router however they will not assoicate with each other and I can’t figure out why.
I have been emailing the support guys at Digi for almost 2 weeks now and nothing they have suggested has solved the problem.
I have specified the destination high and low addresses of each module to match the source destination high and low address of the other module but that didn’t work.
Both modules have the same baud, parity and packetization settings.
To test if the signal is working I am running a simple program on my ATmega2561 that sends a byte every 250ms to the XBee. This signal has a single start bit, 8 bits of data, no parity bit and a single stop big. Using a digital ossciliscope I can see this to be correctly output from the micro’s USART. I can also see the signal being successfully stepped down to 3.3V from 5V and successfully appearing on Pin 3 (Data In) of the XBee module.
If you have read this far I appreciate it and I hope you can shed some light on this problem.