tahoe brian Posted October 4, 2012 Share Posted October 4, 2012 The Ixx70 should be set to 1, the Ixx71 should be set to the number of hardware counts per commutation cycle (not the shifted software counts), which is hardware counts/pole pitch. For the Trilogy motors the pitch is 2.4", don't remember for Aerotech. The acc-51 manual makes this real clear...I would look at that rather than use the utility software. Link to comment Share on other sites More sharing options...
PEERPSI Posted October 4, 2012 Author Share Posted October 4, 2012 The manual is clear. After doing the math it would appear that my counts exceed the range of the variable. I'm thinking my only option here is to change the encoder decode from 4x to 2x. Link to comment Share on other sites More sharing options...
JeffLowe Posted October 4, 2012 Share Posted October 4, 2012 The manual is clear. After doing the math it would appear that my counts exceed the range of the variable. I'm thinking my only option here is to change the encoder decode from 4x to 2x. Use the line counter i183=$78301. for your commutation counter.Counts/commutation cycle should be 1773382. You can verify this by: I171=$8388607 ; max value i129=2000 #1o0 ; at this point the motor will settle into a motor pole. WX:$B4,0 ; zero the phase counter ;manually move the stage to the next motor pole rx:$b4 ; the pmac will report back the phase counter ; move the stage back and enter i179 = 2000 rx:$b4 #1k ; important to kill motor. if the count reported back by the read is a negative value the motor is considered to be phased positive and i172=683, otherwise it will be set to 1365 Set i129=0 and i179=0 and i171=1773382 Manual commutation: if i172=683 set i179=2000 and #1o0 Let the motor settle into the motor pole and zero out the phase counter WX:$B4,0 #1k i179=0 (if i172=1365 set i179=-200 and do the phasing) you should now be able to close the loop with #1j/ Set a reasonable slow speed, i122=500 and test with #1j+ and #1j- if you can jog it through a commutation cycle then you are all set. if not go back and double check. Link to comment Share on other sites More sharing options...
PEERPSI Posted October 4, 2012 Author Share Posted October 4, 2012 Ixx71 has a maximum value of 16,777,215 which means I would need to change my decode from 4x to 1x in order to deal with this. Is what you are recommending a way around that? Link to comment Share on other sites More sharing options...
JeffLowe Posted October 4, 2012 Share Posted October 4, 2012 Ixx71 has a maximum value of 16,777,215 which means I would need to change my decode from 4x to 1x in order to deal with this. Is what you are recommending a way around that? No. I171= 2.4*25.4*lines/mm *4 (quadrature decode of the line counter) =1773382 (assuming quadrature decode of 7 or 3 in the gate setup) Link to comment Share on other sites More sharing options...
PEERPSI Posted October 4, 2012 Author Share Posted October 4, 2012 Much brain pain later I think I have it. I was using position value when I should have been using hardware counts. Thanks again. Link to comment Share on other sites More sharing options...
tahoe brian Posted October 4, 2012 Share Posted October 4, 2012 Ixx71 has a maximum value of 16,777,215 which means I would need to change my decode from 4x to 1x in order to deal with this. Is what you are recommending a way around that? No. I171= 2.4*25.4*lines/mm *4 (quadrature decode of the line counter) =1773382 (assuming quadrature decode of 7 or 3 in the gate setup) @ Jeff: 25.4 lines/mm (physical lines) for the Sony scales seems too coarse. What am I missing? Link to comment Share on other sites More sharing options...
PEERPSI Posted October 4, 2012 Author Share Posted October 4, 2012 I think that was meant to convert the motor cycle length from inches to mm. 1 inch equals 25.4 mm. Link to comment Share on other sites More sharing options...
tahoe brian Posted October 4, 2012 Share Posted October 4, 2012 At any rate, we are multi-threading at this point, but try using 1,905,000 counts/cycle per my other post (or if I have the wrong data for your encoder, scale it up or down) Link to comment Share on other sites More sharing options...
PEERPSI Posted October 4, 2012 Author Share Posted October 4, 2012 Roger WILCO. I'll try and keep my on going saga to just this thread. Thanks. Link to comment Share on other sites More sharing options...
JeffLowe Posted October 5, 2012 Share Posted October 5, 2012 Ixx71 has a maximum value of 16,777,215 which means I would need to change my decode from 4x to 1x in order to deal with this. Is what you are recommending a way around that? No. I171= 2.4*25.4*lines/mm *4 (quadrature decode of the line counter) =1773382 (assuming quadrature decode of 7 or 3 in the gate setup) @ Jeff: 25.4 lines/mm (physical lines) for the Sony scales seems too coarse. What am I missing? Sorry I was not clear on that: counts/com= motor pole pitch (in mm) * lines/mm*4. In the case of the BS-78 the lines/mm is ~6349 Link to comment Share on other sites More sharing options...
PEERPSI Posted October 5, 2012 Author Share Posted October 5, 2012 Jogged both axis last night. Next step make them home and then more tuning with the loads on board. Pretty soon we'll have ourselves a lathe! Thanks. Link to comment Share on other sites More sharing options...
PEERPSI Posted October 15, 2012 Author Share Posted October 15, 2012 Use the line counter i183=$78301. for your commutation counter.Counts/commutation cycle should be 1773382. You can verify this by: I171=$8388607 ; max value i129=2000 #1o0 ; at this point the motor will settle into a motor pole. WX:$B4,0 ; zero the phase counter ;manually move the stage to the next motor pole rx:$b4 ; the pmac will report back the phase counter ; move the stage back and enter i179 = 2000 rx:$b4 #1k ; important to kill motor. if the count reported back by the read is a negative value the motor is considered to be phased positive and i172=683, otherwise it will be set to 1365 Thanks again Jeff. I went through your steps listed above and I was able to confirm that the counts were close to what I calculated for my scales. In the case of X 1767853 with a comp value of 2999. For this one the procedure above returned values with in 1 or 2 of I171. In the case of Z 1767811 with a comp value of 3331. For this one the procedure above returned values with in +/- 44 of I271. Axis jog and will pass the open loop test and step tests seem okay. However I seem to be having trouble with following error. If it is enabled, even with a very high value I get FE every time. When jogging and watching the FE seems to go no higher then 4000. I'm wondering if I have some feedback address wrong as to where it reads the following error. I've tried homing and then does not work yet either. I need to confirm that the control is seeing the index signal from the scale but I'm not sure where to look for that. Link to comment Share on other sites More sharing options...
JeffLowe Posted October 16, 2012 Share Posted October 16, 2012 However I seem to be having trouble with following error. If it is enabled, even with a very high value I get FE every time. When jogging and watching the FE seems to go no higher then 4000. I'm wondering if I have some feedback address wrong as to where it reads the following error. I've tried homing and then does not work yet either. I need to confirm that the control is seeing the index signal from the scale but I'm not sure where to look for that. Do some gathers while jogging at a couple of different constant speeds. (When doing this don't use exact multiples of speed) Look at the plots and see if there is any structure to them. Do an fft and look for spikes in the FE. Low frequency is probably tuning, A constant high frequency is most likely a natural in the system. try lowering the derivative gain. A high frequency that changes with speed may be related to scale adjustment. I don't know if delta tau has an app note on how to use the diagnostic modes of the acc51 encoder table entries to generate the proper scale offset values. Link to comment Share on other sites More sharing options...
steve.milici Posted October 16, 2012 Share Posted October 16, 2012 Keep in mind when using acc-51 feedback PMAC software counts are 32 times bigger than quadrature hardware counts: 1 line = 4 hardware counts = 128 software counts = 4096 states (LSBs) ¼-line = 1 hardware count = 32 software counts = 1024 states (LSBs) 1/128-line = 1/32-hardware count = 1 software count = 32 states (LSBs) 1/4096-line = 1/1024-hardware count = 1/32-software count = 1 state (LSB) Link to comment Share on other sites More sharing options...
PEERPSI Posted October 17, 2012 Author Share Posted October 17, 2012 Keep in mind when using acc-51 feedback PMAC software counts are 32 times bigger than quadrature hardware counts: 1 line = 4 hardware counts = 128 software counts = 4096 states (LSBs) ¼-line = 1 hardware count = 32 software counts = 1024 states (LSBs) 1/128-line = 1/32-hardware count = 1 software count = 32 states (LSBs) 1/4096-line = 1/1024-hardware count = 1/32-software count = 1 state (LSB) signal period is .00013792999 mm. I calculate as follows: 1/.00013792999*4=29000 hardware counts per mm. 1/.00013792999*128=928007 software counts per mm. 1/.00013792999*128*60.96=1767853 hardware counts per motor cycle With an I122 of 5000 I see about max 4000 cts FE on the position screen. Yet with I111 set to 4000000 I get an FE error when trying to do the maximum step size in the Pro Tune application. Link to comment Share on other sites More sharing options...
steve.milici Posted October 17, 2012 Share Posted October 17, 2012 Tuning can produce significant FE during the beginning stages until the motor becomes “well tuned”. We suggest increasing the fatal FE variable, Ixx11, until the issue subsides. Once the motors are well tuned you can set the Ixx11 back to a reasonable value for your application. Link to comment Share on other sites More sharing options...
tahoe brian Posted October 17, 2012 Share Posted October 17, 2012 Keep in mind that I111 is in units of 1/32 of a count, so you are actually setting your limit to about 125,000 counts, which is not that big if you are doing step inputs with the FE limit enabled. Your 4000 count FE while jogging slowly is not huge, but is not small either. What is the FE if you just close the loop and not try to move it? As Jeff said above, if you can look at an FFT of the FE signal it will tell us more about what might be happening. Can you do this? Another thing that would be helpful would be to tell us what the gains (Ixx30-Ixx39) currently are set to. Then, do a test where you close the loop with no jogging, and keep raising the Ixx30 until it goes unstable and starts to whine, or the FE trips. Raise it about 10% at a time. That would tell me some things about where things stand with the loop gain. Perhaps report the "typical" max FE at each gain as seen by a watch window. Questions: was this machine positioning well before the retrofit? Is it air bearing or oil hydrostatic? Do you know what the gains were on the original D-T controller? Link to comment Share on other sites More sharing options...
JeffLowe Posted October 17, 2012 Share Posted October 17, 2012 Keep in mind that I111 is in units of 1/32 of a count, so you are actually setting your limit to about 125,000 counts, which is not that big if you are doing step inputs with the FE limit enabled. Your 4000 count FE while jogging slowly is not huge, but is not small either. What is the FE if you just close the loop and not try to move it? 4000 counts with the LaserScales is roughly 4 microns which is quite large for a non-contact system. Ours we typically run 0.2-0.5 "counts" static and 2-5 "counts" jogging at constant speeds. Side note: I gave you a set of gains earlier in this thread, but I neglected to mention that we are using a 5 KHz servo update. You will probably want to operate at this rate as well. Link to comment Share on other sites More sharing options...
tahoe brian Posted October 17, 2012 Share Posted October 17, 2012 I agree with you Jeff, 4000 counts is much larger than where he will end up, but still under some level of control, hence, my comment. Just so I am clear on which definition of counts that we are using here , isn't one servo error count = 34 picometers, and thus 4000 counts = 136 nanometers, or are we talking that the LSB is a fractional count? Please straighten me out. Link to comment Share on other sites More sharing options...
PEERPSI Posted October 18, 2012 Author Share Posted October 18, 2012 Counts are quite high and I expect to sort that out with further tuning. Typically on our older lathes we look for 15 counts max at 7MM travel rate. On the newer, less then 5. Of course we struggle to make sure ports are clean, lifts are correct, way covers are not dragging, hoses and cables are in good repair. Then the operator fails to balance the spindle correctly! Argh! The machine uses hydrostatic bearing system. It floats well and the way covers are not yet reinstalled. The lathe was easily able to achieve less then 15 counts FE before tear down. Problem is the ball nut was isolated via the hydrostatic system to prevent vibration transfer. That system was tough to get working right and didn't seem to stay right. This of course means that the stiffness numbers were quite low. Linear motors have been installed which should correct that part of the problem. Today I managed to confirm that the lathe is seeing it's index mark, set up the limit switches and figured out how to get it travelling and incrementing in the correct direction. However, some how I've managed to inadvertentlly cause the second axis to have a positive limit fault. Won't even phase. It's not the hardware limit as I can see the limits toggle in a watch window. When I try and disable the soft limits, I213 it will not accept my input. I try setting it to zero to disable it but something is over riding it. Shouldn't be the PLC as I've not touched that yet. Axis did work yesterday. FE error is hardware or software counts? I'm thinking hardware same as what the position window displays. Hopefully tomorrow I can have homeing and limits working right so I can start getting serious about tuning and get the FE counts down. Again gentlemen thanks for your input. I'm learning lots! Link to comment Share on other sites More sharing options...
PEERPSI Posted October 18, 2012 Author Share Posted October 18, 2012 I gave you a set of gains earlier in this thread, but I neglected to mention that we are using a 5 KHz servo update. You will probably want to operate at this rate as well. I7000? Link to comment Share on other sites More sharing options...
JeffLowe Posted October 18, 2012 Share Posted October 18, 2012 I agree with you Jeff, 4000 counts is much larger than where he will end up, but still under some level of control, hence, my comment. Just so I am clear on which definition of counts that we are using here , isn't one servo error count = 34 picometers, and thus 4000 counts = 136 nanometers, or are we talking that the LSB is a fractional count? Please straighten me out. The high resolution option for the ACC 51e in the encoder conversion table right shifts the data 5 bits into the "fractional" part of the position word. One "count" is 32 least significant bits so one "count" is 32*34 pm or around 1 nm. It is quite possible to issue a #1J:0.03125 and the commanded position will advance by 34 pm. Similarly #1j:1 will advance the commanded position by 32 least significant bits (or around 1 nm). This is all good as carrying around an empty 5 bit fraction field adds nothing to system stability or resolution. Right shifting the data does not loose anything and helps a lot at high velocities which can easily saturate in high resolution systems. Link to comment Share on other sites More sharing options...
JeffLowe Posted October 18, 2012 Share Posted October 18, 2012 I gave you a set of gains earlier in this thread, but I neglected to mention that we are using a 5 KHz servo update. You will probably want to operate at this rate as well. I7000? I10=1677511 I7200-5896 i7201=0 i7202=3 Link to comment Share on other sites More sharing options...
PEERPSI Posted October 18, 2012 Author Share Posted October 18, 2012 I10=1677511 I7200-5896 i7201=0 i7202=3 I had looked at those and wasn't sure. Thanks for setting me straight. Link to comment Share on other sites More sharing options...
Recommended Posts