Gecko G540

More
22 Apr 2014 02:03 #46193 by morrow
Gecko G540 was created by morrow
I've seen many threads about the G540 / charge pump issues but none quite like mine. I'm running LinuxCNC 2.5.2 and Ubuntu 8.04 on an Ncbox-189 from a pre-built disk image provided by ArcEye. Step configuration runs fine. I'm able to test all of the axis so I know everything is alright on that side of things. For some reason I can not power the machine (F2) on in LinuxCNC with the charge pump turned on. Even if there are no settings in the config file stating that I have a charge pump, it refuses to power up.

In essence, if the charge pump is turned on on the G540 the light is green but I can't use LinuxCNC. If the charge pump is off, LinuxCNC works and I get a fault on the G540 and there is no power going to the motors.

Any ideas on what could be happening?

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

More
22 Apr 2014 06:47 #46205 by andypugh
Replied by andypugh on topic Gecko G540
This sounds like something funny in your HAL.

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

More
22 Apr 2014 07:16 - 22 Apr 2014 07:18 #46207 by PCW
Replied by PCW on topic Gecko G540
Yes, the parallel port pin 16 that the G540 uses for the charge pump
is a bidirectional pin so maybe some leftover code in your HAL file
is reading this pin

(I would check you HAL file carefully to see whats connected to pin 16)
Last edit: 22 Apr 2014 07:18 by PCW.

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

More
22 Apr 2014 18:30 #46211 by morrow
Replied by morrow on topic Gecko G540
Here's a copy of my .hal file:

# Generated by stepconf at Sat Sep 13 18:19:13 2008
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x278 out "
setp parport.0.reset-time 1000
loadrt stepgen step_type=0,0,0

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= motion.spindle-speed-out

net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
net xstep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
setp parport.0.pin-09-out-invert 1
net xdir => parport.0.pin-09-out


net estop-ext <= parport.0.pin-15-in


setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 21200
setp stepgen.0.dirsetup 21200
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 21200
setp stepgen.1.dirsetup 21200
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 21200
setp stepgen.2.dirsetup 21200
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared


I don't see anything about a charge pump or pin 16.

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

More
22 Apr 2014 18:51 #46212 by andypugh
Replied by andypugh on topic Gecko G540

Here's a copy of my .hal file:net estop-ext <= parport.0.pin-15-in.


This is the problem. Is pin 15 connected to anything?
If it is, then you might want to use parport.0.pin-15-in-not instead.

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

More
22 Apr 2014 20:54 #46218 by morrow
Replied by morrow on topic Gecko G540
That did the trick. Just for my own education /edification, what does adding -not achieve?

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

More
22 Apr 2014 21:31 #46219 by andypugh
Replied by andypugh on topic Gecko G540

That did the trick. Just for my own education /edification, what does adding -not achieve?


Firstly make sure that your physical e-stop button still works.

Every parallel port pin has a HAL pin that goes true when the pin is high, and another (called -not) that goes true when the pin is low.
This is just for convenience, to avoid using lots of "not" HAL components.

Parallel port inputs tend to float high when unconnected.

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

Time to create page: 0.143 seconds
Powered by Kunena Forum