Rookie: Ethercat Servos wont budge...
but i guess that the problem is servo configuration related.
yes, i actually had some movement tonight! however, i have no idea how :-D I've talked to the manufacturer and they said that the "Bus Cycle Time"-setting in the driver must match the one in the master....in the driver it says 3ms....there is a lot of timing-values in the xml-file, what is the correct settings to get 3ms "bus cycle time"?
Please Log in or Create an account to join the conversation.
Your bus cycle time is 1ms. servo_tread and the equal = appTimePeriod .
Try to set the driver to 1ms.
Please Log in or Create an account to join the conversation.
...which i spent a couple of hours trying to figure out WHY i cannot move it more than a few degrees...
I jog the axis and just as it crosses 0 the actual position changes a tiny bit...nothing happends beyond this... i've been thinking about overflows, softlimits, pid-values etc... but i need help with this one, i don't know where to start or look
Anyone got ideas?
Please Log in or Create an account to join the conversation.
more information is needed.
What Encoders are this, what resolution, increments per round ....
Your scops show ~1,5 millions increments, why so much?
and please post the values of the following pins, at the same point in time.
lcec.0.4.sta-actualposition,
lcec.0.4.cmd-target-position,
joint.0.motor-pos-cmd,
joint.0.motor-pos-fb
Please Log in or Create an account to join the conversation.
Change it to this and make a try
loadrt scale count=2
loadrt conv_s32_float count=2
loadrt conv_float_s32 count=2
#read Hardware
addf lcec.0.read servo-thread
# Add converters --> and scalers for input
addf conv-s32-float.0 servo-thread
addf scale.0 servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
#unused at the moment...
#addf conv-s32-float.1 servo-thread
#addf conv-float-s32.1 servo-thread
# Add scalers ---> and converters for output
addf scale.1 servo-thread
addf conv-float-s32.0 servo-thread
#write Hardware
addf lcec.0.write servo-thread
Please Log in or Create an account to join the conversation.
<pdoEntry idx="607A" subIdx="00" bitLen="16" halPin="cmd-TargetPosition" halType="s32"/>
Hint: The encoder on the servo is a 24bit absolute encoder....and i've set the bitLen to 16bit? yeah... that is going to overflow preeeetty fast...i feel stupid using like more than a week of sparetime trying to debug this... but at least i learned a lot about HAL and Servos in general
I changed it to 32bit and the servo was (almost) literaly flying of my testbench! Note to self: Tie down those 2,2kW servos before trying again....yaiks...
Anyways, a HUGE thanks to db1981 for sticking with me and trying to figure out what was going on! It's really appreciated!
Please Log in or Create an account to join the conversation.