Available at: 3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad...

24
ailable at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode

Transcript of Available at: 3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad...

Page 1: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program optical quad encoders in autonomous mode

Page 2: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program optical quad encoders in autonomous mode

Performance Objective: Given the components of a VEX robotics design system program optical quad encoders in autonomous mode to have the robot travel in a two foot square.

Enabling Objectives: explain the purpose of an optical quad encoder explain how an optical quad encoder operates draw a flow chart for using an optical quad encoder program an optical quad encoder

Page 3: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Optical Quad Encoder

An encoder is a digital sensor whose signals can be used to measure and define rotational movement

A quad encoder has two outputs, typically called the A Channel and B Channel.

These outputs are out of phase with one another and are used to determine direction of rotation (CW or CCW)

Page 4: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

How does it work? The encoder works by shining light onto the edge of a disk

outfitted with evenly spaced slots around the circumference As the disk spins, light passes through the slots and is

blocked by the opaque spaces between the slots As the disk rotates, the encoder detects and counts the

number of slots light has passed through (pulses) determining distance traveled and direction of rotation

Page 5: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Optical Quad Encoder

The encoder counts pulses and keeps track of the number in the variable name that you set for the encoder

1 full revolution of the encoder is 90 pulses

If you program a motor to turn for 90 pulses of an encoder, it will turn one revolution

Page 6: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Encoder Resolution The number of pulses per revolution of the encoder is its

resolution If the encoder is turning faster than the motor, the

resolution will be increased, if the encoder revolves twice (180 pulses) for one wheel revolution, you can be more accurate with the encoder

The resolution can be increased by putting the encoder on a shaft that is spinning faster than the shaft on the motor (gearing up)

The optical VEX quad encoder can detect up to 1,700 pulses per second, which corresponds to 18.9 revolutions per second

Page 7: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Optical Quad Encoder

When you drag an Optical Quad Encoder block into the Programming Window, the Optical Quad Encoder dialog box appears, allowing you to choose one of four commands for the encoder function to process:

Page 8: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Programming a Quad Encoder

The Start option tells the encoders to start counting encoder pulses

The Preset option allows you to set the encoder to a fixed value or to the value of a variable

The Get option allows you to store the feedback from the encoder into a variable

The Stop option tells the encoders to stop counting encoder pulses.

It is important to stop your encoders when they are not in use to keep from overloading your system

Page 9: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Programming a Quad Encoder

Select the Interrupt Port number for the A channel that corresponds with the port on the Vex controller

Select the Input Port number for the B Channel that corresponds to the port on the Vex controller

Use Invert Direction to reverse the positive direction of rotation

Page 10: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Flow Chart a Quad Encoder

Draw a flow chart for a program that will turn two encoders on, set preset value to 1, and begin to count the pulses

If the encoders are less than a certain value, then turn the motors on, once the encoders reach that value, the motors should shut off

Page 11: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Flow Chart for Quad Encoder

Start

Encoders

End

Drive Forward

Stop Motors

Yes

No If encoders < X

Page 12: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program the robot using the quad encoders

Using the prepared robot, plug the two quad encoders into appropriate ports on the microcontroller

Begin a new competition project in easyC Configure the project microcontroller accordingly Define two global variables for the two quad encoders Program the robot in a driving mode of your choice in

the Operator Control tab Go to the Autonomous tab to being programming the

quad encoders

Page 13: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program the robot using the quad encoders

Insert a start block for each of the encoders

Insert a preset block for each encoder, presetting each encoder to 1

Page 14: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program the robot using the quad encoders

Insert a while loop for 1==1

Inside the while loop insert a block to get the value for each variable defined for the quad encoders

Page 15: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program the robot using the quad encoders

Insert an If statement The If statement should

read “encoder1 && encoder2 <= 90”

“Encoder1 and encoder2” are the variable name for each encoder

“&&” means “and”, both variables must be less or equal to 90

Insert two motor modules to make the move forward

Page 16: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Program the robot using the quad encoders

Insert an Else statement that stops the motors once the value in the if statement has been reached

Page 17: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Download the code

Build and download the code to the microcontroller Use the Competition Switch Simulator to test the

program The robot should turn the motors/wheels one

revolution and then stop If your code works show your instructor before

proceeding to the next slide If your code does not work, go back through the lesson

and see if you can determine the cause

Page 18: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Move the robot 5 feet

With the quad encoders you can program the robot to move a predetermined distance

This can be done by adjusting the number of pulses the motors move

How many pulses will make the robot move 5 feet?

Page 19: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Travel Distance

Recall the 90 pulses equals one revolution

We can determine how far the robot moves with one revolution of the wheels

The wheel moves the distance of its circumference for each revolution

What is the circumference of the wheels?

Page 20: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Calculating Circumference

Circumference(C) equals the diameter(d) of the wheel times(x) pi(3.14)

C = d x 3.14 Measure the diameter of the a wheel on the

robot Multiply that measurement by 3.14 You now have the circumference of the wheel

Page 21: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

If a wheel is 5 inches in diameter, its circumference is 15.7 inches

If I wanted to move forward 15 feet (180 inches) I would divide 180 inches by 15.7 inches (the circumference) to calculate the number of revolutions required, 11.46

180” / 15.7” = 11.46 rev Then multiply 11.46 times 90 (number of pulses in one

revolution) to calculate the number of pulses, 1031.8411.46 rev X 90 pulses = 1031.84 pulses

How many pulses?

Page 22: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

You Calculate

If you wanted the robot with the encoders to travel 5 feet, how many pulses should it go?

Modify your program code to have you robot move forward 5 feet

Page 23: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Finished! If your robot moves forward 5 feet and

then stopped, your done! Show your instructor your success

For more technical data on the optical quad encoder, visit: http://www.vexforum.com/wiki/index.php/Optical_Shaft_Encoder

Page 24: Available at:  3.2 – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.

Available at: www.etcurr.com Lesson 3.2 – Program Optical Quad Encoders in Autonomous Mode

Challenge

Now that you know how to program the optical quad encoders . . .

Draw a flow chart that utilizes optical quad encoders to have the robot travel in a two foot square

Program the robot to travel in a two foot square When you have completed this challenge, have

your instructor check this activity off on the performance evaluation