Advanced Search

Search Results (Searched for: )

  • PCW
  • PCW's Avatar
16 Aug 2024 16:24
Replied by PCW on topic Mesa 7I92TM Parallel port pin mapping

Mesa 7I92TM Parallel port pin mapping

Category: PnCConf Wizard

Most common reason for lack of step/dir motion
is too short step lengths, So you might try doubling
those. Also check that the direction pin  to the step drive
changes state when jogging in either direction to verify
that the pinout is correct and that the  breakout board is
working as  expected.
  • Aciera
  • Aciera's Avatar
16 Aug 2024 16:17 - 16 Aug 2024 16:18
Replied by Aciera on topic classic ladder not loading

classic ladder not loading

Category: Gmoccapy

Try adding this to the bottom of your custom hal file. Make sure you replace <your_file.clp> with the one you want to load on startup:
# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI
loadusr classicladder --nogui <your_file.clp>
  • DougM
  • DougM
16 Aug 2024 16:16 - 16 Aug 2024 16:18
Replied by DougM on topic Mesa 7I92TM Parallel port pin mapping

Mesa 7I92TM Parallel port pin mapping

Category: PnCConf Wizard

Successfully flashed 7i92t_5abobx2d.bin onto the MESA card (and performed a reload).

Here is the output of readhmid:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Configuration Name: HOSTMOT2

General configuration information:

BoardName : MESA7I92
FPGA Size: 20 KGates
FPGA Pins: 256
Number of IO Ports: 2
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 180.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256

Modules in configuration:

Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: IOPort
There are 2 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: QCount
There are 2 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: StepGen
There are 10 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: PWM
There are 2 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 180.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for P2
DB25 pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir

1 0 IOPort PWM 0 PWM (Out)
14 1 IOPort None
2 2 IOPort StepGen 0 Step/Table1 (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir/Table2 (Out)
16 5 IOPort StepGen 8 Step/Table1 (Out)
4 6 IOPort StepGen 1 Step/Table1 (Out)
17 7 IOPort StepGen 8 Dir/Table2 (Out)
5 8 IOPort StepGen 1 Dir/Table2 (Out)
6 9 IOPort StepGen 2 Step/Table1 (Out)
7 10 IOPort StepGen 2 Dir/Table2 (Out)
8 11 IOPort StepGen 3 Step/Table1 (Out)
9 12 IOPort StepGen 3 Dir/Table2 (Out)
10 13 IOPort None
11 14 IOPort QCount 0 Quad-A (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-IDX (In)

IO Connections for P1
DB25 pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir

1 17 IOPort PWM 1 PWM (Out)
14 18 IOPort None
2 19 IOPort StepGen 4 Step/Table1 (Out)
15 20 IOPort None
3 21 IOPort StepGen 4 Dir/Table2 (Out)
16 22 IOPort StepGen 9 Step/Table1 (Out)
4 23 IOPort StepGen 5 Step/Table1 (Out)
17 24 IOPort StepGen 9 Dir/Table2 (Out)
5 25 IOPort StepGen 5 Dir/Table2 (Out)
6 26 IOPort StepGen 6 Step/Table1 (Out)
7 27 IOPort StepGen 6 Dir/Table2 (Out)
8 28 IOPort StepGen 7 Step/Table1 (Out)
9 29 IOPort StepGen 7 Dir/Table2 (Out)
10 30 IOPort None
11 31 IOPort QCount 1 Quad-A (In)
12 32 IOPort QCount 1 Quad-B (In)
13 33 IOPort QCount 1 Quad-IDX (In)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
and here is the current HAL file (after manual edits for num_encoders, num_stepgens and num_pwmgens)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Generated by PNCconf at Fri Aug 16 08:59:19 2024
# Using LinuxCNC version: Master (2.9)
# 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_eth board_ip="10.10.10.10" config="num_encoders=2 num_pwmgens=0 num_stepgens=3 sserial_port_0=00xxxxxx"
setp hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s

addf hm2_7i92.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_7i92.0.write servo-thread
setp hm2_7i92.0.dpll.01.timer-us -50
setp hm2_7i92.0.stepgen.timer-number 1

# external output signals


# external input signals


#*******************
# 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_7i92.0.stepgen.01.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i92.0.stepgen.01.dirhold [JOINT_0]DIRHOLD
setp hm2_7i92.0.stepgen.01.steplen [JOINT_0]STEPLEN
setp hm2_7i92.0.stepgen.01.stepspace [JOINT_0]STEPSPACE
setp hm2_7i92.0.stepgen.01.position-scale [JOINT_0]STEP_SCALE
setp hm2_7i92.0.stepgen.01.step_type 0
setp hm2_7i92.0.stepgen.01.control-type 1
setp hm2_7i92.0.stepgen.01.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.01.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_7i92.0.stepgen.01.velocity-cmd
net x-pos-fb <= hm2_7i92.0.stepgen.01.position-fb
net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_7i92.0.stepgen.01.enable

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

net x-home-sw => joint.0.home-sw-in
net x-neg-limit => joint.0.neg-lim-sw-in
net x-pos-limit => 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_7i92.0.stepgen.00.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i92.0.stepgen.00.dirhold [JOINT_1]DIRHOLD
setp hm2_7i92.0.stepgen.00.steplen [JOINT_1]STEPLEN
setp hm2_7i92.0.stepgen.00.stepspace [JOINT_1]STEPSPACE
setp hm2_7i92.0.stepgen.00.position-scale [JOINT_1]STEP_SCALE
setp hm2_7i92.0.stepgen.00.step_type 0
setp hm2_7i92.0.stepgen.00.control-type 1
setp hm2_7i92.0.stepgen.00.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.00.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_7i92.0.stepgen.00.velocity-cmd
net y-pos-fb <= hm2_7i92.0.stepgen.00.position-fb
net y-pos-fb => joint.1.motor-pos-fb
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_7i92.0.stepgen.00.enable

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

net y-home-sw => joint.1.home-sw-in
net y-neg-limit => joint.1.neg-lim-sw-in
net y-pos-limit => 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_7i92.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_7i92.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_7i92.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_7i92.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_7i92.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_7i92.0.stepgen.02.step_type 0
setp hm2_7i92.0.stepgen.02.control-type 1
setp hm2_7i92.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_7i92.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_7i92.0.stepgen.02.velocity-cmd
net z-pos-fb <= hm2_7i92.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_7i92.0.stepgen.02.enable

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

net z-home-sw => joint.2.home-sw-in
net z-neg-limit => joint.2.neg-lim-sw-in
net z-pos-limit => 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---

net tool-change-request <= iocontrol.0.tool-change
net tool-change-confirmed => iocontrol.0.tool-changed
net tool-number <= iocontrol.0.tool-prep-number

# ---Use external manual tool change dialog---

loadusr -W hal_manualtoolchange
net tool-change-request => hal_manualtoolchange.change
net tool-change-confirmed <= hal_manualtoolchange.changed
net tool-number => hal_manualtoolchange.number

# ---ignore tool prepare requests---
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I still get no movement in any of the axes.  I wonder if there's something I am not properly enabling?  I didn't setup the Home or e-stop signals.

Thank you for your continued assistance,

 
  • Aciera
  • Aciera's Avatar
16 Aug 2024 16:11
Replied by Aciera on topic easyprobe linuxcnc

easyprobe linuxcnc

Category: Installing LinuxCNC

Classicladder verträgt sich nicht mit der TWOPASS funktion

Mir scheint, dass du classicladder zwar lädst aber gar nicht verwendest. Falls das so ist dann kannst du diese Zeilen aus deiner hal entfernen oder auskommentieren (#):
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10
addf classicladder.0.refresh servo-thread
loadusr classicladder --nogui custom.clp


Falls du classicladder behalten willst kannst du, alternativ, mal versuchen den 'TWOPASS' auszuschalten. Dazu diese Zeile aus der [HAL] Sparte in deiner ini Datei entfernen oder auskommentieren[#]:
TWOPASS = on
  • rajsekhar
  • rajsekhar
16 Aug 2024 16:03
classic ladder not loading was created by rajsekhar

classic ladder not loading

Category: Gmoccapy

Dear friends..
I was configuring a LCNC setup 2.9.2. I used PNC config.

Now, classicladder program is not loading automatically. It can be loaded from LOAD option in classicladder window.

HAL, INI, custom.hal file attached.

What wrong I did?
 
  • tommylight
  • tommylight's Avatar
16 Aug 2024 15:47

Ethercat installation from repositories - how to step by step

Category: EtherCAT

Latency is OK, so the kernel should work just fine.
No idea if it works for EtherCAT though, although in general should work if the same headers are used.
  • tommylight
  • tommylight's Avatar
16 Aug 2024 15:43
Replied by tommylight on topic löschen fehlerhafter topics

löschen fehlerhafter topics

Category: Deutsch

Was fuhr ein topic, oder welche topic.
  • dave.franchino@gmail.com
  • dave.franchino@gmail.com
16 Aug 2024 15:37
Replied by dave.franchino@gmail.com on topic configuring GPIO for a Raspberry Pi 4B

configuring GPIO for a Raspberry Pi 4B

Category: Configuration Tools

Oh thank you so very much! I thought I was going crazy. Your explanation makes a lot of sense.

Might be nice to add a note to that document to clarify this as it's not incredibly obvious. I'm a LinuxCNC newby and I'm not sure of the protocol for making changes like this but if it's something I can or should do I'm happy to try adding a note. Thanks again!
  • elovalvo
  • elovalvo
16 Aug 2024 15:29
Replied by elovalvo on topic configuring GPIO for a Raspberry Pi 4B

configuring GPIO for a Raspberry Pi 4B

Category: Configuration Tools

and everything is right!
The fact is that the pin outs of the Raspberry are inputs for the LinuxCNC and vice versa...

You will see that if you configure input pins with hal_pi_gpio, in the halcmd show pin command they will be shown as OUT

 
  • chernogorsky
  • chernogorsky
16 Aug 2024 15:15
Replied by chernogorsky on topic qtdragonhd / probing

qtdragonhd / probing

Category: Qtvcp

I think if tool measuring button is pressed it should be set same as for tool height
but again, Im not the real CNC guy,
I can live with manual process, its good enough for me
  • vick.trinity
  • vick.trinity's Avatar
16 Aug 2024 15:15
Re-enable drives after a fault was created by vick.trinity

Re-enable drives after a fault

Category: General LinuxCNC Questions

I am using LinuxCNC to drive a PUMA type robot with brushed DC motors, encoders, and harmonics on each joint.  I have a 7i77 and 5i25 controlling 5 AMD motor drives for control.    Unfortunately, the joints do not have brakes, so every time get an FERROR fault, all drives are disabled and the arm drifts down until I can run over to the computer and re-enable the drives.
Can I alter my HAL file to pause after a fault and then re-enable the drives automatically?  I have found some messages that are on the right track like:
"I would use a combination of a timedelay hal component connected to the amp enable output, then the output of that to an and2 comp combined with the fault input from the drive, then the output of the and2 to motion.axis.N.amp-fault-in. This would essentially disable the amp's fault signal until the timdelay expires after turning on. "  from Todd Z

But, I've got to say - the HAL file is like my grasp of Spanish.  I can read it and get the gist of what is happening, but ask me to actually write something correct and I am illiterate.  I'm going to need some hand holding I'm afraid.

 
  • dave.franchino@gmail.com
  • dave.franchino@gmail.com
16 Aug 2024 15:12
Replied by dave.franchino@gmail.com on topic configuring GPIO for a Raspberry Pi 4B

configuring GPIO for a Raspberry Pi 4B

Category: Configuration Tools

That is exactly the document I have been using. As a test I tried to configure just one GPIO pin as an output - but when I run Halcmd Show Pins in a terminal that pin is showing up with direction set to "in"

Is there any chance that I don't understand what "Show Pins" is reporting. What does "direction" mean in this context - is there any chance that I do want direction to be "in" for an output? That seems unlikely.
  • PhilipME
  • PhilipME's Avatar
16 Aug 2024 15:06
Replied by PhilipME on topic connecting a soft button to bob pin 17

connecting a soft button to bob pin 17

Category: General LinuxCNC Questions

I will read and try it

Thanks
  • chernogorsky
  • chernogorsky
16 Aug 2024 14:57
Replied by chernogorsky on topic [QTDragon] blocking in hal_manualtoolchange dialog

[QTDragon] blocking in hal_manualtoolchange dialog

Category: Qtvcp

Hi,
lcnc 2.10-dev (builded from master)

I saw that,
I want to avoid multiple steps,
What I need is run a command from the dialog (by button from a dialog, or by external signal like pendant)
my imaginary flow be like
programm triger TxM6
it goes to change location
shows toolchange dialog
I change the tool by pressing additional button on a dialog / phisical button on a pendant
press OK
and it continue its procedure with qc_autotool_change macro

Im looking for a solution to overcome blocking during dialog or
replace that dialog with my own, without the need of changing dialog_widget.py file (and keep the changes all the time I update the lcnc)

all the rest would be handled by the program itself, including spindle speed, locations, ...

in short I want to have another action during manual change, since I dont need to work with wrenches rather button click

priv I had air release button closeby, but after rewiring all the air contorls goes to the back side of my cnc (
I would consider adding phisical button for tool replace later, but it would be through lcnc logic, not directly, means - I need lcnc be not blocked (
  • AlessandroEmm
  • AlessandroEmm
16 Aug 2024 14:56
Replied by AlessandroEmm on topic Beginners homing woes

Beginners homing woes

Category: Basic Configuration

Thanks Todd for looking over my setup.

Your laying out of the not-so-clear configuration led me to move things where they belong. The Z-Axis Configuration is driven by Joint 3. But since I only added the second Y later, it came after the Z's definition.
When I changed the ordering I realised that my homeing Order wasn't correct either. Which led to the situation that LinuxCNC would try to home an axis that i hadn't attached yet (Z's Joint). Which then in turn would lead to a situation where Y and X would never home and me waiting forever. Having now fixed the priorities, axis do home as they should. Thanks for pushing me to it!

That said for the Gantry: does it make sense to use keep the trivial trajectory setup or would I rather use one of the available gantry components to manage Y? I havent really found pros and cons online. Both side of the gantry should are fixed by leadscrews so theres little to no tilting possible.

Thanks again,
Alessandro
Displaying 22636 - 22650 out of 25341 results.
Time to create page: 0.530 seconds
Powered by Kunena Forum