5/17/2020 7:41 PM | |
Joined: 3/30/2020 Last visit: 9/23/2024 Posts: 4782 Rating: (982) |
Hello. Have a look at the attached SCL code. You did not mention all the detail required, so tags were used that needs assignment. The end result is a displacement given as a REAL number. Does this help you? (preview) Attachmentscl-turn-position.txt (733 Downloads) |
Last edited by: qwazee at: 05/17/2020 19:42:22Last edited by: qwazee at: 05/17/2020 19:46:47Activities of this user is voluntary. There is no obligation or liability placed on this user. Though optional, your 'please' and 'thank you' is highly valued. |
|
This contribution was helpful to1 thankful Users |
5/18/2020 12:02 AM | |
Joined: 3/30/2020 Last visit: 9/23/2024 Posts: 4782 Rating: (982) |
Hello. Your instinct is not far off -- but allow me to fill in the detail. |
Last edited by: qwazee at: 05/18/2020 00:03:32activate hyperlink Activities of this user is voluntary. There is no obligation or liability placed on this user. Though optional, your 'please' and 'thank you' is highly valued. |
|
This contribution was helpful to1 thankful Users |
5/19/2020 10:02 PM | |
Joined: 3/9/2018 Last visit: 8/23/2024 Posts: 65 Rating: (0) |
hi, Axis work as rotary, so I can reset count value for every turn, I activated external sync input for Z phase and it automatically resets count value of encoder when sync input gets high every rotating. encBias is desired zero point of the axis setted by manuel, In the first time axis will be rotated to base point as manuel and reading value at base point, the reading value is entering as an ofset value to the encBias in the formula. so My zero angle value will be shifted the base point of the axis. I can use hw interrupt but this seems easier :/ check attachment please. AttachmentSample for forum.zip (647 Downloads) |
5/24/2020 10:41 AM | |
Joined: 3/16/2015 Last visit: 10/10/2021 Posts: 1250 Rating: (173) |
I played around with your sample program a bit and re-attched it with a few changes. Counter is now setup for A/B four fold. Unchecked the option for for Syn. Added three hardware interrupts; for examples. One interrupt is triggered when reference value is reached. One interrupt is triggered on rising edge of digital input 0.6(or0.5 I already forgot) and another with digital input .07. One interrupt retrieves the current counter value that you can use as I described earlier. The other interrupt is another idea you can use to reset the counter instead of my previous idea of letting the counter to roll over; if you prefer to reset the counter you can use a digital input rising edge to trigger an interrupt that calls HSC to reset the counter which should be fast. Theoretically speaking calling HSC instruction is slower than a simple move instruction but I will guess not by more than a few microseconds. Another thing I was thinking about and haven't tried yet is to connect the Z phase to a digital input (of course) and set it up with an interrupt as I described and use it exactly as an input device with either of the interrupts I described earlier to either capture the count value or reset the counter. AttachmentSample for forum_back.zip (281 Downloads) |
5/24/2020 8:36 PM | |
Joined: 3/30/2020 Last visit: 9/23/2024 Posts: 4782 Rating: (982) |
My final offer for you to test..
The code goes with the steps mentioned before..
Attachmentcode.txt (373 Downloads) |
Last edited by: qwazee at: 05/24/2020 20:43:25Last edited by: qwazee at: 05/24/2020 21:36:29change code & move to text file, compensate for REAL irregularity Activities of this user is voluntary. There is no obligation or liability placed on this user. Though optional, your 'please' and 'thank you' is highly valued. |
|
Follow us on