xbeepro gyroscope sparkfun noise problems

Hi !!

I´m happy to join in this forum, but worry about my project. I need some help of you. I put a xbee pro with a microcontroller pic to comunicate via serial, and a gyroscope mlx90609 in spi mode to the same microcontroller in a single board to send data to other board that have a other xbee that receive data with ps2 conector in a pc. The problem is the signal that I receive is corrupted, increment at each 500 mili seconds , not stablish, then, I remove both xbee and connect directly rx to tx of the two boards and the signal is fine, I spin the gyro module and I can see the value changing smoothly when I stop, the value keep at I start moving again normaly. I put the xbee again in the circuit and make tests with large cables to the xbee and I try to protect a gyro module with sheet metal but nothing solve this problem.

Please helpme .

Common power supply for gyro and XBee?

ground loops?

thanks to repply!!!

no ground loops, the power supply is 5v for a Gyro Breakout Board - MLX90609 - 300 degree/sec and a pic18f2620 and 3.3v regulated with lm1117 to xbeepro the 5v used for a gyro and pic is the same that is regulated to 3v3. follow my schematic.

http://i762.photobucket.com/albums/xx26 … _accel.jpg

thanks stevech

how is the data corrupted? Protocol fault? Noise on data from power supply, ground loop, Vref for A/D, 2.4GHz getting on to the analog signal?

How you can see in the schematic I use accelerometer and gyro to comunicate with the microcontroller. the microcontroller build my protocol and send to xbee,I don’t know about ground loop, I look for in the internet I saw that is a circuit to protect against noise or seam things. I don’t use analog signal only gyro. My protocol not fault, whem I receive the protocol in other site just gyro signal is corrupted, is increase step by estep the value. but when I remove the xbee and put wires in the both transmitter board to the receptor board rx and tx, this work fine.

the protocol looks like this,

milisec accelx accely gyro chksun eof

xxxxx xxxxx xxxxx xxxxx xxxxx xx

Is my circuit the ideal configuration? I think that is a poor designe. where can I start to designe a good circuit for this solution? Must the power supply be separeted?

Hi there!

Solved, I just put in sleep mode the gyro while transmit with xbee then wake up the gyro after the transmition done. this work well now, thanks.

Doglao:
Hi there!

Solved, I just put in sleep mode the gyro while transmit with xbee then wake up the gyro after the transmition done. this work well now, thanks.

that kind of sounds like you had a flow control issue.

Yes, my source had problems with flow control, but i fix with this sleep mode, the gyro save the last state when I transmit the data, this is good for now because the motion that I have to read is not so fast, but is open a discussion to fix the real problem as interference, noise or other thing related with the regulator , pcb designe.

thnxs

                 gyro_sleep();
						printf("X%010Lu%05Ld%05Ld%05Ld%06Ld%03u%c",
							LogOffline[i].miliseconds,
							LogOffline[i].x_axis,LogOffline[i].y_axis,LogOffline[i].z_axis,
							LogOffline[i].gyro,checksum(LogOffline[i],sizeof(LogOffline[0])),RETX);
						dis_gyro();
void gyro_sleep(){
	en_gyro();
	spi_writes(SLPG);
}
void en_gyro(void) //habilita gyro para receber dados
{
   output_low(CS_GYRO); //coloco pino cs do gyro a zero
}
void dis_gyro(void)
{
   output_high(CS_GYRO); //coloco pino ss do gyro a 1
}