CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > Electronics > Granite Devices


Granite Devices Discuss about servo & stepper drives made by Granevices and get direct support!


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 10-11-2011, 10:47 PM
 
Join Date: Mar 2010
Location: US
Posts: 52
tome9999 is on a distinguished road
Why do I need Input filter?

I have spent many hours attempting to tune and run a machine with Granite Devices VSD-E drivers connected to Keling KL34-180-90 motors with CUI AMT-102 encoders on them. The control software is EMC2 but EMC pc is connected to a Mesa 7i43 fpga card (and also 7i42 buffer card) that is generating the step/dir pulse train. We would have very nice tuning graphs throughout, and after tuning, the Granite would move the motors smoothly when using moveinc commands.

Then when reconnecting to EMC control software the motor would make bad noises like it was straining to move the axis. It didn't stutter like losing steps, but noisy like bad tuning. The Granite would always fault at some point, even at low speeds, and especially at high speeds, with an "Over Current (Due to bad turning)" indication. We put an oscilloscope (as well as a logic analyzer) on the step and dir pins while the drive was running and the pulse train was flawless. It was beautiful and noise free, at exactly the expected frequency and no lost pulses. We even put the scope on each side of a 100ohm resistor on the Mesa input side in order to measure the voltage (and hence determine the current) and were seeing the expected current draw from the Granite opto and also saw that the Mesa was fully shutting off (as one would expect). Again, flawless, clean waveform. We are running the Mesa card in open collector mode and are feeding the cathode side of the Granite opto to the Mesa IO pin. The anode side is pulled up to 5v.

After hours of re-tuning and debugging we finally gave up and decided to connect up Mach3 running of a different pc with a parallel port breakout board (XYDrive XD-14) and let it generate the steps. We got the same behavior. At even low speeds the drive would fault with the same indication.

Sort of by accident we decided to turn on "Enable Input Filter". We specifically didn't want to turn it on as it mentions that using this is not desired if you are closing the loop outside the Granite (which we are with EMC) but we tried it anyway. And lo and behold all the problems went away. ??

Why would this be? Why, when we have strong flawless pulse trains, would we need input filtering? We want EMC to close the control loop, and it seems to do fine in the little testing we have done thus far, but are we going to run into problems due to needing to have input filtering on? What can we do in order not to need it?

Tom
Reply With Quote

  #2   Ban this user!
Old 10-12-2011, 05:12 AM
Xerxes's Avatar  
Join Date: Sep 2004
Location: Finland
Posts: 1,162
Xerxes is on a distinguished road

Hi Tom.

"Input filter" option is not for signal quality, but for step pulse (or any other input mode) jitter & noise reduction. It also smoothens motion if input multiplication is being enabled on drive (like moving 5 counts on one step pulse).

I think it actually might be tuning issue. When you run test responses on GDtool, the motion profiles are flawless (no jitter etc at all). But from external sources there will be always even little bit of it which may make badly tuned system to react badly.

To test this, try adjusting acceleration to maximum from GDtool trajectory planner and do some step response tests (low, medium and large amplitudes). The sharp acceleration profile may reveal something that smooth curves didn't.
Reply With Quote

  #3   Ban this user!
Old 10-12-2011, 06:30 AM
 
Join Date: Mar 2010
Location: US
Posts: 52
tome9999 is on a distinguished road

Originally Posted by Xerxes View Post
Hi Tom.

"Input filter" option is not for signal quality, but for step pulse (or any other input mode) jitter & noise reduction. It also smoothens motion if input multiplication is being enabled on drive (like moving 5 counts on one step pulse).
From our analysis with the logic analyzer and the scope there isn't any jitter or noise. The Mesa 7i43 card is essentially dedicated to providing a pulse train so there is no reason to expect there to be jitter.

Originally Posted by Xerxes View Post
I think it actually might be tuning issue. When you run test responses on GDtool, the motion profiles are flawless (no jitter etc at all). But from external sources there will be always even little bit of it which may make badly tuned system to react badly.

To test this, try adjusting acceleration to maximum from GDtool trajectory planner and do some step response tests (low, medium and large amplitudes). The sharp acceleration profile may reveal something that smooth curves didn't.
When you say adjust it to maximum, do you really mean the largest number that GDTool will allow for "Acceleration Limit"? If I do that the number in "Effective velocity limit" is far far above the motor specs.

Also what values should I use for low, medium, and large and should I do it in torque, position or velocity tuning?


Thanks,
Tom

Last edited by tome9999; 10-12-2011 at 08:55 AM.
Reply With Quote

  #4   Ban this user!
Old 10-12-2011, 09:35 AM
 
Join Date: Mar 2010
Location: US
Posts: 52
tome9999 is on a distinguished road

