Sieg KX3 and 5i25. Seeking firmware.

More
10 years 4 months ago #76483 by mooser
I'll try that

Other than the HAL file, what else needs to be created? (.ini?) or is that the only one?
M

Please Log in to join the conversation.

More
10 years 4 months ago #76484 by andypugh
Pncconf will create a config which is approximately right. The INI file should be OK, but the HAL file will need a few changes.

Please Log in to join the conversation.

More
10 years 4 months ago #76509 by mooser
OK so back at it.
Removed everything and starting from scratch

Launch PNCconf and create a new config

Went through a couple of tries and can't find where to pretend I'm using a G540.

Tried PNCconf edit existing config but there are no configs anywhere I can find.

Tried copy the G540 ini, hal and xml files into the config dir and using the LinuxCNC config picker app, selected the g540 and after a few seconds it gives an error
hm2_5i25.0.pet.watchdog not found ./hm2_g540-stepper.hal:52 addf failed

Spent an hour at lunch going through the wiki pages.... I'm just so completely lost
Arrrgggg

Please Log in to join the conversation.

More
10 years 4 months ago #76511 by PCW
Forgot that pncconf doesnt have a g5450 config, try probrfx2 (as similar parallel port like config)

Please Log in to join the conversation.

More
10 years 4 months ago #76531 by mooser
OK, maybe slight progress

Created a new config using probrfx2
attempted to set some things knowing I'll have to fix the HAL

saved the config and tried running linuxcnc
error on a bunch of spindle stuff so I opened the HAL and commented out the offending lines, re-ran, re-commented out new lines all related to spindle. had to open the mitsub HAL and comment it out also
Finally linuxcnc loaded without error

Nothing works other than I can reset the estop I guess it is but it's only the program not the machine of course.

Anyway, it ran the program.
Now, looking at the HAL I'm thinking I should try to get just one anything working like a single axis to move,
The estop on the machine is on pin 10 active low
HAL has

# ---estop signals---

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

Yaeh that doesn't sound promising

I needed the charge pump as well

HAL has
loadrt charge_pump
=addf charge-pump servo-thread

and later on has
# --- CHARGE-PUMP ---
setp hm2_5i25.0.gpio.017.is_output true
net charge-pump hm2_5i25.0.gpio.017.out

My chargpump in mach3 is pin 17 so I'm hoping this is vaguely correct

for the X-Axis

HAL has a tonne of stuff
#*******************
# AXIS X
#*******************

setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp pid.x.error-previous-target true
setp pid.x.maxerror .0005

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

# Step Gen signals/setup

setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [AXIS_0]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [AXIS_0]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [AXIS_0]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [AXIS_0]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 [AXIS_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [AXIS_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

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

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

net x-home-sw => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in
net x-pos-limit => axis.0.pos-lim-sw-in

very little of that looks familiar
I've got X-drive step on pin 6, dir on pin 5, dirlow-active true steplow active

M

Please Log in to join the conversation.

More
10 years 4 months ago #76532 by andypugh
You probably don't want chargepump at all. There is a stepgen on pin 17 (I think) and what you need to do is set that running at a constant rate.

This involves setting it to velocity mode, then setting a suitable step rate to put it at the right frequency for the charge pump.

The information you need it all here, but I will not pretend that it is written in an approachable way:
linuxcnc.org/docs/2.7/html/man/man9/hostmot2.9.html#stepgen

Actually, just so we are not talking at crossed-purposes, what is the actual pin layout of your firmware?

Please Log in to join the conversation.

More
10 years 4 months ago #76601 by mooser
Configuration Name: HOSTMOT2

General configuration information:

BoardName : MESA5I25
FPGA Size: 9 KGates
FPGA Pins: 144
Number of IO Ports: 2
Width of one I/O port: 17
Clock Low frequency: 33.3333 MHz
Clock High frequency: 200.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: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 33.333 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: 33.333 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: 33.333 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: StepGen
There are 12 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 33.333 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: 33.333 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir

1 0 IOPort None
14 1 IOPort StepGen 4 Step/Table1 (Out)
2 2 IOPort StepGen 0 Step/Table1 (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir/Table2 (Out)
16 5 IOPort StepGen 4 Dir/Table2 (Out)
4 6 IOPort StepGen 1 Step/Table1 (Out)
17 7 IOPort StepGen 5 Step/Table1 (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 QCount 0 Quad-A (In)
11 14 IOPort QCount 0 Quad-B (In)
12 15 IOPort QCount 0 Quad-IDX (In)
13 16 IOPort None

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

1 17 IOPort None
14 18 IOPort StepGen 10 Step/Table1 (Out)
2 19 IOPort StepGen 6 Step/Table1 (Out)
15 20 IOPort None
3 21 IOPort StepGen 6 Dir/Table2 (Out)
16 22 IOPort StepGen 10 Dir/Table2 (Out)
4 23 IOPort StepGen 7 Step/Table1 (Out)
17 24 IOPort StepGen 11 Step/Table1 (Out)
5 25 IOPort StepGen 7 Dir/Table2 (Out)
6 26 IOPort StepGen 8 Step/Table1 (Out)
7 27 IOPort StepGen 8 Dir/Table2 (Out)
8 28 IOPort StepGen 9 Step/Table1 (Out)
9 29 IOPort StepGen 9 Dir/Table2 (Out)
10 30 IOPort QCount 1 Quad-A (In)
11 31 IOPort QCount 1 Quad-B (In)
12 32 IOPort QCount 1 Quad-IDX (In)
13 33 IOPort None



I get that it sees 34 pins but which of the above pin callouts is what I would think of as the pin?
As in pin 17, the first group says
17 7 IOPort StepGen 5 Step/Table1 (Out)
while the second says
17 24 IOPort StepGen 11 Step/Table1 (Out)
or does it matter?

M

Please Log in to join the conversation.

More
10 years 4 months ago #76609 by PCW
The hal file will refer to the GPIO number ( the second column ) for I/O

The stepgens will be referred to by the stepgen number
so for example you can see from the pinout that:

stepgen0 = X
stepgen1 = Y
stepgen2 = Z
stepgen3 = A
stepgen4 = Spindle control
stepgen5 = Charge Pump

Please Log in to join the conversation.

More
10 years 4 months ago #76616 by mooser
Hard to believe I could be more lost than I was.
ok. So on the HAL snipet I posted earlier

Under the X-axis section I've got lines like

setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [AXIS_0]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [AXIS_0]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [AXIS_0]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [AXIS_0]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 [AXIS_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [AXIS_0]STEPGEN_MAXVEL
etc.

So that's stepgen1 (stepgen.01) or is it stepgen0 (5i25.0.) ?

And on my mesa file output (posted above)

4 6 IOPort StepGen 1 Step/Table1 (Out)
5 8 IOPort StepGen 1 Dir/Table2 (Out)

So my Pin for X Step is 4 and the Dir is pin 5

???
M

Please Log in to join the conversation.

More
10 years 4 months ago #76618 by mooser
Not questioning but is there any reason for not using the charge pump feature? I was reading and it looked like I could set the 12.5khz the c11g card wanted by setting the base-thread = 40,000 in the ini file

Using the HAL
freq = 12500
?
M

Please Log in to join the conversation.

Time to create page: 0.369 seconds
Powered by Kunena Forum