Editing SimpleMotion motion control strategies
Your changes will be displayed to readers once an authorized user accepts them. (help) |
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 15: | Line 15: | ||
|| No || No || [https://github.com/GraniteDevices/SimpleMotionV2Examples PointToPointExample] | || No || No || [https://github.com/GraniteDevices/SimpleMotionV2Examples PointToPointExample] | ||
|- | |- | ||
− | | Buffered motion | + | | Buffered motion commands || |
− | List of | + | List of positions are uploaded to drive command buffers and executed by drives based on clock |
|| | || | ||
*Allow synchronizing multiple axes and running arbitrary motion paths | *Allow synchronizing multiple axes and running arbitrary motion paths | ||
*Motion acceleration and velocity profiles are generated by user application | *Motion acceleration and velocity profiles are generated by user application | ||
− | * | + | *Drives syncronize clocks so motion stays in sync infinitely |
*Typical setpoint update rates are 250 Hz to 1000 Hz for 1 to 4 axis systems | *Typical setpoint update rates are 250 Hz to 1000 Hz for 1 to 4 axis systems | ||
+ | *Use of {{param|CIS}} smoothens any motion above 250 Hz to silky smooth | ||
|| | || | ||
− | *Delay caused by buffering (0.2-1.0 sec buffering is recommended to avoid buffer underruns and | + | *Delay caused by buffering (0.2-1.0 sec buffering is recommended to avoid buffer underruns and stopping of motion) |
*Update rate will reduce as more axes are added to the system (due to bus bandwidth limit) | *Update rate will reduce as more axes are added to the system (due to bus bandwidth limit) | ||
*Some added complexity in programming | *Some added complexity in programming | ||
Line 35: | Line 36: | ||
*Allow synchronizing multiple axes and running arbitrary motion paths | *Allow synchronizing multiple axes and running arbitrary motion paths | ||
*Motion acceleration and velocity profiles are generated by user application | *Motion acceleration and velocity profiles are generated by user application | ||
− | *Use of {{param|CIS}} | + | *Use of {{param|CIS}} smoothens any motion above 250 Hz to silky smooth |
*There is virtually no delay between command and action | *There is virtually no delay between command and action | ||
*Higher scalability, can use multiple SimpleMotion buses to support large number of axis | *Higher scalability, can use multiple SimpleMotion buses to support large number of axis | ||
|| | || | ||
*Update rate will reduce as more axes are added to the system (due to bus bandwidth limit), however, see the scalability feature in Features column | *Update rate will reduce as more axes are added to the system (due to bus bandwidth limit), however, see the scalability feature in Features column | ||
− | *For smooth | + | *For smooth unterrupted motion, need hard real-time host, such as RTLinux, [[PLC]] or microcontroller platform. |
*[[SimpleMotion V2 USB adapter]] may add uncertainty to timing, so use of other adapter may be necessary (PCI, PCI-E, PLC port or other peripheral, such as microcontroller USART). | *[[SimpleMotion V2 USB adapter]] may add uncertainty to timing, so use of other adapter may be necessary (PCI, PCI-E, PLC port or other peripheral, such as microcontroller USART). | ||
|| Yes || Yes || [https://github.com/GraniteDevices/SimpleMotionV2Examples/tree/develop RealtimeControlExample] | || Yes || Yes || [https://github.com/GraniteDevices/SimpleMotionV2Examples/tree/develop RealtimeControlExample] | ||
|} | |} | ||
− | |||
− | |||
− | |||
− |