Making a Sensor Board

Seasons over and the teams getting down wth sensor now that we have free time and a robot without a single sensor on board so i wanted to add every possible sensor on board not for any practical useful value but to learn and get the hang of all the sensor avaliable through FIRST and all we can do with them the problem is we have limited expience with sensors and the programming of them so can people tell me what different sensor are for?

like the potentiometer and the yaw sensor and gyro sensor(dunno if there one in the same) and the current sensors and optical and so on.

so what there useful for and anything u feel is important about them would be appreciated

-Osc-

Potentiometers (pots) are Analog, and measure angle.
Yaw rate sensors are analog and tell you how fast it’s turning. This is the same as a gyro.
the Banner sensors are Digital (2 values) and tell you light or dark.
The pressure sesor from TI is how much pnumatic pressure there is.

I think this is a great idea for the offseason. My team’s robot does not have any sensor’s either, so it would be a great learning experience for yourself, your team, and especially your rookies to do this. It would even get your programmers some good experience with sensors (something i definitely need) I might even look into setting up something like this.

What exactly are potentiometers used for in robotics? I’ve heard of teams using them but I don’t really know what for.

A potentiometer controls the amount of resistance of a circuit. The higher the resistance setting, the lower the analog reading of that input (or maybe otherway around). Teams use this to figure out the angle that the potentiometer is turned to. For example if a rotatable device is connected to the potentiometer, as the device rotates the resistance and the input value would change.

Ok, it all makes sense now, thank you.

Quick example: Volume knob on a radio is a pot

Yeah, I knew what a potentiometer is, I just didn’t know what applications it had for a robot. Thanks for the info though.

any other sensors? and i do mean ALL the sensors that i could find in my local kit of parts, we have sensor from back in 2001 till 2004 so i guess we have alot to work with. can anyone help? or a place i could get help thats not the spec sheets of first

I’m a programmer, so pardon me.

We used pots for finding the position of various parts. They’re also used in joysticks and the like.

Encoders are used to find if something has passed it. Most of us use the banners. What we did was put reflectors on a black axle adaptor and used 2 banners to see if it was high or low. see the white paper on quadrature encoders.

Gyros can measure meassure angle of your robot (or something on it) if you use code. You need an accumulator to add the value at a regular interval.

There are the touch sensors, but I hope those are obvious. (Digital)

There are actually 2 pressure sensors. The one you MUST use is digital. The one you can use is analog. The former is turn compressor on/off. the latter is actual pressure.

the voltage sensor is important if a motor has a high stall and/or if it can break your robot. Analog. if it crosses a certain threshold (High or low), kill the motor.

The banners are also used for line following (on or off line).

Anything else I missed?

Just the newer one, Infrared. The IR sensors search for an Infrared beacon and travel towards it. I don’t know how these work, however, because my team did not use them this year.

What is important to remember is that the Operator Interface and Robot controller don’t read resistance, they read voltage. So when connecting a potentiometer you are really reading the voltage drop between the the wiper and the terminals A or B.

Ascii Art time:


|~~~~~~~~|~~~~~~~~~~|
A        W          B

You would connect positive to A and Ground to B. The input to the controller would be the Wiper (W).

You can turn the pot’s wiper, sometimes called the slider and vary the resistance between point A and W. To calculate the voltage drop you use Kirchoff’s Voltage Law.

R1 = Resistance between A and W in Ohms
R2 = Resistance between W and B in Ohms
V = 5V, which is supplied by the OI or RC
X = voltage drop across A and W

X = V * (R1/(R1+R2))

Example:
You are using a 100K potentiometer and it is turned about 3/4 of a turn. Let’s assume it is a single turn 360 degree pot. You whip out your multimeter and read 75K across A and W and 25K across
W and B. Using Kirchoff’s Voltage law the equation would be (X=5*(75K/(25K+75K))) which would equal 3.75 volts.

What does this mean to the programmers?
That voltage is sent through an ADC or Analog to Digital converter. The ADC has a resolutiuon of 10 bits (2^10 = 1024). That 5 volt signal is represented as a number from 0 to 1024. So what would our 3.75V potentiometer read like in your program?

V = input voltage
x = digital value in base 10

x = (V * 1024)/5

So for our 3.75V example: (x = (3.75 * 1024)/5), which equals 614. Your program would read 614 as the input if your 100K potentiometer was at 3/4 of a turn.

Not bad. I just have it print the values to calibrate. And assume that it does it linear, etc. You know, 0 is all the way Clockwise, 0x400 is all the way counterclockwise. (or whatever), and 0x200 is halfway.