Advanced Search

Search Results (Searched for: stepper spindle)

09 Dec 2023 16:03 - 09 Dec 2023 16:04

USB RS 485 disconnects when spindle stops

Category: General LinuxCNC Questions

1. It is as far as possible away, the motor and power wiring comes from the bottom, the RS485 wiring is currently pulled directly to the front and away from the VFD. No parallel routing to any other cable.
2. Line filter on VFD input is installed. Did not made a difference.
3. and 4. Just googled common mode chocke. Which one do I need to buy?

I have shielded motor cable, shield connected only at the VFD.
Shielded RS485 cable, shield only connected at the USB Adapter. Ferrit Cores in the data line of the RS 485 signal wires.
LinuxCNC pc, breakout board powered by 5v power adapter OR 5v from the PC. No difference.

I the stepper driver, VFD and LinuxCNC PC all at the same outlet. IS it worth putting the VFD to a different outlet?
05 Dec 2023 15:19 - 05 Dec 2023 15:21

QTdragon home switches do not work

Category: Qtvcp

Attached my configs.

Calysto file is a working file based on axis, e-stop not connected yet. I use this config file for testing purposes.

Qtdragon is the one I can't get to work. Qtdragon starts, I can push the e-stop and machine start, it does not matter if my e-stop physical knob is pressed or not.
Homeing goes wrong, Qtdragon does not react on home-switches. The motors keep turning until they hit the end of the ball-screws and then go into error. 
I skipped the qtvcp directory in the zip file to make the zip smaller.

My Machine:
PrintNC, 1540x1540 cutting area. Mesa 7c80 board, with RPI4 4GB.
JMC 180W Servo motors on X/Y/Y2, and a closed loop stepper on Z.
2005 ball screws.
Analogue controled 2,2KW spindle, I couldn't get RS485 to work, will try that again later.
No endstops, only inductive home switches. Software endstops.

 

File Attachment:

File Name: QTdragon_Linuxcnc.zip
File Size:10 KB

File Attachment:

File Name: Calysto_Li...C_v1.zip
File Size:20 KB
04 Dec 2023 05:21

In using ECR60+NPN(GPIO), I encountered an issue.

Category: EtherCAT

This issue has not been resolved yet. It might be due to the fact that I am using open-loop stepper motors, and the XML and HAL configurations might not have been properly set up for this.

I now have a new problem that I need assistance with:

I have configured the start/stop and speed control of the spindle in the following way.
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadusr -W armcncio [TRAJ]COORDINATES
loadusr -W lcec_conf machine.xml
loadrt lcec
loadrt cia402 count=[KINS]JOINTS

loadrt debounce cfg=1,8
addf debounce.0 base-thread
addf debounce.1 base-thread
setp debounce.0.delay 100
setp debounce.1.delay 60

addf lcec.read-all            servo-thread
addf cia402.0.read-all        servo-thread
addf cia402.1.read-all        servo-thread
addf cia402.2.read-all        servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf cia402.0.write-all       servo-thread
addf cia402.1.write-all       servo-thread
addf cia402.2.write-all       servo-thread
addf lcec.write-all           servo-thread

#*******************
#  AXIS X
#*******************

setp cia402.0.csp-mode 1
setp cia402.0.pos-scale [JOINT_0]SCALE

net x-statusword      lcec.0.0.cia-statusword  => cia402.0.statusword
net x-opmode-display  lcec.0.0.opmode-display  => cia402.0.opmode-display
net x-drv-act-pos     lcec.0.0.actual-position => cia402.0.drv-actual-position
net x-drv-act-velo    lcec.0.0.actual-velocity => cia402.0.drv-actual-velocity

net x-enable     <= joint.0.amp-enable-out => cia402.0.enable
net x-pos-cmd    <= joint.0.motor-pos-cmd => cia402.0.pos-cmd
net x-pos-fb     <= joint.0.motor-pos-fb => cia402.0.pos-fb

net x-controlword         cia402.0.controlword         => lcec.0.0.cia-controlword
net x-modes-of-operation  cia402.0.opmode              => lcec.0.0.opmode
net x-drv-target-pos      cia402.0.drv-target-position => lcec.0.0.target-position
net x-drv-target-velo     cia402.0.drv-target-velocity => lcec.0.0.target-velocity

net debounce-home-x debounce.1.0.in <= armcncio.gpio.x-home
net both-home-x debounce.1.0.out
net both-home-x => joint.0.home-sw-in
net both-home-x => joint.0.neg-lim-sw-in
net both-home-x => joint.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

setp cia402.1.csp-mode 1
setp cia402.1.pos-scale [JOINT_1]SCALE

net y-statusword      lcec.0.1.cia-statusword  => cia402.1.statusword
net y-opmode-display  lcec.0.1.opmode-display  => cia402.1.opmode-display
net y-drv-act-pos     lcec.0.1.actual-position => cia402.1.drv-actual-position
net y-drv-act-velo    lcec.0.1.actual-velocity => cia402.1.drv-actual-velocity

net y-enable     <= joint.1.amp-enable-out => cia402.1.enable
net y-pos-cmd    <= joint.1.motor-pos-cmd => cia402.1.pos-cmd
net y-pos-fb     <= joint.1.motor-pos-fb => cia402.1.pos-fb

net y-controlword         cia402.1.controlword         => lcec.0.1.cia-controlword
net y-modes-of-operation  cia402.1.opmode              => lcec.0.1.opmode
net y-drv-target-pos      cia402.1.drv-target-position => lcec.0.1.target-position
net y-drv-target-velo     cia402.1.drv-target-velocity => lcec.0.1.target-velocity

net debounce-home-y debounce.1.1.in <= armcncio.gpio.y-home
net both-home-y debounce.1.1.out
net both-home-y => joint.1.home-sw-in
net both-home-y => joint.1.neg-lim-sw-in
net both-home-y => joint.1.pos-lim-sw-in

#*******************
#  AXIS Z
#*******************

setp cia402.2.csp-mode 1
setp cia402.2.pos-scale [JOINT_2]SCALE

net z-statusword      lcec.0.2.cia-statusword  => cia402.2.statusword
net z-opmode-display  lcec.0.2.opmode-display  => cia402.2.opmode-display
net z-drv-act-pos     lcec.0.2.actual-position => cia402.2.drv-actual-position
net z-drv-act-velo    lcec.0.2.actual-velocity => cia402.2.drv-actual-velocity

net z-enable     <= joint.2.amp-enable-out => cia402.2.enable
net z-pos-cmd    <= joint.2.motor-pos-cmd => cia402.2.pos-cmd
net z-pos-fb     <= joint.2.motor-pos-fb => cia402.2.pos-fb

net z-controlword         cia402.2.controlword         => lcec.0.2.cia-controlword
net z-modes-of-operation  cia402.2.opmode              => lcec.0.2.opmode
net z-drv-target-pos      cia402.2.drv-target-position => lcec.0.2.target-position
net z-drv-target-velo     cia402.2.drv-target-velocity => lcec.0.2.target-velocity

net debounce-home-z debounce.1.2.in <= armcncio.gpio.z-home
net both-home-z debounce.1.2.out
net both-home-z => joint.2.home-sw-in
net both-home-z => joint.2.neg-lim-sw-in
net both-home-z => joint.2.pos-lim-sw-in

#*********************
#   SPINDLE
#*********************

net spindle-rpm spindle.0.speed-out armcncio.gpio.spindle-pwm
# net spindle-enable spindle.0.on armcncio.gpio.spindle-enable

#*********************
#   E-STOP
#*********************

net debounce-estop-ext debounce.1.5.in <= armcncio.gpio.estop
net estop-ext debounce.1.5.out
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

I encountered the following error.
Debug file information:
Can not find -sec DISPLAY -var INTRO_GRAPHIC -num 1
Can not find -sec DISPLAY -var INTRO_TIME -num 1
Note: Using POSIX realtime

HAL: ERROR: signal 'spindle-rpm' already has output or I/O pin(s)
./machine.hal:110: link failed
9343
Stopping realtime threads
Unloading hal components

When I test the 'armcncio' separately, I can control the spindle normally. However, when integrated into LinuxCNC, it results in an error. Where could the problem be?
02 Dec 2023 19:58

linuxcnc stopping constantly

Category: General LinuxCNC Questions

Hello everyone, I have started running in to a really strange problem today. I have been running my machine happily for over a year now, I would guess there is probably 100 - 200 hours of runtime on it without any problems at all. Last night I was running a 2 hour job, and about 1:45 into it linuxcnc just randomly powered off (not estop, not crashed, just as if I had hit the "power" button). At the time I was able to just push power again and finish the job using run from line.

This morning when I went to run another job I can't even get the machine to stay powered on for more than 30 seconds. No alerts come up in the UI, no crashing happens, it really seems as if the software "power" button is just somehow getting pressed. I found this post forum.linuxcnc.org/38-general-linuxcnc-q...utting-off-toggle-f2 where the OP appears to be having a very similar issue, and I went through some of the troubleshooting steps suggested there. Unfortunately I am using a Gecko G540 which is also handling my limit switches so I can't as easily just unplug my drivers to test if they are the cause. I am certain it is not the spindle/VFD because the power offs happen without it running at all. I have started up linuxcnc in debug from the terminal and attached the results below. I assume the qtpyvcp errors are old news and not impacting to this particular issue, although I have never looked at this output before so I can't say that with certainty.

The only reasonable way I can think of to test if my drivers are causing the problem would be to leave the G540 powered on but unplug the stepper motors from the G540 unit, and I don't know if that is safe to do or not so I will wait for guidance here before going that route.

I have video of the issue happening but I am not able to post it from this computer. It is really only showing the power button spontaneously turn grey anyway so I don't know how useful that would be.

I greatly appreciate any help!
01 Dec 2023 05:47

where to begin to convert a Delta Tau CNC controller application to Linux CNC

Category: General LinuxCNC Questions

Just typed out a long response, looks like it was lost...sorry about that!

Here is a new one: www.sterlingint.com/lathes/optoform-80

Here is a used one, sold: caeonline.com/buy/machine-tools/precitech-optoform-50/9133282

Optoform 50. Two air bearing linear slides, and one air bearing spindle. Machine uses something like 10CFM of compressed air.

I have never actually seen one, so I don't exactly know. Drive is Delta Tau controller. Delta Tau no longer--it is now Omron. machine made in 1990's, and has been used for grinding interocular lenses. Interocular lenses are the lenses used to implant in people's eyes following cataract removal surgery.

We wish to make contact lenses with these things.

I did ask about the drive: 0-12 volts is what I was told, however I would be surprised, and probably 0-10 volts driving custom-made Kollmorgen motors. "Everything" about the lathes are outdated, and why I asked about where to start with the conversion of the program to Linux CNC.

Linux is a DIY system, and since they take weeks to respond to our requests, I would rather be on my own than depend on them.

With the slides being air bearings, pretty sure encoder feedback with some sort of velocity feedback because cutting torques are really small. ALso t he machine has a vibration isolation base using some sort of air bearings. Best surfaces in the business...

Definitely not stepper motors.

Regarding macros. I have decades of experience designing and making contact and optical lenses--even before the advent of computers. We just did not have enough money for the custom programs. All of the programs date back to Sir Isaac Newton--about 400 years with updates due to computing power.

Pretty sure the program itself is relatively straightforward with the needed changes in the control language from Delta Tau to Linux CNC.

All you really do to make contacts is generate curves. These are relatively small curves, usually in the 6.00mm-15.00mm range. There are some complex curves, however, I believe these are handled by the host computer, and either downloaded or the host computer generates the code for the lathe itself. I just do not know.

Due to taking months to get any service, we are slow with information. Pretty sure the lathe runs on DOS.
29 Nov 2023 14:51 - 29 Nov 2023 14:59

Hello (First post), please send me in the right direction

Category: Documents

  Hi,First post, I have zero experience with LinuxCNC, I came hear to get educated.I previously did a CNC conversion of an old round column mill using steppers and Mach3 (about 10 years ago). I'm an electrical engineer by training so hopefully that will help.I have a new 8x30 knee mill and I want to try LinuxCNC this time I have near zero direct experience with Linux. To be clear this is for hobby use so I would like to use low cost components wherever I can get away with it, I won't be making NASA type stuff just hobby stuff so if the machine approaches 0.001" repeatability I will be very happy. I'm swapping in ballscrews at this time.System as I envision:
  • Four x  T6 ac servos, AFAIK the controllers for these accept step and direction pulses much like a stepper and take care of closing the loop and are provided with some form of tuning software (yet to be tested).
  • 8 limit switches
  • Spindle speed encoder
  • Scales possibly up to four
  • Eventually I will make a custom control board for jogging etc, but hope to use GUI for the short term

Hopefully someone can answer my preliminary questions:

1) For a CPU board, what is powerfull enough?   I have a RPi, not sure if that is even close to powerfull enough. I also have more of a PC type SBC EPIA Nano-ITX not sure if it can run Linux?  Suggestions for a suitable CPU board please?

2) I can randomly start reading posts, however if there is a starting from zero tutorial somewhere, please provide a link and hopefully I can come back less clueless with more focused questions?

3) What version of Linux should I be loading on the CPU board? is it free?

4) Suggestions for required break out board, someone suggested Mesa 7196S, not sure if there is better or cheaper. I'm all ears?Image of my old custom control panel that I made for my RC mill quite some time ago.Thanks in advance
 
29 Nov 2023 09:30 - 29 Nov 2023 12:28

Remora - ethernet NVEM cnc board

Category: Computers and OS's

Hello everyone:
I've been disconnected from this topic for a few days but I haven't had time!!! remodeling at home!!! hehe housework.
Just yesterday I returned to linuxcnc, my ec500 hardware and the nema 34 closed loop stepper motors and DM860H drivers to perform a small closed loop test. I must say that I would have preferred motors with lower resolution encoders but all the closed loop motors from ebay and aliexpress have 1000 pulses or 4000 counts per revolution, another difficulty has been the voltage level of the encoders is 5V so I have used the free pins of the MPG port +/-WHA +/-WHB which are 5V tolerant (they are differential, something really good because all the closed loop motor encoders that I saw also have differential outputs), I don't know what quality level the differential driver connected to the MPG port will have, I haven't even looked at it, on the other hand, there are the basic configurations for the *.ini and *.hal files that Scott provides us, first I have done certain tests in open circuit and the motors truly reach incredible speeds, this is where I have found problems because the speeds in the sample *.ini file are of the order from 125 <-> 166 mm/s = 7500 <-> 9000 mm/min; which from my ignorance, depending a lot on the construction of the machines, it is quite difficult to reach these speed values, now the problems have been in terms of the relationship between speed and loss of steps since, for example, above 1500mm/min I lose counts in the encoder, my calculations would be the following, you can correct me if I'm wrong: for a spindle with a 4mm pitch it would be 1500mm/min / 4mm = 375 rpm, 375rpm/60 = 6.25rps and 6.25rps*4000 = 25000 counts/sec, which I already say from my ignorance seems quite little to me but I lose counts above this speed, otherwise it has been gratifying to be able to perform a closed loop control using Linuxcnc I was able to adjust the pid without problems, I have seen a pretty good video on the Youtuber size83 very well explained by the way and based on Remora's notes for a closed loop configuration.
Hello Scott, I have made some changes to the qdc module since I had not used the MPG port pins and I had incorrectly configured dir signal continues to occur, I tested your changes in the bugfix branch and I have not seen any improvement in this regard, then I will upload the *.ini and *.hal files since now I am from the phone.
I don't understand why the editor doesn't allow me to add a video, I did it a while ago and it worked, it doesn't matter, I'll leave you a link to the test video
 
18 Nov 2023 19:23

Stepper speed based on position

Category: Basic Configuration

:-) I'm learning a lot about linuxcnc/hal/linux/mesa/steppers/servo's/spindles/metal/wood/etc, etc. But first things first... I didn't even make my first chips/dust.
It's all very very very interesting, but I have to make choices... :-)
18 Nov 2023 18:40

Stepper speed based on position

Category: Basic Configuration

Like I said, try feeding the motion adaptive feed with lincurve

 

Sorry... I have now idea how to do that... I think I will leave it this way, it's not that important. Thank you all for your good answers!
 

I can't imagine using LinuxCNC without learning how to use hal. Lincurve is a component:
linuxcnc.org/docs/html/man/man9/lincurve.9.html

So is motion. Motion is where all of your axis and spindle stuff is controlled:
linuxcnc.org/docs/html/man/man9/motion.9.html

You need to understand how pins and signals work. If you want more help post your hal file.
 
15 Nov 2023 19:39

Spindle (stepper motor) stopping too fast.

Category: General LinuxCNC Questions

I just added a LinuxCNC issue for this pncconf issue,
and will ask JT if this has been addressed in MesaCT.
15 Nov 2023 16:02

Spindle (stepper motor) stopping too fast.

Category: General LinuxCNC Questions

I feel like not knowing what I am doing here. Somehow I copy/paste my way through the configs and hal files. 

Everyone feels that way.  Eventually you'll become familiar enough with terminology and LCNC that you'll get better at self-educating when you encounter a problem and need to search for help.

And be patient with the forum editor - it has issues with attachments and editing posts.

Very happy to hear the fix worked out for you.  To give you some context on what you (somewhat blindly) edited:

HAL file is basically a list of connections for LCNC to make when it starts up.  Sort of a 'here's how the network is wired/configured' idea.

HAL is made up of components, each of which is like a little program that does something specific.  Examples of components are "and2.comp", "logic.comp", "mux2.comp", "motion.comp", and "halui.comp".  When the components are created during the first HAL scan (LCNC startup) some 'pins' are also created specific to that component.

Think of these pins just like the physical pins on your stepper drive: the "STEP+" pin does something specific, the "DIR-" pin also does something specific.  Imagine you have a magic wand and created a "stepper drive"...it would come with STEP & DIR pins, right? Your magic drive would likely also have some other input & output pins, as well as some status LED's and similar.

If you look at the HAL file, the "loadrt" statement is you waving your wand and creating a magic component (like your pretend stepper drive).

The "addf" statement puts that component to work - i.e. starts LCNC checking the component every thread cycle.  So:

loadrt magic_stepper_drive  count=3 (creates 3 instances of your magic drive component)
addf magic_stepper_drive.0  servo-thread
addf magic_stepper_drive.1  servo-thread
addf magic_stepper_drive.2  servo-thread  (starts all three components so they can do things)

Now you have three magic drives, and each one has a number of step & direction pins, as well as the other stuff.  Those pins are connected to other pins from other components in HAL.  And they are connected using 'signals' - much like physical pins are connected with wires.

Components ('comps') can be simple or complicated - and "halui.comp" & "motion.comp" are a couple of the more complicated, or at least extensive, components available in LCNC's HAL library.  What you edited was how the stepgen component is controlled by substituting a pin from motion.comp for halui.comp.

At the bottom of the user manual front page is a section "Man pages", with sub-groups of "userspace components" & "Realtime components & kernel modules".  Halui.comp is located in the 'userspace' sub-page.

If you're a Windows person, the concept of Man pages will be utterly foreign - sorry.  Regardless, when you come across a HAL component you don't know (i.e. all of them right now), I suggest opening up the Man page for that component and reading it.  Some of the pages are very helpful, some are accurate but provide zero context, and a few are simply terrible as there's no context or example of use.  But if you read enough Man pages, and your hal file, and about a million forum posts.... it'll sink in.

If you read the halui page, you'll see one of the pins created when halui is started is halui.machine-is-on.  That's one pin you fiddled with.  The other pin is in 'stepgen', and that is on a different Man page (under realtime components).  And the way you did it was unplug one end of the signal (wire) "spindle-enable" and plug "machine-is-on" in to the stepgen enable pin.

What you did, in essence, is disconnect the pin that was telling the stepper signal generator to be enabled only when the spindle was supposed to be spinning, and you plugged in a different pin that tells the stepper signal generator to stay enabled as long as LCNC is turned on.

Keep in mind that everything I've written is a major oversimplification, but hopefully helps you start to digest what you just did in the HAL file.
15 Nov 2023 13:18

Spindle (stepper motor) stopping too fast.

Category: General LinuxCNC Questions

I feel like not knowing what I am doing here. Somehow I copy/paste my way through the configs and hal files. Thank you for support!
15 Nov 2023 13:05

Spindle (stepper motor) stopping too fast.

Category: General LinuxCNC Questions

Was the attachment "broken"?

File Attachment:

File Name: drehmaschi...1-15.hal
File Size:11 KB
15 Nov 2023 12:50 - 15 Nov 2023 13:04

Spindle (stepper motor) stopping too fast.

Category: General LinuxCNC Questions

In the other thread it was suggested by andypugh to change one line in the .hal The attached .hal file is the changed version.
This now behaves as I would have expected with M3S0 and M5 both slowing down the stepper motor. If I did not overlook something it solved the problem.

forum.linuxcnc.org/10-advanced-configura...-stop-command#205319 Instead of "spindle-enable" the stepgen.02.enable is connected to "machine-is-on" (whatever that means, I still get confused with hal terminology :-) ) It is around line 180 in the hal file.

  [attachment=57374]drehmaschine2.hal[/attachment ]

Greetings and thank everyone for fixing my issue.
15 Nov 2023 12:42

Spindle (stepper motor) stopping too fast.

Category: General LinuxCNC Questions

If you're really new to LCNC, quite a lot of the thread I linked won't make much sense without some context.  If you find you're still confused post back and we'll try to help translate advanced LCNC jargon

The HAL file will be in your configuration folder under linuxcnc/configs/.  It's a text file, but the forum software won't let you attach it as-is.  Copy the file and rename it to main_hal.txt and you should be good.
Displaying 76 - 90 out of 176 results.
Time to create page: 1.166 seconds
Powered by Kunena Forum