Mesa 7i71 - Stepgen on Digital Output for ATC

More
2 years 5 months ago #301690 by PCW
Do you have the 7I52S TXEN0 set low?

A 50 pin FPGA card option would be a 6I24 (PCIE) or 7I80HDT (Ethernet)

Please Log in to join the conversation.

More
2 years 5 months ago #301693 by hardware_crash
I read about it in the 7i52S manual, but wasn't sure how to do it.
Like so ?
Code:
setp gpio.XX.is_output true setp gpio.XX.out false

I also tried the second Port COMM1 which shouldn't need that setting, right?
That one also didnt produce output to the stepper driver :(

Thanks for the info about those two boards, so theres no future proof board for the external pcie cable connection.

Please Log in to join the conversation.

More
2 years 5 months ago #301701 by PCW
Possible reasons for no steps:

Too short step length settings

Wrong FPGA connector

Wrong firmware

No 5V to 7I52S

To check the hardware, you can setup the stepgens to generate slow squarewaves:

 

Attachment not found



(rename to pcistepgens and chmod +x pcistepgens)

This allows the step and dir outputs to be check with just a LED+resistor

Note the this script needs the latest mesaflash:

github.com/LinuxCNC/mesaflash

and it's run with:

sudo pcistepgens 4i65
 

Please Log in to join the conversation.

More
2 years 4 months ago #302086 by hardware_crash
Dear Peter,

I tested with your script and can confirm (with oscilloscope), that there is a very slow square wave output on the step pins, the motor also seems to be driven.
So where to go from here ?

Thanks, Lukas

Please Log in to join the conversation.

More
2 years 4 months ago #302088 by PCW
You might try huge step times (say 10000 ns) in your
LinuxCNC configuration since it look like the hardware is OK

Please Log in to join the conversation.

More
2 years 4 months ago #302102 by hardware_crash
I can seem to get it to work :(
Heres what I have in my INI File:
Code:
#================== #      A Axis #================== [AXIS_A] MIN_LIMIT = -9999.0 MAX_LIMIT = 9999.0 MAX_VELOCITY = 360.0 MAX_ACCELERATION = 1200.0 [JOINT_3] TYPE = ANGULAR MIN_LIMIT = -9999.0 MAX_LIMIT = 9999.0 MAX_VELOCITY = 25.0 MAX_ACCELERATION = 750.0 BACKLASH = 0.003 HOME = 0.000 HOME_OFFSET = 1.0 HOME_SEARCH_VEL = 3.0 HOME_LATCH_VEL = 0.2 HOME_SEQUENCE = 0 HOME_IS_SHARED = 1 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO 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 STEPGEN_MAXVEL = 31.25 STEPGEN_MAXACCEL = 937.50 DIRSETUP   = 10000 DIRHOLD    = 10000 STEPLEN    = 5000 STEPSPACE  = 5000 STEP_SCALE = 80.0

And in the HAL File:
Code:
# #################### # A Axis ###################### setp   pid.a.Pgain     [JOINT_3]P setp   pid.a.Igain     [JOINT_3]I setp   pid.a.Dgain     [JOINT_3]D setp   pid.a.bias      [JOINT_3]BIAS setp   pid.a.FF0       [JOINT_3]FF0 setp   pid.a.FF1       [JOINT_3]FF1 setp   pid.a.FF2       [JOINT_3]FF2 setp   pid.a.deadband  [JOINT_3]DEADBAND setp   pid.a.maxoutput [JOINT_3]MAX_OUTPUT setp   pid.a.error-previous-target true # This setting is to limit bogus stepgen # velocity corrections caused by position # feedback sample time jitter. setp   pid.a.maxerror 0.82700 net a-index-enable  =>  pid.a.index-enable net a-enable        =>  pid.a.enable net a-pos-cmd       =>  pid.a.command net a-pos-fb        =>  pid.a.feedback net a-output        <=  pid.a.output # Schritt-Gen Signale/Setup setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup        [JOINT_3]DIRSETUP setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold         [JOINT_3]DIRHOLD setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen         [JOINT_3]STEPLEN setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace       [JOINT_3]STEPSPACE setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale  [JOINT_3]STEP_SCALE setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type        0 setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.control-type     1 setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel         [JOINT_3]STEPGEN_MAXACCEL setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel           [JOINT_3]STEPGEN_MAXVEL # ---Closed-Loop Schrittmotor-Signale--- net a-pos-cmd    <= joint.3.motor-pos-cmd net a-vel-cmd    <= joint.3.vel-cmd net a-output     => hm2_[HOSTMOT2](BOARD).0.stepgen.01.velocity-cmd net a-pos-fb     <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb net a-pos-fb     => joint.3.motor-pos-fb net a-enable     <= joint.3.amp-enable-out net a-enable     => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable

When I press the jog button for that axis, I get movement on the stepper motor but just one step regardless of how long i push the jog button. When I release the button the motor makes a step, but it should continuously move ..

Please Log in to join the conversation.

More
2 years 4 months ago #302107 by tommylight

When I press the jog button for that axis, I get movement on the stepper motor but just one step regardless of how long i push the jog button. When I release the button the motor makes a step, but it should continuously move ..
That points to having step and dir pins to drive reversed, try rewiring them.

Please Log in to join the conversation.

More
2 years 4 months ago #302108 by hardware_crash
Thats what I thought too, but with Peters script and a rate=0x40000 in that script, the motor is moving correct...

Please Log in to join the conversation.

More
2 years 4 months ago #302109 by PCW
The script uses quadrature mode so puts out "step" pulses on both pins

Please Log in to join the conversation.

Time to create page: 0.114 seconds
Powered by Kunena Forum