joint 0 on limit switch error

More
03 May 2015 22:47 #58354 by fc60
Greetings,

Trying to get a used Smithy CNC1240 running again. I say again as the table was full of chips when I purchased the machine.

I get a lot of "joint 0 on limit switch error" messages under the following circumstances...

1) Issuing an M03 spindle command. Motor moves briefly and "joint 0 on limit switch error".

2) Running a program with all spindle commands removed. The program ran initially to completion after ten minutes. Then I restarted the same program and it ran about seven minutes, then..."joint 0 on limit switch error". (By the way, I have the spindle control signal cable disconnected from the machine to get the program to run.)

3) I reset the VFD control to manual mode and when the machine is "stone cold", that is sitting unpowered in my shop overnight, I can get the spindle to start and turning the potentiometer knob the RPM goes up and down. Once the machine has been powered up for, say, an hour, pressing the start button on the VFD shuts the machine down with the "joint 0 on limit switch error".

I have determined that all three Axis sensors are connected in parallel for power. However, when I place a metal screwdriver over the X, Y, or Z sensor I get the same message... "joint 0 on limit switch error".

The power to the spindle is via the CNC control box. I have not connected the VFD direct to the 220V supply as I do not think the VFD is faulty. I suspect the problem lies within the inductance sensor connections.

For reference,

The Breakout board and Spindle Control are combined into one. It is a PMDX-110

The VFD control is a Sunfar C300-2S0022, Model 2

Software is LinuxCNC 2.5.4

I have had this machine for three months and no chips. Hopefully someone will come to my aid.

With kind regards,

David

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

More
04 May 2015 13:07 - 04 May 2015 15:48 #58367 by ArcEye
Hi,

What type of sensors are they?

The problem sounds to be noise on the limits signal line, quite a common problem.

The easiest and quickest possible solution is to insert a debounce component in your hal file.
This will force the signal state to be maintained over XX thread cycles, normally enough to cope with momentary noise spikes on the line.

www.linuxcnc.org/docs/devel/html/man/man9/debounce.9.html

I can post an example later if you are not sure what to do

regards
Last edit: 04 May 2015 15:48 by ArcEye.

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

More
04 May 2015 14:44 #58368 by ArcEye
This is an extract from one of my machines that uses debounce on the limits and home switches
#################################################################
## set up 4 debounce components of 2 filters each ( only use 0 but
## keeps interface the same for addressing debounce.0.0.in etc )

loadrt debounce cfg=2,2,2,2

addf debounce.0 base-thread
addf debounce.1 base-thread
addf debounce.2 base-thread
addf debounce.3 base-thread

#If necessary, you can
#to change the amount of debounce; the default is apparently 5, which
#means the switch input to emc has to be stable for 5 servo periods
#before the debounce output changes.
setp debounce.0.delay 100
setp debounce.1.delay 100
setp debounce.2.delay 100
setp debounce.3.delay 100

## problems with limit switch activation errors due to 3 phase noise
## try a debounce component to iron out momentary spikes

net all-limit-raw <= parport.0.pin-13-in => debounce.0.0.in
net all-limit <= debounce.0.0.out

######################################################################
## home switches are hall effect proximity detectors
## kept getting 'switch already latched'  ' switch active before latching' etc errors
## this cured it completely, so obviously just not clean on / off
######################################################################
net home-x-raw <= <= parport.0.pin-10-in =>  debounce.1.0.in
net home-x <= debounce.1.0.out
net home-y-raw <= <= parport.0.pin-11-in =>  debounce.2.0.in
net home-y <= debounce.2.0.out
net home-z-raw <= <= parport.0.pin-12-in =>  debounce.3.0.in
net home-z <= debounce.3.0.out

#net home-x <= parport.0.pin-10-in
#net home-y <= parport.0.pin-11-in
#net home-z <= parport.0.pin-12-in
######################################################################

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

More
04 May 2015 22:01 #58375 by fc60
Replied by fc60 on topic joint 0 on limit switch error
Greetings ArcEye,

Many thanks to responding to my request.

The three sensors are inductive-sensing. 12mm diameter, NPN NO

Which HAL file and in what section of the file do I place the "debounce"?

Do I merely cut and paste your text?

I have attached the INI and HAL files currently in use.

With kind regards,

Dave

File Attachment:

File Name: 1240gecko.ini
File Size:6 KB


File Attachment:

File Name: 1240gecko.hal
File Size:4 KB


File Attachment:

File Name: eztrol.hal
File Size:1 KB


File Attachment:

File Name: gecko_postgui.hal
File Size:0 KB
Attachments:

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

More
05 May 2015 14:54 - 05 May 2015 17:56 #58396 by ArcEye
HI

Sorry for the delay, Bank Holiday stuff.

