Dead in the water on 7i92 config

More
10 Apr 2016 02:10 #73028 by dannym
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.
Attachments:

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 02:46 #73031 by PCW
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

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 03:13 - 10 Apr 2016 03:14 #73034 by dannym
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.
Last edit: 10 Apr 2016 03:14 by dannym.

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 03:37 #73035 by PCW
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

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 03:40 - 10 Apr 2016 03:56 #73036 by dannym
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?
Last edit: 10 Apr 2016 03:56 by dannym.

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 13:52 - 10 Apr 2016 18:41 #73048 by PCW
sorry its pid.0.feedback and pid.3.feedback

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.

More
10 Apr 2016 19:57 - 10 Apr 2016 19:58 #73073 by dannym
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.
Attachments:
Last edit: 10 Apr 2016 19:58 by dannym.

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 20:24 #73076 by PCW
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.

More
10 Apr 2016 20:31 - 10 Apr 2016 21:02 #73077 by dannym
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,
Last edit: 10 Apr 2016 21:02 by dannym.

Please Log in or Create an account to join the conversation.

More
10 Apr 2016 21:47 - 11 Apr 2016 01:26 #73081 by dannym
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
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.156 seconds
Powered by Kunena Forum