Position Control
- clehmann
- Topic Author
17 years 1 month ago #12617137
by clehmann
We are using a AX2550 with the encoder add-on module and I am trying to setup position control on a DC motor out of channel 2. My understanding from the manual is that (in testing anyway) I can move the slider to a set value and the motor will move until the encoder has passed the number * the distance divider as entered. Right now the motor will move one way or the other, but it just moves infinitely (as best I can tell). Other notes: The speed and RPM's seem to be reading right and the encoder counts is also moving correctly, but the Dist. field remains at zero no matter what. Is there somewhere I need to enable this field? Is it possible that I have something wrong enough that it's not even getting to count 1? Also, I have the channels set up as A speed, B position, closed loop (encoder selected for channel B). Help is appreciated. Thanks!
Position Control was created by clehmann
We are using a AX2550 with the encoder add-on module and I am trying to setup position control on a DC motor out of channel 2. My understanding from the manual is that (in testing anyway) I can move the slider to a set value and the motor will move until the encoder has passed the number * the distance divider as entered. Right now the motor will move one way or the other, but it just moves infinitely (as best I can tell). Other notes: The speed and RPM's seem to be reading right and the encoder counts is also moving correctly, but the Dist. field remains at zero no matter what. Is there somewhere I need to enable this field? Is it possible that I have something wrong enough that it's not even getting to count 1? Also, I have the channels set up as A speed, B position, closed loop (encoder selected for channel B). Help is appreciated. Thanks!
Please Log in or Create an account to join the conversation.
- cosma
17 years 1 month ago #12617294
by cosma
Replied by cosma on topic Re:Position Control
<P style="MARGIN: 0px">Verify and report the software revision of the encoder.
<P style="MARGIN: 0px">
<P style="MARGIN: 0px">Position feedback works in v1.7 of the Encoder firmware. If you have v1.0. You will need to update.
<P style="MARGIN: 0px">
<P style="MARGIN: 0px">If you already have v1.7 on the encoder, do not attempt to update the firmware.
<P style="MARGIN: 0px">
<P style="MARGIN: 0px">Position feedback works in v1.7 of the Encoder firmware. If you have v1.0. You will need to update.
<P style="MARGIN: 0px">
<P style="MARGIN: 0px">If you already have v1.7 on the encoder, do not attempt to update the firmware.
Please Log in or Create an account to join the conversation.
- clehmann
- Topic Author
17 years 1 month ago #12617721
by clehmann
Replied by clehmann on topic Re:Position Control
I have encoder firmware version 1.0 4/17/04 currently. Which file should I use from the website to upgrade the firmware? Thanks!
Please Log in or Create an account to join the conversation.
- cosma
17 years 1 month ago #12618126
by cosma
The encoder firmware is at <A href="dev.roboteq.com/dev1/files/software/roboenc17-020105.zip" target=_blank>dev.roboteq.com/dev1/files/software/roboenc17-020105.zip
<P style="MARGIN: 0px">You can use to upgrade from your current version.
<P style="MARGIN: 0px">
<P style="MARGIN: 0px">It should never be used to reload over an already installed v1.7 of the encoder firmware.
Replied by cosma on topic Re:Position Control
The encoder firmware is at <A href="dev.roboteq.com/dev1/files/software/roboenc17-020105.zip" target=_blank>dev.roboteq.com/dev1/files/software/roboenc17-020105.zip
<P style="MARGIN: 0px">You can use to upgrade from your current version.
<P style="MARGIN: 0px">
<P style="MARGIN: 0px">It should never be used to reload over an already installed v1.7 of the encoder firmware.
Please Log in or Create an account to join the conversation.
- clehmann
- Topic Author
17 years 1 month ago #12632135
by clehmann
I have upgraded the firmware successfully to version 1.7 and now the Dist field is showing data. Now I am trying to get the slider position to correspond to a fixed position of rotation for my application. Is this possible? For counter values under 127 the Dist field will show the same as the counter value - OR the value (counter/dist. divider) - correctly, but once the motor turns past 127 or -127, it just keeps going and the motor won't stop. I feel like I'm missing something fundamental here, but I've gone through the editable options on the RoboRun utility and it seems that I'm on the right track. Help! Thanks!
Replied by clehmann on topic Re:Position Control
I have upgraded the firmware successfully to version 1.7 and now the Dist field is showing data. Now I am trying to get the slider position to correspond to a fixed position of rotation for my application. Is this possible? For counter values under 127 the Dist field will show the same as the counter value - OR the value (counter/dist. divider) - correctly, but once the motor turns past 127 or -127, it just keeps going and the motor won't stop. I feel like I'm missing something fundamental here, but I've gone through the editable options on the RoboRun utility and it seems that I'm on the right track. Help! Thanks!
Please Log in or Create an account to join the conversation.
- cosma
17 years 1 month ago #12633561
by cosma
If you have verified that you are in position mode, then not stopping at 0 is typically an indication that you are moving in the wrong direction. Try swapping the motor cables or swapping ChA and ChB of the encoders.
Replied by cosma on topic Re:Position Control
If you have verified that you are in position mode, then not stopping at 0 is typically an indication that you are moving in the wrong direction. Try swapping the motor cables or swapping ChA and ChB of the encoders.
Please Log in or Create an account to join the conversation.
- clehmann
- Topic Author
17 years 1 month ago #12634716
by clehmann
The rotation was correct, but I was using a closed loop setting and once I removed that and had everything correct, the motor started to behave as expected. When I move the slider, the motor turns until the (counter/dist. divider) is equal to the Dist field and the motor stops. We're making progress... My next issue is that I need the motor to make more revolutions for my application. Essentially I need a distance divider greater than 128. Is there a way to enter a greater value through RS232 commands? Another option I'm considering is just getting an encoder with fewer CPR so that when I hit the 16,000 counts (+127 x 128) the shaft will have turned futher. It seems like there would be a provision for this. Possibly only through RS232 commands?? Please let me know. Thanks for all the help...
Replied by clehmann on topic Re:Position Control
The rotation was correct, but I was using a closed loop setting and once I removed that and had everything correct, the motor started to behave as expected. When I move the slider, the motor turns until the (counter/dist. divider) is equal to the Dist field and the motor stops. We're making progress... My next issue is that I need the motor to make more revolutions for my application. Essentially I need a distance divider greater than 128. Is there a way to enter a greater value through RS232 commands? Another option I'm considering is just getting an encoder with fewer CPR so that when I hit the 16,000 counts (+127 x 128) the shaft will have turned futher. It seems like there would be a provision for this. Possibly only through RS232 commands?? Please let me know. Thanks for all the help...
Please Log in or Create an account to join the conversation.
- cosma
17 years 1 month ago #12635970
by cosma
Another way to extend the range is to play with the destination register.
<P style="MARGIN: 0px">You would leave the command to 0 and then load a value in the destination register. The distance is now = destination - 0 (command) / divider. Using this technique, you could position anywhere across the 2 billion points with a one count accuracy, theoretically.
Replied by cosma on topic Re:Position Control
Another way to extend the range is to play with the destination register.
<P style="MARGIN: 0px">You would leave the command to 0 and then load a value in the destination register. The distance is now = destination - 0 (command) / divider. Using this technique, you could position anywhere across the 2 billion points with a one count accuracy, theoretically.
Please Log in or Create an account to join the conversation.
Moderators: tonysantoni
Time to create page: 0.072 seconds