Sieg KX3 and 5i25. Seeking firmware.

More
23 Jun 2016 11:11 #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 or Create an account to join the conversation.

More
23 Jun 2016 11:14 #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 or Create an account to join the conversation.

More
23 Jun 2016 19:24 #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 or Create an account to join the conversation.

More
23 Jun 2016 19:50 #76511 by PCW
Forgot that pncconf doesnt have a g5450 config, try probrfx2 (as similar parallel port like config)

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

More
24 Jun 2016 01:51 #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 or Create an account to join the conversation.

More
24 Jun 2016 02:18 - 24 Jun 2016 02:18 #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?
Last edit: 24 Jun 2016 02:18 by andypugh.

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

More
24 Jun 2016 21:09 #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 or Create an account to join the conversation.

More
24 Jun 2016 21:55 #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 or Create an account to join the conversation.

More
24 Jun 2016 23:37 #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 or Create an account to join the conversation.

More
24 Jun 2016 23:54 #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 or Create an account to join the conversation.

Moderators: cmorley
Time to create page: 0.175 seconds
Powered by Kunena Forum