Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   TalonSRX encoder confusion java (http://www.chiefdelphi.com/forums/showthread.php?t=146423)

Jeringo 29-03-2016 21:43

TalonSRX encoder confusion java
 
I am getting a little confused on encoders for the TalonSRX.
i am trying to do three things, first thing is the software limit. How exactly does it work. we have a shooter that tilts the upmost position it -1000 and all the way to the floor is 3500 i've tried swapping the values but it only lets me tilt the shooter down. the second thing is how to i reset the encoder or set it to 0? and the third thing is how to i tell the motor to go to a certain position?


Code:

Tilt.setFeedbackDevice(FeedbackDevice.AnalogEncoder);
Tilt.setForwardSoftLimit(-1000.00);
Tilt.enableForwardSoftLimit(true);
Tilt.setReverseSoftLimit(3501.00);
Tilt.enableReverseSoftLimit(true);

int pulseWidthPos = Tilt.getPulseWidthPosition();
int pulseWidthUs = Tilt.getPulseWidthRiseToFallUs();
int PeriodUs = Tilt.getPulseWidthRiseToRiseUs();
int pulseWidthVel = Tilt.getPulseWidthVelocity();
FeedbackDeviceStatus sensorStatus = Tilt.isSensorPresent(FeedbackDevice.CtreMagEncoder_Absolute);
boolean sensorPluggedIn = (FeedbackDeviceStatus.FeedbackStatusPresent == sensorStatus);


GRSICP 29-03-2016 22:25

Re: TalonSRX encoder confusion java
 
I don't know the answer to the questions about the limits as I have not used them yet. However, I can help with getting the Talon to a certain position.

Here is an example of initialization of a Talon:
Code:

armR = new CANTalon(1);
armR.setFeedbackDevice(FeedbackDevice.QuadEncoder); //Set the feedback device that is hooked up to the talon
armR.setPID(0.2, 0.001, 100, 0.00, 360, 12, 0); //Set the PID constants (p, i, d), you will need to do some tweaking to get these right

Here is the code needed to get the arm to a certain location:
Code:

armR.changeControlMode(TalonControlMode.Position); //Change control mode of talon, default is PercentVbus (-1.0 to 1.0)
armR.set(height); //height is the value you are looking to move to
armR.reverseSensor(true);
armR.enableControl(); //Enable PID control on the talon

A note on the reverse sensor line: in our case, the reading from the QuadEncoder was negative so we needed to both feed .set a negative value and use the reverseSensor method.

In terms of setting it to 0, here is the code we use:
Code:

talonName.setPosition(0);
I hope this helps!

Jeringo 29-03-2016 23:05

Re: TalonSRX encoder confusion java
 
Quote:

Originally Posted by GRSICP (Post 1564997)
I don't know the answer to the questions about the limits as I have not used them yet. However, I can help with getting the Talon to a certain position.

Here is an example of initialization of a Talon:
Code:

armR = new CANTalon(1);
armR.setFeedbackDevice(FeedbackDevice.QuadEncoder); //Set the feedback device that is hooked up to the talon
armR.setPID(0.2, 0.001, 100, 0.00, 360, 12, 0); //Set the PID constants (p, i, d), you will need to do some tweaking to get these right

Here is the code needed to get the arm to a certain location:
Code:

armR.changeControlMode(TalonControlMode.Position); //Change control mode of talon, default is PercentVbus (-1.0 to 1.0)
armR.set(height); //height is the value you are looking to move to
armR.reverseSensor(true);
armR.enableControl(); //Enable PID control on the talon

A note on the reverse sensor line: in our case, the reading from the QuadEncoder was negative so we needed to both feed .set a negative value and use the reverseSensor method.

In terms of setting it to 0, here is the code we use:
Code:

talonName.setPosition(0);
I hope this helps!

how could i use a joystick for this?

Camilo86 30-03-2016 08:55

Re: TalonSRX encoder confusion java
 
Quote:

Originally Posted by Jeringo (Post 1565020)
how could i use a joystick for this?

You can make a variable to hold your arm distance setPoint, and add/subtract from this value using the joystick's output value. Notice that joysticks have a range of -1 to 1, so you might have to multiply some constant > 1 to your joystick output so that your joystick can have a fast effect on the setpoint. This will all the depend on the distancePerPulse you currently have.

ozrien 30-03-2016 11:20

Re: TalonSRX encoder confusion java
 
Jerigo,
Have you tried looking at the Talon SRX Software Reference Manual? See the manufacturer's website.

GRSICP 30-03-2016 14:20

Re: TalonSRX encoder confusion java
 
Quote:

Originally Posted by ozrien (Post 1565239)
Jerigo,
Have you tried looking at the Talon SRX Software Reference Manual? See the manufacturer's website.

Here is the link:
https://www.ctr-electronics.com/Talo...e%20Manual.pdf


All times are GMT -5. The time now is 10:02.

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