Dead in the water on 7i92 config
10 Apr 2016 02:10 #73028
by dannym
Replied by dannym on topic Dead in the water on 7i92 config
OK looking better. I ran into several errors where the pin was already driven by something in the X[0] or W[3] sections so I commented out those lines in favor of the Gantry links.
Now, the Y and Z move ok, but ANY attempt to move the gantry (X axis) gives "joint 0 following error". Doesn't matter if the World Mode +/- jog is used, or keyboard, or G0/G1 command. Y and Z move great, X-gantry thriows following error.
.hal enclosed.
Now, the Y and Z move ok, but ANY attempt to move the gantry (X axis) gives "joint 0 following error". Doesn't matter if the World Mode +/- jog is used, or keyboard, or G0/G1 command. Y and Z move great, X-gantry thriows following error.
.hal enclosed.
Please Log in or Create an account to join the conversation.
10 Apr 2016 02:46 #73031
by PCW
Replied by PCW on topic Dead in the water on 7i92 config
Not sure but one possibility is that you have a thread order problem with the gantry component
( the order of addf statements is important )
I suspect that the gantry read and write should done between motion and PID
If this does not solve the problem, I would widen the following error limits and take a look at
the position command and feedback of the gantry comp, and figure out why they are not tracking
( the order of addf statements is important )
I suspect that the gantry read and write should done between motion and PID
If this does not solve the problem, I would widen the following error limits and take a look at
the position command and feedback of the gantry comp, and figure out why they are not tracking
Please Log in or Create an account to join the conversation.
10 Apr 2016 03:13 - 10 Apr 2016 03:14 #73034
by dannym
Replied by dannym on topic Dead in the water on 7i92 config
OK my threads are now:
addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf gantry.0.read servo-thread
addf gantry.0.write servo-thread
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf pid.3.do-pid-calcs servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write servo-thread
And I changed MAX_ERROR=0.5, then a full 5". Still zero motion, just "joint 0 following error".
I tried putting the addr gantry after the PID calcs too, just to experiment. No diff.
addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf gantry.0.read servo-thread
addf gantry.0.write servo-thread
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf pid.3.do-pid-calcs servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write servo-thread
And I changed MAX_ERROR=0.5, then a full 5". Still zero motion, just "joint 0 following error".
I tried putting the addr gantry after the PID calcs too, just to experiment. No diff.
Last edit: 10 Apr 2016 03:14 by dannym.
Please Log in or Create an account to join the conversation.
10 Apr 2016 03:37 #73035
by PCW
Replied by PCW on topic Dead in the water on 7i92 config
looks like the pid feedback for stepgens 0 and 3 is not there:
net x0pos-fb gantry.0.joint.00.pos-fb pid.0.fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net x1pos-fb gantry.0.joint.02.pos-fb pid.3.fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
also a more minor thing, you must disconnect the feedback-derv pins on PID 0 and 3
net x0pos-fb gantry.0.joint.00.pos-fb pid.0.fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net x1pos-fb gantry.0.joint.02.pos-fb pid.3.fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
also a more minor thing, you must disconnect the feedback-derv pins on PID 0 and 3
Please Log in or Create an account to join the conversation.
10 Apr 2016 03:40 - 10 Apr 2016 03:56 #73036
by dannym
Replied by dannym on topic Dead in the water on 7i92 config
Added, now I get "Pin 'pid.0.fb' does not exist"
So, wait. Joiints 0 and 3 are my X-axis. And that's PID 0 and PID 3. Here I've got:
net x1pos-cmd gantry.0.joint.01.pos-cmd => pid.3.command
net x1pos-fb gantry.0.joint.02.pos-fb pid.3.fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
Accessing joint 1 and 2 in addition to 0. Is that right?
So, wait. Joiints 0 and 3 are my X-axis. And that's PID 0 and PID 3. Here I've got:
net x1pos-cmd gantry.0.joint.01.pos-cmd => pid.3.command
net x1pos-fb gantry.0.joint.02.pos-fb pid.3.fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
Accessing joint 1 and 2 in addition to 0. Is that right?
Last edit: 10 Apr 2016 03:56 by dannym.
Please Log in or Create an account to join the conversation.
10 Apr 2016 13:52 - 10 Apr 2016 18:41 #73048
by PCW
Replied by PCW on topic Dead in the water on 7i92 config
sorry its pid.0.feedback and pid.3.feedback
BTW you can get a list of all available pins with
BTW you can get a list of all available pins with
halcmd show pin
Last edit: 10 Apr 2016 18:41 by PCW. Reason: typo
Please Log in or Create an account to join the conversation.
10 Apr 2016 19:57 - 10 Apr 2016 19:58 #73073
by dannym
Replied by dannym on topic Dead in the water on 7i92 config
OK I got an error from using "joint.02" and then repeating "stepgen.00" for the second joint, I think that was supposed to be stepgen.03, so I changed it to:
net x0pos-fb gantry.0.joint.00.pos-fb pid.0.feedback <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net x1pos-fb gantry.0.joint.01.pos-fb pid.3.feedback <= hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-fb
Then it conflicted with the prior lines which I removed:
#net x0pos-fb gantry.0.joint.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
Now it loads and runs, but... same problem. I can move around Y and Z. Any attempt to touch X- the gantry- gets a Joint 0 Following Errior with no motion at all. Most recent .hal enclosed.
net x0pos-fb gantry.0.joint.00.pos-fb pid.0.feedback <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net x1pos-fb gantry.0.joint.01.pos-fb pid.3.feedback <= hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-fb
Then it conflicted with the prior lines which I removed:
#net x0pos-fb gantry.0.joint.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
Now it loads and runs, but... same problem. I can move around Y and Z. Any attempt to touch X- the gantry- gets a Joint 0 Following Errior with no motion at all. Most recent .hal enclosed.
Last edit: 10 Apr 2016 19:58 by dannym.
Please Log in or Create an account to join the conversation.
10 Apr 2016 20:24 #73076
by PCW
Replied by PCW on topic Dead in the water on 7i92 config
The hal file looks ok AFAICT now so I think the next step to to trace the motion command and feedback (xpos-cmd and xpos-fb) to see why that are so far apart. The gantry manual says they track the joint values (with an offset added when homing)
Please Log in or Create an account to join the conversation.
10 Apr 2016 20:31 - 10 Apr 2016 21:02 #73077
by dannym
Replied by dannym on topic Dead in the water on 7i92 config
OK I noticed that the second motor still uses:
net emcmot.03.enable <= axis.3.amp-enable-out
Whereas the first X-motor doesn't, because amp-enable-out was already defined.
halcmd show pin shows axis.0.amp-enable-out ==> xenable, and axis.3.amp-enable-out ==> emcmot.03.enable
I used:
net xenable axis.0.amp-enable-out => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable
Is that correct?
I don't have any homing routine yet. The switches are not wired in for this board. I'm a bit confused- when I was using Gantrykins, there was a Joint Mode with 0, 1, 2, 3. So zeroing 0 and 3 made sense. With trivkins, there's X Y Z A. I did the Home Axis button to zero, but A is within X, so this seems... strange.
I also noted that MAX_ERROR=0.5 to try and get it moving... when I commanded it, I tried "g1 x0.1 f1" and that still gives Following Error with no motion, even though it is still less than the allowable error even if it doesn't move. I may not be understanding what that MAX_ERROR is, though,
net emcmot.03.enable <= axis.3.amp-enable-out
Whereas the first X-motor doesn't, because amp-enable-out was already defined.
halcmd show pin shows axis.0.amp-enable-out ==> xenable, and axis.3.amp-enable-out ==> emcmot.03.enable
I used:
net xenable axis.0.amp-enable-out => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable
Is that correct?
I don't have any homing routine yet. The switches are not wired in for this board. I'm a bit confused- when I was using Gantrykins, there was a Joint Mode with 0, 1, 2, 3. So zeroing 0 and 3 made sense. With trivkins, there's X Y Z A. I did the Home Axis button to zero, but A is within X, so this seems... strange.
I also noted that MAX_ERROR=0.5 to try and get it moving... when I commanded it, I tried "g1 x0.1 f1" and that still gives Following Error with no motion, even though it is still less than the allowable error even if it doesn't move. I may not be understanding what that MAX_ERROR is, though,
Last edit: 10 Apr 2016 21:02 by dannym.
Please Log in or Create an account to join the conversation.
10 Apr 2016 21:47 - 11 Apr 2016 01:26 #73081
by dannym
Replied by dannym on topic Dead in the water on 7i92 config
I tried looking at things with HAL Scope and got nothing and then saw it was simpler to just bring up Show HAL Configuration and see the values.
After a G1 x0.1 F1 (which causes a Folllowing Error), everything's still zero. Including axis.0.motor-pos-cmd and gantry.0.position-cmd. I looked all through the axis.0 and gantry and everything's zero. Only like axis.0.coarse-pos-cmd=-0.0001416667
After a G1 x0.1 F1 (which causes a Folllowing Error), everything's still zero. Including axis.0.motor-pos-cmd and gantry.0.position-cmd. I looked all through the axis.0 and gantry and everything's zero. Only like axis.0.coarse-pos-cmd=-0.0001416667
Last edit: 11 Apr 2016 01:26 by dannym.
Please Log in or Create an account to join the conversation.
Time to create page: 0.099 seconds