Handle 40 amps of continuous current for motor output Operate in normal room temperatures of 15 degrees Celsius to 32 degrees Celsius 2.3.2.3 Sensor Aggregation Hardware The sensor aggregation hardware is responsible for interpreting the data from the sensors and converting it into useful data for the central processing unit. The sensors that the aggregation hardware is responsible for interpreting include the four encoders measuring the lateral position of the AI opponent and the four encoders used to track the lateral position of the human controlled puppets. The aggregator takes in the encoder data and converts it to a serial output to be read in by the computer. Summary of requirements: i/o ports for 8 optical quad encoders 1 serial output port for computer interface 2.3.3 Actuators In order to meet the design requirements of a semi-automated foosball game that is challenging to an average user, the system must be built with high-quality and mechanical subsystems. In this section the design requirements and specifications for mechanical actuators are analyzed. Prior studies have shown that an accurate estimate for the maximum speed of a foosball during a regular match is 10 meters per second . Using this value and relevant dimensions from a regulation foosball table, the minimal necessary response time and speed of the actuators can be computed. Following is a diagram of a standard foosball table. The colored ovals are the position of the puppets, with colors corresponding to each player’s team. This project will control four of the rods (one player) in both the linear direction and the rotational direction. The table’s dimensions are 120cm long, 68cm wide, with a range of 8 cm to 15 cm perpendicular distance between rods. The goals are 20 cm wide. Each player controls thirteen players on four rods. Figure 2.3.3.1: Relevant dimensions for calculating actuator response times Lateral Motor Requirements From the measured dimensions of Figure 2.3.3.1 and the speed of 10 meters per second as an approximate maximum speed for the ball, the speed that will be required to move in the lateral direction can be computed. This value will ensure that the electric motors used in the automated foosball table will be able to keep up with the gameplay. However, the requirement calculated for the motors using ideal values is unrealistic to actually
then this click is counting up and the accumulator in the control board must be incremented. If the B signal leads the A signal, then this is counting down and the accumulator from the board must be decremented. When at any point the control system needs to know the current position of the control rod, it will access the accumulator value that is being modified by the control boards. Figure 3.1.2.1: Quadrature Signal A very fast embedded processor will be required to keep track of the encoder’s values, likely this board will use a processor like the Arduino or the Cypress system’s processor. This processor would be fed the input values and keep track of different counters. The quadrature method is very common and there are numerous products of varying quality which all output the same signal. This opens up the option of many different encoders to purchase for this subsystem. A quick comparison of products follows. MakerBot Linear Encoder v1.2 The MakerBot line is built for roboticists. The core of this board is the AS5306 chip. This particular board is set up to be a linear encoder, as opposed to all other options here which are rotational encoders. This method works by using a magnetic strip which is moved over a static sensor which reads the magnetic field changes. It takes this value and creates the Quadrature encoding to send to the PCB. This is convenient for the foosball table application because it would be easy to attach to the linear actuator system. However, for obvious reasons, this would not be possible to use for rotational encoding. Website: Features and Specifications Resolution: 15 microns Voltage: 5V Length: 12 inch magnetic strip Cost: $50.00 US Digital Miniature Optical Encoder US Digital is a well-known and well trusted distributor of electronics. The applications for this tiny encoder chip are well beyond just the industrial section, including hobbyists and roboticists. This option is a rotational optical encoder, meaning that it has a shaft which
(bold shows guaranteed source) Encoder for Linear Motion Sparkfun 1/28/13-2/4/13 Tactile Sensor for Rotational Motion Sparkfun or Skycraft 1/28/12- 2/4/13 TALON Motor Controller AndyMark or Sparkfun or Skycraft SPIKE Relay AndyMark or Skycraft PWM Wire Skycraft 1/13/13- 1/21/13 USB Cable Sparkfun 1/13/13- 1/21/13 18 Gauge Wire Skycraft 1/13/13- 1/21/13 The electronics system is made up of the processors and wiring that goes between the RCB, camera and central processor. Also included in this section are the sensors that will be needed to create the table state estimation. The common distributors for this area that the research group has looked into includes Sparkfun Electronics, ServoCity, McMaster, AndyMark, US Digital and some local distributors like Skycraft and used parts from Amazon or Ebay. The primary deciding factor in the acquisition decision is the price, since it has been decided that used parts will be acceptable for this prototype setup. Table 6.2.2: Necessary electronic components and the sources to acquire them from. Luckily a number of the electronic parts have been donated or are already owned by the group. These electronics will not be included in the acquisition plan. A summary is in Table 6.2.2. RCB Parts Acquisition The custom made PCB for this project, called the Rod Control Board (RCB), will require a number of subcomponents that will be soldered to a printed silicon board that will be ordered from 4PCB with a student discount to make it within the budget of the project. The board will be designed using the Eagle software before sent to 4PCB. The board is made up of 26 separate types of components which will all be soldered to the board. The 26 parts can be seen in the bill of material and will all be acquired through Sparkfun during the first week of the Spring Semester so that breadboard based prototyping may begin quickly. 6.2 BOM Below is the Bill of Materials for the project. The first table is the BOM for everything except the RCB parts, and the table after that considers only the RCB. Subsystem Design Decision Cost Quantity Total Cost Acquired Our Cost
Actions Tactile “up” sensor depressed Expected Results Rod should stop rotating Basic stay in “blocking” mode test This test will be used to test what will happen if gravity or an opponent’s kick rotates a rod out of the “blocking” position. When this happens, the rod should return to the “blocking” position. Starting Setup Tactile “blocking” sensor depressed Move to “blocking” state command sent Actions Tactile “blocking” sensor released Expected Results Rod should rotate back to the “blocking” position in slow movement mode Actions Tactile “blocking” sensor depressed Expected Results Rod should stop rotating Move to “up” state from “blocking” state This test will simulate a need to raise a row of puppets in preparation for a kick by another rod. Starting Setup Tactile “blocking” sensor depressed Move to “blocking” state command sent Actions Send “up” command Expected Results Rod should rotate back to the “up” position in slow movement mode Move to “blocking” state from “up” state This test will simulate a need to lower a row of puppets in preparation for to block an opponent’s kick. Starting Setup Tactile “up” sensor depressed Move to “up” state command sent Actions Send “blocking” command Expected Results Rod should rotate back to the “blocking” position in slow movement mode Move to “up” state from null state
This is an important state to make sure the microcontroller will not lose a command if sent while performing another action. It will test what will happen if a command to go to “blocking” mode comes in when moving back to the “up” position when gravity moves the rod out of position. Starting Setup Tactile “up” sensor depressed Move to “up” state command sent Tactile “up” sensor released Actions Send “blocking” command (before move to “up” is complete) Expected Results Rod should be rotating to the “up” position Rod should then begin rotating to the “blocking” position in slow movement mode (before move to “up” position is complete) Kick from “up” state Basic test of kicking. Starting Setup Tactile “up” sensor depressed Move to “up” state command sent Actions Send “kick” command Expected Results Rod should move forward in high speed mode Actions Depress “blocking” sensor Expected Results Rod should move backwards to the “up” position at slow speed Actions Tactile “up” sensor depressed Expected Results Rod should stop moving Kick from “blocking” state Basic test of kicking, but now in blocking mode Starting Setup Tactile “blocking” sensor depressed Move to “blocking” state command sent Actions Send “kick” command Expected Results Rod should move backwards in high speed mode Actions Depress “up” sensor Expected Results