Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   FIRST Tech Challenge (http://www.chiefdelphi.com/forums/forumdisplay.php?f=146)
-   -   [FTC]: FTC Encoder Program with Distance (http://www.chiefdelphi.com/forums/showthread.php?t=131646)

FRC Team CC 21-12-2014 13:24

[FTC]: FTC Encoder Program with Distance
 
Hello,

We are trying to program our Autonomous portion using distance with
TETRIX DC Motor encoders. The following is our program:

Code:

#pragma config(Hubs,  S1, HTMotor,  HTMotor,  HTServo,  HTMotor)
#pragma config(Motor,  mtr_S1_C1_2,    leftBottomDrive, tmotorTetrix, openLoop, encoder)
#pragma config(Motor,  mtr_S1_C4_1,    rightBottomDrive, tmotorTetrix, openLoop, reversed, encoder)

//*!!Code automatically generated by 'ROBOTC' configuration wizard              !!*//

task main()
{
        float diameterOfWheel = 3.96;//set the diameter of wheel to 3.96 inches
        float circumfirence = diameterOfWheel*PI;
       
        int distanceToGo = 12;//we want the robot to go one foot, or 12 inches
        float rotations = distanceToGo/circumfirence;
        int degreesToTurn = rotations*360;
        int encoderCounts = degreesToTurn*4;//encoder counts are in quarter degrees, so 4 encoder counts = 1 degree
       
        nMotorEncoder[leftBottomDrive] = 0;//motors do not run
        nMotorEncoder[rightBottomDrive] = 0;
       
        nMotorEncoderTarget[leftBottomDrive] = encoderCounts;//tell motors to go a foot
        nMotorEncoderTarget[rightBottomDrive] = encoderCounts;
        motor[leftBottomDrive] = 50;//go at power 50
        motor[rightBottomDrive] = 50;
       
        while(nMotorRunState[leftBottomDrive] != runStateIdle)
        {
               
        }
        motor[leftBottomDrive] = 0;//turn motors off
        motor[rightBottomDrive] = 0;
}

When testing the program, the motors drove unlimited instead of stopping after one foot.

Regards,

The Charging Champions

Sasha 22-12-2014 20:29

Re: [FTC]: FTC Encoder Program with Distance
 
In pragma, change
#pragma config(Motor, mtr_S1_C1_2, leftBottomDrive, tmotorTetrix, openLoop, encoder)
to
#pragma config(Motor, mtr_S1_C1_2, leftBottomDrive, tmotorTetrix, PIDControl, encoder)

(or just check the box "PID control" in Motor and sensor setup). Obviously, you need to do this for both motors.

FRC Team CC 23-12-2014 12:48

Re: [FTC]: FTC Encoder Program with Distance
 
Sorry, we forgot to mention that we tried this. It worked on the right wheel, but on the left wheel, it was jerking around and did not move as smoothly.

Is this a building error or a wiring error?

Thanks,
Charging Champions
FTC Team 8660

Sasha 23-12-2014 15:24

Re: [FTC]: FTC Encoder Program with Distance
 
I'd guess a building error, but can't say without seeing the robot. Or maybe the encoder cable is damaged? if these are Tetrix motors, the encoder cable is very fragile.


All times are GMT -5. The time now is 17:14.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi