Advanced Search

Search Results (Searched for: stepper spindle)

08 May 2024 22:35 - 08 May 2024 23:44
Replied by Dave2024 on topic Spindle Situation

Spindle Situation

Category: Advanced Configuration

Edit:  Never mind,  I wasn't able to delete this post but I just found one of the cables on ebay its called a AMT-17C-1-036 - AMT ENCODER CABLE 17CONDUCTOR will be here in a few days.

Hey how's it going spumco.  So I've had the opportunity to receive a few items in the mail of which include:  A Mesa 7i96s control board, a U3K driver, and an AMT312Q CUI encoder.  With the board I've had the chance to mess around and have it spinning a stepper and have an input pin receiving a limit switch signal, so all is dandy there so far.  Both the U3K and the encoder I received in the mail just a few hours ago so haven't had the chance to energize U3K or anything yet (It was used but I trust the seller).  But with the encoder I thought that I was just going to be able to use some leftover JAE molex looking crimped ended wires and insert them into the connector housing then solder them onto a length of cat5 or an old usb cable and make a wire harness that would reach to the back of the cabinet.  That turned out to not be the case.  The CUI encoder uses some strange end-crimps because all the ones I have won’t fit into the connector housing.  I was going to buy the cable and actually they should have included one with the encoder but it appears they are trying to milk peoples wallets by charging almost as much for the special cable as they do for the encoder alone.  Do you know what those end crimps are called that goto those encoders?  It doesn’t say anywhere what they are other than JAE connector of some kind?  I’m thinking of buying one of the AMT One Touch Zero modules and just steeling the cable off of it after zeroing the encoder.  Pluss the module has a nice molex connector on it already and I’m pretty good at crimping Molex.  What would you recommend I do?  Thanks
08 May 2024 13:44

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

Thanks a lot. initial bracket was copy-paste mistake. but that comma was problem.

At last stepper is spinning. Had problem with limit switches so added invert = true in config.txt.

But still to be used on machine I had to make many changes.

1. How to add probe? PC_5 pin.
2. Estop to PF_3
3 Spindle to PB_7 (I want PWM output on PB_7)
(Cheap chinese spindle, No Spindle Start or direction only PWM)
PWM 0 is Stop PWM 255 is Full RPM)
4. Last but not least, nice GUI
strugling with qtdragon.
5. user_command file xxxxxx_800.py is giving errors. so I commented out in ini file.
05 May 2024 23:01

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

I am still stuck and going round in circles.

I have flashed an RT1052 based NVEM (Marked V5) with the remora-rt1052-3.1.2.bin firmware and uploaded the nvem-rt1052.txt config file to it (minus the NVMPG component).

On boot the debug port shows:

Initializing PHY...

## Entering SETUP state


1. Loading JSON configuration file from Flash memory



2. Parsing JSON configuration file
Config deserialisation - Deserialization succeeded

3. Board Type: NVEM

4. Configuring threads
Creating timer ISR thread 40000
Creating timer ISR thread 1000
Creating DMA thread 500000

5. Loading modules

Creating a std module
Creating an Ethernet communication monitoring module
Creating Pin @
port = GPIO3
pin = 0

Base thread object

X - Joint 0 step generator

Creating a std module
Creating Pin @
port = GPIO1
pin = 22
Creating Pin @
port = GPIO1
pin = 17

Base thread object

Y - Joint 1 step generator

Creating a std module
Creating Pin @
port = GPIO1
pin = 24
Creating Pin @
port = GPIO1
pin = 31

Base thread object

Z - Joint 2 step generator

Creating a std module
Creating Pin @
port = GPIO1
pin = 18
Creating Pin @
port = GPIO1
pin = 25

Base thread object

A - Joint 3 step generator

Creating a std module
Creating Pin @
port = GPIO1
pin = 27
Creating Pin @
port = GPIO1
pin = 21

Base thread object

B - Joint 4 step generator

Creating a std module
Creating Pin @
port = GPIO1
pin = 16
Creating Pin @
port = GPIO1
pin = 23

Base thread object

C - Joint 5 step generator

