LitexCNC: firmware and driver for 5A-75B and 5A-75E

More
06 May 2024 00:18 - 06 May 2024 00:21 #299862 by Ehsan_R
I configured hal as below.
But I am not sure if it is true.
Anyway, homing had the same result as before.
I would appreciate it if you could check my hal settings.
 
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
setp   pid.a.maxerror               0.012700

#net encoder-counts <= 5A-75B:V8.2.encoder.03.counts 

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

# Step Gen signals/setup

setp 5A-75B:V8.2.stepgen.03.position-scale   [JOINT_3]STEP_SCALE
setp 5A-75B:V8.2.stepgen.03.steplen          [JOINT_3]STEPLEN
setp 5A-75B:V8.2.stepgen.03.stepspace        [JOINT_3]STEPSPACE
setp 5A-75B:V8.2.stepgen.03.dir-hold-time    [JOINT_3]DIRHOLD
setp 5A-75B:V8.2.stepgen.03.dir-setup-time   [JOINT_3]DIRSETUP
setp 5A-75B:V8.2.stepgen.03.max-velocity     [JOINT_3]MAX_VELOCITY
setp 5A-75B:V8.2.stepgen.03.max-acceleration [JOINT_3]STEPGEN_MAXACCEL

# ---closedloop stepper signals---

net a-pos-cmd    <= joint.3.motor-pos-cmd
net a-vel-cmd    <= joint.3.vel-cmd
net a-output     => 5A-75B:V8.2.stepgen.03.velocity-cmd
net a-pos-fb     <= 5A-75B:V8.2.encoder.03.position
net a-pos-fb     => joint.3.motor-pos-fb
net a-enable     <= joint.3.amp-enable-out
net a-enable     => 5A-75B:V8.2.stepgen.03.enable => 5A-75B:V8.2.gpio.j1:3.out

# ---Encoder feedback signals/setup---

setp    5A-75B:V8.2.encoder.03.x4-mode 1
setp    5A-75B:V8.2.encoder.03.position-scale  [JOINT_3]ENCODER_SCALE

#net a-pos-fb               <= 5A-75B:V8.2.encoder.03.position
net a-vel-fb               <=  5A-75B:V8.2.encoder.03.velocity

net a-index-enable             joint.3.index-enable  <=>  5A-75B:V8.2.encoder.03.index-enable
net a-pos-rawcounts        <=  5A-75B:V8.2.encoder.03.raw-counts

setp    5A-75B:V8.2.stepgen.03.velocity-mode 1        
        
# ---setup home / limit switch signals---

net a-home-sw        <= 5A-75B:V8.2.gpio.j16:6.in-not
net a-home-sw        =>  joint.3.home-sw-in
Last edit: 06 May 2024 00:21 by Ehsan_R.

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

More
06 May 2024 00:46 #299864 by cornholio
I think this issue would be better resolved on the projects github page. The response there is quite quick.
The following user(s) said Thank You: besriworld

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

More
06 May 2024 12:27 #299933 by Ehsan_R
How can I completely stop using the board after closing the software or pressing the estop and power keys?
For example, how do I set the Watchdog pin value to True after closing the software and pressing the estop or machine power key?

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

More
06 May 2024 19:55 #299962 by besriworld
Do you have an enabling signal to each servo driver?

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

More
07 May 2024 07:54 - 07 May 2024 07:56 #300013 by Ehsan_R

Do you have an enabling signal to each servo driver?

 

Yes I have
They are deactivated as soon as the emergency key is pressed.
But it seems that the board moves the motors by itself without receiving a command from Linux CNC
Last edit: 07 May 2024 07:56 by Ehsan_R.

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

More
07 May 2024 13:43 - 07 May 2024 13:43 #300033 by besriworld
That is, the driver continues to count the pulses from the controller and when the enabling signal is true again, the motor rotates?
Last edit: 07 May 2024 13:43 by besriworld.

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

More
07 May 2024 17:42 - 07 May 2024 17:43 #300054 by Ehsan_R
No, imagine the software is open and the motor is stationary, when I close the software or press the power or stop key, the motor starts moving until I open the software again and press the power key. In this case, the motor stops
Last edit: 07 May 2024 17:43 by Ehsan_R.

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

More
07 May 2024 18:35 #300058 by besriworld
Yes, I understand that the controller produces steps when the program is turned off. But if the enable signal is going to each driver and it is working correctly the motor should be immediately turned off when exiting the program.
try on github ...
I have one such board on the shelf, but I have not played with this firmware.

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

More
07 May 2024 19:06 #300059 by Ehsan_R

Yes, I understand that the controller produces steps when the program is turned off. But if the enable signal is going to each driver and it is working correctly the motor should be immediately turned off when exiting the program.
try on github ...
I have one such board on the shelf, but I have not played with this firmware.

There is a pin called 5A-75B:V8.2.watchdog.has_bitten in litexcnc.
Is there a way to disable all board output buffers, for example by concocting it to motion.motion-enabled?
If 5A-75B:V8.2.watchdog.has_bitten is equal to one, all output buffers of the board are disabled.

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

More
07 May 2024 19:27 #300060 by PCW
Does the controller actually generate steps when LinuxCNC is not running,
or does it just float its outputs, possibly causing noise generation because
the I/O levels are undefined?

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

Moderators: PCWjmelson
Time to create page: 0.115 seconds
Powered by Kunena Forum