|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
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); |
|
#2
|
|||
|
|||
|
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 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 In terms of setting it to 0, here is the code we use: Code:
talonName.setPosition(0); |
|
#3
|
|||
|
|||
|
Re: TalonSRX encoder confusion java
Quote:
|
|
#4
|
||||
|
||||
|
Re: TalonSRX encoder confusion java
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.
|
|
#5
|
||||
|
||||
|
Re: TalonSRX encoder confusion java
Jerigo,
Have you tried looking at the Talon SRX Software Reference Manual? See the manufacturer's website. |
|
#6
|
|||
|
|||
|
Re: TalonSRX encoder confusion java
Quote:
https://www.ctr-electronics.com/Talo...e%20Manual.pdf |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|