Creating a std module
Creating Pin @
port = GPIO1
pin = 20
Creating Pin @
port = GPIO1
pin = 19

Servo thread object

FHA
Make Digital Input at pin P3_26

Creating a std module
Creating Pin @
port = GPIO3
pin = 26

Servo thread object

FHB
Make Digital Input at pin P4_30

Creating a std module
Creating Pin @
port = GPIO4
pin = 30

Servo thread object

SRO
Make Digital Input at pin P3_19

Creating a std module
Creating Pin @
port = GPIO3
pin = 19

Servo thread object

SRJ
Make Digital Input at pin P4_20

Creating a std module
Creating Pin @
port = GPIO4
pin = 20

Servo thread object

IN01
Make Digital Input at pin P4_26

Creating a std module
Creating Pin @
port = GPIO4
pin = 26

Servo thread object

IN02
Make Digital Input at pin P4_27

Creating a std module
Creating Pin @
port = GPIO4
pin = 27

Servo thread object

IN03
Make Digital Input at pin P4_21

Creating a std module
Creating Pin @
port = GPIO4
pin = 21

Servo thread object

IN04
Make Digital Input at pin P4_24

Creating a std module
Creating Pin @
port = GPIO4
pin = 24

Servo thread object

IN05
Make Digital Input at pin P4_28

Creating a std module
Creating Pin @
port = GPIO4
pin = 28

Servo thread object

IN06
Make Digital Input at pin P4_25

Creating a std module
Creating Pin @
port = GPIO4
pin = 25

Servo thread object

IN07
Make Digital Input at pin P4_29

Creating a std module
Creating Pin @
port = GPIO4
pin = 29

Servo thread object

IN08
Make Digital Input at pin P4_23

Creating a std module
Creating Pin @
port = GPIO4
pin = 23

Servo thread object

IN09
Make Digital Input at pin P4_31

Creating a std module
Creating Pin @
port = GPIO4
pin = 31

Servo thread object

IN10
Make Digital Input at pin P3_18

Creating a std module
Creating Pin @
port = GPIO3
pin = 18

Servo thread object

IN11
Make Digital Input at pin P3_21

Creating a std module
Creating Pin @
port = GPIO3
pin = 21

Servo thread object

IN12
Make Digital Input at pin P3_20

Creating a std module
Creating Pin @
port = GPIO3
pin = 20

Servo thread object

CIN
Make Digital Input at pin P4_18

Creating a std module
Creating Pin @
port = GPIO4
pin = 18

Servo thread object

XIN
Make Digital Input at pin P4_17

Creating a std module
Creating Pin @
port = GPIO4
pin = 17

Servo thread object

YIN
Make Digital Input at pin P4_16

Creating a std module
Creating Pin @
port = GPIO4
pin = 16

Servo thread object

ZIN
Make Digital Input at pin P4_15

Creating a std module
Creating Pin @
port = GPIO4
pin = 15

Servo thread object

AIN
Make Digital Input at pin P4_14

Creating a std module
Creating Pin @
port = GPIO4
pin = 14

Servo thread object

X100IN
Make Digital Input at pin P4_13

Creating a std module
Creating Pin @
port = GPIO4
pin = 13

Servo thread object

X10IN
Make Digital Input at pin P4_12

Creating a std module
Creating Pin @
port = GPIO4
pin = 12

Servo thread object

EP
Make Digital Input at pin P4_11

Creating a std module
Creating Pin @
port = GPIO4
pin = 11

Servo thread object

INDEX
Make Digital Input at pin P3_22

Creating a std module
Creating Pin @
port = GPIO3
pin = 22

Servo thread object

WHA
Make Digital Input at pin P3_16

Creating a std module
Creating Pin @
port = GPIO3
pin = 16

Servo thread object

WHB
Make Digital Input at pin P3_17

Creating a std module
Creating Pin @
port = GPIO3
pin = 17

Servo thread object

OT01
Make Digital Output at pin P4_01

Creating a std module
Creating Pin @
port = GPIO4
pin = 1

Servo thread object

OT02
Make Digital Output at pin P4_02

Creating a std module
Creating Pin @
port = GPIO4
pin = 2

Servo thread object

OT03
Make Digital Output at pin P4_03

Creating a std module
Creating Pin @
port = GPIO4
pin = 3

Servo thread object

OT04
Make Digital Output at pin P4_04

Creating a std module
Creating Pin @
port = GPIO4
pin = 4

Servo thread object

OT05
Make Digital Output at pin P4_05

Creating a std module
Creating Pin @
port = GPIO4
pin = 5

Servo thread object

OT06
Make Digital Output at pin P4_06

Creating a std module
Creating Pin @
port = GPIO4
pin = 6

Servo thread object

OT07
Make Digital Output at pin P4_07

Creating a std module
Creating Pin @
port = GPIO4
pin = 7

Servo thread object

OT08
Make Digital Output at pin P4_08

Creating a std module
Creating Pin @
port = GPIO4
pin = 8

Servo thread object

OT09
Make Digital Output at pin P4_09

Creating a std module
Creating Pin @
port = GPIO4
pin = 9

Servo thread object

OT10
Make Digital Output at pin P4_10

Creating a std module
Creating Pin @
port = GPIO4
pin = 10

Servo thread object

Spindle PWM

Creating a std module

## Entering START state

Starting the BASE thread
Registering interrupt for interrupt number = 100
configuring Timer 1
timer started

Starting the SERVO thread
Registering interrupt for interrupt number = 101
configuring Timer 2
timer started

## Entering IDLE state


I install the remora-eth-3.0.c component and can start Linuxcnc using the  remora-rt1052-basic profile (having changed the hal file to use remora-eth3.0 module rather than the (old?) remora-nv module).

I can then connect linuxcnc to the NVEM and one of the LED's on the NVEM board turns on or off depending on if I enable or disable linuxcnc.

But when I try to move the x or y stepper nothing happens. Also if I view the remora.inputs I do not see any changes in response to pulling the inputs to gnd.  If I look at the remora.status using the hal viewer it shows the board as connected. If I look at the remora counters using the HAL viewer I can see them incrementing.

So on the face of it it looks like the board is connected but not actually doing anything.

So what have I missed?

Note: I am assuming the remora.inputs should be updated in the hal viewer even if the hal file was wrong.

 
01 May 2024 21:10

Spindle with step/dir stops at 480rpm

Category: Basic Configuration

I am running a 600w servo with t3d servo driver, servo is rated at 3000rpm, jogging from the driver it did 3500 with ease. Running it from linuxcnc it stops at 480rpm.
I am using a raspberry pi 5 with a cheap chinese 5axis BOB, got my steppers and limitswitches working as they should, but setting up the servo has me stumped. Servo is set up in velocity mode in hal. For some reason stepgen is limited to 8000steps a second, the servo has 1000 steps pr rotation. Servo does the commanded speed perfect up to 480 but I cant get it to go faster and cant find where the limits on the stepgen is. I have tried to change steplen, stepspace, dirhold, dirsetup velocity and scale, scale affects the motor speed up to 480 but there it stops, I cant see any difference in the other settings.
If I enable maxvel in hal i get an error message saying stepgen is limited to 8000steps pr second. Is there any way I can change this?

File Attachment:

File Name: Murph.hal
File Size:6 KB
  

File Attachment:

File Name: Murph.ini
File Size:4 KB
30 Apr 2024 22:40
Replied by Dave2024 on topic Spindle Situation

Spindle Situation

Category: Advanced Configuration

Hi PCW thanks for your trying to help. Im not sure what breakout board it is other than the one that came stock with a Syil machine. I took a couple photos of it and picture of the stepper drives. I also included uploaded the ini and hal files. Do you think i should get rid of the generic breakout board and replace it with something more modern?
29 Apr 2024 16:34 - 29 Apr 2024 16:36
Replied by DK8DE on topic mesaCT, 7i95t and SPINx

mesaCT, 7i95t and SPINx

Category: Basic Configuration

Hello,All my issues are resolved. The spindle is running, and the end stops and stepper motors are also functioning. For those looking for an example, I have attached the files.
 

File Attachment:

File Name: io.hal
File Size:1 KB

 

File Attachment:

File Name: custom.hal
File Size:0 KB

 

File Attachment:

File Name: handrad.hal
File Size:10 KB
 
 

File Attachment:

File Name: spindel_alt_neu.hal
File Size:6 KB

File Attachment:

File Name: spindel_alt_neu.ini
File Size:7 KB
28 Apr 2024 09:40

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

I have read the full thread, wiki and looked at git hub and there are a number of things I am still confused about due to conflicting information.

I am using a standard LinuxCNC distro on an i5 PC. I have erased and programmed an NVEM V5 board (RT1052) using pyocd and the remora-rt1052-NVEM-0.2.1.bin and the board responds to pings at 10.10.10.10.

I cannot upload a config to the remora board due to time outs, but I understand this is to be expected as the firmware has a full config built-in - is this correct or is this the root cause of my issues?

The board outputs the following via the debug port on boot:

        Initializing PHY...

         ## Entering SETUP state


         ## Entering START state

          Starting the threads

         ## Entering IDLE state

I have installed the remora components (remora-eth, remora-nv, remora-nvmpg) into LinuxCNC and I copied various remora configs to my config directory.

Satrting LinuxCNC and using the remova-nv config I can get the x & y steppers to sort of move but I cannot see any inputs change state (I have tried all of them). In the HAL viewer I can see the Remora status as OK and both the servo-thread.time /remora.update-frq.time are updating.

Ultimately I want to set this up for a lathe with x,y and spindle control but for now it is sitting on my desk with two steppers and some switches wired up to the inputs.


So my questions are:

1: have I flashed the correct firmware?
2: do I need to upload a config file to the NVEM - if so why would I get a timeout (this is mentioned by someone else in an earlier post)?
3: If the above is OK why can I not see any input changes?
4: Do anyone have a Lathe config as a starting point?

Thanks in advance

The default config within the firmware has only three step generators configured. You will need to upload a config, but strange you are getting timeouts..
27 Apr 2024 22:01
Replied by tommylight on topic 3040T and Y axis shift

3040T and Y axis shift

Category: General LinuxCNC Questions

Barely can hear it over the spindle/endmill noise, but for sure it is there, steppers skipping, and from that faint sound seems like underpowered a lot, so what current are the drives set to?
And what microstepping are they set?
27 Apr 2024 17:09 - 27 Apr 2024 17:17
3040T and Y axis shift was created by Lpkkk

3040T and Y axis shift

Category: General LinuxCNC Questions

Hi 
Some time ago I've upgraded my 3040. I've replaced all electronics and now I'm using hy-jk02-m bob + 4xTB6600. Stepper motors are still original Anchuan 57hd0401 1.8deg 2A.I've also upgraded spindle to 2.2kw driven by hy inverter. Only one Power supply for motors is 24v 20A. Currently I've got an issue with Y axis. I've tried to cut different size of squares in plywood. Everything went OK, after measuring difference was that small so I can take it as a measure error. In one of the tests I've cut 30x30 square and then I've tried to cut it diagonally. Unfortunately I've noticed shift during cutting in X+Y - direction. Because of that axis is shifted. I'm not sure what's is wrong. Mechanically I cannot see any issue with coupler or driving nut. I made a video from this test. Please have a look here :





Efect in attachment 
 
27 Apr 2024 10:31

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

I have read the full thread, wiki and looked at git hub and there are a number of things I am still confused about due to conflicting information.

I am using a standard LinuxCNC distro on an i5 PC. I have erased and programmed an NVEM V5 board (RT1052) using pyocd and the remora-rt1052-NVEM-0.2.1.bin and the board responds to pings at 10.10.10.10.

I cannot upload a config to the remora board due to time outs, but I understand this is to be expected as the firmware has a full config built-in - is this correct or is this the root cause of my issues?

The board outputs the following via the debug port on boot:

        Initializing PHY...

         ## Entering SETUP state


         ## Entering START state

          Starting the threads

         ## Entering IDLE state

I have installed the remora components (remora-eth, remora-nv, remora-nvmpg) into LinuxCNC and I copied various remora configs to my config directory.

Satrting LinuxCNC and using the remova-nv config I can get the x & y steppers to sort of move but I cannot see any inputs change state (I have tried all of them). In the HAL viewer I can see the Remora status as OK and both the servo-thread.time /remora.update-frq.time are updating.

Ultimately I want to set this up for a lathe with x,y and spindle control but for now it is sitting on my desk with two steppers and some switches wired up to the inputs.


So my questions are:

1: have I flashed the correct firmware?
2: do I need to upload a config file to the NVEM - if so why would I get a timeout (this is mentioned by someone else in an earlier post)?
3: If the above is OK why can I not see any input changes?
4: Do anyone have a Lathe config as a starting point?

Thanks in advance
27 Apr 2024 09:18 - 27 Apr 2024 09:23

Lichuan AC servos for axes and spindle

Category: PnCConf Wizard

Hello,My setup for a re-retrofit (from Mach3 to LinuxCNC) of an old EMCO Compact 5 CNC lathe is as follows:
  • RPI 5 with Linuxcnc 2.9.2 on Debian bookworm
  • Mesa 7i96s
  • 2x 200W AC servos with A5 drives from Lichuan, for X and Z. Encoders are 17bit incremental type (why on earth did I not get the absolute ones when they were like 20 dollars more....)
  • 1x 1000W AC servo with A5 drive from Lichuan, for spindle. Same encoder as for the 200W motors.

    As far as I've understood, normal lathe use would indicate that i run the axis drives in position mode with step/dir inputs, and the spindle drive in speed mode, with -10- 10V analog input.

    I believe that is what will be relevant info for the questions in this thread?  
    1. In the axis section of the pncconf wizard I am faced with some settings I have never encountered before, namely "step-on time", "space", "direction hold" and "direction setup". I have tried to read up on what they mean and how it relates to the information I am given in the servo drive manual. Among the numerous settings and points of information for the servo drives, I cannot find anything which is called the same or remotely the same as those parameters. Can I assume that my step high/low and pulse high/low times are identical, and that I can simply use the drives' maximum step frequency as a base for step-on time and space? It is stated as 1MHz in the manual. What about direction hold and direction setup, could someone please explain what they are? I am anxious of doing something bad to my new precious drivers and motors, so in case any wrong settings can hurt my drives, i just want to be on the safe side...
    2. Is there anything else I need to pay special attention to when using AC servos with step/dir inputs, instead of stepper motors? I see there are some unseleactable/uneditable tuning parameters (PID info) on the left; I thought I would be tuning the servos internally on the drives?

      Link to servo motor with drive (200W version): 
      www.aliexpress.com/item/1005005440028771...ain.5.76c81802WfkwiM

       

27 Apr 2024 03:04

Mill Project, Looking for driver Board advice

Category: Driver Boards

Hello everyone, this is my first real cnc re-build so please correct any misconceptions I might have, I'm excited about the possibility of converting to running with Lcnc, But I wanted to run past my machine configuration in front of some more experienced eyes before making any mesa purchases.

Currently there are three axis being used for motion and a fourth being used for rotating the toolchanger carousel, all are servos running analogue. I am considering removing the servo being used for the atc and replacing it with a stepper, so I can then use the servo as a fourth axis. The motion servos Amp seems to be capable of running step or ana, (or maybe not, see attached img from the servopack manual) but I know for sure that the fourth servo is ana only. This seems to lock me into using something like the 7I97T but I am also seeing daughter boards like the 7I36 that seem like they would allow me to use something else. so I am really wondering what Is the best way to use a mixed ana servo/stepper setup as far as mesa cards (if its even possible) or if its something I should just abandon and get another amp and servo in the future if I want to do fourth axis. I am also going to be needing a reasonably large amount of IO for the pneumatics system, six outputs at a minimum but more is better, so if I was going to use a daughter card it might be for that.

