06-15-2011 03:27 PM - edited 06-15-2011 03:33 PM
Essentially, I cannot get the servo to move in any consistent way with the 7340. I've spent countless hours on the phone with an application engineer at NI and we are still stumped. I'm hoping that someone here just so happens to have had a similar problem and can point me in the right direction. Details:
I have an Applied Motion servo and the SV7-S-AF. I can communicate serially with Quick Tune (AMP software) and the motor behaves normally. I then set the drive in velocity mode and switch to MAX. I've done everything I can think of there but can't get the motor to do much of anything except erratic behavior. Under Step Control, the graph shows the green line at the desired location and the red line (the motor position) either steady as a rock or oscillating randomly (not about the set point).
I'm using the NI cable SHC68-NT-s.
wiring specifics:
SV7-S-AF
25 pin: NI 7340
(pin 1) Ana in 1 ----- Ana Out 1 (pin 29)
(pin 2) Ana in 2 ----- Ana Out Gnd (pin 31)
(pin 7) Enable ----- Inhibit (pin 6)
(pin 😎 XCOM ----- 24 VDC supply
(pin 13) GND ----- Ana Out Gnd (pin 31)
9 pin:
(pin 1) A+ ----- Encoder A (pin 36)
(pin 3) B+ ----- Encoder B (pin 37)
(pin 7) GND ----- Digital gnd (both pin 2 and 3)
More about the motor behavior:
When the 7340 manages to produce a voltage, the motor responds correctly. But in MAX, when I use the 1D interactive, sometimes the motor moves when I hit Start and sometimes it doesn't (and correspondingly, the card does not produce a voltage). When the motor IS turning, MAX always reports this correctly as well. Sometimes I will be staring at the whole system in frustration and the motor will slowly start to turn, eventually gaining it's max velocity. It will go many revolutions (1000s of revs - the highest target position I have used is equivalent to 1 rev) and finally come to a "stop", by which I mean it oscillates by many thousands of counts back and forth around some mysterious set point. Again, this process starts after minutes of NOT TOUCHING anything.
Computer/software/drivers/etc:
This is a Windows 7 machine (64 bit). I have NI Motion 8.1 and MAX 4.6.2.f1. I've tried this card in other PCI slots and in other computers. The slots are "good" for other cards and all computers (same OS) it acts the same way. It's always been the same NI software on each computer.
I'm stumped. The application engineer is stumped. He brought over another card and it behaved the same way. We are either overlooking something in the wiring or the MAX software is 'broken'. I don't think either is very likely but I'm betting on wiring. I've checked as well as others so it truly is wired the way I've written here. Perhaps that's just not right for this combination of equipment. I've also tried inihibit active high (wiring XCOM to ground) but that behaved the same.
I saw this thread about another Applied Motions controller acting erractic and a wiring change that fixed it but I couldn't figure out how to extrapolate to my situation. I sure hope some has experience with these devices working together.
My application involves s curve motion of the servos and stopping at precise, repeatable locations.
Ideas?
Solved! Go to Solution.
06-16-2011
01:27 PM
- last edited on
04-21-2025
04:41 PM
by
Content Cleaner
Hey Marissa,
You might have some luck using one of the UMI devices to interface with your drive. I haven't been able to find any information about connecting these drives to any of the hardware. It may just be that those drives aren't compatible with NI hardware. This lists our known compatible drives (it isn't exhaustive by any means, just the ones that work best) but I have not been able to find any documentation about getting your drive connected. I'll keep looking out for some documentation. Have a great day!
06-16-2011 01:48 PM
I think we may just have to go the route of the UMI. But reading the literature, the UMI SIMPLIFIES the connection and is not NECESSARY for the connection to the thrid party drives. I thought the UMI was a fairly passive device - just organized the wiring. The only active component I see is an inhibit activation if the computer shuts down - basically a fail safe. I don't see this as a make-or-break for our situation. There's some mention of passive filtering but the signals produced and expected by the Applied Motion driver are within the right range - i.e. there needn't be any filtering (that I'm aware of at least!).
Can you tell me what it is about the UMI that is necessary for connecting to third party drives? I do see its benefit in making wiring easier, but I don't see any reason why it would make things suddenly work. Of course, I'm willing to shell out the $300 at this point as I don't have many other options. But this seems more like a last ditch effort than anything else as I don't see that the UMI has any necessary features - am I wrong?
Thanks for responding,
Marissa
06-17-2011 07:00 AM - edited 06-17-2011 07:01 AM
It almost seems as if the tuning is way out. I have seen integral windup give similar results. Have you tried Autotuning? Have you tried manual tuning? Start with only proportional gain.
06-17-2011 10:17 AM - edited 06-17-2011 10:19 AM
It does seem as though the tuning is just completely wrong. That was one of the first solutions the app. engineer suggested. I did Autotune and it would come up with absurd (to me) parameters - always having the P (Kp) at 0. I don't see how it can move with P being zero...it also maxed out D and had I at zero.
I also did manual tuning, following the KB articles on ni.com. So I started with I and D at 0 and a low P...no matter what I tried, I couldn't get the motor to really respond at all. I did see a 10 volt, 40 ms square wave on the scope being sent to the driver - and corresponding encoder pulses from the motor. But this amount of movement was no where near the "step length". The default is 4000 counts. Since I have an 8000 count encoder and the default was 2000, I tried multiplying the step length by 4 as well as dividing by 4. The motor never even tried to reach the setpoint...
So if the tuning is out, I'm unable to even get it close enough to start tuning.
I'm now moving to trying to communicate with the driver serially. This has required me to graduate from the dark ages of using LabVIEW 7 since it won't run properly on this new Windows 7 machine. Sigh. So hopefully I can get some progress done on this project...and have a useless $900 motion control card...!
06-17-2011 10:36 AM
OK, I think we are on different pages here. Are you using the analog output of the NI controller, but trying to use the drive in step and direction mode?
06-17-2011
02:14 PM
- last edited on
04-21-2025
04:42 PM
by
Content Cleaner
No, I'm using the card in servo mode for a servo driver and servo motor. But under the tuning for servos, there is a box called step length - NI's designation, not mine. That's the only reason why I'm using the word step. You can see it here:
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YIEnCAO&l=en-US
In the first screen grab on that page, there is a box for step length. The default is 4000. I tried several different step lengths from 100 to 32000 as well as various samples just to see if tuning was the issue. I couldn't get anything to work. And autotune didn't work either.
06-20-2011 01:46 PM
Yes, I realized that after I replied and was driving down the road. I am not an expert on NI motion controllers, but with other controllers I would try the following:
1. Try an open loop move. In other words, just get the controller to output a set voltage. If the drive is in velocity mode, then velocity should be proportional to the voltage. This also assumes you have tuned the drive with the Applied Motion software. You should see the encoder count up or down. Measure the voltage to see if it is correct.
2. Apply a known voltage to the drive from another source. Even a battery would work in this case.
After performing the above steps, you should be able to determine if the problem is in the drive or controller.
06-20-2011 02:17 PM
My understanding is that the motion controller cannot operate in open loop mode for servo motors. But when the controller does produce a voltage, I can see it on the driver and the motor responds properly. I can also hook up another external source and the motor responds properly.
Since I've tried another motion control card that is known to work, my only conclusion now is a problem with the communication between controller and driver. I have no idea why either one would "care" about the other. The controller should only care that it produces a DC voltage and receives digitial encoder pulses. The driver should only care that it recieves the voltage. There is no fancy communication!
Still haven't gotten the serial communication going - getting the new labVIEW up and running now.
06-20-2011 03:09 PM
Marissa-
I want to make sure that you got no movement during tuning with I and D set to zero, and an increase P. Keep the step length the same, and just keep on taking up P until the max it will take. At some point you should see movement.
One thing you noted is a 40ms, 10V pulse on the output of the card. This tells me that NI is not using a true DAC, and is rather using a PWM output to give an approximation of a DAC. This is OK for most drives I have come across. The only issue I have seen is heating if the PWM frequency is too low. You may want to check with Applied Motion to make sure the drive is OK with a PWM input instead of a true DAC.
Brian