5i25 with 7i77
PCW wrote: A couple things:
1. Expect analog drives to drift somewhat if the loop is not closed
This should not be an issue since the drives should not be enabled
until linuxCNC is running and the position feedback loop is closed.
(actually getting the drive enables working is the first thing to do)
2. When you first connect the drives and enable feedback, you may have the feedback reversed so the drives runaway (till you get a following error)
You should follow setup/tuning instructions like JTs here:
To relate this to pncconf's 'open loop' test - it will drift because there is no PID connected.
The open loop test to to test/conform the feedback and command direction.
When you press the positive button the the feedback should count positively and the axis should move positively.
You can also confirm the scaling is right.
Once you confirm this then you should tune PID in AXIS.
NauticalMachinest wrote: Can you elaborate on what he means by "change the sign of the analog outputs." The first thing that comes to my mind is the +-10v analog output and the associated 0v com wire.
It means to do it in software. Specifically by using a negative number for the analogue output scale or for the encoder position scale.
(Change the encoder scale if the encoder counts backwards, ie if turning the screw by hand has he position counting in the wrong direction. Tool-Right / Table left should count up in X, for example.
You can check this even without the linear axis connected by checking the rawcounts pin in hal after multiple turns of the shaft (with an alignment mark/tape on the shaft) every rotation should end up being different by the number of encoder counts/turn
(4X the encoder PPR)
Also you must change the sign of the output scale in the ini file to reverse the outputs
_DO NOT_ swap the drive leads since if the drive has a common input and you wire AOUTx to that pin you will short out the 7I77 analog output.
Setting the following error quite large will help diagnose feedback issues
For initial PID values, I would use a small P (say .1) and everything else 0
Then a halscope plot of commanded position, encoder position and analog out
would help remote diagnosis of whats going on...
Turning down the P value should be very interesting because the only values I have attempted in that parameter so far have been 50 +- 10.
NauticalMachinest wrote: Could you elaborate a little bit about how to verify that the encoders are scaled properly?
Open a halmeter and look for the encoder rawcounts pin.
Then (with the amps turned off) rotate the servo shaft by hand and note the difference in rawcounts per rev.
The work out from the mechanics how many counts / mm or counts / inch and that;s your scale. Pay attention to sign as well as magnitude.
If you do 10 turns you will be able to be pretty certain if it is 2000 or 2048 counts per rev.
NauticalMachinest wrote: Could you elaborate a little bit about how to verify that the encoders are scaled properly? There is a label on the encoder cover that reads LHE-509-2000, so I am tempted to assume that model number indicates a PPR of 2000. I am a little unclear about what you mean in regards to 4x the encoder PPR, could you elaborate on that equation a bit?
The PPR "pulses per revolution" usually refers to the number of lines on the encoder wheel. Linuxcnc does not count the pulses, it counts the edges of the pulses of both sensors. So it will count 4 edges for each line of the encoder and wheel that is what the "quadrature" term is referring to. So with a 2000 PPR encoder, Linuxcnc will see 8000 counts per turn.