Another thing I am wondering about it the spindle, I am currently being shipped the documentation for my Spindle controller so I am unsure exactly how it interfaces with the motion controller But I see that some cards provide a dedicated option for the spindle while others don't. I am wondering if the spindle is going to take the place of one of the axis and how that works on one of the analogue cards.
in my ideal configuration it seems like its 5/6 axis (3motion+atc+4thaxis+spindle?) but the mesa card configuration that would achieve this is beyond my current understanding.

Appreciate any input, thanks.
 
25 Apr 2024 07:16

Can not get stepper motors to move with Gecko g250x drivers

Category: PnCConf Wizard

As I stated previously, my knowledge of electronics is somewhat dated.

I thought if I connected the V- (48v PSU) and COM (5v/12v PSU) to earth, I was potentially creating a Ground Loop, which I understood was potentially harmful to electronics. But I do realize that this means I have a floating ground.

So, I tied V- and COM to earth. However, this did not resolve the issue I am having.

I did find that my spindle contactor was closed as soon as I powered the system, so I have something misconfigured there.
18 Apr 2024 21:49

Arcs / Circles not concentric

Category: General LinuxCNC Questions

Greetings,

I have encountered a (for me) rather strange issue that I, even after a day of experimenting, can't seem to fully understand.
I have a stepper-motor driven CNC that used to work marvelous for years until recently, when I decided to update the machine to LinuxCNC 2.9.1. That update gave me nothing but pain, i.e. latency increased by a factor of 10, my touch screen was no longer working, operation of gmoccapy was incredibly sluggish etc.

I was quite busy otherwise, so I simply ignored the problem for a while, stuck to operating the machine with an external keyboard and continued. Yesterday, I eventually had to mill some parts as part of an official project, so I decided I'd finally tackle the problem and tried the naive approach first, that is, updating to 2.9.2. That didn't do much at all, plus I discovered something completely different that has been bugging me every since: circles (or arcs, depending how you want to look at it) are no longer being milled concentric.

The arc/circle itself is fine, i.e. perfectly round, but given an arc and a circle with identical reference (center) points, they are slightly offset to each other. Naturally, I checked the DXF, both entities have the same center point - LinuxCNC also draws them correctly on top of each other when processing the GCODE. I also uploaded the code generated by my cam software to an online GCODE viewer, again, both entities are sitting on top of each other just fine.

Facing this new problem, I bit the bullet and downgraded back to 2.8.4, which resolved almost all of my problems, i.e. the touch screen works again, UI response time is instant and so on. It also made the actual issue better, out of 4 pairs of arcs/circles, only two pairs are now offset, and the offsets have become smaller in general. In general, we're talking of an absolute error distance of 1mm to 1.5mm though.

I'll attach the generated GCODE just in case someone wants to have a look at it, it's a really basic operation for a 6mm D - shaft encoder cap.
 

File Attachment:

File Name: gcode.txt
File Size:11 KB


Maybe I'm coping here, but I somehow doubt that it's e.g. step loss since the machine worked in an identical configuration with precision for literally years (and is well maintained). The Gecko drivers, motors and power supply are definitely capable of driving the machine. Plus, I'm cutting decorative knobs out of wood here with a 2kW spindle, so nothing demanding. I'm also running Mesa interface cards. I'll run a few more ops and check position accuracy with a dial test indicator again, but so far, everything looked good.

Does anyone have any idea what I could check to narrow my problem down further? Any ideas, approaches, pointers would be appreciated.

Cheers,

James

 
18 Apr 2024 14:00

Steppers work ok in pncconf tests but not with Axis

Category: AXIS

# Generated by PNCconf at Wed Apr 17 15:26:19 2024
# Using LinuxCNC version: 2.8
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_pci config="num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s

addf hm2_5i25.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf hm2_5i25.0.write servo-thread

# external output signals


# external input signals


# --- BOTH-X ---
net both-x <= hm2_5i25.0.7i76.0.0.input-00

# --- HOME-X ---
net home-x <= hm2_5i25.0.7i76.0.0.input-01

# --- BOTH-Y ---
net both-y <= hm2_5i25.0.7i76.0.0.input-02

# --- HOME-Y ---
net home-y <= hm2_5i25.0.7i76.0.0.input-03

# --- BOTH-Z ---
net both-z <= hm2_5i25.0.7i76.0.0.input-04

# --- HOME-Z ---
net home-z <= hm2_5i25.0.7i76.0.0.input-05

#*******************
# AXIS X JOINT 0
#*******************

setp pid.x.Pgain [JOINT_0]P
setp pid.x.Igain [JOINT_0]I
setp pid.x.Dgain [JOINT_0]D
setp pid.x.bias [JOINT_0]BIAS
setp pid.x.FF0 [JOINT_0]FF0
setp pid.x.FF1 [JOINT_0]FF1
setp pid.x.FF2 [JOINT_0]FF2
setp pid.x.deadband [JOINT_0]DEADBAND
setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.x.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.x.maxerror 0.000500

net x-index-enable => pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-pos-fb => pid.x.feedback
net x-output <= pid.x.output

# Step Gen signals/setup

setp hm2_5i25.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
setp hm2_5i25.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd <= joint.0.motor-pos-cmd
net x-vel-cmd <= joint.0.vel-cmd
net x-output => hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable

# ---setup home / limit switch signals---

net home-x => joint.0.home-sw-in
net both-x => joint.0.neg-lim-sw-in
net both-x => joint.0.pos-lim-sw-in

#*******************
# AXIS Y JOINT 1
#*******************

setp pid.y.Pgain [JOINT_1]P
setp pid.y.Igain [JOINT_1]I
setp pid.y.Dgain [JOINT_1]D
setp pid.y.bias [JOINT_1]BIAS
setp pid.y.FF0 [JOINT_1]FF0
setp pid.y.FF1 [JOINT_1]FF1
setp pid.y.FF2 [JOINT_1]FF2
setp pid.y.deadband [JOINT_1]DEADBAND
setp pid.y.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.y.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.y.maxerror 0.000500

net y-index-enable => pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-pos-fb => pid.y.feedback
net y-output <= pid.y.output

# Step Gen signals/setup

setp hm2_5i25.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 1
setp hm2_5i25.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd <= joint.1.motor-pos-cmd
net y-vel-cmd <= joint.1.vel-cmd
net y-output => hm2_5i25.0.stepgen.01.velocity-cmd
net y-pos-fb <= hm2_5i25.0.stepgen.01.position-fb
net y-pos-fb => joint.1.motor-pos-fb
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_5i25.0.stepgen.01.enable

# ---setup home / limit switch signals---

net home-y => joint.1.home-sw-in
net both-y => joint.1.neg-lim-sw-in
net both-y => joint.1.pos-lim-sw-in

#*******************
# AXIS Z JOINT 2
#*******************

setp pid.z.Pgain [JOINT_2]P
setp pid.z.Igain [JOINT_2]I
setp pid.z.Dgain [JOINT_2]D
setp pid.z.bias [JOINT_2]BIAS
setp pid.z.FF0 [JOINT_2]FF0
setp pid.z.FF1 [JOINT_2]FF1
setp pid.z.FF2 [JOINT_2]FF2
setp pid.z.deadband [JOINT_2]DEADBAND
setp pid.z.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.z.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.z.maxerror 0.000500

net z-index-enable => pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-pos-fb => pid.z.feedback
net z-output <= pid.z.output

# Step Gen signals/setup

setp hm2_5i25.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_5i25.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_5i25.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_5i25.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_5i25.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_5i25.0.stepgen.02.step_type 0
setp hm2_5i25.0.stepgen.02.control-type 1
setp hm2_5i25.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd <= joint.2.motor-pos-cmd
net z-vel-cmd <= joint.2.vel-cmd
net z-output => hm2_5i25.0.stepgen.02.velocity-cmd
net z-pos-fb <= hm2_5i25.0.stepgen.02.position-fb
net z-pos-fb => joint.2.motor-pos-fb
net z-enable <= joint.2.amp-enable-out
net z-enable => hm2_5i25.0.stepgen.02.enable

# ---setup home / limit switch signals---

net home-z => joint.2.home-sw-in
net both-z => joint.2.neg-lim-sw-in
net both-z => joint.2.pos-lim-sw-in


