Showing posts with label Sensing. Show all posts
Showing posts with label Sensing. Show all posts

Wednesday, February 29, 2012

Sensing sensors properly sensed....

All of the LEDs and phototransistors are now all completely installed in the wood-recessing blocks and completely soldered and connected to the sensing PCBs! Check out the photos that follow to see how the foosball table will roughly look during presentation.

Top of table showing all LED's and phototransistors installed
 in the wooden recessing  blocks along the parameter of the
table. Also pictured (right) is the LED/PT testing circuit we built to
test the sensors manually.


Another photo of the top of the table.


Furthermore, fabrication of the support table is complete and it's now in our lab! Thanks to Joe's dad for his expertise in carpentry and skillful implementation of our adjustable leg design! Pictures follow showing how the table will be setup once the slides arrive from Macron Dynamics.

Joe (left) and Ahmed (right) thinking about mounting heights of
equipment and a method of coupling the tables together during game-play.



Up close view of motor support table. The lateral motors will be mounted
horizontally on the support table.


Joe looking at the semi-finished product.


The PCBs are now mounted underneath the table and each of their multiplexer outputs has been marked and made ready to be connected to the BeagleBone. Once the BeagleBone is connected to the addressing pins of the PCBs and all the PCBs are connected together (via J3 and J4 connectors on the PCB to send power and the multiplexer address to each board), the BeagleBone will be used to automatically step through each sensing pair of LEDs/PTs along the parameter of the table and tell if there are any issues with sensors. The photos below show the interconnection of PCBs and wires coming from the output of each board to be used. This 'Z' output from the multiplexer (red wire) is used to tell the BeagleBone the location that the ball was last seen. See my earlier post about the sensing method if this is unclear.


Bryan (legs on the left), Khalil (middle), and Joe (right)
mounting the sensing boards along the bottom of the table
using 3M Command strips.

Mounted PCBs and multiplexer outputs (red wires) running
 to BeagleBone for testing the sensors.

Detailed look at where the 'Z' multiplexer output will go to the
BeagleBone. Later, there will be a hole made in the side of the table
to run the wires to the BB. 


Coming up:
1. A video of the BeagleBone output as we instruct the processor to test the sensors around the table.
2. BeagleBone motor control video.

Also, Team Foosbot will be giving a presentation on March 8th to show the latest progress to the faculty at the College of Engineering at the University of Akron. Wish us luck as crunch time rolls around!

Tuesday, February 21, 2012

Wires, wires, wires!

Last night, Bryan and I finished soldering one complete side of phototransistors and LEDs to the recessing blocks on the foosball table. From the pictures, it's easy to tell that we have a color scheme going on. If you read our post about the sensing boards, then you may already have some intuition about the color-coded nature of the wires.

Ahmed (left) and Bryan (right) working on a second set of
sensors along the recessing block two days ago.

With all ~400 sensors connected, it would be a daunting task to debug the system if one of the sensors isn't working. Finding that one problematic LED or phototransistor would be a nightmare. I came up with a decent algorithm for color-coding the wires to find out which one is "problematic". To debug our (16) groups of sensors, we need to first find which pair of LED/PT is in error. To accurately do this without a processor, I split the (16) groups (per board) into (4) groups and assigned each LED and phototransistor a number (from 1 to 16) associated with its position along the parameter of the table. Depending on the integer number that represents the LED/PT, there is a special color assigned to it. If it is an LED we're looking for and its number is even, said LED will have a certain color on all boards. If the LED has an odd integer associated with it, there is another distinct color assigned to it. Similarly for the phototransistors, there is an even and odd color assignment. This way, we have a 100% chance of finding which LED/PT is bad in the event of a hardware failure. Also, (16) groups are now represented with just (4) colors.

Recessing sensor block with connected LED/PT pairs.
To test, we connect the LED/PT pairs to the sensing boards (seen underneath the table in the pictures) and connect the phototransistor's pull-down resistor voltage output to an oscilloscope. Based on the address that we read, there will be a voltage output associated with it. If the voltage is at 5V, we know the LED in the pair is emitting and the phototransistor is conducting. From here, we move on to test the next pair in the set.

LEDs and phototransistors connected to
the sensing boards (underneath the table).

One completely connected side of (4) sensor sets.

That concludes this update. Later, we will program the ARM processor to test each pair by checking the voltage at each multiplexer address.

Coming up:
1. Video of connection and testing of sensing pairs on the other side of the table.
2. Video recording of testing the "kicking" motors.
3. Video recording of testing the motors responsible for lateral motion.
4. MORE UPDATES!

Wednesday, February 15, 2012

Sensing PCB Design and Scheme explanation.


Pictured above is one (1) of twelve (12) PCB's furnished with our sensing scheme (comparators, resistors, a multiplexer, and a demultiplexer). These twelve boards will be connected together and used to detect the position of the ball as follows:

The LED's are pulsed in groups along the edge of the table. Corresponding to each LED is a phototransistor that sits across the table. When the LED is energized, the voltage across the phototransistor circuit changes. If the ball is to interrupt the infrared light going across the table, the voltage across the phototransistor circuit drops. This voltage (across the pull-down resistors in the phototransistor circuit) is compared with a reference voltage used in the comparator. The signals from all of the phototransistors are multiplexed and sent to the processor (BeagleBone Rev. A3), which demultiplexes said signals and locates the position of the ball based on the address of the phototransistor that detected the ball.

This process is repeated for sixteen (16) groups of phototransistor and LED pairs along the edges of the table to locate the position of the ball at a power-efficient and extremely fast rate. Once the position of the ball is found multiple times, a trajectory can be calculated and the position of the foosmen can be adjusted according to the future position of the ball.

Stay tuned for more updates related to the operation of the ARM processor on the BeagleBone development board as well as how motors will be used to position the foosmen and kick the ball!

-Khalil
Project Leader, Team Foosbot