Gyro not sensing angular change

Hi guys,

So we have wired up our Gyro and used the default FRC project to test it. No visible angular change (delta or absolute) is shown, except for the standard drift. We have both explicitly taken the microchip and turned it and screwed it down to the wood electronics board of the chassis and turned the chassis. No angular change is recorded other then the usual drift. (I should mention that we did place it as close to the center of rotation as possible on our robot)

We originally thought the wires connecting to the Analog Bumper might have been placed backwards (signal to the ground, ground to the signal) which would have explained the drift error we saw, but no signal. We also triple checked the wiring diagrams for the microchip and that they were placed in the right positions. We did not wire the temperature, since that was described as just an “extra” for it was already compensated for within the microchip.

We then thought the solder might have been bad so we went back and tried our best to re-solder anything that didn’t look like it took 100% (just the signal connection to the microchip).

We then also replaced the Analogue Module and Analog Bumper with spares for sanity. We also double checked the jumper configuration on the Analog Bumper (we tested both the outside two pins and the inside two pins - the outside two worked).

We then took a multimeter and checked connectivity between the Power Distribution Board and the Analog Bumper, then the Analog Bumper itself, and then checked the resistance between the input wires on the microchip and the output wires. We even made our best effort to only touch the solder to ensure the solder was good.

After all of our tests all of the wiring looked good. We also double checked the configurations on the programming. They were all right: Slot 1 and AI 1. The gain might not be perfect (currently at 0.0125), but we should still see an angular delta, just not scaled 100%.

We experienced the same readings from both the LabView FRC default project code and the Gyro Example.vi.

I’ve attached pictures of the wiring to see for yourself. Maybe I’m crazy but the last thing I’m thinking is the microchip itself is bad. We tried looking for the Gyro from last year, but we think we misplaced it. We looked at Digi-Key and SparkFun, but at this point we’d like to try and fix this issue first before going out and having to buy a replacement. We’d actually like to avoid it completely simply because of the documentation and support for the current Gyro.

We definately have all of the updates installed properly for LabView and the Driver Station. The cRIO was re-imaged originally with the latest (v19) update and the camera works (except for the gyro) as well as the drive train code.

So at this point we’re open to any ideas.

Thanks,
Ryan

2854_Gyro_Wiring.pdf (233 KB)


2854_Gyro_Wiring.pdf (233 KB)

Try probing the +5 to see if you have power to the gyro. Then probe SIG with a multimeter when still. It should be somewhere reasonably close to 2.5 volts (anything between 2 and 3 is normal, anything above 1 means it at least has power) then spin the robot, so you can see the multimeter, at a fairly constant speed and see if you have any change. You could also use the cRio analog input as a multimeter, and graph the analog channel output on the front panel. It should be at the centerpoint when not moving then go up or down when moving. Try going as fast as you can, and see if you can see a difference. Also, if you click a wire when the code is running, you can probe the wire to see the value, helpful when debugging problems like this.

Yeah, we already used the multimeter to check connectivity but we can’t probe it because its shielded. I also probed the angle wire in LabView coming out of “Gyro: Get Angle” and it was the steady drift. Anywhere between -0.1 and 0.1 (usually within the hundredth decimal place)

Ryan

You can open an analog channel and read it, then output that to a graph on the front panel. The Gyro Angle is multiplied by the gyro gain, which is low. Try reading the raw analog channel instead of the gyro. That will tell you a raw analog voltage, then spin the robot really fast (max speed, if possible), and you should get a change.

Your amazing. Viewing the direct voltage with the graph shows that it is indeed working. I’m going to continue to debug and check back to this thread.

You must have the gain too low if the gyro isnt working but the analog is. After opening the gyro in Begin.vi, you can place a Gyro Set Gain in between the Open and Set Refnum. There, you can set the volts per degree per second. This defaults to… 0.0125, if you have a more sensitive gyro you can up this until you get the correct # of degrees.

That doesn’t seem to be the issue. Actually, the second time I ran the code after I setup the direct voltage graph, the rest of the values worked correctly.

I have no idea why. Previously, and i am absolutely sure of this, the incoming scaled value would not change for any movement but it would recognize drift. We confirmed this by having myself look at the probe from the gyro delta and absoute in LabView while someone actually took the chip itself (not screwed down) and turning it both slowly and fast. There was clearly no change.

So now it suddenly worked and I absolutely didn’t do anything that would have fixed it.

Either way, I’ll post back if I figure out why it suddenly worked or if it bricks again.