#******************************
# connect miscellaneous signals
#******************************

# ---HALUI signals---

net axis-select-x halui.axis.x.select
net jog-x-pos halui.axis.x.plus
net jog-x-neg halui.axis.x.minus
net jog-x-analog halui.axis.x.analog
net x-is-homed halui.joint.0.is-homed
net axis-select-y halui.axis.y.select
net jog-y-pos halui.axis.y.plus
net jog-y-neg halui.axis.y.minus
net jog-y-analog halui.axis.y.analog
net y-is-homed halui.joint.1.is-homed
net axis-select-z halui.axis.z.select
net jog-z-pos halui.axis.z.plus
net jog-z-neg halui.axis.z.minus
net jog-z-analog halui.axis.z.analog
net z-is-homed halui.joint.2.is-homed
net jog-selected-pos halui.axis.selected.plus
net jog-selected-neg halui.axis.selected.minus
net spindle-manual-cw halui.spindle.0.forward
net spindle-manual-ccw halui.spindle.0.reverse
net spindle-manual-stop halui.spindle.0.stop
net machine-is-on halui.machine.is-on
net jog-speed halui.axis.jog-speed
net MDI-mode halui.mode.is-mdi

# ---coolant signals---

net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood

# ---probe signal---

net probe-in => motion.probe-input

# ---motion control signals---

net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled

# ---digital in / out signals---

# ---estop signals---

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

# ---manual tool change signals---

loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed 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



# Generated by PNCconf at Wed Apr 17 15:26:19 2024
# Using LinuxCNC version: 2.8
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

[EMC]
MACHINE = my_LinuxCNC_machine
DEBUG = 0
VERSION = 1.1

[DISPLAY]
DISPLAY = gmoccapy
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/jack/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.016670
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xyz

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var
RS274NGC_STARTUP_CODE = G20 G40 G90 G94 G97 G64 P0.001

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000

[HMOT]
# **** This is for info only ****
CARD0=hm2_5i25.0

[HAL]
HALUI = halui
HALFILE = my_LinuxCNC_machine.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal

[HALUI]
MDI_COMMAND = G10 L20 P0 X0 ( Set X to zero )
MDI_COMMAND = G10 L20 P0 Y0 ( Set Y to zero )
MDI_COMMAND = G10 L20 P0 Z0 ( Set Z to zero )

[KINS]
JOINTS = 3
KINEMATICS = trivkins coordinates=XYZ

[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 0.23
MAX_LINEAR_VELOCITY = 2.25

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

#******************************************
[AXIS_X]
MAX_VELOCITY = 2.25
MAX_ACCELERATION = 5.0
MIN_LIMIT = -19.0
MAX_LIMIT = 1.25

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 2.25
MAX_ACCELERATION = 5.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 2.81
STEPGEN_MAXACCEL = 6.25
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 5050
STEPSPACE = 5050
STEP_SCALE = 13546.666
MIN_LIMIT = -19.0
MAX_LIMIT = 1.25
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 0.066667
HOME_LATCH_VEL = 0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
#******************************************

#******************************************
[AXIS_Y]
MAX_VELOCITY = 2.25
MAX_ACCELERATION = 5.0
MIN_LIMIT = -14.0
MAX_LIMIT = 1.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 2.25
MAX_ACCELERATION = 5.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 2.81
STEPGEN_MAXACCEL = 6.25
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = 13546.666
MIN_LIMIT = -14.0
MAX_LIMIT = 1.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 0.066667
HOME_LATCH_VEL = 0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 2
#******************************************

#******************************************
[AXIS_Z]
MAX_VELOCITY = 0.216666666667
MAX_ACCELERATION = 5.0
MIN_LIMIT = -17.0
MAX_LIMIT = 0.001

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 0.216666666667
MAX_ACCELERATION = 5.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 0.27
STEPGEN_MAXACCEL = 6.25
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = -13546.666
MIN_LIMIT = -17.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 0.066667
HOME_LATCH_VEL = 0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
#******************************************
Displaying 76 - 90 out of 184 results.
Time to create page: 0.902 seconds
Powered by Kunena Forum