Closed tom9672 closed 1 year ago
Yes, for CSP mode DC synchronization might be required, it makes sens there. But it could be that on drives from another vendor DC synchronization might not be required. With Python/PySOEM exact DC synchronization is not possible, because we cannot achive realtime.
I'm trying to get the motor to run at variable velocity , and the positioning is precise when changing velocity.
I tried to use PP mode with Instantly update and PV mode. it can achieve continuous speed change without dropping zero. but the position is not very accurate, the reason: for example, I want change velocity from 100 to 200, while position is 10000. In pp Instantly update and PV, I have to check if the current position is at a range of target postion. I using current_position > 10000
or current_position in range(9900,11000)
, which make the position of changing velocity not precise.
For more precise positioning, I reduce the gap of pdo loop from 0.01 to 0.001. It does help the positioning to be more precise. But not enough...
PP mode with not immediately updated, the position of changing velocity is precise but it will make velocity decelerates to zero before accelerating to target speed.
Is there a way to make the make the target position of changing velocity as precise as much. using another running mode of changing the program logic?
Thanks so much.
I changed a window PC to a raspberry pi on linux with rt-kernel and one cpu isolation. Now I can reduce PDO loop time gap, and not get incorrect wkc.
I continue to reduce the time sleep of PDO loop and position monitor loop. While I set the time sleep of this two loop to 0.00000001 and smaller, each adjacent position monitoring feedback value point has more and more the same value, that means the PDO loop can’t get the current position at such small time sleep gap, right?
At this situation, I run the motor at 3000rpm, the biggest position gap is around 200 to 300(10000=1round). This is not good enough…
So, it seems means, at free run mode with PP or PV mode, even the PDO loop is quick, but maybe some other reasons, still unable to monitor the real time position feedback.
Find the reason, cause the device I’m using support the smallest PDO time gap is 250 μs.
I tried pp mode withouting using dc_sync, that fine. (tried pp works good with or without dc_sync. Don't know the usage of dc_sync) But now i'm trying you csp mode. it seems doesn't work without setting dc_sync.
The
test_csp()
not works.