Here are graphs from running torque mode tests. The graphs start at 100%, 75%, 50%, 30%, 15%.

Tom
Attached Thumbnails
Click image for larger version

Name:	MotorConfig.jpg‎
Views:	45
Size:	223.0 KB
ID:	143843   Click image for larger version

Name:	Traj-Settings.jpg‎
Views:	39
Size:	231.7 KB
ID:	143844   Click image for larger version

Name:	Torque-Settings.jpg‎
Views:	34
Size:	193.0 KB
ID:	143845   Click image for larger version

Name:	torque-step-settings.jpg‎
Views:	35
Size:	269.6 KB
ID:	143846  

Attached Files
File Type: pdf torque-test-3000-1000-100percent.pdf‎ (17.7 KB, 26 views)
File Type: pdf torque-test-3000-1000-75percent.pdf‎ (18.5 KB, 11 views)
File Type: pdf torque-test-3000-1000-50percent.pdf‎ (18.2 KB, 8 views)
File Type: pdf torque-test-3000-1000-30percent.pdf‎ (18.2 KB, 8 views)
File Type: pdf torque-test-3000-1000-15percent.pdf‎ (17.7 KB, 15 views)
Reply With Quote

  #5   Ban this user!
Old 10-12-2011, 05:34 PM
Xerxes's Avatar  
Join Date: Sep 2004
Location: Finland
Posts: 1,162
Xerxes is on a distinguished road

Hmm, so do you use torque mode on drives and step/dir? That will not work as torque mode would require analog or PWM input (=absolute reference) to produce meaningful output.

Have you tried setting drive in velocity mode and doing same? It works with step/dir and usually gives better dynamics too.
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 10-12-2011, 06:35 PM
 
Join Date: Mar 2010
Location: US
Posts: 52
tome9999 is on a distinguished road

Originally Posted by Xerxes View Post
Hmm, so do you use torque mode on drives and step/dir? That will not work as torque mode would require analog or PWM input (=absolute reference) to produce meaningful output.

Have you tried setting drive in velocity mode and doing same? It works with step/dir and usually gives better dynamics too.
We don't use torque mode. We use position mode. Without input filtering the motor runs rough in the control software (EMC2). If I use moveinc YY it usually moves without a problem, though it did fault once today while moving it from the drive itself. So, I don't think it s a tuning issue.

Tom
Reply With Quote

  #7   Ban this user!
Old 10-13-2011, 04:39 AM
Xerxes's Avatar  
Join Date: Sep 2004
Location: Finland
Posts: 1,162
Xerxes is on a distinguished road

Ok. Torque plots look ok. How much margin is there between peak current and fault current settings? Too low margin causes overcurrent faults because even smallest overshoot can trigger it.

Please do also step response tests in position mode like you did for torque. Yes, set acceleration parameter to 32000 from GDtool while doing different length step tests.
Reply With Quote

  #8   Ban this user!
Old 10-13-2011, 07:56 AM
 
Join Date: Mar 2010
Location: US
Posts: 52
tome9999 is on a distinguished road

Originally Posted by Xerxes View Post
Ok. Torque plots look ok. How much margin is there between peak current and fault current settings? Too low margin causes overcurrent faults because even smallest overshoot can trigger it.
You can see that in the first image I posted, we have peak set to 20A and fault set to 39A, We have a 20A linear power supply. We have seen it put out about 30A for short bursts. We also tried setting fault to 43A, which appears to be the highest we go but it made no difference. We are at a loss to explain the overcurrent faults. It REALLY isn't overcurrent-ing. We get these faults as it is just moving along very slowly (though noisily).

Originally Posted by Xerxes View Post
Please do also step response tests in position mode like you did for torque. Yes, set acceleration parameter to 32000 from GDtool while doing different length step tests.
I will do this today and let you know. Since after tuning the Granite can move the axis with no problem, very smoothly, at any accel/speed and this only happens under control by the PC I can't imagine this is really a tuning problem.

Input filtering helps immensely, but as I say it should not be required in our set up....

Tom
Reply With Quote

  #9   Ban this user!
Old 10-13-2011, 04:05 PM
Xerxes's Avatar  
Join Date: Sep 2004
Location: Finland
Posts: 1,162
Xerxes is on a distinguished road

By default VSD-E's overcurrent triggering is set to be quite sensitive (maximum protection). I rolled a modified firmware that is little bit more forgiving regarding overcurrent sensing and may fix the issue in difficult cases. Please try loading attached firmware with GDflasher and let me know if it helps
Attached Files
File Type: zip vsde_208_ocfiltering.zip‎ (32.0 KB, 7 views)
Reply With Quote

  #10   Ban this user!
