|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Getting speed from an encoder
I want to be able to get the speed of the robot from a quad-encoder what would i have to do to convert the ticks into a speed unit?
|
|
#2
|
|||
|
|||
|
Re: Getting speed from an encoder
Code:
private double[] getRPM()
{
double rpm[] = new double[2]; //Declares an array of integers which the function will return.
currentTime = time.get(); //Sets currentTime to the time calculatged from FPGA
rpm[0] = leftEncoder.getRaw() * 16666666.666666 / currentTime; //dAngle*(60000000us/360deg)/dTime = RPM
rpm[1] = rightEncoder.getRaw() * 16666666.666666 / currentTime; //dAngle*(60000000us/360deg)/dTime = RPM
leftEncoder.reset(); //Resets the left wheel encoder.
rightEncoder.reset(); //Resets the right wheel encoder.
time.reset(); //This resets the timer.
return rpm;
}
|
|
#3
|
|||
|
|||
|
Re: Getting speed from an encoder
Great thanks, will try this out soon
Edit: where do you get the currentTime function? Last edited by ProgrammerMatt : 14-01-2012 at 23:37. |
|
#4
|
||||
|
||||
|
Re: Getting speed from an encoder
i am not sure if this will give the same result, but the WPI libs already have an encoder class, and it can give rate in distance. theoretically this is the same, but what ever. im not sure if you are writing your own, but, if you want just he encoder funtions, they are as follows.
Encoder.setDistancePerPulse(x); Encoder.getRate(); not sure what you wanted but i hope i could help ^_^ good luck ^_^ |
|
#5
|
|||
|
|||
|
Re: Getting speed from an encoder
Quote:
![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|