You have a hugely convoluted limit and home setup.
There are no limit switches, just 3 NO sensors, presumably in parallel, coming in to one signal then through a match8 component and a mind twisting logic,
dependent upon whether any axes are flagged as homing.

This is all because you have a 4th axis and some other spindle stuff which does not leave many pins.

If it were me, I would fit another PCI parport and have proper limits and home switches.

Or at least use pins 12, 13 and 15 (13 and 15 are unused) for a shared limit / home switch for each axis and split the sensor outputs to the three pins.

However if you stick with what you have got, the only place it makes sense to have a debounce component is where the signal comes in

So line 69 ish of 1240gecko.hal insert this and it should do it
loadrt debounce cfg=1

addf debounce.0 servo-thread
setp debounce.0.delay 100

net homes-in <=parport.0.pin-12-in-not => debounce.0.0.in
net all-home <= debounce.0.0.out

regards
Last edit: 05 May 2015 17:56 by ArcEye.

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

More
05 May 2015 19:15 #58399 by andypugh

There are no limit switches, just 3 NO sensors, presumably in parallel, coming in to one signal then through a match8 component and a mind twisting logic,
dependent upon whether any axes are flagged as homing.


That is an interesting use of match8, but it shouldn't actually be necessary if the INI is configured with HOME_IS_SHARED and HOME_IGNORE_LIMITS

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

More
05 May 2015 23:46 #58409 by fc60
Replied by fc60 on topic joint 0 on limit switch error
Greetings,

I inserted the text you suggested and the machine booted with no errors.

Sadly, when I give a spindle command, S1000M03, nothing happens. The upper left of the Axis screen does show the programmed value.

Moving to the F3 Manual side of Axis, the Spindle radio buttons stay at "1" no matter how many times I press the + or - button. Again, no spindle movement.

I used the HAL meter to look at "pwmgen.0.curr-dc" and the value changes with different S commands and with M04 the values go negative. An M05 brings the value to 0.01.

When I set the parameters on the VFD for manual use, powering up the unit shuts off the machine with the "joint 0 on limit switch error".

Oddly, the prior functions did work several weeks ago; although, the machine shut down after about ten minutes with the "joint 0 on limit switch error".

My next effort is to "hot wire" the VFD directly to the electrical source bypassing the CNC control box to see if it will run.

I am learning a lot about LinuxCNC and machine hardware; however, it does become disheartening when little progress is made.

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

More
06 May 2015 08:10 #58420 by fc60
Replied by fc60 on topic joint 0 on limit switch error
Greetings,

Update on the dead machine.

I disconnected all the wires to the VFD and connected an extension cord directly from the socket on the wall to terminals L1 and L2. The VFD powers up and the spindle turns forward, backward, and the speed varies via the potentiometer.

The MDI side of Axis accepts M03 commands and with my voltmeter, the spindle portion of the break out board shows voltage changes with the S command. At S4500 the voltage was just short of 10V DC. All this was done with the wires to the VFD disconnected.

Cheers,

Dave

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

More
06 May 2015 19:06 #58433 by andypugh

I used the HAL meter to look at "pwmgen.0.curr-dc" and the value changes with different S commands and with M04 the values go negative. An M05 brings the value to 0.01.

You have the spindle PWM on pin 16 and the spindle enable on pin 14, which seems to match the PMDX pinout. I suppose that the next question is whether there is a variable voltage on the spindle-speed output of the PMDX board.
I notice that your PWM frequency is 5Hz and that is right on the lower limit of what the PMDX 106 board expects:
www.pmdx.com/Doc/PMDX-106_Manual_03.pdf
The notes for the 110 board suggests 25 Hz frequency, so I would certainly suggest increasing to 25Hz to see if that helps.
The 106 manual also lists a number of DIP switches that need to be set to enable PWM control mode rather than potentiometer control.

The debounce component ought to stop the VFD tripping the limit switches. But it might also be worthwhile to add an input filter to the VFD.
(Search eBay for "Rasmi")

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

More
07 May 2015 02:10 #58452 by fc60
Replied by fc60 on topic joint 0 on limit switch error
Greetings andypugh,

Thanks for the reply.

" I suppose that the next question is whether there is a variable voltage on the spindle-speed output of the PMDX board."

I placed a voltmeter on the BOB spindle connection and I do get voltages that increase/decrease with an SxxxxM03 command. The range was from 0-10 VDC, which I believe is correct for the VFD input.

"The notes for the 110 board suggests 25 Hz frequency, so I would certainly suggest increasing to 25Hz to see if that helps."

Where do I change the frequency value from 5 Hz to 25 Hz? By the way, what does the frequency do?

"The debounce component ought to stop the VFD tripping the limit switches. But it might also be worthwhile to add an input filter to the VFD."

I searched eBay and found too many Rasmi devices. Perhaps you could kindly quote a model number for me?

Cheers,

Dave

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

Time to create page: 0.205 seconds
Powered by Kunena Forum