Old 10-13-2011, 08:54 PM
 
Join Date: Mar 2005
Location: USA
Posts: 66
pjensen is on a distinguished road
Red face

Hi - I've been working with Tom on this problem. I have a vertical machining center that I retrofitted with the same granite drive and motor combination a couple years ago with relative ease. I'm hoping we can solve this issue as we have been having lots of problems with this drives/motor combo that I recommended to Tom I thank you for your help!

My VMC has been running for years now without a problem. It's run through all sorts of different cutting loads and speeds, and has never had the slightest hiccup. I think the servo tuning is fine.

I looked at it's granite configuration yesterday and noticed that I had input filtering on. I turned it of, and lo, same problem as with the Tom's gantry. The drives run rough and fault frequently even when moving slow. The step generation should be fairly clean (it runs a stepper in my rotary axis without any problems, and looks very nice on a scope). Before I had the granite drives, I used rutex servo drivers and the step train worked with those just fine too (the rutex drives had other reliability issues not related to their movement that made me switch to granites). The step train is, without any doubt in my mind, quite clean. And yet input filtering is needed...

I also worked with Tom and tried changing the input scaling multiplier and divisor, as I noticed GDTool said that the divisor had to be >25 for stability. We increased the multiplier and divisor from 50:50 to 500:500, and that actually helped. I had to also increase the max velocity setting. The drives run smoother this way, although they still fault (yes, now they often fault even when running smoothly!). This is all with input filter _off_. I haven't tried it yet with input filter on and the higher input scaling numbers. In the end I changed it to 60:600, and increased the step rate from the mesa card controller accordingly (increased rate by 10 times).

Can you explain what the divisor is doing? Why does it matter if it's 50:50 or 500:500? I had thought it was the ratio that mattered, but apparently there is more going on here. In some instances even with 500:500 it's still rough, but it's much better than with 50:50. 60:600 works even better is not really rough at all (although it still faults with overcurrent frequently)

Ok, thanks for your help. We'll definitely give the new firmware you posted a try.

-Peter
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 10-13-2011, 09:10 PM
 
Join Date: Mar 2005
Location: USA
Posts: 66
pjensen is on a distinguished road

One more thought about the over-current error. The power supply Tom is using is rated at 20A, and we were not able to get it to output more than about 30A even when we deliberately tried to drive the motors really hard by putting all maximum settings in the torque mode step response. Those motors practically jumped off the gantry they were turning so fast and hard, and yet not much over 30A, and no overcurrent. In other cases while tuning (when parameters were set poorly) it's gone into uncontrolled oscillations, and yet still nothing much over 30A or current fault - just eventually a following error or somebody slams the e-stop.

I suppose it's possible the granite's onboard caps are sourcing a very short burst of 43A, but I'm doubtful. The motor's aren't dead shorts, after all... even if the granite's PWM just went to 100% I don't think we'd see the 43A (which is where we set the current fault threshold).

Again, I'm confused by this behavior, so I'm trying to think some of this out loud. I think the granites may be sensing a false over-current (maybe some noise on the A/D input line that's measuring current - is that possible?). Thanks for your help.

Best Regards,
-Peter
Reply With Quote

  #12   Ban this user!
Old 10-14-2011, 07:55 AM
Xerxes's Avatar  
Join Date: Sep 2004
Location: Finland
Posts: 1,162
Xerxes is on a distinguished road

VSD-E extensively utilizes the input reference signal (this case the step train) for motor feedback control & feed forwards. The smoother the input is, the lower disturbance the controller has thus produces smoother motion. So the drive extracts also velocity & acceleration from step/dir signal which may explain the differences.

So, when using input filter the disturbances get reduced. Same happens when you choose scaling of 1:10 instead of 1:1. In 1:10 case the drive has 10 times more precise data of target acceleration & velocity (because step frequency is 10 times higher).

BTW, have you set velocity & acceleration feedforward values in GDtool? These parameters are pretty sensitive to input signal precision. Try setting these to 0 to see if it makes any difference.

Drive decides to go in overcurrent stop if even single ADC sample exceeds the user specified limit. The modified FW filters single spikes from this signal.
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Need Help!- arc filter tds11223 Mastercam 1 09-01-2011 01:22 PM
Need Help!- *NEWBIE* Power Line filter (Transformer vs. Filter) cjchands General Electronics Discussion 5 09-25-2009 08:36 PM
input filter emi/rf EvanVH Phase Converters and VFD 4 03-16-2009 05:42 PM
arc and nurb filter camtd Surfcam 1 07-25-2006 07:48 AM
Self cleaning Filter Rance DIY-CNC Router Table Machines 5 01-18-2006 11:58 AM




All times are GMT -5. The time now is 06:16 AM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361